Tips Pembaruan Mod ETS2 versi 1.30 Lengkap (Bahasa Indonesia)

Modding Guides (Panduan Buat Mod)

Euro Truck Simulator 2 (ETS2) Versi 1.30 + 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. 

Oh iya, sebelumnya kok ini versi game nya langsung loncat dari 1.28 ke 1.30, terus versi 1.29 mana? 

Ya, mungkin pembaruan ini baik ETS2 maupun ATS sempat tidak bersamaan. Sebelumnya ATS sudah rilis update lebih dulu ke versi 1.29 dengan rilis peta DLC baru “New Mexico”, tetapi untuk ETS2 masih belum ada konten baru apa-apa. Akhirnya versi ETS2 langsung loncat ke versi 1.30. 

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. Info ini sudah ada di situs SCS Modding Wiki, tetapi disini saya bantu terjemahkan ke dalam Bahasa Indonesia.

Fitur & Konten baru di ETS2 1.30

  1. Truk tipe baru : Scania R-Series & S-Series 
  2. Pembaruan konten map di Italia bagian utara - pembuatan ulang kota Milan dan seisi perbaikan di sekitarnya : Karena rilisnya Map DLC baru Italia
  3. Restrukturisasi atau setting ulang data navigasi (GPS) rute jalan di game
  4. Fitur Time Zone : pembagian zona waktu dunia (seperti di Indonesia ada WIB, WITA dan WIT)
  5. Transmisi ZF-16 yang support buat DLC ​​baru
  6. Perbaikan proyeksi map di game (perilaku lingkungan yang lebih tepat), opsi map panning
  7. Fitur mesin multi-torsi (digunakan pada mesin truk DAF 2017)
  8. Munculnya info mesin dan transmisi dasar buat truk pada tooltip menu quick job di game
  9. Trailer muatan truk bisa dibatasi akses nya pada negara tertentu saja
  10. Perbaikan model truk DAF, Volvo, dan Scania
  11. Banyak penyesuaian dan perbaikan konten base map (ori) maupun map DLC yang sudah rilis sebelumnya
  12. Muatan kargo baru : kapal pesiar mewah
  13. Fitur tool Weather Editor (jadi satu sama map editor)
  14. Fitur Traffic Tool untuk testing traffic AI langsung di map editor
  15. Fitur Scene Preview baru (dalam map editor)
  16. Parameter navigasi baru di file map_data.sii
  17. Parameter Assistance Service di file economy_data.sii

Command/Parameter Pembantu (Sebelum Up Versi Mod)

  1. -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.
  2. -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.
  3. -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.

  1. 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.
  2. 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.
  3. 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

  1. Buka map .mbd nya di map editor
  2. Cobalah save map dulu. Mungkin aja habis itu tiba-tiba muncul error berkaitan dengan item "Compound" otomatis. Dalam hal ini periksa game.log.txt (tapi gak usah keluar atau close game nya, jadi masih bisa save map lagi). Jika log berisi error menumpuk, perbaiki dengan cara di bawah :
  3. Jika munculnya "Compound X berisi item Y yang juga ada sebagai item independen" - hapus aja pakai kode console "g_delete_uid"
  4. Jika munculnya "Item duplicate dari X ditemukan dalam compound:" - pertama cari dulu kode UID si X pakai dialog menu "Find Item" kalau sudah, tinggal atur lewat Item Properties. Kadang bisa aja bakal balik lagi ke poin 3 diatas jadi setelah ini dilakukan (tapi masih error) hapus objek nya pakai "g_delete_uid" tadi.
  5. Save map lagi, rebuild atau recompute map (F8), save map lagi, beres deh.

Daftar perubahan khusus (per fitur, item/objek, atau jenis mod)

Data Navigasi (Navigation) Baru

Algoritma navigasi baru sudah menggunakan info yang lebih rinci dari jalur lalu lintas sehingga bisa mengambil jumlah jalur, arah dan hal-hal lain yang menjadi pertimbangan. Berhati-hatilah untuk memiliki data navigasi yang benar di peta (map). Misalnya jika prefab persimpangan (crossing) tidak memiliki jalur AI untuk belok kanan, navigasi tidak akan berbelok ke kanan meskipun berarti akan menemukan jalan yang jauh lebih lama.

Unit ‘map_data’ di folder /def/map_data.sii berisi beberapa atribut yang dapat digunakan untuk mengatur rute heuristik dan perkiraan waktu mengemudi.

Nilai umum yang digunakan oleh navigasi:

  • navigation_maximum_speed (25.0) - Kecepatan maksimum yang masuk akal yang digunakan untuk perhitungan navigasi (dalam m/s). Jaga agar tetap kecil untuk meningkatkan efisiensi pencarian.
  • navigation_turn_back_length (400000.0) - Panjang koneksi buatan yang mewakili belokan tidak diizinkan oleh AI lines.
  • navigation_prefer_small_wide_road_penalty (10.0) - Penalti diterapkan pada jalan dengan lebih dari satu jalur ke arah saat menggunakan rute prefer_small_roads mode. Bersifat multiplikatif.
  • navigation_special_prefab_additive_penalty (0.0) - Penalti dalam meter yang diterapkan pada jalur yang melewati prefab khusus (misalnya SPBU) di luar kota. Bersifat aditif. Umumnya harus dibiarkan nol kecuali tidak ada prefab SPBU/weight station (jembatan timbang) yang digunakan dalam peta termasuk jalan normal disamping area SPBU.
  • navigation_special_prefab_additive_penalty_city (0.0) - Penalti dalam meter yang diterapkan pada jalur yang melewati prefab khusus (misalnya SPBU) di dalam kota. Bersifat aditif. Biasanya harus dibiarkan nol, lihat di bagian navigation_special_prefab_additive_penalty.
  • navigation_gps_avoid_additive_penalty (20000.0) - Penalti dalam meter yang diterapkan pada jalur yang melewati jalan atau tempat berlabel yang ditandai sebagai "GPS Avoid". Bersifat aditif.

