Modding Guides (Panduan Buat Mod)
Euro Truck Simulator 2 (ETS2) Versi 1.35 + Gabungan dari versi bawahnya
Diperbarui pada : Desember 2022
Salam! Ini adalah sejumlah panduan khusus tentang pembaruan game ETS2. Meliputi cara update / upgrade mod apapun yang sedang dikembangkan. Ini berlaku untuk semua tipe mod, termasuk mod map, truk/bis, trailer/kargo, traffic, acc/aksesoris, dan lain-lain.
Percaya atau tidak bahwa pembaruan di versi ini membawa perubahan yang sangat… sangat… Sangat… SANGAT… BESAR!
Ada banyak konten, fitur, setting, sampai elemen yang mulai mengalami perubahan BESAR secara bertahap. Bukan hanya rework (pengerjaan ulang) konten map lama dan penambahan wilayah baru di base game ori-an, melainkan game ini sendiri sedang beradaptasi untuk grafis terbaru DirectX-11. Otomatis ada sekian banyak perubahan yang perlu dicermati lebih dalam.
Sebenarnya perubahan besar ini enggak terjadi begitu saja. Sejak versi 1.30, ada berbagai item dan tool baru di map editor, serta perubahan script definisi (def), fungsi, dan sistem yang terlampau banyak. Versi 1.31, format map/peta berubah dengan ditambahnya file format .data sehingga map versi lawas (1.30 kebawah) tidak bisa dibuka, tentunya ada perubahan dan penambahan script definisi (def) lainnya. Versi 1.32, Ada fitur Trailer Ownership, berdampak pada perubahan script definisi (def), juga model dan tekstur kargo/trailer. Belum lagi, masuk versi 1.33 dan 1.34 sudah mengalami siklus yang sama dengan versi 1.30. Peta DLC Baru, maka item, aset, model, tekstur, fungsi, sistem, bahkan tool apapun juga baru, semua serba baru. Dan sekarang giliran 1.35.
Mungkin sebaiknya kita sebagai modder dan mapper menyerah saja dan berdoa semoga diberikan kemudahan… Tunggu, mengapa jadi nyebut kalimat ini… (-_-‘)
SCS Modding Wiki sudah memberikan sedikit kemudahan, supaya mod yang sudah kalian buat dengan susah payah masih bisa bertahan dan terus bisa dimainkan dalam berbagai versi dan sepanjang waktu. Seperti biasa, di blog Pejindo sudah mempersiapkan itu dalam bahasa Indonesia (jelas sudah diperbaiki kosakata nya, bukan versi mentah langsung dari Terjemahan)
Seperti biasa pula, pastikan jaringan internet stabil dan/atau siapkan kuota internet yang banyak. Karena biasanya tiap update game memakan data sekitar 1-2 GB.
Fitur dan Konten Baru di ETS2 1.35
MAP
- Rework/Garap ulang kawasan Jerman (Base Map)
- Tambah jalan baru di Perancis : A10-A6 (Vive la France! DLC) and A6-N44 (Base Map)
- Tambah pulau Sardinia, Italia (Italia DLC)
- Perbaikan rambu lalu lintas & papan arah negara Skandinavia (Scandinavia DLC)
- Rute khusus Special Transport baru (di berbagai map DLC)
VEHICLES
- Purchased container trailers (berarti bisa beli sendiri trailer jenis tersebut secara terpisah)
- Purchased logging trailers (berarti bisa beli sendiri trailer jenis tersebut secara terpisah)
- Tampilan browser untuk purchased trailers & accessories (seperti menu Explorer gitu)
- Double trailers di Jerman dan Belanda
- Krone Box liner untuk tipe kontainer 40ft or 2x20ft (Krone DLC)
- Purchased Schwarzmüller reefer, curtain & log trailers + traffic (Schwarzmüller DLC)
- Pengaturan purchased trailers tanpa harus mengunjungi service (extendable trailer, sliding tandem)
- Copy konfigurasi truck/trailer di sepanjang fleet
- Perbaikan setting Wiper kaca kendaraan.
FEATURES
- GPS Voice navigation
- Dapat memakai purchased trailers pada External Contracts (WoTR)
- Beli garage secara online/jalan pintas
- Emergency refuelling service
- Perbaikan input untuk : Steam controller support, Tobii eye tracker support, controller hot plug support, better FF buat Linux
- Razer Chroma support (RGB)
- Menu opsi baru : truck stability, truck suspension, cabin suspension, dual localization of names dalam map
- Memuat job lebih cepat untuk fitur hired drivers (yang ada recruitment agency itu)
- Daftar driver baru + foto profilnya (muncul buat new profil atau fitur recruitment agency)
- DX11 support
MOD
- Curve item (item baru map editor)
- Perbaikan item Walker/Mover (maksudnya Walker sudah gak berfungsi, digabung sama Mover)
- Multiple LODs untuk berbagai models
- Modded trucks support (in-game)
- Perbaikan Traffic data
- Perbaikan Vehicle data (COG, wipers, transmission names, bracers sound)
- Mode pengacakan cargo model (eg. container color)
Command/Parameter Pembantu (Sebelum Up Versi Mod)
- -unlimitedlog : mematikan batas ukuran file game.log.txt atau editor.log.txt (tidak ada lagi tulisan yang berakhiran “log file size is… truncated”). Jadi jika saat di tes pada versi baru ada banyak sekali error yang tak terhitung, maka parameter itu wajib ditambahkan.
- -validate : menjalankan perintah validasi, mode game khusus yang akan memuat semua data model, prefab, kendaraan, dan objek lain yang ditentukan untuk mendeteksi error seperti tekstur merah dan sejenisnya.
- -error_overlay : menampilkan bentuk “overlay” dengan jumlah pesan error dan warning yang ditampilkan ke game.log/editor.log setelah (setidaknya) satu laporan muncul.
Cara menambahkan parameter diatas silakan buka tutorial (Part 2) Persiapan + Cara Membuka Map Editor
Rekomendasi
Ada beberapa hal yang harus diperhatikan di bawah ini. Simak baik-baik sebelum menjajal up-date versi mod.
- Ketika mengedit model dari yang aslinya (bawaan/ori), menambah model/part buatan sendiri termasuk file lain seperti “original/automat/” yang dibutuhkan… Nama-nama file yang dihasilkan berupa tipe CityHash64 dari file tersebut. Sehingga setiap kali mengubah data atau material dengan cara apapun, file yang berbeda pun akan digunakan untuk menyimpannya sementara yang file asli mungkin sebaliknya apabila tidak ada model lain yang menggunakan data yang sama.
- Ketika mengedit bentuk model aslinya (dari bawaan/original), sertakan SEMUA komponen lain dari model itu (file berformat PMG + PMD) bukan hanya 1 file yang diedit. Jika tidak, mod tersebut pasti berisiko alami crash atau CTD.
- Saat menambahkan objek/model baru kedalam data/script tipe multi-file (misalnya road_look.sii, model.sii, sign.sii) maka HARUS menambahkan akhiran atau awalan nama bebas untuk menghindari data bentrok/konflik dengan objek/model baru saat ditambahkan di game (contoh : model.mapindo.sii). Kalau tidak, terpaksa menggunakan fungsi khusus atau program batch renaming (replace.sii) untuk memperbaikinya seandainya pada patch/versi game ori terbaru tetiba muncul data/script baru (misal nameless_xxxx).
Cara Convert Map di Editor
Ini mencakup semua perubahan penting yang harus diketahui para mapper sebelum mencoba update mod map ke versi terbaru ini. Kalau bingung, baca saja tulisan yang bercetak tebal.
Untuk map yang sebelumnya masih dibuat pada versi terlawas (1.19, 1.23, 1.26, dll.) :
- Pastikan bahwa SEMUA file mod map (.mbd, aux, base, desc) di-save (dan recompute) pada versi 1.30 terlebih dahulu. Jika tidak, maka map tersebut tidak akan bisa dibuka di map editor versi 1.31, 1.35, 1.36, 1.38, sampai versi terbaru mana pun.
Untuk map yang sebelumnya masih dibuat pada versi 1.30-1.33 :
- Jika ada yang memakai aset atau model map dari versi awal rilis DLC Baltic (Estonia, Latvia, Lithuania, Rusia, atau Finlandia), segera replace objek nya dan ganti data script DEF baik country, ferry, model semaphore dan semaphore profile (lampu lalu lintas). Ini bertujuan untuk menghindari mod conflict yang berujung game crash.
- Ada beberapa model vegetation/pepohonan yang diubah. Jadi jika ada script DEF yang terkait dengan model spruce (pada folder model/vegetation/poly_vegetation), mohon ganti script DEF tersebut sesuai versi terbaru yang ada.
- Buat mode parameter instanced menjadi “true” untuk semua rambu/sign yang punya set dynamic “true”. Ini bisa diketahui dari error berikut di gamelog.txt, “Non instanced dynamic road model is not supported!(sign)”.
Sekarang coba buka dan muat/load map di editor. Amati situasi di bawah ini :
- Jika map editor tiba-tiba menampilkan tampilan (window) daftar warning atau error terkait posisi item (titik/node) TERRAIN yang berubah (biasanya lebih banyak muncul pada item prefab), maka diharuskan untuk ganti (bisa dengan cut lalu paste item/objeknya sudah cukup) atau terpaksa dihapus semua item tersebut di map editor sesuai koordinat UID dan sektor map yang muncul error nya sebelum di-save map. Kalau tidak map editor akan crash (CTD) saat save map maupun buka atau loading map lagi.
- Jalankan Prefab Node Correction, tekan tombol keyboard F3 (Replacement tool) > pilih tombol Prefab node correction (Lihat Map Editor Tutorial ETS2 Part6 : Memakai Replacement Tool)
- Jalankan pemeriksaan “Shoulder” dengan pilih menu Map > Validate Road Shoulders. Ini akan menampilkan daftar semua item yang berpotensi bug terkait Random Events yang muncul di setiap sisi jalan. Nah, apabila ada daftar tersebut, geser dan sesuaikan saja posisi item tersebut, atau mungkin menghapusnya. Boleh juga diatasi dengan menandai kotak ceklis "Shoulder blocked" pada Road Item Properties (berarti item Random Events tidak muncul ditempat itu).
- Tambahan lagi, bila perlu cari tampilan ‘look’ atau 'variant' untuk beberapa model yang tanpa sengaja berubah dari map base/ori itu sendiri. Tinggal ganti sendiri di properties kalau ketemu.
- Ups, masih ada tambahan lagi. Jika muncul error yang dihasilkan dari jenis "Sign template item 123 does not exist in template '…ABC…'," Cara mengatasinya sebagai berikut : Buka Content Browser (tombol F2) > Cari/temukan template bermasalah itu > Kalau sudah klik kanan template yang ditemukan dan pilih "Edit" > Setelah langsung buka tool baru "Sign Editor" pilih File > Clean Override. Beres.
Cara konvensional jika semua masalah diatas sudah teratasi :
- Buka (open file) peta/map dan muat (load map) di map editor.
- Pastikan masalah-masalah sebelumnya (yang saya jabarkan semuanya di atas) sudah teratasi.
- Save map, lanjut Rebuild/Recompute Map (tombol F8 di keyboard).
- Tunggu sampai selesai. Setelah itu Save map lagi. Dan beres sudah.
Daftar perubahan khusus (per fitur, item/objek, atau jenis mod)
Curve items
Akhirnya ada item baru yang satu ini! Bentuknya hampir sama dengan item “Building” namun jauh lebih kompleks, kustom, dan dinamis.
a. Curve model definition
Setiap definisi tunggal dalam file curve_model.sii harus dalam susunan dan format berikut ini:
|
| ------ Identifikasi data tipe item nya
| |
| | ----- Objek ID / Nama Item
| | |
v v v
category: "Walls" # Ya.. kategori
name: "Warehouse wall" # Nama model Curve
model_desc: "/model/warehouse/tiled_wall.pmd" # Path lokasi model .pmd .pmg dkk.
dynamic_lod_desc[]: "/model/warehouse/tiled_wall_lod1.pmd" # Versi LOD1 Path lokasi model
dynamic_lod_dist[]: 50 # jarak (dalam meter) ketika model diganti jadi bentuk LOD1
dynamic_lod_desc[]: "/model/warehouse/tiled_wall_lod2.pmd" # Versi LOD2 Path lokasi model
dynamic_lod_dist[]: 100 # jarak (dalam meter) ketika model diganti jadi bentuk LOD2
variation[]: "var_name1 | center1:2 | center2:5" # Def pembagian variation part objek model
variation[]: "var_name2 | center1, center2:5"
start_part[]: "strt1|strt1a" # Def daftar bentuk ujung awal part model per variation diatas
start_part[]: "strt2|strt2b"
end_part[]: "end1" # Def daftar bentuk ujung akhir part model per variation diatas
end_part[]: "end2|end3|end4"
smooth_surface: false # Kalau modelnya support dibikin permukaannya mulus
color_variant[]: "red: 255, 0, 0" # Kasih variasi warna (Kode RGB)
color_variant[]: "blue: 0, 0, 255"
vegetation[]: "tree_a : vegetmodel.cityalley.smalltree02a | 5:8 | -2:2 | 0.5:1.5 | 0:360"
vegetation[]: "tree_b : vegetmodel.cityalley.smalltree02b | 5:8 | -2:2 | 0.5:1.5 | 0:360"
fixed_step: 20 # Kalau model support dibikin jarak pisah (dalam meter) - tiang listrik misalnya
fixed_inner_start[]: strt1 # Use given start part for "inner" curve (definition per variation)
fixed_inner_start[]: strt2
fixed_inner_end[]: end1 # Use given end part for "inner" curve (definition per variation)
fixed_inner_end[]: end2
}
Berikut keterangannya (lama-lama jadi belajar pemrograman -_- ):
- Tipe Data Internal (curve_model), Identifikasi Tipe Data - harus tetap utuh dan wajib (jangan diutak-atik)
- Nama Item - harus dibuat UNIK untuk setiap pagar tunggal dalam game (bahkan di semua mod). Nama ini disebut token dan dapat dimiliki hingga 12 karakter dari set berikut: _0123456789abcdefghijklmnopqrstuvwxyz. Cara terbaik adalah menambahkan beberapa suffix (akhiran) pada nama yang mengidentifikasi model dari DLC atau mod untuk menghindari bentrok dan error. (Contoh : curve.indo_23)
- Category - Nama kategori yang digunakan untuk penyederhanaan navigasi dalam dialog properti item bangunan. Nilai dalam string.
- Nama Model - Nama model curve (semacam building) itu sendiri. Nilai dalam string.
- Model Path - Path lokasi file model (* .pmd).
- Bisa tambahkan jumlah LOD Dinamis Maksimum sebanyak 3 model.
- LOD Model Path - Path lokasi file model yang digunakan untuk model low-poly (* .pmd).
- Variant - Definisi variasi pada bagian tengah
- Variation name (token) | part_name [,part_name ...] : weight [ | part_name [,part_name ...] : weight]
- Start part - Array semua bagian yang valid yang dapat digunakan sebagai awal
- End part - Array semua bagian yang valid yang dapat digunakan sebagai bagian akhir
- Smooth surface - Melakukan interpolasi yang mulus dari geometri normals. Nilai default: false
- Color variants - Faktor pilihan warna vertex yang ditentukan pengguna yang digunakan selama pembuatan geometri item bangunan (opsional)
- Vegetation - Definisi vegetasi langsung memiliki format berikut:
- Instance name (token) : vegetation model unit name | min_width : max_width | min_offset : max_offset | min_scale : max_scale | min_rot : max_rot
b. Automatic wire generation
Model Curve ini dapat berisi locator untuk pembuatan tiang listrik otomatis. Pelacak ini memiliki konvensi penamaan berikut:
Nama locator : w_X_Y_Z
w_ - awalan
Tipe X - tipe objek kawat
f - kabel datar tanpa jarak pemisah
t - jarak penurunan kawat dibuat rendah, dengan ketebalan kawat datar (kawat tipis)
l - jarak penurunan kawat dibuat rendah, gitu saja
m - jarak penurunan kawat dibuat sedang/menengah
h - jarak penurunan kawat dibuat besar/tinggi
Y - indeks jalur kawat berbasis 0
Z - kode suffix-suffix (akhiran-akhiran) yang unik dapat berupa karakter apa saja
Contoh:
w_h_0_a, w_h_0_b, w_f_1_0
Mover/Walker Unification and Improvement
Kini pengembangan model tipe “Mover” dan sejenisnya telah diatur ulang. Alhasil item “Walker” sekarang sudah tidak dipakai dan bakal “DIHAPUS” di versi mendatang. Sebagai gantinya gunakan model dari item “Mover” seperti biasanya. Model item tersebut sekarang sudah disediakan model item yang sebelumnya ada di “Walker.”
Mover pada properties mover_model_u, model_anim_alt sekarang juga sudah tak dipakai dan akan DIHAPUS di pembaruan berikutnya. Ini berarti hookup Walker yang menggunakan properties ini tidak akan berfungsi. Maka disarankan untuk menggantinya dengan mover hookup yang baru pada model dari mover.
Dynamic LODs
Disamping menggunakan sistem LOD static tunggal (atribut lod_desc dan lod_dist), sekarang ada array LODs (array dynamic_lod_desc [] dan dynamic_lod_dist []).
Logikanya masih sama: deskriptor mendefinisikan path ke model LOD, dist/jarak yang mendefinisikan jarak dari posisi penempatan nya. Untuk saat ini, definisi LOD lama tetap ada/dimuat dan di-konversi, tetapi dukungan ini mungkin saja akan DIHAPUS dalam pembaruan versi mendatang.
Unit yang terpengaruh nantinya adalah prefab_model, model_def, dan curve_model. Sign_model.
Timezone Sub-areas
Data untuk zona waktu pada wilayah sub-area sebenarnya telah diperkenalkan secara diam-diam dalam pembaruan 1.34 (lihat wilayah Malheur, Oregon di ATS atau Kaliningrad, Rusia di ETS2).
Satu set data dalam satuan city_data dan data digunakan untuk penggunaan zona berbasis kota statis (misal Waktu pengiriman dalam game_economy):
- time_zone (integer, default adalah nilai yang tidak ditentukan, diwakili oleh minggu waktu, 10080) - zona waktu kota yang diberikan dalam hitungan menit
- time_zone_name (string, default empty) - nama zona waktu akhirnya
Jika zona waktu kota tidak terdefinisi (atau 10080) maka menggunakan zona waktu yang digunakan di negara tersebut.
Set kedua data tambahan terdiri dari tiga array yang di-sinkronkan (panjang yang diharapkan sama) yang disimpan dalam unit country_data dan digunakan untuk deteksi spasial zona waktu pada peta:
- secondary_time_zone_area (float4 array) - elemen area persegi panjang dalam koordinat editor
- secondary_time_zone (integer array) - delta waktu dari area yang diberikan dalam menit
- secondary_time_zone_name (array string) - nama zona waktu di area yang diberikan
Jika suatu titik berada di negara tertentu (diputuskan oleh peta logika melalui jalan/prefab & perbatasan) maka semua elemen persegi panjang yang ada diperiksa untuk zona waktu yang berbeda dari yang dimiliki suatu negara. Elemen area pencocokan pertama menentukan zona waktu yang tepat. Jika tidak ada area yang ditemukan, gunakan zona waktu negara yang ada disekitarnya.
Economy Data
Atribut baru di unit economy_data yang menangani pengisian bahan bakar darurat:
- refuel_fuel - jumlah bahan bakar yang dikirim dengan bahan bakar darurat tunggal (standar 50.0, dalam liter), layanan dimatikan jika pengemudi memiliki lebih banyak bahan bakar
- refuel_price_base - harga dasar rata layanan (default 150.0)
- refuel_price_factor - pengganda biaya bahan bakar dasar dibandingkan dengan harga diesel reguler di negara tertentu (default 3.0)
- refuel_time_base - waktu dasar dari penundaan pengisian bahan bakar darurat (standar 1800.0, dalam detik)
Traffic Data
Parked vehicles/trailers
Atribut kendaraan / trailer terparkir allowed_trailer sekarang juga diartikan sebagai definisi rantai trailer.
Catatan: Atribut allowed_trailer_count sekarang DIHAPUS, karena jumlah trailer ditentukan dari rantai trailer secara otomatis.
Spawn density rules
Dukungan trailer chain telah ditambahkan untuk menelurkan aturan kepadatan lalu lintas (traffic_rules_spawn.sui). Semua item luar yang pertama dalam atribut str_params sekarang ditafsirkan sebagai trailer chain yang diizinkan. Ini dapat berguna untuk menentukan area di peta tempat trailer khusus (kargo khusus) muncul.
Contoh:
{
name: "Spawn density - cargo train (plane)"
rule: "density"
str_params[]: "train_cargo"
str_params[]: "train_car.trplane_car 1 | train_car.trplane_care 1 | train_car.trplane_car 1 | train_car.trplane_care 1 | train_car.trplane_car 1 | train_car.trplane_care 1"
num_params[]: 0.0 # 00:00
num_params[]: 0.015 # frequency
num_params[]: 1 # count limit
}
Trailer chains
Trailer yang didukung saat ini didefinisikan di satu tempat: di traffic_vehicle dengan mendefinisikan seluruh rantai trailer (sebelumnya itu adalah kombinasi dari per kendaraan / jenis trailer + per kendaraan / trailer)
Atribut terkait pada traffic_trailer, traffic_vehicle_type dan traffic_trailer_type sekarang DIHAPUS. Sebagian kompatibilitas bawahan disediakan (konfigurasi trailer yang lebih kompleks mungkin tidak dibuat dengan benar kalau menggunakan atribut lama)
Catatan: Tanda wildcard telah DIHAPUS untuk menghindari kerumitan yang tidak diperlukan.
TIP : Jika telah menggunakan atribut allow_tractor (sekarang sudah DIHAPUS), fungsi serupa dapat dicapai dengan mengatur spawn_ratio: 0,0 untuk trailer yang telah menggunakannya. Dengan cara ini tidak akan dipilih untuk kendaraan apa pun kecuali ditetapkan secara eksplisit di trailer_chains.
Setiap elemen trailer chains dapat ditentukan baik dengan nama tipe trailer (model trailer acak jenis itu akan muncul) atau langsung dengan nama unit lalu lintas trailer. Secara opsional, untuk setiap elemen, jumlah minimum dan maksimum kejadian dapat ditentukan. Elemen dan jumlah dipisahkan oleh '|'.
Contoh:
trailer_chains []: "semi_trailer" - kendaraan akan memiliki satu trailer tipe semi_trailer
trailer_chains []: "traffic_trailer.first | traffic_trailer.middle 2-4 | traffic_trailer.last" - rantai trailer dengan elemen tertentu, 'traffic_trailer.middle' dapat muncul 2-4 kali.
Trailer type and storage renaming
Beberapa jenis trailer dan storage/penyimpanan yang sesuai telah diganti namanya dengan menggunakan akhiran khusus yang lebih universal untuk lebih cocok dengan penggunaannya. Ini mengandung trailer yang selalu dipilih secara eksplisit, tidak pernah secara acak di seluruh penyimpanan:
traffic_storage_train_car_pass.sii → traffic_storage_train_car_special.sii
traffic_storage_trailer_parked.sii → traffic_storage_trailer_special.sii
Vehicles Data
Cabin suspension
Kabin yang baru terhubung kedalam chassis oleh 4 pegas seperti pada truk aslinya (sebelumnya hanya satu pegas yang digunakan untuk men-simulasikan kabin). Lokasi pegas dapat dilihat sebagai silang kuning saat g_colbox aktif.
Anggota data di physics.sii cabin_pitch_force_scaling_factor, cabin_pitch_damping_factor, cabin_roll_force_scaling_factor dan cabin_roll_damping_factor sekarang sudah TIDAK DIPAKAI.
Sebagai gantinya ada data baru di physics.sii :
- cabin_suspension_travel (float, default 0,05, dalam meter) - menentukan panjang pegas kabin saat posisi diam dengan berat kabin di atasnya
- cabin_suspension_damping_factor (float, default 1.0) - pengali kekuatan relatif dari damper suspensi kabin
- cabin_sway_bar_factor (float, default 1.0) - pengali kekuatan relatif dari batang ayun suspensi kabin (yang melawan gulungan relatif kabin)
- cabin_cog_height_offset (float, default 0,5, dalam meter) - menentukan perbedaan ketinggian antara locator kabin dan COG kabin (COG lebih tinggi dari locator)
Catatan : Selain itu, titik kerja suspensi kabin dapat diubah dengan cvar g_cabin_suspension_stiffness. Nilai standarnya (1.0) sesuai dengan titik kerja di 0.65 (pegas kompres hingga 65 persen dari panjangnya ketika kita meletakkan berat kabin di atasnya). Nilai cvar yang lebih rendah berarti titik kerja yang lebih rendah, dan karena itulah membuat pegas lebih lunak (g_cabin_suspension_stiffness 0,0 menempatkan titik kerja di 0,5).
Cargo model randomized
Jika terdapat lebih dari satu model visualisasi kargo (lihat data_path array di unit cargo_model_match, disimpan di folder def / cargo / * / kargo untuk trailer yang dimiliki) untuk trailer yang diberikan, salah satu yang digunakan dipilih secara semi-acak dari item tersebut.
COG data in chassis accessory
Data Center of Gravity (COG) atau pusat gravitasi telah dipindahkan dari definisi trailer ke accessory_chassis_data. Mereka lebih mudah untuk diedit, mereka memiliki jumlah yang kurang dari definisi trailer dan pada kargo sasis yang diberikan biasanya dimuat dengan cara yang sama.
Nilai logika itu sendiri berfungsi seperti sebelumnya: cog_cargo_mass_min (float, default 0) dan cog_cargo_mass_max (float, default 20000) menetapkan batas batas dan cog_cargo_offset_min (float3, default (0,0,0)) dan cog_cargo_offset_max (float3, default (0,1, default) 0)) mengatur nilai untuk interpolasi.
Selain itu, COG default sekarang berada di tengah model berdasarkan pada beberapa analisis geometri trailer terlepas dari asal adegan model trailer. Jadi offset longitudinal yang digunakan sebagai solusi harus dibuang.
Dealer UI for Modded Trucks
Dalam hal ini pemberian ijin semua brand truk modifikasi tersedia di satu layar UI spesifik. Kalian bisa memiliki akses ke fitur ini setelah mengaktifkan mod di Mod Manager yang berisi merek truk tertentu. Ketika mod seperti ini terdeteksi, tombol pada truck dealer world map yang akan mengarahkan ke layar ini.
Untuk menambahkan merek baru pada mod, cukup buat direktori dengan nama merek tersebut di /def / vehicle /truck_dealer. Dalam direktori ini Anda akan menempatkan file stok truk pada script (.sii).
Misalnya, untuk merek bernama X, buat direktori bernama "xbrand" di jalur yang disebutkan. Sekarang direktori ini perlu diisi dengan truk yang valid, file .sii yang berisi kendaraan dan aksesorinya. Definisi konfigurasi aksesori dan kendaraan tersebut disimpan dalam direktori di jalur /def/vehicle/truck. Untuk informasi lebih lanjut tentang struktur dan konten folder ini, lihat Definisi pemain truk.
Penting : jika Anda membuat definisi truk baru, unit accessory_truck_data harus dinamai menggunakan kendaraan konvensi berikut. <brand>. <series>. Jadi dengan menggunakan contoh di atas, jika Brand X menggunakan definisi truk baru, nama accessory_truck_data dalam data.sii akan terlihat seperti ini: accessory_truck_data: vehicle.brandX.t_9000
Catatan: Saat ini, hanya merek truk versi UK (dalam /def/vehicle/truck_dealer_uk) yang tidak support fitur ini.
Selain itu, Anda dapat menambahkan logo merek sendiri ke dealer baru di direktori /material/ui/ truck_brand_logo. Untuk itu, buat file .mat, a .tobj, dan .tga dengan nama merek baru (misalnya "brand X" di sini), menggunakan alat konversi yang disediakan dan menambahkan konversi yang dihasilkan ke direktori tersebut. Ukuran logo harus 128x64. Jika tidak ada logo merek yang diatur, maka munculnya gambar material kosong.
Kesimpulannya, Anda masih bisa menambahkan truk modifikasi ke dealer dalam game menggunakan prosedur yang sama untuk membuat direktori yang mengatakan nama merek dalam game di /def/ vehicle/truck_dealer dan mengisinya dengan penawaran baru.
Jadi jika kalian ingin menambahkan mod baru (ke DAF misalnya), maka harus membuat direktori bernama "daf" di jalur truck_dealer mod mereka dan menambahkan penawaran truk mereka di sana. Semua konten modifikasi merek dalam game akan tersedia di modding dan dealer brand yang sebenarnya.
Trailer braces sound
Nilai default sekarang disetel kosong. Jadi ada suara hanya jika data secara eksplisit menyatakannya.
Transmission mode names
Unit accessory_transmission_data memiliki dua atribut string baru - auto_mode_name (default "A") dan manual_mode_name (default "M"). Nilai mereka digunakan di layar komputer dasbor sebagai elemen mode transmisi (id 1310) jika tampilan truk mengandungnya.
Wipers duration & delay format
Dalam atribut unit accessory_interior_data, wiper_delay telah DIHAPUS. Sebagai gantinya, atribut baru wiper_duration_and_delay (array float2) telah ditambahkan. Setiap elemen berisi panjang animasi (dalam detik) dan waktu tunda antara loop animasi (dalam detik) dari satu keadaan aktif.
Jika tidak ada wiper_duration_and_delay yang dinyatakan dengan benar, default nya adalah elemen tunggal float2 (2.0, 0.0), yang berfungsi sebagai keadaan aktif tunggal dalam kasus tersebut.
Itu semua kalau perubahan di game untuk versi 1.35 saja. Kalau misalnya masih menemukan error tapi tidak berhubungan sama sekali dengan yang sudah dijelaskan diatas. itu berarti ada yang belum teratasi di perubahan versi game sebelumnya (1.34, 1.32, ..., dst.) Cari tau dulu di bawah ini.
Cloud Profiles
Bagi pengguna Steam, sekarang game ini telah men-support Steam Cloud yang dapat diaktifkan setiap profil. Harap dicatat bahwa cloud hanya digunakan untuk menyimpan data profil dan save game.
Kalau mau menggunakan penyimpanan cloud untuk sinkronkan profil di antara banyak komputer, pastikan dulu bahwa mod yang diperlukan oleh profil tersebut masih tersedia dan dipakai serta diperbarui di semua komputer yang relevan baik menggunakan Steam Workshop atau mod secara manual.
Jika game profil tidak dimasukkan ke dalam cloud, yang merupakan tindakan default untuk profil yang sudah ada, profil akan disimpan dalam "<Game User Path>/Profiles" seperti biasanya. Jika profil disertakan, sebagian besar filenya dikelola secara internal oleh Steam Client. Masih ada sedikit konfigurasi profil yang tidak disimpan di cloud. Ini berisi pengaturan yang terkait dengan HW seperti pengaturan pengikatan input atau suara. Bagian ini disimpan di "<Game User Path>/steam_profiles" dan Anda perlu konfigurasi bagian ini di setiap komputer baru yang Anda gunakan di profil cloud.
Seperti halnya profil yang tidak disertakan, game ini akan membuat salinan cadangan profil saat pertama kali versi baru berjalan di komputer. Perhatikan bahwa salinan cadangan dibuat sebagai salinan lokal. Jika Anda ingin membalikkan suatu data, Anda perlu memilih keluar profil dari Steam, salin file dari backup, lalu pilih opsi back in/kembali.
Perubahan Nama Unit
Penguraian nama unit dari file .sii sekarang dibuat lebih ketat. Sebelumnya ini mengabaikan titik (dot) di akhir nama (misalnya "vehicle.something.") Dan menganggap beberapa titik berurutan sebagai suatu (misalnya "vehicle..something"). Mulai versi 1.33 kedua nama tersebut tidak valid dan tidak bisa dimuat di game lagi. Selain itu, jumlah total komponen titik yang dipisahkan dari dot sekarang dibatasi hingga 10 karakter.
Perubahan Prefab
Telah ditambahkanjenis spawn point "Long Trailer". Pada titik ini tidak ada pemeriksaan terhadap allowed_trailer_length. Jika prefab company/perusahaan terdapat setidaknya satu titik kargo/trailer panjang, yang tak terbatas juga dikirimkan ke prefab (easy point) oleh game economy.
Mod Localisation Support
Mulai versi 1.33 sampai seterusnya, mod bisa menambahkan string lokalisasi atau terjemahan baru. Maksudnya Anda bebas menerjemahkan isi atribut dan nama-nama tertentu di dalam game.
Caranya di dalam direktori /local/"kode_bahasa_yang_disediakan_game"/ kalian harus membuat modul Localization. Nama file tersebut harus disebut: local_module.<nama_mod>.sii (misalnya local_module.mod_indonesia.sii).
File harus menentukan satu unit kelas localisation_db.
CATATAN : Untuk kode_bahasa_yang_disediakan_game harus berupa tag bahasa lokal yang ditujukan, misalnya: Bahasa Inggris versi Britania (British atau England) memakai en_gb, bahasa Inggris versi Amerika adalah en_us, bahasa Polandia adalah pl_pl, bahasa ceko adalah cs_cz dan seterusnya.
Sayangnya, saat ini game belum support Bahasa Indonesia, mengecewakan. Bagaimana sih kita ini hah?! 😑
{
localization_db : .localization
{
key[]: "chassis" # Ini akan tersambung sama def lain yang ada tulisan @@chassis@@.
# + penulisan di @...@ nya HARUS berupa lower-case alpha-numeric ASCII characters
val[]: "Chassis" # Ini tulisan yang muncul di Game. Tiap bahasa pasti beda terjemahannya
key[]: "....."
val[]: "....."
# dan seterusnya...
}
}
Catatan: Mod Localisation tidak dapat menggantikan string yang sudah ditambahkan. Itu berarti lokalisasi yang ditentukan oleh mod dengan prioritas tertinggi yang akan digunakan.
TIPS : Sistem game ini tidak membalikkan token yang tidak diterjemahkan kedalam bahasa Inggris sehingga kalian harus menentukan lokalisasi untuk semua bahasa yang disediakan di game saat . Saat ini permainan hanya mendukung puluhan bahasa.
bg_bg (Bulgaria), ca_es (Catalonia), cs_cz (Ceko), da_dk (Denmark), de_de (Jerman), el_gr (Yunani), en_gb (Inggris - British), en_us (Inggris - Amerika), es_es (Spanyol), es_la (...), et_ee (Estonia) , eu_es (...), fi_fi (Finlandia), fr_fr (Perancis), gl_es (...), hr_hr (Kroasia), hu_hu (Hungaria), it_it (Italia), ja_jp (Jepang), ka_ge (Georgia), ko_kr (Korea), lt_lt (Lithuania), lv_lv (Latvia), mk_mk (N.Macedonia), nl_nl (Belanda), no_no (Norwegia), pl_pl (Polandia), pl_si (Silesia - Polandia), pt_br (Portugis - Brazil), pt_pt (Portugis - Portugal), ro_ro (Romania), ru_ru (Rusia), sk_sk (...), sl_sl (Slovenia), sr_sp (Slavik - latin), sr_sr (Slavik - Serbia), sv_se (Swedia), tr_tr (Turki), uk_uk (Ukrania), vi_vn (Vietnam), zh_cn (Mandarin - Cina), zh_tw (Mandarin - Taiwan)
Tetapi seperti yang saya sebut tadi, saat ini game ETS2 belum tersedia versi Bahasa Indonesia!
Seandainya kalian tidak sanggup menerjemahkan setiap bahasa yang tersedia di game (bagi yang mungkin enggak bisa berbahasa Jerman, Belanda, Prancis, Jepang, Korea, dll.), setidaknya samakan dengan versi bahasa Inggris di setiap folder bahasa-bahasa itu.
City Data
Telah ditambahkan atribut city_name_localized dan short_city_name_localized untuk fitur lokalisasi nama kota. Jika tidak didefinisikan secara eksplisit hal itu akan secara default ke varian logis terdekat (ringkas ke tidak-ringkas, lokal ke non-lokal). Atribut city_name_uppercase telah dihapus dan string dibuat oleh game dari nama lokal atau non-lokalisasi yang tepat.
Country Data
Telah ditambahkan name_localized untuk fitur lokalisasi nama negara. Digunakan dengan cara yang sama seperti nama asli sebelumnya. Nama asli sekarang berisi nama yang tidak diterjemahkan (seperti kota). Jika name_localized tidak didefinisikan secara eksplisit, maka standar nya adalah 'name' begitu saja.
Adapun atribut boolean baru “trailer_standalone” telah ditambahkan (default = false). Ini digunakan di negara yang mana trailer tidak memiliki daftar tersendiri dan terdaftar dengan truk atau kendaraan sejenis demikian pembagian plat kendaraannya (misalnya Inggris).
Ferry Data
Telah ditambahkan ferry_name_localized untuk fitur lokalisasi nama ferry. Jika tidak didefinisikan secara eksplisit maka secara default menjadi ferry_name.
Game Data
Atribut glass_config tidak digunakan karena konfigurasi kaca interior sekarang dibuat dalam file terpisah: /def/vehicle/interior_glass_config.sii.
Ada lagi atribut baru “blinker_auto_off_trigger” telah ditambahkan (default 0,01). Ini digunakan untuk menentukan momen yang tepat ketika blinker mati secara otomatis (jika diaktifkan) setelah mereka dipersenjatai dengan memenuhi “blinker_auto_off_limit”.
Juga menambahkan atribut blinker_auto_off_trigger untuk mendefinisikan sudut di bawah sebagaimana menon-aktifkan auto blinker yang dilakukan sebelumnya.
Interior Glass Config
Konfigurasi keseluruhan tentang panel kaca sekarang dapat dibuka di /def/vehicle/ interior_glass_config.sii.
Selain itu ada tiga atribut baru yang diperkenalkan dengan algoritma rain wiping (sapuan air hujan pada kaca) yang ditingkatkan:
- [float] no_rain_ageing_factor - Modulator lama tetesan dengan intensitas hujan rendah atau tidak ada hujan. Semakin rendah nilainya dalam kisaran <0,1>, semakin lama waktu yang diperlukan untuk mengering ketika tidak ada hujan atau pada intensitas rendah.
- [float] drops_wiping_factor - Faktor dalam rentang <0,1> mendefinisikan rasio antara tetesan yang dipindahkan dengan yang tersapu bersih, di mana 0 berarti semua tetesan akan berpindah dan 1 berarti semua tetes akan disapu ketika bersentuhan dengan wiper (pembersih kaca truk).
- [float] drops_moving_offset - Offset dalam meter yang tetesnya diimbangi ke arah gerakan wiper.
Traffic Trailer Data
Penggunaan company paint jobs untuk lalu lintas trailer/kargo telah disederhanakan. Tidak perlu lagi membuat varian data trailer terpisah untuk setiap paint jobs. Automatic company paint job selection telah ditambahkan, yang secara acak memilih salah satu paint jobs yang disimpan di direktori company_paint_job di lokasi definisi trailer chassis yang sesuai (yaitu trailer paint jobs pemain). Fitur ini dapat diaktifkan menggunakan atribut berikut dalam definisi:
company_paint_job: true
Map Format Changes
Untuk data semaphore_profile kini bisa disisihkan pada level prefab item.
Terus beberapa data untuk item prefab dan road (jalan) telah dipindahkan dari file berformat *.base ke file baru dengan format *.data. (ini berhubungan dengan sistem baru pada tool brushs/stamps)
UI Texture Change
Kini tekstur UI diubah dalam mode koreksi Gamma. Seperti hasil transisi Alpha dalam tekstur UI (misal pada ikon aksesori dan loading screen) dan nilai Alpha khusus definisi screen UI akan memberikan hasil yang berbeda dari sebelumnya. Saat membuat tekstur transparan, kalian harus mengatur editor grafis untuk menggunakan nilai Gamma 1.0 untuk mendapat komposisi berjalan dalam cara yang sama seperti di game.
Ketika tidak ada cara langsung untuk memodifikasi tekstur untuk dapatkan hasil yang sama seperti sebelumnya, gunakan “Attached Perl Script” (langsung download di situs resmi SCS Modding Wiki) untuk mengatur alpha channel yang menjaga tampilan mirip menurut asumsi bahwa pencampuran tersebut dilakukan pada background middle-gray berdasarkan ekspresi yang disebutkan dibawah.
Ingat, setelah menggunakan script ini kalian mungkin masih harus mengatur image/gambar secara manual sesuai keinginan.
S .. source sRGB color in UI texture
a .. source alpha in UI texture
D .. background sRGB color, we assume middle gray #808080
b .. recomputed alpha
The old blending expression:
OLD = S * a + D * (1 - a)
The new blending expression:
NEW = sRGB(rgb(S) * b + rgb(D) * (1 - b))
Alpha which would result in the same final value after blend:
b = (rgb(OLD) - rgb(D)) / (rgb(S) - rgb(D))
Economy Data
Banyak perubahan atribut baru sebagai berikut :
- Menambahkan atribut cargo_damage_cost yang menentukan berapa banyak uang yang harus dibayarkan pemain untuk 1% dari kerusakan.
- Menambahkan atribut cargo_damage_cost_factor yang menentukan penalti kerusakan faktor dikalikan dengan setiap 1% dari kerusakan.
- Menambahkan atribut exp_park_load_bonus yang menentukan seberapa besar bonus pemain XP untuk penempatan parkir trailer selama misi (pemuatan pekerjaan).
- Menambahkan atribut revenue_per_km_base yang mendefinisikan pendapatan dasar per km untuk driver AI.
- Menambahkan atribut revenue_coef_per_km yang mendefinisikan koefisien gaji per km untuk freight market dan online jobs.
- Menambahkan atribut cargo_market_revenue_coef_per_km yang mendefinisikan koefisien gaji per km untuk pekerjaan pasar kargo.
- Menambahkan atribut driver_revenue_coef_per_km yang mendefinisikan koefisien gaji untuk driver AI dan pemain quick jobs.
- Menambahkan atribut driver_cargo_market_revenue_coef_per_km mendefinisikan koefisien gaji untuk driver AI pada pekerjaan pasar kargo.
- revenue_per_km telah dihapus.
- driver_revenue_per_km telah dihapus.
- trailer_damage_cost telah dihapus.
- trailer_damage_cost_factor telah dihapus.
- Brand (merek truk) telah dihapus, kini dari game sendiri akan mengumpulkan brand/merek truk dan trailer di direktori mulai dari /def/vehicle/truck_dealer dan /def/vehicle/trailer_dealer. Setiap direktori tersebut yang dapat ditafsirkan sebagai token adalah suatu brand/merek baru.
Country Data
Data negara memiliki atribut baru bernama mass_limit_per_axle_count. Ini mendefinisikan batas massa GWV (gross vehicle weight) maksimum yang diizinkan (dalam kilogram) dari seluruh set (truk + trailer + kargo) dengan jumlah axle yang diberikan (total truk + trailer) di suatu negara. Bila kosong berarti tak terbatas.
Elemen pertama menggambarkan batas massa untuk kendaraan dengan 2 axles/gandar, 3 axles, dll. Jika kendaraan memiliki lebih dari batas massa yang ditentukan, entri terakhir yang akan digunakan. Contoh:
{
# [...] Isi script di awal-awal tidak dihapus jadi langsung ke bagian ini
mass_limit_per_axle_count[]: 18000 # 2-axle vehicle
mass_limit_per_axle_count[]: 26000 # 3-axle vehicle
mass_limit_per_axle_count[]: 38000 # 4-axle vehicle
mass_limit_per_axle_count[]: 40000 # 5-axle vehicle
mass_limit_per_axle_count[]: 44000 # 6 and more-axle vehicle
}
Cargo Generator
Perubahan utama
Muatan yang lebih penting sekarang ditentukan oleh satuan, bukan berat. Satuan unit tersebut diambil dari volume yang memberikan hitungan unit yang mungkin termuat dalam tubuh/body trailer. Dari sini terhitung lah masa, dan harga/reward juga diperoleh. Masa ini menentukan pembatasan lebih jauh baik dari trailer maupun aturan tiap negara. Keduanya mungkin menghasilkan pengurangan muatan jumlah unit suatu kargo.
Konsep baru lainnya adalah tipe body, dimana trailer atau kargo tidak terhubung secara langsung, tetapi baru dicocokkan dengan kargo yang sesuai menurut body tersebut. Trailer yang berjenis flatbed hanya akan menghasilkan job yang terdiri dari kargo yang kompatibel dengan body flatbed tersebut.
Cargo Data
Atribut price_coef, mass (array, per trailer dari daftar) dan cog_height_offset (array, per trailer) telah dihapus. Susunan atribut trailer tetap hanya untuk alasan kompatibilitas beberapa kargo/barang muatan.
Atribut baru lainnya meliputi :
[token array] body_types – daftar tubuh/body trailer yang bisa dimuat.
[float] volume – Volume satu unit tunggal, dalam satuan meter kubik (m3)
[float] mass – masa satu cargo unit, dalam satuan kilogram (kg)
[float] unit_reward_per_km - harga angkutan satu cargo unit per jarak 1km
[float] unit_load_time – waktu pemuatan satu cargo unit, dalam detik
[bool] overweight – kargo dengan script ini digunakan secara umum tapi mengabaikan trailer apapun maupun pembatasan setiap negara.
Def Trailer
Struktur trailer_def sudah banyak ditingkatkan dan didesain ulang sebagai inti dari ekonomi. Sistem lama dengan daftar trailer untuk kargo yang diberikan hanya digunakan untuk sisa trailer lama (menggunakan penempatan folder kargo dengan link trailer yang diisi dan body_types palsu yang digaris-bawahi).
Script def trailer yang menggunakan sistem kepemilikan trailer baru kini ditempatkan pada folder def/vehicle/trailer_defs. Sementara yang lama dibiarkan di tempat sebelumnya.
Sistem pendukung bidang baru yang cocok dengan kargo untuk diangkut hanya melalui jenis badan trailer dengan informasi tambahan. Yakni:
[float] gross_trailer_weight_limit – batas teknis atau logika trailer + massa kargo, dibatasi bridge formula atau rumus sejenis.
[token] body_type – definisi kargo yang dapat dimuat, hasilkan body_type semua trailer dalam suatu set.
[token array] country_validity – daftar negara yang boleh dimuat, bila kosong berarti bebas semua negara.
Kemudian ada cached/precomputed values untuk akses cepat tanpa memerlukan pemuatan semua aksesoris (disamping menghitung semua chassis dan body weight dalam chain) termasuk data trailer yang tidak punya aksesoris tertulis (misalnya pada freight market)
[float] trailer_mass – jumlah massa semua bagian chassis suatu trailer
[float] body_mass – jumlah massa semua bagian tubuh/body trailer
[float] volume – jumlah volume semua bagian tubuh/body trailer
[int] axles – axles terhitung dari semua trailers dalam set
[float] length – panjang seluruh set trailer dalam meter
[token] chain_type – jenis trailer chain (single, double, b_double, ...)
Selain itu, ada juga parameter cog placement - tidak seperti mekanik yang lebih lama saat ini, cargo cog biasa ini mengimbangi dalam meter (sebelumnya ukurannya dibelah dua karena alasan historis).
Body types
Yang satu ini dibuat yang mana kargo dapat diangkut dengan trailer dan terikat dalam ekonomi melalui definisi kargo dengan atribut array body_types di cargo data.
Adapun beberapa jenis yang punya beberapa aturan khusus dalam kode berikut: flatbed, curtainsider, dryvan, insulated, dan refrigerated
Disebutkan salah satunya bisa menggunakan token untuk body types, tapi jangan lupa mendefinisikan cargo data baru tersebut. Suatu saat daftar yang sudah ada kemungkinan besar akan berkembang dengan set baru body types.
Flare Data
Unit flare (biasanya ditemukan sebagai hookup dalam folder /unit/hookup) mendapat fungsi baru terkait definisi garis manual untuk ukuran skala flare.
Dengan dua atribut float berikut:
scaling_start_scale – jarak saat perbesaran skala flare berawal
scaling_end_scale - jarak saat perbesaran skala flare berakhir, yang mencapai suatu scale_factor
Harap dicatat bahwa atribut tersebut ditulis dalam meter, dan hal tersebut tidak akan digunakan kecuali scale_factor tersebut lebih besar dari 1.0
Vehicle Data
Trailer Cable Data
Ada support baru untuk trailer cable yang lurus, yang bisa diaktifkan dengan menggunakan float baru : straight_cable_faces. Saat digunkan dan nilainya lebih besar dari nol, akan meng-transformasikan kabel spiral ke dalam yang lurus, dan dari game akan memberitahu apa jarak kabel lurus sebenarnya.
Selain itu ada support untuk sebutan “back faces” dalam cable geometry, diaktifkan dengan membuat setting boolean atribut: back_faces menjadi “true”. Ini berguna saat menggunakan material transparan pada kabel. Sehingga pada sisi dalam kabel akan terlihat (misal back faces digunakan dalam trailer cable baru pada kendaraan traffic).
Truck Data
Accessory head lights data.
Algoritma untuk penerangan tanda (illumination signs) telah diubah, saat ini hal tersebut dihitung berdasarkan warna dan jangkauan lampu truk.
Atribut berikut dibuat usang dan tidak lagi digunakan:
low_beam_sign_color
low_beam_sign_range
hi_beam_sign_color
hi_beam_sign_range
front_beam_sign_color
front_beam_sign_range
roof_beam_aspect
roof_beam_sign_color
roof_beam_sign_range
front_roof_beam_sign_color
front_roof_beam_sign_range
Trailer Data
Ada beberapa tambahan dalam Trailer Data dengan struktur folder baru dalam folder def/vehicle.
trailer_cargo – folder definisi/script pencocokan model kargo pada tubuh/body trailer.
trailer_chain_types – folder definisi/script jenis trailer chain yang bisa dibuat pada semua trailer di game
trailer_dealer - dealer yang tersedia untuk trailer, disusun pada sub-folder <brand.model>
trailer_defs – semua konfigurasi dari kombinasi trailer yang mungkin pada sistem baru (Lihat Cargo Generator di bagian atas).
trailer_owned – konfigurasi dari definisi/script data kepemilikan trailer, body, paintjob and accessories (mirip seperti truck), juga disusun pada sub-folder <brand.model>.
Selain itu unit trailer yang pernah menyusun trailer pada freight market, kini sudah ada pointer attribut baru yakni trailer_definition, yang dapat menghubungkan trailer pada freight market dalam ekonomi dengan menempatkannya pada jenis trailer_def baru.
Trailer dealer data
Pengambilan trailer dealer ditulis ditentukan dengan cara yang persis sama seperti truck dealer.
Di folder /def/vehicle/trailer_dealer/ adalah folder untuk setiap merek trailer dan di dalamnya terdapat definisi lengkap dari susunan pre-configured yang berbeda dimana pemain dapat memilih langsung dari game. (unit sii).
Accessory trailer data
Unit baru (def/vehicle/trailer_owned/<nama_brand atau merek>/data.sii) menjelaskan serangkaian merek dan seri trailer. Sangat mirip dengan accessory_truck_data yang sudah diketahui. Atribut unit tersebut adalah:
[string] info [0] - (opsional) nama merek, jika string kosong dilewatkan, maka tidak ada merek yang ditampilkan.
[string] info [1] - (opsional) nama seri trailer.
[string array] fallback - (opsional) daftar aksesoris fallback mengikuti format types| path
juga aturan dan persyaratan reguler lainnya untuk kendaraan yang diberikan
Accessory trailer body data
Aksesori baru ini mendefinisikan tubuh/body trailer pada folder def/vehicle/trailer_owned/ <nama_brand atau merek>/body/
Atribut yang diperlukan adalah:
[float] volume - Volume tubuh dalam meter kubik (m3). Batas jumlah cargo units yang bisa dimuat.
[token] body_type - Tipe tubuh/body. Hanya kargo yang diberikan body_type yang bisa dimuat.
[float] mass - Massa dari body kosong dalam kilogram. Mungkin bisa bernilai nol jika dimasukkan dalam chassis.
[float3] total_size - Ukuran total trailer dalam satuan meter.
[float3] size - Ukuran internal body trailer dalam satuan meter.
Atribut opsional adalah:
[string] detail_model - Model lebih rinci dari tubuh/body.
[string] model - Model default dari tubuh/body.
[string array] lods - Model LOD.
[string] collision – Model collision tubuh/body.
[Token] variant - Varian dari model yang akan digunakan.
[token] look - Tampilan model yang akan digunakan.
Ownable trailer configuration
Setiap kepemilikan trailer butuh konfigurasi tersendiri dimana pemain dapat memilihnya dari dalam trailer configurator. (misalnya single 3-axles, 2-axles, double, dll.) semuanya disusun pada folder def/vehicle/trailer_owned/<nama_brand atau merek>/configuration.
Setiap konfigurasi jenis trailer_configuration punya beberapa atribut.
[string] name – nama yang ditunjukkan pada trailer configurator.
[string] icon – ikon yang ditunjukkan pada trailer configurator.
[token] chain_type – jenis chain yang digunakan (salah satunya termuat dalam folder /def/vehicle/trailer_chain_types/)
[string array] chassis – semua chassis yang dikonfigurasi, chassis pertama for trailer pertama dalam chain, chassis kedua untuk trailer chain kedua, dan seterusnya.
[trailer_body_set array] body_sets - Owner pointer array untuk kompatibilitas trailer_body_sets dengan konfigurasi ini. Except body set yang terhubung secara manual dalam configuration file yang juga dihubungkan dalam nama sub-folder yang sama dengan nama base configuration file (nama file kedalam titik pertama, jadi kalau misalnya file "single3.sii" or "single3.mymod.sii" harus punya body set dalam folder "/def/vehicle/trailer_owned/<brand.model>/configurations/single3").
Trailer Body Set
Ini tertulis set body yang digunakan pada konfigurasi trailer tunggal. Setiap body set tersebut dapat disusun pemain dalam trailer configurator.
[string] name - nama yang ditunjukkan pada trailer configurator
[string] icon - ikon yang ditunjukkan pada trailer configurator
[trailer_def pointer] trailer_definition - Pointer trailer definition yang digunakan pada trailer body set, sehingga di game bisa mendeteksi jenis kargo apa yang bisa digunakan pada trailer configuration dan body set tersebut.
[string array] body – semua definisi body untuk body set, body pertama for trailer pertama dalam chain, body kedua untuk trailer chain kedua, dan seterusnya.
Chassis accessory data
Atribut baru, “steerable_axle []” ditambahkan ke data chassis. Ini mengontrol gandar (steerable axles) yang dapat dikemudikan, bukan nama locator. Nama-nama locator sekarang hanya mendefinisikan jenis roda (model) ketergantungan. Semantik (semantics) “steerable_axle []” sama dengan “powered_axle []” atau “liftable_axle []”. Jika tidak didefinisikan, nilai-nilai tersebut disimpulkan dari jenis kendaraan. Secara default, sebuah trailer tidak akan memiliki gandar (steerable axles) yang bisa dikemudikan dan sebuah truk akan memiliki gardan kemudi pertama yang dapat dikendalikan).
Rangkaian powered_wheel [] tidak lagi didukung untuk menentukan roda listrik, dan sekarang diabaikan. Array powered_axle [] sekarang harus berfungsi dengan baik.
New cables accessory data
Dengan fitur baru yaitu adanya kabel trailer, ada juga aksesori jenis “aksesori_addon_trailer_cables_data” yang dapat digunakan pada truk dan trailer (untuk truk gandeng dua atau doubles, tiga atau triples, dll.). Jenis aksesori ini hanya dapat digunakan bersama dengan aksesori bernama: trlr_cables.
Jenis aksesori baru, selain atribut aksesori kendaraan biasa, memiliki atribut array dari pointer pemilik tipe “physics_trailer_cable_data”. Array ini mendefinisikan jenis dan berapa banyak kabel yang akan digunakan pada kendaraan. Setiap kabel pointer dari array harus didefinisikan di dalam SiiNunit yang sama.
Contoh data aksesori kabel trailer:
{
accessory_addon_trailer_cables_data : stock.<vehicle.name>.trlr_cables
{
exterior_model: "<path/to/upgrade/model.pmd>"
cables[]: .air_cable_b
cables[]: .air_cable_r
cables[]: .ele_cable_g
}
physics_trailer_cable_data : .air_cable_b
{
locator_prefix: air_cable_b // Name of the locator (in vehicle and trailer) where cable will be "connected".
rest_locator_prefix: rst_cable_b // Name of the locator (in vehicle only) where cable will be put to rest, when not connected to the trailer.
// If not present in vehicle, cable is not visible when disconnected from trailer.
vehicle_plug_model: "/vehicle/share/models/cables_connectors/air_plug_b.pmd" // Plug model for the cable end on vehicle side.
vehicle_plug_model_offset: (-0.0205, 0.0, -0.121) // Visual offset of cable start in space of vehicle plug model.
trailer_plug_model: "/vehicle/share/models/cables_connectors/air_socket_b.pmd" // Plug model for the cable end on trailer side.
trailer_plug_model_offset: (0.0, 0.0, -0.11) // Visual offset of cable end in space of trailer plug model.
ring_count: 10 // Number of rings in spiral of cable.
ring_resolution: 7 // Resolution of the ring, how many sides each ring has.
diameter: 0.9 // Diameter of spiral.
width: 0.0175 // Width of the cable itself.
material: "/material/ropes/cable_white.mat" // Material used for cable rendering.
color: (0.1, 0.35, 0.55) // Vertex color that will be used for the cable. Note that this color is in linear colorspace.
}
physics_trailer_cable_data : .air_cable_r
{
locator_prefix: air_cable_r
rest_locator_prefix: rst_cable_r
vehicle_plug_model: "/vehicle/share/models/cables_connectors/air_plug_r.pmd"
vehicle_plug_model_offset: (-0.0205, 0.0, -0.121)
trailer_plug_model: "/vehicle/share/models/cables_connectors/air_socket_r.pmd"
trailer_plug_model_offset: (0.0, 0.0, -0.11)
ring_count: 10
color: (0.5, 0.05, 0.05)
}
physics_trailer_cable_data : .ele_cable_g
{
locator_prefix: ele_cable_g
rest_locator_prefix: rst_cable_g
vehicle_plug_model: "/vehicle/share/models/cables_connectors/electric_plug.pmd"
vehicle_plug_model_offset: (0.0, 0.0, -0.134)
ring_count: 10
color: (0.1, 0.1, 0.1)
}
}
Transmission accessory data
Atribut baru “shift_time” telah ditambahkan. Nilainya adalah perkiraan durasi pergeseran dalam detik dengan default 1,0. Waktu diukur dari momen pertama dari pemutusan kopling ke kopling saat sepenuhnya terhubung lagi. Dengan pengukuran waktu pemindahan yang tepat dari kebanyakan transmisi saat ini adalah antara 0,7 detik (Opticruises baru) dan 1,5 detik (transmisi MP3 lama). Nilai yang berbeda secara drastis dapat menyebabkan efek yang tidak diinginkan.
Truck dealer data
Truk dealer tidak lagi ditangani oleh suatu daftar, dari game sendiri sudah membaca semua file unit di direktori tertentu dengan cara yang sama seperti perusahaan (company) atau truk desktop. Daftar file hilang, file truk harus dibuat pada unit terpisah (mulai dengan header SiiNunit dan diapit dengan benar dalam kurung awal). Unit yang rusak dalam direktori tidak akan mencegah pembacaan sisanya.
Baca saja Modding Guides ETS2 1.30+ untuk mencari tahu. Daripada disini yang semakin panjang... kali lebar... kali tinggi... kali luas... kali volume... udah bang... udahan bang...
Baiklah sudah selesai. Pastikan kalian mempelajari semuanya baik-baik. Kalau baca sekilas tentu saja semua itu tidak akan bisa dipahami. Baca pelan-pelan, nanti dapat hasilnya.
Bagaimanapun, saya akan tetap beri semangat untuk semua modder dan mapper yang sedang berjuang! Semangat!
Itu saja yang bisa saya sampaikan. Jika ada yang kurang jelas mohon ditanyakan. Suatu saat setiap update/patch baru dari game ini telah dirilis, maka ada tips baru seperti ini lagi. Terima kasih dan semoga bermanfaat!
apa alatnya buat jadi modder suhu.maturnuwun.
ReplyDeleteYang paling utama pasti Komputer/Laptop dan game yang dipakai, adapun listrik buat sumber energinya (ups..)
DeleteKalau disini gamenya adalah ETS2 (ATS juga bisa karena tipenya sama). Tinggal milih bidang apa yang ingin dikuasai, boleh buat map/peta atau mod truk, bis, dan lain-lain.
Terimakasih atas tulisan yang sangat membantu.
ReplyDeleteSaya ingin update map izi di 1.35. Sudah berjalan dengan def baru yg compatible dengan 1.35. Tapi, ada beberapa hal yang ingin saya tanyakan.
1. Merubah Prefab (menggeser lokasi trailer) - apakah setelah prefab diubah di blender, perlu lagi masuk ke Map Editor?
2. Jika perlu masuk Map Editor, saya sudah mencobanya.. namun selalu gagal untuk Map IZI. Apakah ada konfigurasi tambahan di bagian directory game untuk edit mod map? Karena setau saya, hanya ada tutorial untuk membuat Mod Map (baru).
Sama sama, saya coba jawab.
Delete1. Iya, kalau sudah diedit di Blender maka ganti file prefab lama dengan yang baru. Lalu masuk ke editor dan menampilkannya.
2. Kalau ternyata crash, berarti coba cek gamelog.txt. bisa saja ada model pmg versi lawas yang harus diupgrade, atau script def lain yang tidak kompatibel. Kalau masalahnya ada di map, coba di save dan recompute di versi sebelumnya (1.34) lalu dimasukan ke versi 1.35
Semoga membantu
Sip. Terimakasih. Barusan nyoba tanya sama author terakhir yang up map izi, dan dapat jawaban untuk re-map terakhir masih di 1.30. Saya coba masuk map editor di versi 1.30 juga. Alhamdulillah bisa masuk dan berhasil edit prefab terbaru sesuai dengan yg saya inginkan. Namun muncul permasalahan baru, yakni "building scheme". Kira2 itu apa ya? Dan bagaimana mengatasi error tersebut?
DeleteSaya coba fitur validate item, dan validate-validate yg lain, hingga menemukan banyak error di lokasi 0x....
Bagaimana cara menemukan titik2 itu? Dan bagaimana memperbaikinya?
Berarti ada model yang hilang (item building) disana. Validate tool semacam itu cuma buat ngecek ada yang error atau nggak di map. Ada pilihan berikut.
Delete1. Kalau ingin menghapusnya, maka gunakan perintah g_delete_idx *angka_kode* atau g_delete_uid *angka_kode* (ketik di console). Tapi itu bisa memakan waktu karena menghapusnya satu per satu.
2. Cari tahu building scheme apa yang hilang disana. Biasanya setiap selesai proses membuka map editor langsung kelihatan errornya apa (unable to find ... *ID*). Kalau sudah ketemu, kode Id untuk itemnya bisa dicek di script def/world. Akhirnya bisa tahu model apa yang ternyata nggak dimasukin dalam map pack tersebut.
Semoga membantu.
Sip. Terimakasih banyak 🙂
DeleteThis comment has been removed by the author.
DeleteMas.. tanya lagi.
DeleteKali ini tentang error dx11 attribute UV map .. adakah cara cepat untuk menangani ini? Saya baca di forum scs masalahnya tentang UV map yg kurang atau tidak cocok dengan material yg digunakan.
Kalau masalahnya ada di model, berarti model itu sendiri harus di-upgrade ke versi terbaru. Caranya lewat SCS Blender tools tentunya.
DeleteTapi kalau masalahnya ada di material (.mat) maka ya harus diupdate manual script materialnya lewat notepad. Mungkin agak rumit kalau ternyata masalahnya sampai di file TOBJ.
Intinya... cara paling aman harus diupgrade semua modelnya di Aplikasi Blender lewat SCS Blender Tools.
Semoga membantu
Ok. Siap. Makasih mas
Delete