Bobot yang digunakan menemukan jalur jalan dalam mode ‘prefer_shorter’ (rute paling dekat)

  • navigation_city_penalty (1.0) - Penalti diterapkan pada jalur melalui area kota. Bersifat multiplikatif.
  • navigation_slow_road_penalty (5.0) - Penalti diterapkan pada jalur melalui area ‘slow time’.  Bersifat multiplikatif.

Bobot yang digunakan untuk menemukan jalur jalan dalam mode ‘best_routing’ (rute terbaik):

  • navigasi_narrow_road_max_speed_usage (0.8) - Bagian kecepatan maksimal untuk digunakan pada jalan sempit.
  • navigation_road_max_speed_usage (0.9) - Bagian kecepatan maksimal untuk digunakan pada jalan normal.
  • navigation_city_or_slowtime_speed_penalty (0.25) - Penalti diterapkan pada kecepatan saat berkendara melintasi kota atau daerah dengan waktu lambat. Bersifat multiplikatif.
  • navigation_semaphore_wait_duration (90.0) - Lama waktu untuk melewati semaphore (lampu lalu lintas) dalam waktu seconds.
  • navigation_stop_wait_duration (60.0) - Lama waktu untuk melewati tanda berhenti dalam waktu seconds.
  • navigation_turn_own_side_duration (15.0) - Lama waktu beralih ke lajur jalan tersendiri (misalnya kanan jalan di Amerika Serikat/Daratan Eropa, kiri jalan di Inggris). Bersifat aditif.
  • navigation_turn_oposite_side_duration (45.0) - Lama waktu beralih ke lajur yang berlawanan (kebalikan dari penjelasan diatas, kiri jalan di Amerika Serikat/Daratan Eropa, kanan jalan di Inggris). Bersifat aditif.

Bobot yang digunakan untuk mode time_evaluation :

  • navigasi_time_narrow_road_max_speed_usage (0.8) - Bagian kecepatan maksimal untuk digunakan pada jalan sempit - perhitungan waktu.
  • navigation_time_road_max_speed_usage (0.9) - Bagian kecepatan maksimal untuk digunakan pada perhitungan jalan normal - perhitungan waktu.
  • navigation_time_city_or_slowtime_speed_penalty (0.85) - Sanksi diterapkan pada kecepatan saat berkendara melintasi kota atau perhitungan waktu waktu yang lambat. Bersifat multiplikatif.
  • navigation_time_semaphore_wait_duration (60.0) - Biaya waktu untuk melewati semafor dalam hitungan detik waktu permainan - perhitungan waktu.
  • navigation_time_stop_wait_duration (30.0f) - Biaya waktu untuk melewati tanda berhenti dalam hitungan detik waktu permainan - perhitungan waktu.
  • navigation_time_turn_own_side_duration (10.0f) - Biaya waktu beralih ke sisi sendiri (misalnya kanan jalan di Amerika Serikat/Daratan Eropa, kiri jalan di Inggris) - perhitungan waktu. Bersifat aditif.
  • navigation_time_turn_oposite_side_duration (30.0) - Biaya waktu beralih ke sisi yang berlawanan (kebalikan dari penjelasan diatas, kiri jalan di Amerika Serikat/Daratan Eropa, kanan jalan di Inggris) - perhitungan waktu. Bersifat aditif.

Untuk item road/jalan di map editor dapat memilih ceklis "GPS Avoid". Hal ini akan menyebabkan navigasi menerapkan penalti yang besar untuk jalur yang menggunakan jalan ini. Tidak ada ceklis seperti itu untuk item prefab namun definisi prefab_model sendiri support atribut gps_avoid yang akan memungkinkannya untuk semua penggunaan prefab di map.

Engine Accessories Data

Mesin sekarang memiliki attribut ‘secondary_torque’ (default 0.0). Jika didefinisikan (nilai positif), digunakan bila rasio transmisi sama atau lebih rendah yaitu ‘secondary_torque_gear_ratio’ (default 1.0) - pada dasarnya, torsi yang lebih tinggi digunakan pada roda gigi transmisi yang lebih tinggi.

Opsional bisa didefinisikan array ‘secondary_torque_curve’, syntax-nya sama seperti pada torque_curve biasa. Jika kurva sekunder tidak didefinisikan, kurva primer akan digunakan. Jika bahkan primer tidak didefinisikan, kurva standar yang digunakan.

Ini digunakan pada mesin truk DAF 2017, saat torsi yang lebih tinggi digunakan pada gigi tertinggi dengan transmisi langsung dan pada dua roda gigi tertinggi dengan transmisi overdrive.

Prefabs

Format prefab diubah untuk menyertakan data terpisah yang digunakan oleh navigasi baru. Pada permainan harus dapat mengkonversi prefab lama secara otomatis dengan garis AI yang terbentuk dengan benar dan alat konversi versi baru akan menghasilkannya secara otomatis.

Perubahan Format

Pada format baru menambahkan node navigasi. Mereka berasal dari simpul prefab normal dan kurva AI. Setiap node navigasi sesuai dengan simpul normal atau titik akhir kurva AI. Pada dasarnya, ini adalah grafik sederhana mengenai kurva AI yang mewakili tempat-tempat penting untuk navigasi (misalnya jalur AI) untuk mengurangi ukuran grafik navigasi.

Tabel node navigasi disimpan dengan cara yang sama seperti tabel lainnya. Offset dan ukuran tabel ini disimpan langsung setelah bidang pencocokan untuk tabel persimpangan.

Setiap node navigasi memiliki format berikut

u8 type; // Type of node. 0 = physical node, 1 = AI curve

u16 index; // Depending on the type it is either index of normal node or index of AI curve to whose ending point this nav node corresponds

u8 connection_count; // Number of outgoing connections leading to other navigational nodes (0-4)

connection_info connections[4]; // Information about those connections. First connection_count entries are used. Rest is set to {0xffff, MAX_FLOAT, 0, 0xffff[8]}

Setiap struktur info koneksi memiliki format berikut

u16 target_node; // Index of navigational node this connection leads to

float length; // Length of the connection in meters

u8 curve_count; // Number of AI curves the connection is created from, limited to 8, if more would be necessary, insert additional nav node

u16 curve_indices[8]; // Indices of the relevant AI curves in order they should be used. First curve_count entries are used, reset is set to 0xffff.

Selain itu struktur kurva AI diubah dengan menambahkan nilai u32 pada akhiran. Nilai ini berisi indeks simpul navigasi yang harus digunakan jika navigasi dimulai dari kurva AI atau 0xffffffff jika tidak ada. Pada dasarnya ini adalah pemetaan terbalik ke ‘curve_indices’ dari node.

Flare Data

Flare blink unit (biasanya ditemukan sebagai model hookup tertulisdidalam /unit/hookup) dikerjakan ulang untuk menggunakan pola berkedip, bukan hanya penundaan ON dan OFF sederhana. Jadi attribut ‘blink_delay_on’ dan ‘blink_delay_off’ telah dihapus dan diganti dengan ‘blink_pattern’ dan ‘blink_step_length’. Unit tersebut sekarang didefinisikan sebagai berikut:

SiiNunit
{
flare_blink : flare.model.my_blink
{
     dir_type: wide
     blink_pattern: "X--"     # String of X and - characters, where X represents ON state and - represents OFF state.
     blink_step_length: 0.5   # Float representing duration of one step inside blink pattern in seconds.
    
     model: "/model/flare/my_flare.pmd"
}
}

Konsekuensinya, atribut ‘flare blink sync’ dan perilaku bawaan dari ‘flare blink unit’ dan memiliki dua atribut baru yang sama : blink_pattern dan blink_step_length.

Data Time Zone

Zona waktu untuk saat ini berbasis negara. Setiap negara telah mendefinisikan time_zone (bilangan bulat, dalam menit) dan time_zone_name (string). Misalnya. Waktu musim panas di Eropa tengah adalah +120 menit dengan nama "CEST".

Selain itu ada zona waktu default, yang tersimpan di unit economy_data (default_time_zone, default_time_zone_name), ini adalah game dasar zona waktu yang diharapkan dan digunakan setiap saat dimana lokasi spasial yang relevan dan zona waktu tidak diketahui.

Economy Data

Beberapa nilai lama telah diekspor ke atribut economic_data unit (/def/economy_data.sii):

tow_price_base (150.0)
tow_price_factor (0.4)
tow_time_base (1800.0)
tow_time_factor (3.0)
tow_fuel_ratio (0.3)

Traffic

Ada beberapa perubahan pada data yang terkait dengan lalu lintas. Karena itu, beberapa di antaranya tidak memiliki kompatibilitas yang ada, jadi mohon periksa mod untuk masalah potensial seperti ini. Anda seharusnya tidak memiliki masalah jika definisi yang sesuai tidak dimodifikasi.

Traffic Data

Semua properti jalur lalu lintas (didefinisikan di: /def/world/traffic_lane.sii) sekarang didefinisikan melalui seperangkat aturan lalu lintas (lihat paragraf sebelumnya), alih-alih memiliki atribut khusus untuk fungsi tertentu. Hal ini memungkinkan penggabungan berbagai 'fungsi' (misalnya garis jalan, akses untuk jenis kendaraan, spawning...) ke jalur lalu lintas tanpa memerlukan atribut khusus.

Catatan: Tidak ada 'aturan lalu lintas default' yang ditetapkan untuk jalur lalu lintas. Semua properti yang dibutuhkan harus didefinisikan untuk setiap jenis jalur secara manual.

Contoh jalur denganjalan lokal, aturan spawning untuk beberapa tipe kendaraan dan aturan 'overtaking allowed':

traffic_lane_data : traffic_lane.road.local
{
   speed_class: local_road
   traffic_rules[]: traffic_rule.road      # Allow access for road vehicles
   traffic_rules[]: traffic_rule.s_car_l
   traffic_rules[]: traffic_rule.s_truck_l
   traffic_rules[]: traffic_rule.s_bus_l
   traffic_rules[]: traffic_rule.s_police
   traffic_rules[]: traffic_rule.overtake_alw   # Allow overtaking (including 'wrong way')
}

Contoh jalur dengan hanya kendaraan truk yang melintas:

traffic_lane_data : traffic_lane.road.freeway.truck_lane
{
   speed_class: freeway
   traffic_rules[]: traffic_rule.s_truck_h
   traffic_rules[]: traffic_rule.trucks_only
}

Contoh jalur dengan tidak ada satupun kendaraan yang melintas:

traffic_lane_data : traffic_lane.no_vehicles
{
   speed_class: local_road
}

Data Traffic Lane pada Road Look

Semua properti yang terkait dengan lalu lintas jalan didefinisikan melalui jalur lalu lintas (lihat paragraf sebelumnya). Untuk menentukan konfigurasi jalur yang berbeda untuk berbagai varian road template, Anda dapat menggunakan atribut ‘template_variants_left’ dan ‘template_variants_right’.

Contoh road look untuk jalan lajur 1+1. Hanya beberapa varian template (dengan marka garis tipe broken atau tidak) yang boleh dibuat menyalip :

road_look : road.template0 {
   name:          "ca 1x1 country small border tmpl"
   template_right:      "/road_template/ca_nv/ca_1x1_small_border.pmd"
   lanes_left[]:   traffic_lane.road.local.no_overtake
   lanes_right[]:   traffic_lane.road.local.no_overtake
   template_variants_right[]: .tmpl_var.road.template0
   compatible_edges_right[]: "shldr_1m"
   compatible_edges_right[]: "shldr_05m"
   compatible_edges_right[]: "shldr_1m2"
   compatible_edges_right[]: "sw_kerb"
   compatible_edges_right[]: "sw_4m_a"
   compatible_edges_right[]: "sw_4m_c"
   shoulder_space_left:      1.0
   shoulder_space_right:      1.0
}
road_template_variant : .tmpl_var.road.template0
{
   variant_names[]: "no_lines"
   variant_names[]: "lines_broken"
   lanes_left[]:   traffic_lane.road.local
   lanes_right[]:   traffic_lane.road.local
}

Contoh road look untukjalan freeway dengan satu varian ‘truck lane’ dan satu varian lain dengan menonaktifkan penggantian jalur terluar:

road_look : road.us_tmpl13 {
     name:              "us 0-3 freeway tmpl"
     template_right:         "/road_template/us/us_3_freeway_one_way.pmd"
     lanes_right[]: traffic_lane.road.freeway
     lanes_right[]: traffic_lane.road.freeway
     lanes_right[]: traffic_lane.road.freeway
     template_variants_right[]: .tmpl_var.road.us_tmpl13
     template_variants_right[]: .tmpl_var2.road.us_tmpl13
     compatible_edges_right[]: "sh"
     shoulder_space_right:        3.0
}
road_template_variant : .tmpl_var.road.us_tmpl13
{
     variant_names[]: "truck_lane"
     lanes_right[]: traffic_lane.road.freeway
     lanes_right[]: traffic_lane.road.freeway
     lanes_right[]: traffic_lane.road.freeway.truck_lane
}
road_template_variant : .tmpl_var2.road.us_tmpl13
{
     variant_names[]: "brd_brk_ful"
     lanes_right[]: traffic_lane.road.freeway
     lanes_right[]: traffic_lane.road.freeway.full_out
     lanes_right[]: traffic_lane.road.freeway.full_in
}

Traffic Rules

Priority Modifier

Parameter ketiga untuk aturan lalu lintas pengubah prioritas (aturan: "priority") telah diubah. Definisi lama tidak akan bekerja, karena tidak ada kompatibilitas yang disediakan.

Contoh dua aturan prioritas yang paling umum:

traffic_rule_data : traffic_rule.major_road
{
     name: "Priority road"
     rule: "priority"
     num_params[]: -1   # no prirority value change
     num_params[]: 0         # not additive
     num_params[]: 2         # type 'priority_road'
}
traffic_rule_data : traffic_rule.minor_road
{
     rule: "priority"
     num_params[]: -1   # no prirority value change
     num_params[]: 0         # not additive
     num_params[]: 1         # type 'give_way'
}

Spawn Density

Cara menentukan kepadatan munculnya traffic telah sepenuhnya didesain ulang. Definisi lama tidak akan berfungsi lagi dengan benar, karena tidak disediakan kompatibilitas untuk versi lamanya.

Alih-alih menentukan koefisien spawning, mungkin untuk menentukan kepadatan lalu lintas yang muncul di siang hari untuk setiap jenis kendaraan secara terpisah. Untuk keterbacaan yang lebih baik, semua peraturan terkait kerapatan ditambahkan ke traffic_rules_spawn.sui dan termasuk dari traffic_rules.sii

Catatan: Saat menerapkan aturan kepadatan lalu lintas untuk jenis kendaraan yang sama melalui keduanya: traffic lane (lihat beberapa paragraf sebelumnya) dan item traffic area, maka peraturan traffic area akan mengabaikan traffic lane.

Contoh car spawn density flow (versi 'low density/kepadatan rendah'):

traffic_rule_data : traffic_rule.s_car_l
{
     # name: "Spawn density car low"
     rule: "density"
     str_params[]: "car"
     num_params[]: 7.0  # 7:00
     num_params[]: 0.15 # frequency
     num_params[]: 10   # count limit
     num_params[]: 17.0 # 17:00
     num_params[]: 0.1  # frequency
     num_params[]: 10   # count limit
     num_params[]: 0.0  # 00:00
     num_params[]: 0.05 # frequency
     num_params[]: 3         # count limit
}

Contoh train spawn density (konstan)

traffic_rule_data : traffic_rule.s_train_c
{
     # name: "Spawn density cargo train"
     rule: "density"
     str_params[]: "train_cargo"
     num_params[]: 0.0  # 00:00
     num_params[]: 0.03 # frequency
     num_params[]: 2         # count limit
}

Itu semua kalau perubahan di game untuk versi 1.30 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.28, 1.27, ..., dst.) Baca di bawah ini untuk mencari tahu.

Map Editor

Khusus mapper ETS2, kini ditambahkan tool baru "Vegetation dan Terrain Picker" untuk memudahkan dalam menerapkan pola/warna yang sama (anggap saja caranya sama seperti colour picker di Photoshop atau Corel Draw). Ditambahkan dialog yang menampilkan info tentang pola terrain tersebut saat memilih. Tutor lebih lengkapnya ada di topik terpisah di blog ini. Cari sendiri...

Selain itu, item Terrain sudah dipisahkan dari item road (jalan), terrain sudah menjadi item berdiri sendiri pada dialog item properties. Nantinya itu akan otomatis di-convert sewaktu map akan muncul.

Adapun Tool Ruler sebagai alat ukur pada editor untuk jarak (anggap saja penggaris). Di status bar item tersebut menunjukkan panjang jalan. Kontrol pakainya : Klik kiri mouse untuk menambahkan titik ke suatu jalan, klik tengah (roll mouse) untuk menghapus titik terakhir, tombol Escape (Esc) untuk menghapus garis sebelumnya.

Sign editor pada data "project" saat ini berisi "Quick Text" yang digabung dengan DEF daftar kota terdekat dalam sign editor. Teks-teks tersebut dapat ditambahkan saat mengedit rambu/penunjuk jalan. Dengan cara ini kalian para mapper dapat menambahkan kata-kata bebas yang sering dipakai di sign template tanpa mengetik ulang secara manual setiap kali (misal : Pelabuhan, Bandara, Kota, dll.).

Selain itu, ditambahkan modus gerakan baru: "Snap to ground". Ketika diaktifkan item yang sedang dipindahkan (tidak ada kunci axis) dengan M tool secara otomatis akan terjatuh/tertancap ke terrain atau road (dengan cara yang sama seperti pakai F6 atau “Drop to ground”). Hal ini juga berfungsi untuk mode tool lain yang berarti dapat digunakan pada mode kamera bebas/free camera (dengan snap on) seperti : New, Place Start, Ruler & Brush(Stamp).

Sun profil dan peng-urutannya dalam daftar di layar environment telah ditingkatkan. Sekarang profil ini telah diurutkan berdasarkan waktu day time dan interval langsung ditampilkan di sana. Posisi tertentu ditampilkan di sisi tersebut (kota terdekat + latitude saat ini).

Model Map

Materials

Diingat ya, sistem game untuk menghasilkan nama-nama file material di direktori "automat" diubah dari metode SHA1 menjadi CityHash64.

Format Model

Satu hal yang patut diperhatikan, model animasi (animated models) sekarang diselubungi pada GPU dan format PMG diubah untuk memungkinkan data yang akan langsung digunakan untuk rendering di game. Perhatikan bahwa versi baru hanya mendukung empat bones (rangka model) yang mempengaruhi satu titik sedangkan di versi sebelumnya tidak ada batas.

  • Game nanti secara otomatis akan convert format sebelumnya selama loading sehingga mod versi lama masih work. Kalau misal ada lebih dari empat rangka yang mempengaruhi simpul tunggal, hanya empat pengaruh terkuat akan dipakai. 
  • Alat konversi terbaru yang menghasilkan format baru ini rilisnya berupa "conversion_tools" satu program sama SCS Blender Tools. Cari saja di SCS Modding Wiki. 
  • Jika diperlukan, sumber PMG yang sudah ada dapat di-convert menggunakan opsi baris command “conversion_dump_path”.

UPDATE : Mungkin ini terlihat membingungkan bagaimana cara memperbaiki masalah  model ini karena ini memang masalah utama yang harus diperbaiki bagi para mapper yang punya modifikasi model. Disarankan untuk melihat post tutorial tentang (Part 5) Convert & Upgrade Model via Map Editor.

Sejumlah Data DEF

Climate Profile.

Unit "climate_profile" mengalami beberapa perubahan. Pengaturan sudut lintang (proyeksi globe) sederhana telah diupdate ke sistem proyeksi yang didefinisikan secara full. 

Ada atribut baru yaitu "map_projection" (default value "mercator"), di mana kita dapat menentukan proyeksi antara peta dan koordinat global. Atribut "latitude_a" dan "latitude_b" telah berubah menjadi "map_origin" dan "map_factor". Hal ini tidak bernilai berupa tipe float belaka, tetapi vektor dari dua nilai float untuk koordinat (lintang, bujur). Fungsinya mirip dengan atribut sebelumnya tapi menggunakan bujur selain seperti yang diperlukan untuk beberapa proyeksi:

[Lintang, bujur] = proyeksi (map_origin + map_factor * [map_z, map_x])

Selain atribut "standard_paralel_1" dan "standard_paralel_2" telah ditambahkan untuk proyeksi "lambert_conic" yang dipakai dalam game ETS2 maupun ATS versi baru. Semuanya berupa derajat.

CATATAN : Kalau ingin pakai mod map lama tapi masih menggunakan proyeksi mercator. Sudut bujur pada proyeksi tidak dipertimbangkan sama sekali sehingga dapat menggunakan nilai apapun (dengan non-zero factor)

Economy Data

Untuk multi-pivot trailers memiliki atribut bonus pilihan experience dalam misi parkir atau menempatkan posisi trailer setelah sampai job company tujuan secara terpisah, yaitu exp_park_double_bonus, exp_park_double_bonus_medium dan exp_park_double_bonus_hard

Hard parking (tipe parkir yang sulit) secara default dinonaktifkan dan bisa diaktifkan dalam game dengan menggunakan command "g_simple_parking_double 0".

Physics Data

Def ini ("/def/vehicle/physics.sii") mendapatkan roll dan pitch khusus yang baru untuk trailer dan spreader joints. Seperti trailer_joint_pitch, trailer_joint_roll, spreader_joint_pitch dan spreader_joint_roll.

Prefab Data

Prefab model pada unit prefab_model (yang ditemukan pada "/def/world/prefab.<infix>.sii") mendapatkan atribut baru “allow_trailer_length” yang menentukan panjang maksimum trailer atau rantai trailer yang dapat dimunculkan atau dikirim ke prefab perusahaan (nilai harus dalam bilangan bulat dalam range [0, 255] dan disampaikan panjang dalam meter). Bila tidak ditentukan atau di set kedalam 0 maka tidak ada batasan yang diterapkan.

Catatan: Setelah mengubahnya dalam map harus di-save kembali untuk menyebarkan nilai ke prefab company yang diedit dengan benar.

Flare Data

Flare unit (biasanya ditemukan sebagai model hookup yang didefinisikan di dalam /unit/hookup directory) mendapatkan atribut float “scale_factor” untuk skala awal model flare ini.

Selain itu perilaku flare dengan tipe arah (dir_type: narrow) telah dimodifikasi:

Atribut flare_inner_angle sekarang digunakan untuk sudut dimana flare akan terlihat sepenuhnya dan bagaimana tahap yang akan menghilang dan melengkung begitu melewati sudut tersebut.

Ukuran, atenuasi dan hilangnya lekukan flare sekarang juga dimodulasi oleh sinar matahari. Jadi pada siang hari jenis flare ini akan kurang terlihat maka pada malam hari.

Company Data.

Sekarang ada definisi baru pada company_data.sii yaitu penambahan atribut “sort_names”. Itu digunakan untuk mengurutkan nama perusahaan (company) yang tipe non-ASCII saja.

Game Data

Semua data yang berkaitan denagn MAP yang sebelumnya tergantung dari game_data.sii, kini dipindahkan ke map_data.sii. Periksa sendiri isi script map_data.sii untuk daftar atribut lama yang nggak dipakai.

Traffic Spawn Frequency

Def dari spawn frequency (banyak munculnya model traffic) tiap negara telah diperbaiki dan disederhanakan. Daripada membuat file baru untuk setiap def kendaraan, lebih baik tempatkan semuanya yang disesuaikan  ke dalam satu file /def/country/(nama negara)/traffic.(nama modnya).sii.

Sebagai contoh:

country_traffic_info : .country.info.traffic.a3 {
    object: traffic.a3
    spawn_frequency: 0.00
}

object - nama objek model traffic yang diberikan, untuk semua jenis kendaraan dan trailer yang support di game.

spawn_frequency – sekurang-kurangnya berupa nomor float non-negatif (presisi nya tidak lagi dari 1 - 10)

Untuk mengganti info traffic di mod buatan kalian, kalian hanya membuat definisi baru dalam file def nya dengan nilai yang sama untuk atribut objek sebagai salah satu yang sedang ditimpa. Untuk setiap objek, info traffic yang PALING AKHIR DIMUAT yang dipakai.

Speed Limit

Perhitungan batas kecepatan untuk traffic truk telah disesuaikan. Saat ini hal itu tidak mungkin untuk menaikkan batas kecepatan truk di atas batas negara menggunakan rambu lalu lintas. Misalnya, truk dalam kota dipaksa untuk berkendara pada kecepatan lambat (misal 50 km/h) tanpa tanda-tanda lalu lintas (jika tidak pada jalan berkecepatan tinggi seperti jalan raya/jalan tol).

Untuk menghapus keterbatasan ini, atribut baru telah dibuat:

max_limit - satuan array dari speed limits mendefinisikan nilai batas kecepatan maksimum yang diperbolehkan untuk jenis kendaraan tertentu di negara tertentu pula (tidak bisa dinaikkan, misalnya oleh rambu sign). Secara default, tidak ada batas yang ditetapkan.

Sebagai pertimbangan antara “membuat truk melaju terlalu lambat” atau “memungkinkan batas kecepatan mobil untuk truk juga ”, batas kecepatan negara untuk truk di semua negara kini ditetapkan sebagai berikut:

Untuk truk di wilayah kota, memungkinkan meningkatkan batas kecepatan oleh rambu lalu lintas sampai dengan batas kecepatan di daerah biasa.

Sebagai contoh:

country_speed_limit : .speed_limit.truck {
    vehicle_speed_class:    truck
    lane_speed_class[]:    local_road
    limit[]:         70
    urban_limit[]:   50
    max_limit[]:     70
    lane_speed_class[]:     expressway
    limit[]:         80
    urban_limit[]:   50
    max_limit[]:     80
    lane_speed_class[]:     motorway
    limit[]:         80
    urban_limit[]:   80
    max_limit[]:     80
}

Traffic vehicle types vs. Traffic lane data

Atribut lalu lintas allowed_vehicle_type (didefinisikan per-lane-type di traffic_lane.sii) sekarang tidak digunakan. Sebaliknya, gunakan attribut allowed_lane_type (didefinisikan per-vehicle-type di traffic_vehicle_type.sii). 

Atribut baru ini adalah array dari tipe string, yang menentukan dimana apa saja jenis kendaraan yang diperbolehkan pada suatu jalur. Setidaknya satu dari string dalam array harus sesuai dengan jalur nama unit traffic (traffic_lane.sii) untuk jenis kendaraan yang akan diizinkan untuk melaju di sana. Wildcard seperti tanda * dan ? dibolehkan.

Damage Data

Semua data Damage (yang berfungsi buat efek truk dan trailer rusak di game) telah dihapus dari game_data.sii dan dipindah ke dalam file damage_data.sii. Banyak atribut baru telah ditambahkan.

Damage coefs dasar dan damage transfer ratio antara truk dan trailer. Faktor kerusakan tambahan digunakan untuk truk yang terguling.

truck_damage_coef: 0,0007

trailer_damage_coef: 0,0007

dragged_trailer_damage_coef: 0.00002

truck_to_trailer_dmg: 0.2

side_damage_factor: 6.0

roof_damage_factor: 11.0

Distribusi kerusakan pada bagian truk yang tertabrak.

cabin_damage_ratio: 0.8

chassis_damage_ratio: 1.0

engine_damage_ratio: 0,5

transmission_damage_ratio: 0,3

wheel_damage_ratio: 0.15

Pemakaian distribusi pada bagian truk dari penggunaan biasa (per km).

cabin_wear: 0.0

chassis_wear: 0.0 e

ngine_wear: 2e-6 t

ransmission_wear: 2e-6

wheel_wear: 2e-5

Truck Data

Transmission Data

Unit data aksesori transmisi (dari folder "/def/vehicle/truck/<brand.model>/transmission/ <transmission_name>.sii") mendapatkan atribut array baru “auxiliary_brakes” untuk penggunaan rem tambahan dengan satu saklar. Setiap item array memegang tiga nilai float: (retarder ratio, engine break ratio, engine break downshift).

Semenjak rilis nya DLC Heavy Cargo Pack, konfigurasi transmisi mendapat atribut crawl baru. Ini merupakan hitungan crawl gears alias gigi N pertama dari array ratios_forward.

Catatan: Atribut crawl hanya digunakan untuk representasi visual dari crawl gears, namun tidak mempengaruhi rasio gigi aktual dengan cara apa pun.

Exterior Camera Data

Kamera eksterior kendaraan (vehicle_behind_rotation_camera) mendapat atribut baru “height_limit” yang membatasi kamera agar tidak menaikkan nilai yang ditentukan di atas meter.

Truck Accessory Data

Ada aturan override [] baru ditambahkan. nilai-nilainya adalah nama file dan itu adalah versi non-lazy default[]. Hal ini berarti setiap kali aturan ini digunakan untuk menambahkan aksesori juga menambahkan semua aksesori override yang terlepas dari kehadiran jenis aksesori yang sama (yang lama dibuang). 

Penggunaan khas sejenis adalah mesin yang mengambil badges engine atau suara dengan dirinya sendiri. Memaksa perubahan menyederhanakan aturan lain seperti badges engine sekarang atau suara tidak perlu menggunakan aturan yang sesuai di sisi tersebut yang menghilangkan link lintas yang tidak diinginkan antara aksesoris. Gunakan hati-hati karena memaksa perubahan dapat meloncat dengan mudah dengan data yang salah.

Engine data

Bagian dari perbaikan simulasi mesin menentukan ketahanan mesin didalamnya. Hal ini didefinisikan oleh atribut resistance_torque yang mendefinisikan resistensi dalam Nm yang diukur pada 2000 rpm (arbitrary value). Hal ini terutama terkait dengan ukuran mesin, jadi jika Anda menetapkan ke nilai negatif maka di-default-kan dari volume mesin (mendekati Volume * 20,0).

Nilai default untuk engine_brake_positions berubah menjadi 3. Hold logic button bekerja sama seperti sebelumnya, tapi sekarang pemain bisa menggunakan penggunaan engine brake parsial seperti di sebagian besar truk saat ini.

Interior Data

Dengan simulasi yang tepat dari tekanan udara yang disatukan animasi API. Semua animasi sekarang mengharapkan nilai-nilai di bar. Untuk mencegah kesalahpahaman mereka juga berganti nama (dengan nilai-nilai _min dan _max) seperti :

  • oil_psi_anim menjadi oil_pressure_anim
  • air_psi_anim men jadi air_pressure_anim
  • button_low_air_psi menjadi indicator_low_air_pressure
  • button_low_oil_psi menjadi indicator_low_oil_pressure.

Selain itu, animasi brake_psi_anim berganti nama menjadi brake_pressure_anim, dan tidak dalam kisaran 0-1 dari batas rem lagi, tetapi menggunakan bar seperti semua animasi tekanan lain sebagai gantinya.

Ada juga penambahan banyak animasi baru: 

  • indicator_differential_lock dan differential_lock_stick_anim untuk fitur kunci diferensial baru,
  • indicator_weigh_green  dan indicator_weigh_red untuk Model LED weight pass,
  • indicator_trailer_axle_lift untuk liftable axles di trailer.

Nilai default untuk clock_small_anim_max diubah menjadi 24 karena logis kode bekerja dengan selalu.

Steering Wheel Adjustment Animations

Truk interior animation (_uk).sui punya dua animasi baru untuk penyesuaian setir kemudi. Salah satu animasi mendefinisikan perpindahan atas/bawah dan yang lain mendefinisikan perpanjangan kemudi. Selain itu atribut bawaan tersebut memberitahu posisi istirahat dari setir kemudi.

Contohnya ada di /def/vehicle/truck/<your_truck_name>/interior/animations.sui dengan isi berikut :

wheel_updown_anim: "/vehicle/truck/<your_truck_name>/interior/<rotation_animation.pma>"

wheel_frontback_anim: "/vehicle/truck/<your_truck_name>/interior/<extension_animation.pma>"

wheel_updown_anim_default: 0.3

wheel_frontback_anim_default: 0.5

Backlight Dashboard

Truk interior sekarang berisi atribut bernama backlight_with_lights. Mendefinisikan jika dashboard menyala dengan listrik (ignition) atau lampu dinyalakan. Nilai defaultnya adalah benar, sehingga dashboard menyala saat lampu menyala.

Interior camera preset lookup

Kamera pada truk interior sekarang berisi array bernama look_presets_defaults. Hal ini terdapat 6 elemen array yang mendefinisikan sudut kamera (dalam derajat) pada bidang horizontal. Nilai default nya adalah:

look_presets_defaults[]: 0      // forward

look_presets_defaults[]: -40    // forward-right

look_presets_defaults[]: 20     // forward-left

look_presets_defaults[]: -70    // right

look_presets_defaults[]: 70     // left

look_presets_defaults[]: -20    // windscreen center

Steer Aksesoris

Truk interior mendapat aksesori baru bernama steering_w, yang mendefinisikan kemudi sebagai model kaku dipisahkan dari Model animasi interior. 

Model harus ditempatkan dalam folder pengembangan : vehicle/truck/upgrade/steering_w/<nama truk> 

dan file definisi aksesori harus ditempatkan di folder : def/vehicle/truck/<nama truk>/accessory/ steering_w.

Contohnya:

SiiNunit {
accessory_addon_data : exclusive.<your_truck_brand>.<your_truck_name>.steering_w {
      name: "Exclusive Steering Wheel"
      price: 360
      unlock: 10
      icon: "<your_truck_name>/steering_w_excl"
      interior_model: "/vehicle/truck/upgrade/steering_w/<your_truck_name>/exclusive.pmd"
}
}

Trailer Data

Cargo Trailer Data

File definisi kargo trailer ("/def/cargo/<cargo_name>/<trailer.cargo>.sii") mendapatkan atribut baru:

  • Cargo_mass_ratio - susunan floats yang menentukan distribusi massa kargo melalui rantai trailer,
  • Cog_offset - array nilai float3 masing-masing mewakili pusat gravitasi offset untuk setiap trailer dalam rantai,
  • Country - kumpulan token negara yang mewakili/membatasi tempat kargo dengan trailer ini dapat dimunculkan (jika kosong maka tidak ada batasan),
  • Volume_factor - faktor harga untuk volume kargo rantai trailer atau trailer yang diberikan,
  • Length - bilangan bulat dalam kisaran [0, 255] menentukan panjang rantai trailer atau trailer tersebut. Ini digunakan dalam kombinasi dengan allowed_trailer_length dari definisi model prefab untuk mencegah agar trailer ini dimunculkan dan dikirim ke prefab mana yang akan memanjang. Jika panjangnya di set ke nol maka tidak ada batasan yang akan diterapkan.

Chassis Data

Unit data chassis aksesori (untuk trailer yang ditemukan di "/def/vehicle/trailer/<trailer_name>/ <chassis_trailer>.sii") mendapatkan atribut baru: 

Weight_distribution - enumerasi menentukan tipe koneksi dan distribusi berat untuk chassis trailer. Nilai yang mungkin adalah: semitrailer (default), trailer, spreader.

Trailer Paintjob

Telah ditambahkan trailer paintjobs untuk setiap cargo. Dalam /def/vehicle/trailer/<nama trailer>/,  buat custom paintjobs dan menambahkan definisi untuk paintjob. Contohnya di bawah:

SiiNunit
{
accessory_paint_job_data : .paint_job
{
   airbrush: true
   alternate_uvset: true
   paint_job_mask: "<path to your tobj file>"
}
}

Steerable Axles

Agar trailer bisa menggunakan sistem ini ada beberapa hal harus dilakukan:

1) Untuk locator roda/wheel di dalam model trailer yang ingin Anda gunakan sebagai steerable harus diberi nama wheel_f_X (di mana X adalah jumlah roda kemudi dan dimulai dengan 0 di roda kemudi yang paling kiri)

2) Kalian harus menentukan roda depan untuk trailer.  Misalnya definisi file def/vehicle/ t_wheel/steerable.sii dengan isi script berikut:

SiiNunit
{
accessory_wheel_data : steerable.fwheel
{
        model: "/vehicle/wheel/overweight/245_70_r17_5.pmd"
}
}

3) Terakhir untuk file konfigurasi unit trailer (di dalam folder def/vehicle/trailer/) harus menggunakan aksesori roda depan. Contoh file konfigurasi trailer:

trailer : trailer.trailer_name.cargo_name
{
        accessories[]: .trailer_name.cargo_name.tchassis
        accessories[]: .trailer_name.cargo_name.trwheel0
        accessories[]: .trailer_name.cargo_name.trwheel1
        accessories[]: .trailer_name.cargo_name.trwheel2
        accessories[]: .trailer_name.cargo_name.cargo
}
vehicle_accessory:.trailer_name.cargo_name.tchassis
{
        data_path: "/def/vehicle/trailer/trailer_name/chassis.sii"  # link to chassis definition file
}
vehicle_wheel_accessory: .trailer_name.cargo_name.trwheel0
{
        offset: 0
        data_path: "/def/vehicle/t_wheel/overweight.sii"   # link to normal trailer wheel definition file
}
vehicle_wheel_accessory: .trailer_name.cargo_name.trwheel1
{
        offset: 2
        data_path: "/def/vehicle/t_wheel/overweight.sii"
}
vehicle_wheel_accessory: .trailer_name.cargo_name.trwheel2  # definition of steerable axle!
{
        offset: 0          # note that offset again starts from zero.
        data_path: "/def/vehicle/t_wheel/steerable.sii"  # link to newly created front wheel definition file from step 2.
}
vehicle_accessory: .trailer_name.cargo_name.cargo
{
        data_path: "/def/vehicle/trailer/trailer_name/cargo.sii"    # link to cargo definition file
}


Akhirnya sudah selesai. Lumayan panjang perubahannya. Mungkin kalau baca sekilas semua ini, bisa membuat kepala pusing. Tergantung apakah mod kalian sempat memodifikasi definisi yang tertera diatas pada versi sebelumnya. Kalau sedikit memang tidak masalah, tapi kalau banyak, wuuih…. Lelahnya minta ampun! Yang penting jangan patah semangat untuk para modder yang sedang berkarya!

Pastikan kalian mempelajarinya baik-baik. Kalau baca sekilas tentu saja semua itu tidak akan bisa dipahami. Baca pelan-pelan, nanti dapat hasilnya.

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!


9 comments:

  1. ulas ai trajectory nya dong gan..masih bingung make nya.. mntp tuh fiturnyaa..

    ReplyDelete
    Replies
    1. Saya masih mempelajari item tersebut, tapi suatu saat saya akan ulas di blog ini.

      Delete
  2. Hallo Bro. Bro kalau ini error apaan ya.?

    00:01:37.792 : [fs] fs_open called with invalid path "" (expected absolute path, starting with slash)
    00:01:37.793 : [ld] Failed to open ''.

    posisi saya coba di 1.30
    pas quick job, langsung CTD.
    Mod loader kosong, hanya berisi file map.

    thx sebelumnya :)

    ReplyDelete
    Replies
    1. Bisa tunjukkan semuanya di dalam gamelog.txt. Mungkin sebelumnya ada mod lain yang masih tersisa di profil game.

      Delete
    2. ini bro. maaf saya buat via G-drive.

      https://drive.google.com/open?id=1TELaPNRVAJQe53phuaAyH3kk6G2IJE4R

      jadi profile game dihapus dulu saja ya.?
      terima kasih sebelumnya :)

      Delete
    3. soalnya kalau saya copas disini, kena html error.
      itu gamelog yg full. :D

      Delete
    4. Sepertinya penyebabnya adalah mod penumpang (passageiros). Memang begitu setiap masuk quick job selalu crash. Coba dihapus mod tersebut.
      Semoga membantu.

      Delete
    5. saya sudah menemukan errornya Bro.
      itu error dari missing texture "stamp" pada saat saya menggunakan terrain texture dan material dari FLD.
      Saat ini sudah fix dengan dihapusnya stamp2 tsb.
      terima kasih buat waktunya Bro.. salam sukses selalu :)

      Delete
    6. Oh, gitu. Ya sudah kalau masalahnya sudah teratasi ;)

      Delete