Bingung Memulai Bikin Mod Map Baru? Disini Tempatnya

Pejindo Project menyediakan segudang tutorial pembuatan mod map paling lengkap - terutama untuk warga Indonesia dan negara tetangga.

image host

Nggak punya aset map atau nggak bisa bikin model? Disini sudah tersedia kok

Pejindo Project punya banyak koleksi aset dan model map. Mulai dari model jalan (road), persimpangan (prefab), rambu lalu-lintas (sign), dan masih banyak lagi.

image host

Masih kurang paham cara pakai tool dan menu di map editor?

Pejindo Project sudah siapkan kamus segala macam tool dan menu beserta fungsinya. Baik itu dari Item Properties maupun Toolbar yang disediakan di program Map Editor.

image host

Tutorial dari SCS Modding Wiki, juga tersedia disini loh!

Pejindo Project menyiapkan pembahasan versi -bahasa bayi- agar lebih mudah menangkap maksud perubahan fitur dan tool yang disediakan SCS. Link official : "https://modding.scssoft.com/"

image host

Sudah banyak belajar bikin mod map? Bagaimana kalau coba mainkan map satu ini?

Pejindo Project memiliki satu project utama yang dirilis sejak Januari 2021 sampai sekarang ini. Namanya map JRR (Java Road Revolution), berupa map add-on yang berfokus pada kawasan di pulau Jawa dan sekitarnya

Map Editor Tutorial ETS2 Part1 : Pendahuluan

Salam! Di blog ini, saya memulai seri tutorial tentang “Panduan Map Editor ETS2”. Seri tutorial ini menjelaskan banyak hal seputar map editor, baik teknik membuat map (peta), penggunaan menu, tool, dan fungsi pada map editor, berbagai pembaruan terakhir dari map editor, dan masih banyak lagi. Bagi para pemula wajib hukumnya untuk membaca post/artikel yang satu ini.

#1 Pendahuluan & Daftar Panduan Map Editor ETS2

Update pada :  Januari 2023
Alasan : REVISI

Pengertian Singkat ETS2

Sekedar pendahuluan, Euro Truck Simulator 2 atau disingkat ETS2 merupakan salah satu game atau permainan simulasi truk yang dibuat oleh tim SCS asal Republik Ceko. Permainan ini terbawa ke dunia kerja dalam jasa pengiriman barang. Pemainnya adalah seorang supir truk yang memulai usaha jasa pengiriman barang dengan modal awal € 2.000 (Dua ribu Euro) dan satu garasi kecilnya, bekerja mengangkut barang ke berbagai kota lalu mendapatkan uang dan kemampuan (skill) meningkat. Hal itu terus berulang hingga menjadi kaya dan mempunyai banyak garasi dan truk.

Banyaknya pendapatan dari hasil pengiriman barang tersebut tergantung pada jenis barang yang diangkut, jauh dekatnya kota tujuan yang akan dikirim, kemampuan yang dimiliki dan cara mengendarai truk. Bila barang yang diangkut (trailer atau kargo) ada yang mengalami kerusakan atau datang terlambat pendapatan akan berkurang (membayar denda). Begitu pula dengan menabrak kendaraan lain, atau melewati batas kecepatan yang ditentukan. Supaya bisa menjadi supir yang kaya raya dan terampil harus bisa mengatur strategi atau perencanaan yang baik, dan tentunya tertib berlalu lintas dan berkonsentrasi menjaga barang yang diangkut agar tidak rusak.

Tampilan Map Editor ETS2 - versi 1.46

Karena namanya Euro Truck Simulator maka permainan ini pastinya merupakan game simulasi truk di beberapa negara di Eropa. Ada banyak lokasi yang bisa dijelajahi. 

  • Pertama saya sebut BASE map (bisa disebut map vanilla atau map bawaan atau map orian game) dimana menjadi wilayah start-game atau lokasi awal game. Sebarannya meliputi Inggris (UK), Belanda, Jerman, Belgia, Luksemburg, Swiss, Rep. Ceko, Austria, serta sebagian Prancis, Italia, Polandia, dan Slowakia.
  • Lalu ada berbagai peta/map DLC yang dijabarkan sebagai berikut:
  • (1) DLC Going East (1.14) meliputi sisa negara Polandia, Slowakia, dan Hungaria.
  • (2) DLC Scandinavia (1.17) meliputi Denmark, sebagian Norwegia, dan sebagian Swedia. 
  • (3) DLC Vive la France (1.26)  khusus ekspansi negara Prancis secara keseluruhan.
  • (4) DLC Italia (1.30) khusus ekspansi negara Italia secara keseluruhan. 
  • (5) DLC Beyond the Baltic Sea (1.33) meliputi negara sepanjang laut Baltik, seperti Estonia, Latvia, Lithuania, sebagian Finlandia, hingga sebagian Rusia (termasuk wilayah Kaliningrad). 
  • (6) DLC Road to the Black Sea (1.36) meliputi negara sepanjang laut Hitam, meliputi Romania, Bulgaria, dan sebagian kecil Turki (sisi Eropa). 
  • (7) DLC Iberia (1.40) meliputi seluruh wilayah semenanjung Iberia, yakni negara Spanyol dan Portugal. 
  • (8) *Rencana* DLC Heart to Rusia - Ditunda karena kisruh perang Rusia - Ukraina
  • (9) *Rencana* DLC West Balkan - Masih WIP a.k.a belum jadi
  • (10) *Rencana* Northern Scandinavia - Cuma sebatas wacana

Jika bosan jelajah tempat itu-itu saja dan ingin yang map-nya lebih bagus dan real daripada yang sudah ada di game, maka tersedia pula berbagai macam mod yang bisa dipilih, seperti truk, traffic kendaraan, cuaca, trailer/kargo, hingga mod map/peta. Beberapa situs di internet pun menyediakan berbagai macam mod ETS2 yang kita inginkan. Dengan catatan, mod tersebut harus sesuai dengan versi yang dimiliki game ETS2. Selain itu carilah mod yang sekiranya tidak menimbulkan error, bug, atau hal lain yang menyebabkan mod tidak bisa berjalan lancar.

Diingat ya, adick-adick... ini game ETS2 yang resmi hanya dipakai buat PC (Komputer atau Laptop). BUKAN UNTUK GAME ANDROID!

Spesifikasi untuk game Euro Truck Simulator 2 (ETS2) :

Spek Minimum:

  • Sistem Operasi: Windows 7/8/10, Mac OS X 10.9 (Mavericks), atau Linux Ubuntu 12.04
  • Processor Dual core CPU 2.4 GHz
  • 2-4 GB RAM/System memory (tergantung versi game)
  • DirectX 11 (mulai versi game 1.36 keatas), kalau versi lama bisa untuk DirectX 9
  • Kapasitas harddisk tersedia antara 1.5 - 4 GB (tergantung versi game)
  • Graphics : GeForce GTS 450-class (Intel HD 4000)

Rekomendasi :

  • OS: Windows 7/8.1/10 64-bit
  • Processor: Quad Core CPU 3.0 GHz
  • Memory: 6 GB RAM
  • Graphics: GeForce GTX 760-class (2 GB)
  • Hard Drive: 3 GB available space

Sekilas Tentang Mod Map (Peta)

Saat ini ada banyak sekali mod map/peta yang bisa dimainkan dengan fitur yang beragam dan menarik. Mulai dari mod map Eropa, Timur Tengah, Afrika Utara, Wilayah Rusia, Amerika Selatan, sampai Indonesia.

Masing-masing map memiliki berbagai ciri khas masing-masing dengan kualitas yang berbeda. Ada map yang besar dan luas dengan menambah banyak kota/desa, adapun yang cukup kecil/sedang tetapi lebih detail dan ramai, ada juga yang terbilang luas namun hanya berupa hutan dan perbukitan. Dan masih banyak lagi. Beberapa diantaranya merupakan representasi dari wilayah sungguhan. Namun ada juga yang hanya sekedar imajinasi/fiksi dengan keunikan tersendiri.

Selain itu tak sedikit mod map yang harus memerlukan setiap map DLC yang keluar saat ini baik salah satu atau bahkan semuanya. Tetapi masih ada beberapa mod yang bahkan tidak memerlukan peta/map DLC sama sekali.

Jenis Mod Map Berdasarkan Penempatan dan Posisi Penyimpanan

Ada dua jenis utama, yaitu add-on dan stand-alone.

1. Add-on Map

Ini adalah jenis map yang berupa ekspansi atau penambahan jalur dan tempat baru dari map yang sudah tersedia di game, baik base map maupun DLC. 

Ciri utamanya adalah map yang dibuat hanya disimpan kedalam satu file map utama bertajuk europe.mbd. Dari beberapa sumber, saya jabarkan lagi jenis add-on map di bawah.

a) Extended Road & Road Connection

Map seperti ini hanya menambahkan jalanan buatan sendiri di peta original atau bawaan game itu sendiri (base map atau DLC). Jalanan ini umumnya bersifat shortcut (jalan pintas) atau optional (jalan tambahan), dengan membuat jalur lain menuju suatu kota yang sudah ada.

b) New City and/or Company

Untuk map yang satu ini tidak sekadar menambahkan jalan, melainkan perusahaan (company) dan kota buatan sendiri. Perbedaannya pun berhubungan dengan script pengadaan kota dan perusahaan.

c) Rebuild atau Rework

Berbeda dengan kedua jenis diatas, map yang satu ini lebih fokus pada pengerjaan ulang (rebulid) semua peta original yang sudah ada di game. Misalnya membuat simpang susun yang lebih rumit atau membuat ulang kota yang sudah ada menjadi lebih kompleks dan ramai.

2. Stand-alone Map

Sedangkan yang ini adalah membuat map sendiri dari “Nol” atau dalam bahasa Inggris “Build from Scratch”. Intinya benar-benar terpisah dari peta original atau bawaan game. 

Untuk map dengan jenis tersebut bisa disimpan dengan nama bebas, seperti indonesia.mbd atau fantasy.mbd. Untuk mengetahui map tersebut bisa terlihat dari Playing/Map Module saat memulai Profile baru.

Jenis Mod Map Berdasarkan Desain dan Genre

Ada dua jenis utama juga, yaitu Realistic dan Fictional.

1. Realistic Map

Ini adalah jenis map yang memang dibuat seperti daerah sesungguhnya. Hampir semua map yang ada saat ini lebih menyukai map model tersebut. Namun kata “realistis” ini bergantung dari beberapa aspek yang saya bagikan lagi seperti di bawah ini.

a) Scale

Maksudnya map tersebut dibuat menurut skala tertentu. Jarak yang akan dibandingkan adalah panjang dalam map editor (dalam m) dengan jarak sesungguhnya (dalam km). Untuk map original sendiri atau map add-on dibuat kedalam skala 1:19 untuk countryside (wilayah secara keseluruhan) dan skala 1:3 khusus untuk perkotaan (catatan: area yang dibatasi atau masuk kedalam blok garis item “City”).

Namun ada sebagian map yang menggunakan skala yang lebih luas. Seperti skala 1:8, skala 1:3, bahkan skala 1:1 (sama persis dengan panjang di map editor). Namun sejauh ini tak banyak map semacam itu benar-benar berhasil hingga menjadi populer, bahkan tak jarang proyek map berskala 1:1 berhenti di tengah jalan.

b) Similiarity

Maksudnya map tersebut dibuat sedemikian rupa sehingga mirip sekali dengan tempat sungguhan. Seperti adanya landmark atau bangunan yang benar-benar nyata di dalam game. Atau membuat jalan yang sesuai dengan jalan sesungguhnya. Jadi bila dibandingkan dengan foto atau Street View akan terlihat sama persis. Pemain akan merasa sedang berada di dunia nyata.

Namun sulit sekali menjumpai map semacam itu karena membutuhkan teknik, aset, model bangunan, dan riset yang mendalam. Cukuplah berterima kasih kepada beberapa aset map DLC yang sudah terlihat sangat keren dan realistis.

c) Level of ground

Maksudnya map tersebut dibuat sesuai ketinggian permukaan tanah aslinya. Bisa jadi suatu tempat dibuat pada height atau ketinggian 1000 meter diatas permukaan laut (pada map editor) sesuai dengan ketinggian di tempat sesungguhnya. Namun resikonya ialah fungsi tampilan item atau node/titik di map editor tidak bekerja pada batas ketinggian tertentu.

Jarang memang menemukan map yang satu ini, tetapi khusus map buatan Indonesia pasti sudah tak asing dengan salah satu map dengan jenis yang satu ini, kan?

d) Real Situation or Feeling

Maksudnya map tersebut sengaja dibuat dengan suasana tertentu, walaupun sebenarnya jalurnya tidak sesuai dengan tempat sungguhan. Terkadang aspek tersebut cenderung kearah Fictional (imajinasi semata).

Misalnya suatu negara memiliki struktur jalan yang buruk, berlubang, dan tidak rata. Maka dibuatlah jalan dengan model tersebut tanpa memikirkan layout jalan atau persimpangan yang dibuat. Atau misalnya di suatu kota ada banyak gedung apartemen. Maka ditambahkan saja model bangunan apartemen sebanyak mungkin tanpa melihat bentuk, posisi, atau sebaran nya sesuai di tempat sungguhan.

Umumnya banyak map yang seperti ini, dengan dalih keterbatasan teknik, aset atau model, maupun skala map. Namun beberapa diantaranya ada yang mengutamakan aspek lain seperti tiga jenis diatas.

2. Fictional Map

Kebalikan dari realistic, adalah jenis map yang dibuat sesuka hati tanpa melihat mirip tidaknya suatu tempat sesungguhnya. Mau buat map dengan jalan seperti roller coaster, kota di atas awan, atau jalan ekstrim berlumpur. 

Pengertian Map Editor

Ada program aplikasi yang bisa dipakai untuk membuat dan modifikasi peta atau map ETS2/ATS. Namanya Map editor, yang merupakan program tambahan langsung dari game Euro Truck Simulator 2 ini. Program map editor sejatinya dibuat khusus para karyawan SCS selaku pembuat game ETS2/ATS, sehingga sudah mengalami banyak evolusi dari versi pertama sampai versi terbaru mengikuti kebutuhan mereka sekaligus perkembangan teknologi zaman sekarang. Semakin baru versi game ini, semakin berubah pula tampilan interface maupun menu dan fitur yang dimiliki map editor, mulai dari tampilan program sampai tool baru yang masih asing di benak para mapper.


Logo ETS2

Situs SCS Modding Wiki bisa menjadi wadah untuk panduan lengkap tentang membuat mod apapun, termasuk map. Sebenarnya ada beberapa sumber dari situs web atau blog lain yang juga menyajikan beragam tutorial tersebut baik dalam bahasa Inggris, maupun Bahasa Indonesia, salah satunya di Blog Pejindo ini.

Untuk game sekuel-nya (American Truck Simulator) sebenarnya menggunakan program yang sama, baik dari tampilan, game-sistem, maupun tool dan fitur yang sama persis dengan ETS2.

Daftar Tutorial

Sebenarnya banyak tutorial atau panduan map editor untuk ETS2 di pencarian Google, baik dalam bahasa Inggris maupun bahasa Indonesia. Mungkin masing-masing orang punya cara dan pemikiran yang berbeda. Tetapi di blog Pejindo ini saya mencoba menyajikan tutorial ini dengan penjelasan yang lebih kritis tetapi lebih enak dipahami, serta memiliki banyak ilmu level “Advance” yang mungkin sama sekali tidak disadari oleh para mapper (pembuat mod map)

Berikut berbagai tutorial yang sudah saya posting di blog Pejindo ini. Ada puluhan macam panduan atau tutorial yang bisa dipelajari di blog ini. Karena sudah terlampau banyak jika dibuat daftar disini. Maka saya kelompokkan jadi beberapa kategori atau label di bawah ini.

Kategori 1 : Map Editor General Tutorial

Kategori 2 : Map Editor Item Properties

Kategori 3 : DEF Script untuk Map Editor

Kategori 4 : Trik Dasar Map Editor

Kategori 5 : Modding Guides + Other Tutorial



Mengenal Script Map Definition (DEF) ETS2 : Ferry Data

Definisi (DEF) ETS2 #4 : Ferry Data (Nama Pelabuhan Penyeberangan di Game)

Diperbarui pada : Januari 2023
Alasan : Revisi

Salam! Postingan ini akan menjelaskan khusus bagian, fungsi, dan deskripsi masing-masing teks/script yang tertulis di setiap file yang berformat .sii/.sui pada folder “def”. Sekarang saatnya pengenalan!

Setelah menjelaskan ketiga bagian pokok dalam suatu script data DEF (country, company, dan city), sekarang saya akan membahas data DEF berikutnya yaitu ferry. Kita mungkin sudah tahu istilah 'ferry' yang berarti pelabuhan penyeberangan. Siapa lagi yang tidak mengenal pelabuhan Merak, Bakauheni, Ketapang, atau Gilimanuk? Semua itulah salah satu dari yang namanya ferry.

File ferry.sii

Daripada menjelaskan hal yang tidak-tidak, sekarang buka file ferry.sii yang berada langsung dalam folder ‘def’. Boleh menggunakan Notepad, Notepad++, atau WordPad.

Ketika yang di buka berupa file format SII, maka baris paling atas selalu diawali dengan tulisan SiiNunit sebagai teks pembuka suatu file.

Baris di bawahnya ada semacam peringatan yang diawali dengan tanda . Itu tandanya baris script tersebut sengaja tidak dibaca sama sistem atau game (tapi mata dan otak kalian tetap harus baca karena itu menunjukkan peringatan). Beberapa bahasa pemrograman juga begitu, seperti membuat kata-kata komentar. Untuk isi yang ada tanda # dijelaskan terkait pemberian judul (title) tambahan pada file .sii.

Baris di bawahnya lagi, tertulis lengkap daftar script 'ferry' yang tersedia atau dipakai di game atau mod map/peta. Setiap daftar tersebut tertulis sebagai berikut.

@include “ferry/<nama_ferry>.sii”

Maksudnya, setiap ferry yang akan dimasukkan (include) akan memuat definisi lain yang tertulis pada file ferry/<nama_ferry>.sii

Contoh : @include “ferry/dover.sii” (maknanya ada file “dover.sii” yang juga dimasukkan atau dimuat dari folder 'ferry')

Folder / "ferry" / <nama_pelabuhan>.sii atau .sui /

Sekarang masuk ke folder ‘ferry’ itu sendiri. Di dalamnya ada satu folder “connection” dan banyak file .sii (atau .sui) yang tertulis nama pelabuhan/ferry yang ada di game. Misalnya saya buka file script (definisi) dover.sii.

Kiri = ETS2 versi lama (1.30 ke bawah)

Kanan = ETS2 versi baru (1.33, 1.35, 1.36, 1.40, dst.)

ferry_data: ferry.<nama_tempat>
{
     ferry_name: "<nama_tempat>"
     ferry_name_localized: "@@<nama_tempat>@@"
}

  • ferry_data: ferry.<nama_ ferry> : parameter informasi awal untuk nama pelabuhan penyeberangan atau ferry.
  • ferry_name: "<nama_ ferry>" : nama pelabuhan penyeberangan atau ferry yang harus sesuai dengan parameter informasi diatas.
  • ferry_name_localized: "@@<nama_ ferry>@@: nama pelabuhan penyeberangan atau ferry sebagai 'token' untuk diterjemahkan dalam berbagai bahasa yang disediakan di game (tersambung sama folder 'locale')

Omong-omong, ada sedikit pengecualian untuk penyeberangan menggunakan kereta (train). Ini karena adanya jalur penyeberangan Euro Tunnel atau Channel Tunnel, dimana merupakan terowongan kereta bawah laut yang menghubungkan antara Calais (Perancis) dengan Folkestone (Inggris), yang jelas sesuai di dunia nyata (serius loh...).

Misalnya saya buka file script def untuk tunnel_d.sii.

Kurang lebih sama seperti diatas, hanya beda tambahan script berikut.

transport_type: "train"

  • transport_type: “train” : berfungsi sebagai penyeberangan kereta. Ikon Ferry akan berubah menjadi “terowongan” dari sebelumnya yang bergambar “jangkar”.

Folder / "ferry" / connection / <ruteA_ruteB>.sii /

Sekarang kita buka folder connection. Isinya ada berbagai file .sii yang berfungsi membuat jalur penghubung setiap titik ferry beserta deskripsi tambahan (jarak, lama waktu, dan ongkos perjalanan).

Misalnya ada dua titik ferry yang akan dihubungkan, yaitu “Calais” dan “Dover”. Ketika ingin menghubungkan keduanya, maka harus terdapat dua file .sii yaitu calais-dover.sii dan dover-calais.sii

Ini dimaksudkan ketika pemain ingin menyeberang dari Calais ke Dover (menggunakan file calais-dover.sii), atau dari Dover ke Calais (menggunakan file  dover-calais.sii). Meski begitu, dua file berbeda tersebut HARUS memiliki isi script yang sama.

Nggak percaya?? silahkan buka seperti ini

Kalau ditulis ulang di bawah ini maksud script tersebut adalah sebagai berikut.

SiiNunit
{
ferry_connection : conn.<nama_tempatA>.<nama_tempatB> {
   price: <angka>
   time: <angka>
   distance: <angka>
}
}

  • ferry_connection : conn.<nama_tempatA>.<nama_tempatB> : kode informasi jalur penghubung antar-ferry. Nama Tempat ke-A dan ke-B harus sesuai dengan judul(title) file .sii.
  • price: <angka> : harga/ongkos penyebrangan yang digunakan. Dalam satuan mata uang  Euro.
  • time: <angka> : lama perjalanan selama penyebrangan. Dalam satuan Menit.
  • distance: <angka> : jarak penyebrangan yang digunakan (sekadar tampil di menu). Dalam satuan kilometer(?) (barangkali di-konversi kedalam skala 1.19 ?).

Ada Script tambahan (opsional) untuk membuat variasi garis jalur penyeberangan hingga terlihat melengkung dan berkelok-kelok pada World Map (UI Map). Sudah diterapkan sejak DLC Scandinavia dan Italia.

  • connection_positions[<ke-n>]: (<sumbu_X * 256>, 0, <sumbu_Y * 256>) : Titik (point) posisi yang ingin ditambahkan dengan menentukan koordinat sumbu X dan sumbu Y. Jumlahnya [ke-n] bebas dan harus dimulai dari 0 (sesuai bahasa program). Jumlah maksimal bisa sesuai selera, mau buat dua atau lima titik juga bisa. 
  • connection_directions[<ke-n>]: (<-sin(sudut X)>, 0, <-cos(sudut Y)>) : Arah garis tiap titik (point) posisi yang ingin diatur sesuai sudut putar sumbu X dan sumbu Y. Jumlahnya [ke-n] bebas dan harus dimulai dari 0 (sesuai bahasa program). Jumlah maksimal bisa sesuai selera, mau buat dua atau lima titik juga bisa.

Terus... semua angka-angka itu dapatnya dari mana? 

Ternyata ini pakai RUMUS Matematika (lah...kok disuruh belajar matematika sih...?)

Nggak usah protes, salah sendiri gak mau belajar. Mau bikin program atau bikin game pun harus bisa Matematika. Paham?!

  • Untuk posisi koordinat (sumbu X & sumbu Y) hanya bisa dilihat pada editor pada baris bawah. Karena bentuknya dua dimensi (bangun datar), maka yang bisa diubah hanya sumbu x dan sumbu y. 
  • Rumus mencari connection_positions = (256 x sumbu X ; 0 ; 256 x sumbu Y) - intinya sumbu x maupun y dikalikan 256. Itu aja
  • Untuk sudut putar dari garis agar bisa melengkung. maka tentukan dengan perhitungan "Trigonometri"
  • Rumus mencari connection_directions = -sin(sudut putar) ; 0 ; -cos(sudut putar)

Terus arah garis nya bakal kemana setelah hitung connection_directions

  • Utara = 0 atau 360 derajat = Garis lurus ke ATAS = connection_directions [n] : (0, 0, -1)
  • Timur = 270 derajat = Garis lurus ke KANAN = connection_directions [n] : (1, 0, 0)
  • Selatan = 180 derajat = Garis lurus ke BAWAH= connection_directions [n] : (0, 0, 1)
  • Barat = 90 derajat = Garis lurus ke KIRI = connection_directions [n] : (-1, 0, 0)
Kalau mau buat garis miring tinggal kira-kira sendiri asal mendekati 4 ketentuan diatas.

Udah bang... udah... gak kuat bang...

Terkadang setiap pembaruan versi ETS2, script/definisi yang ada pun bisa berubah sewaktu-waktu. Jadi post/artikel ini akan terus diperbarui setiap waktu.

Masih ada banyak lagi yang harus dipelajari pada folder def yang ada sekian banyak file .sii atau .sui. Semoga ini bisa bermanfaat dan bisa menjadi panduan yang baik, sehingga dapat memperkecil error yang sering mengganggu saat membuat mod. Tunggu kelanjutannya di Pejindo Blog!

Sekian dari saya, Wassalam!

Mengenal Script Map Definition (DEF) ETS2 : City Data

Definisi (DEF) ETS2 #3 : City Data (Nama Kota di Game)

Diperbarui pada : Januari 2023
Alasan : Revisi

Salam! Postingan ini akan menjelaskan khusus bagian, fungsi, dan deskripsi masing-masing teks/script yang tertulis di setiap file yang berformat .sii/.sui pada folder “def”. Sekarang saatnya pengenalan!

Mohon diingat, bahwa ini hanya sebatas pengenalan script yang sudah ada di base-nya orian game yang diambil dan di-extract langsung dari file def.scs. Kalau ingin bikin data DEF pakai nama sendiri, bukan disini tempatnya, oke!

Berikut ini adalah DEF untuk data city (nama kota). Tentunya yang satu ini tidak kalah wajibnya dengan script DEF lainnya, karena berhubungan langsung dengan Data Country (negara) dan Data Company (job perusahaan). File yang diperlukan dalam menambah kota baru ialah city.sii dan semua file yang terdapat pada folder ‘city’.

File city.sii

Sekarang buka file city.sii yang berada langsung dalam folder ‘def’. Boleh menggunakan Notepad, Notepad++, atau WordPad.

Ketika yang di buka berupa file format SII, maka baris paling atas selalu diawali dengan tulisan SiiNunit sebagai teks pembuka suatu file.

Baris di bawahnya ada semacam peringatan yang diawali dengan tanda # . Itu tandanya baris script tersebut sengaja tidak dibaca sama sistem atau game (tapi mata dan otak kalian tetap harus baca karena itu menunjukkan peringatan). Beberapa bahasa pemrograman juga begitu, seperti membuat kata-kata komentar. Untuk isi yang ada tanda # dijelaskan terkait pemberian judul (title) tambahan pada file .sii.

Baris di bawahnya lagi, tertulis lengkap daftar script kota yang tersedia atau dipakai di game atau mod map/peta. Setiap daftar tersebut tertulis sebagai berikut.

@include “city/<nama_kota>.sii”

Maksudnya, setiap kota yang akan dimasukkan (include) akan memuat definisi lain yang tertulis pada file city/<nama_kota>.sii

Contoh : @include “city/london.sii” (maknanya ada file “london.sii” yang juga dimasukkan atau dimuat dari folder 'city')

Folder / "city" / <nama_kota>.sii atau .sui /

Sekarang masuk ke folder ‘city’ itu sendiri. Di dalamnya ada berbagai folder dan file .sii (atau .sui) yang tertulis setiap nama kota yang ada di game. 

Misalnya di dalam folder city ini isinya adalah satu folder bernama ‘aberdeen’ dan satu file script atau data def berformat .sui juga dengan nama aberdeen.sui.

Misalnya saya buka file script (definisi) aberdeen.sii.

Bedanya, disini tidak diawali dengan SiiNunit. Kalau ditulis ulang di bawah ini maka format script tersebut adalah di bawah ini.

  • city_data: city.<nama_kota> : parameter awal informasi nama kota.
  • city_name: "<nama_kota>" : nama kota yang harus sesuai dengan kode informasi diatas. Ditulis dalam huruf kapital.
  • city_name_localized: "@@<nama_kota>@@" : nama kota sebagai 'token' untuk diterjemahkan dalam berbagai bahasa yang disediakan di game (tersambung sama folder 'locale')
  • country: <nama_negara> : nama negara yang menjadi letak suatu kota. Ditulis sesuai dengan script def data country yang ada atau dibuat.
  • map_x_offsets[]: <angka> : posisi teks nama kota pada UI Map dalam sumbu x.
  • map_y_offsets[]: <angka> : posisi teks nama kota pada UI Map dalam sumbu y.
  • vehicle_brands[]: "<nama_truckdealer>" : nama dealer truk yang terdapat pada suatu kota. Pilih sesuai merek/brand truk yang ada di game ETS2 (Scania, Mercedes, Volvo, MAN, Iveco, Renault, DAF)
  • license_plate[]: .<nama_kota>.lp.<tipe traffic> : Pengelompokkan susunan plat nomor kendaraan pada suatu kota <nama_kota> dan sesuai <tipe_traffic> yang ingin ditentukan (jenis traffic : car, bus, truck, trailer, police)
  • templates[]: <format> : Susunan template buat kemunculan plat nomor kendaraan. Sudah dijelaskan di tutorial Mengenal Script DEF : Country Data
  • def<pola_angka>[]:"<angka/huruf>" -> daftar huruf atau angka yang tersedia untuk mengisi suatu pola pada plat nomor kendaraan. Sudah dijelaskan semuanya lengkap di tutorial Mengenal Script DEF : Country Data


Oke sampai disitu saja. Masih ada banyak lagi yang harus dipelajari pada folder def yang ada sekian banyak file .sii. Semoga ini bisa bermanfaat dan bisa menjadi panduan yang baik, sehingga dapat memperkecil error yang sering mengganggu saat membuat mod. Tunggu kelanjutannya di Pejindo Blog!

Sekian dari saya, Wassalam!

Mengenal Script Map Definition (DEF) ETS2 : Company Data

Definisi (DEF) ETS2 #2 : Company Data (Tempat Job Perusahaan di Game)

Diperbarui pada : Januari 2023
Alasan : Revisi

Salam! Postingan ini akan menjelaskan khusus bagian, fungsi, dan deskripsi masing-masing teks/script yang tertulis di setiap file yang berformat .sii/.sui pada folder “def”. Sekarang saatnya pengenalan!

Kali ini yang akan saya bahas ialah definisi (disingkat DEF) dari data company atau nama perusahaan di game. Pastinya game ini memiliki misi pengiriman barang dari suatu kota ke kota lain. Untuk itu, di setiap kota ada beberapa perusahaan/company yang menjadi tempat pengiriman, seperti gudang logistik, pabrik, pertambangan, peternakan, bahkan di bandara dan pelabuhan.

Dan untuk mengaktifkan semua tempat pengiriman tersebut diperlukan definisi (def) atau script baru ini. File yang diperlukan dalam menambah perusahaan baru ialah company.sii dan semua file yang terdapat pada folder ‘company’.

File company.sii

Sebagai permulaan, sekarang buka file company.sii yang berada langsung dalam folder ‘def’. Boleh menggunakan NotepadNotepad++, atau WordPad.

Bagian atas selalu diawali dengan tulisan SiiNunit sebagai teks pembuka suatu file. 

Di bawahnya tertera tulisan dalam bahasa Inggris yang selalu diawali dengan karakter # di setiap baris. Intinya hanya memberi penjelasan terkait pemberian imbuhan pada nama file .sii tersebut. Jangan pakai nama yang sama persis dengan yang sudah ada di bawaan (ori) game. 

Misal kalau ingin nambah data company tidak boleh langsung di file company .sii melainkan bikin file baru dengan nama beda (misal : company.map_jowo.sii)

Di bawahnya lagi, tertulis lengkap daftar script negara yang tersedia atau dipakai di game atau mod map/peta. Setiap daftar tersebut tertulis sebagai berikut.

@include “company/<nama_perusahaan atau tempat_job>.sii”

Maksudnya, setiap negara (country) yang akan dimasukan (include) akan memuat definisi lain yang tertulis pada file company/<nama_perusahaan atau tempat_job>.sii

Folder / "company" / <nama_perusahaan atau tempat_job>.sii /

Sekarang masuk ke folder ‘company’ itu sendiri.

Disitu ada banyak sekali folder dan file .sii (atau .sui) berisi berbagai macam nama company. Mulai dari kaarfor, ika_bohag, posped, eurogoodies, tradeaux, dsb. Tapi dari semua itu isi dan susunan script nya sama aja (hanya beda nama company diatas tadi. Jadi saya ambil salah satu file sii/sui sebagai patokan.

company_permanent: company.permanent.<tempat_job>
{
     name: "<tempat_job>"
     sort_name: "<tempat_job>"
     trailer_look: 
<tempat_job>
}

Berikut rincian dan fungsi setiap script diatas.

  • company_permanent: company.permanent.<tempat_job> : Parameter pembuka untuk data setiap tempat job (company) di game.
  • name: <tempat_job> : Nama tempat job (company) secara Default
  • sort_name: <tempat_job> : Nama tempat job (company) dalam huruf kecil
  • trailer_look: <tempat_job> : Nama tekstur skin trailer/kargo yang akan dimunculkan pada tempat job (company) itu.

Setelah itu pilih salah satu dari folder nama company yang ingin di klik, misal folder 'posped' tadi. Lalu akan tampak 3 folder lain : 

  • editor (daftar kota yang terdapat company ‘Posped’ tersebut untuk diaktifkan), 
  • in (barang/kargo yang dapat diterima/dituju oleh company ‘Posped’ tersebut), dan 
  • out (barang/kargo yang disediakan oleh company ‘Posped’ untuk dikirimkan ke tempat lain).

Folder / company / <nama_perusahaan atau tempat_job> / editor / <nama_kota>.sii

Folder "editor" inilah yang paling utama dan sering dipakai para mapper, yang bertujuan hanya untuk mengaktifkan tempat job (company) di suatu kota. Langsung saja buka folder editor.

Isinya memuat daftar kota yang terdapat suatu company (karena yang saya tunjukkan ini ada didalam folder company / posped / editor, maka maksudnya adalah daftar kota yang terdapat company ‘Posped’).

Sekarang coba buka salah satu kota yang ada. Boleh menggunakan Notepad, Notepad++, atau WordPad.

SiiNunit
{
company_def : .<nama_kota> {
 city: <nama_kota>
 prefab: <nomor_id_prefab>
}
}
  • company_def : .<nama_kota> : kode informasi nama kota pada suatu perusahaan(company).
  • city: <nama_kota> : nama kota yang akan diaktifkan dengan nama harus sama sesuai script company_def diatas.
  • prefab: <nomor_id_prefab> : Nomor kode unit ID prefab yang akan dipakai/diaktifkan untuk company tersebut. Untuk yang satu ini mungkin butuh sedikit hapalan, atau buka dan cari di folder def / world / prefab.sii
  • Contoh : prefab.263, prefab.dlc_fr_455, prefab.dlc_no_51, dll. Maka yang diambil yang diberi cetak tebal saja.

Folder / company / <nama_perusahaan atau tempat_job> / in atau out /

Masih di folder ‘posped’ tadi. Karena tadi sudah dilihat isi dalam folder editor, sekarang tinggal folder in dan out. Karena keduanya memiliki script/definisi yang sama di setiap file .sii. jadi saya buka salah satu saja, misalnya folder ‘in’.

Didalamnya terdapat sederet jenis trailer/kargo yang dimasukkan untuk company ‘posped’. Semua ini akan berhubungan langsung dengan foder def/cargo. Misalnya saya buka petrol.sii

SiiNunit
{
 cargo_def : . <nama_trailer/kargo> {
 cargo: "cargo. <nama_trailer/kargo>"
}
}
  • cargo_def : . <nama_trailer/kargo> : parameter informasi nama trailer/kargo.
  • cargo: "cargo.<nama_trailer/kargo>" : nama trailer/kargo yang harus sesuai dengan kode informasi diatas.

Untuk folder ‘out’ tidak jauh berbeda dengan yang satu ini. Hanya jumlah daftarnya saja yang berbeda. Mungkin sengaja dibuat beragam. Bahkan di folder company tertentu hanya ada folder ‘in’ saja, tanpa folder ‘out’.

Kenapa seperti itu?

Sesuai fungsi yang dijelaskan pada daftar poin diatas, folder 'in' berisi daftar muatan/kargo yang dapat diterima/dimasuki oleh company tersebut, sedangkan folder 'out' berisi daftar muatan/kargo yang disediakan oleh si company untuk dikirimkan ke tempat lain. 

Kalau bingung, anggap aja in = barang yang mau dibeli ; out = barang yang mau dijual. Masih bingung juga? anggap in = barang dari import ; out = barang yang mau di-eksport

Untuk suatu company yang hanya ada folder 'in 'tapi tidak ada folder 'out'. Maka company itu hanya bisa menerima pengiriman barang tanpa menyediakan barang yang akan dikirim (keluar). Contohnya Sellplan.


Oke sudah selesai. Itu saja untuk saat ini. Masih banyak hal yang harus dipelajari pada folder def yang ada sekian banyak file .sii. Semoga ini bisa bermanfaat dan bisa menjadi panduan yang baik, sehingga dapat memperkecil error yang sering mengganggu saat membuat mod. Tunggu kelanjutannya di Pejindo Blog!

Sekian dari saya, Wassalam!

Mengenal Script Map Definition (DEF) ETS2 : Country Data

Definisi (DEF) ETS2 #1 : Country Data (Negara)

Diperbarui pada : Januari 2023
Alasan : Revisi

Salam! Postingan ini akan menjelaskan khusus bagian, fungsi, dan deskripsi masing-masing teks/script yang tertulis di setiap file yang berformat .sii pada folder “def”. Sekarang saatnya pengenalan!

Hal yang akan saya bahas disini ialah definisi data country (nama negara). Bagi yang ingin membuat negara baru (pun dengan nama baru atau file terpisah, seperti data negara Indonesia), perlu memperhatikan script atau definisi(def) baru ini.

File yang diperlukan dalam menambah negara baru ialah country.sii dan semua file yang terdapat pada folder “country”.

Oh iya, kalau masih belum menemukan atau bingung dimana file script yang satu ini, kalian harus meng-ekstrak file def.sii yang ada di dalam folder lokasi game ETS2 masing-masing. Silahkan baca Map Editor Tutorial ETS2 (Part2).

Oh iya, ka simbol atau syntax seperti @, #, [], {}, dll. mengingatkan kita yang sedang belajar pemrograman (seperti saya). Fungsinya kurang lebih sama. Jadi script def ini seakan-akan merupakan salah satu kode dalam suatu program. 

File country.sii

Sekarang buka file country.sii yang berada langsung dalam folder ‘def’. Boleh menggunakan Notepad, Notepad++, atau WordPad.

Bagian atas selalu diawali dengan tulisan SiiNunit sebagai teks pembuka suatu file. 

Di bawahnya tertera tulisan dalam bahasa Inggris yang selalu diawali dengan karakter # di setiap baris. Intinya hanya memberi penjelasan terkait pemberian imbuhan pada nama file .sii tersebut. Jangan pakai nama yang sama persis dengan yang sudah ada di bawaan (ori) game. 

Misal kalau ingin nambah data country tidak boleh langsung di file country.sii melainkan bikin file baru dengan nama beda (misal : country.map_jowo.sii)

Di bawahnya lagi, tertulis lengkap daftar script negara yang tersedia atau dipakai di game atau mod map/peta. Setiap daftar tersebut tertulis sebagai berikut.

@include “country/<nama_negara>.sii”

Maksudnya, setiap negara (country) yang akan dimasukan (include) akan memuat definisi lain yang tertulis pada file country/<nama_negara>.sii

Contoh : @include “country/uk.sii” 

(maknanya ada file “uk.sii” yang juga dimuat dalam folder “country”)

Lalu, apa maksud dari daftar negara lain beserta angkanya di paling bawah? Nah, ternyata sudah dijelaskan kalimat di sana yang tertulis.

“Recommended country identifiers for currently unused countries. Using those indices is not required however it improves compatibility with future DLCs or with other mods utilizing indices from this table.”

Intinya, semua itu adalah daftar Country ID (Identifiers) yang disarankan dari SCS untuk negara lain yang tidak tersedia atau dibuat di game atau peta/map DLC. Ini dipakai khusus untuk modder atau mapper yang ingin membuat negara baru, seperti Indonesia. Dengan begitu, diharapkan masing-masing mod map/peta menggunakan kode/angka Country ID yang sama sesuai yang tertulis dalam daftar tersebut.

Terus kalau untuk mod map/peta imajinasi (fantasy map) bagaimana? 

Membuat negara baru dengan nama sesuka hati, lalu country ID-nya ditulis angka berapa? 

Sebenarnya terserah mau ditulis berapa angka. Kalau terakhir angkanya tertulis sampai 202, maka selebihnya (203, 204, 300, dst.) juga boleh. Tetapi kalau kalian membuatnya pada standalone map, masalah country ID tersebut diabaikan saja.

Folder / "country" / <nama_negara>.sii /

Sekarang masuk ke folder ‘country’ itu sendiri. Di dalamnya ada berbagai folder dan file .sii (atau .sui kalau di ETS2 versi baru) yang tertulis nama negara yang ada di game. 

Jadi jika ingin buat map/peta Indonesia, maka di dalam folder country ini isinya adalah satu folder bernama ‘indonesia’ dan satu file script atau definisi berformat .sii juga dengan nama indonesia.sii atau indonesia.sui.

Misalnya saya buka file script (definisi) uk.sii.

Catatan : Dari ETS2 versi 1.33, 1.36, 1.40 keatas

Bedanya, disini tidak diawali dengan SiiNunit. Kalau ditulis ulang di bawah ini maksud script tersebut adalah sebagai berikut.

country_data: country.data.<nama_negara>
{
     country_id: <nomor_ID_negara>

     name: "@@<nama_negara>@@"
     country_code: "<kode_negara>"

     pos:(<sumbu x; 0; sumbu y>)

     fuel_price: <harga_BBM(Bensin)_dalam_angka> # dalam mata uang Euro

     lights_mandatory: <true/false> # pilih salah satu
     imperial_units: <true/false> # pilih salah satu
     leftside_traffic: <true/false> # pilih salah satu
     trailer_standalone: <true/false> # pilih salah satu
     driving_tired_offence: <true/false> # pilih salah satu

     time_zone: <angka_dalam_menit>    # <+/-angka> jam dlm satuan menit
     time_zone_name: "<kode_zona_waktu_internsional>"
}

Berikut rincian dan fungsi setiap script diatas.

  • country_data: country.data.<nama_negara> : Data script negara (country) pada suatu file .sii. ‘Nama_negara’ yang tertulis pada kalimat tersebut harus sesuai dengan judul/nama file .sii.
  • country_id: <nomor_ID> : Kode Country ID (country identifiers) untuk nama_negara yang telah ditulis, seperti yang saya jelaskan tadi di atas.
  • name: "@@<nama_negara>@@" : Nama negara yang akan dibuat.
  • country_code: "<kode_negara>" : Kode negara yang akan dibuat. (catatan : kode tersebut harus sesuai dengan kode negara Internasional resmi)
  • pos: (<sumbu x, 0, sumbu y>) : Posisi judul atau nama negara yang akan muncul/dimuat di UI Map (saat membuka Quick Job atau Freight Market). Karena bentuknya dua dimensi (bangun datar), maka yang bisa diubah hanya sumbu x dan sumbu y. Angka atau jumlah kedua sumbu ini hanya bisa dilihat pada Map Editor.
  • fuel_price: <harga_BBM> : Rata-rata harga Bahan Bakar Minyak (BBM) atau bensin untuk suatu negara. Terkadang setiap daerah dalam satu negara memiliki harga BBM yang berbeda. Karena kendaraan utama di game ini adalah truk (Truck Simulator), maka gunakan harga BBM jenis diesel (umumnya di Indonesia memakai BBM jenis Solar). Harga tersebut harus ditulis dalam mata uang Euro. Jadi kalau mata uangnya Rupiah, maka harus di-konversi dulu ke mata uang Euro.

“Nasib baik negara kita memiliki bensin/BBM harga (lumayan...) murah. Kalau dilihat dari script country disini, di Eropa harganya cukup selangit untuk satu liter. Eh….”

  • lights_mandatory: <true/false> : Menentukan apakah di negara tersebut wajib atau selalu menyalakan lampu di jalanan baik siang atau malam. Untuk negara Indonesia, lights_mandatory harus aktif (true).
  • imperial_units: <true/false> : Menentukan apakah di negara tersebut menggunakan satuan imperial (mil per jam). Untuk negara Indonesia, imperial_units harus non-aktif (false) atau bisa menghapus script tersebut (karena negara kita memakai satuan km/jam).
  • trailer_standalone:<true/false> : Menentukan apakah negara tersebut memperbolehkan / memunculkan jenis trailer standalone/terpisah (saya kurang paham, mungkin tidak terlalu penting).
  • leftside_traffic: <true/false> : Menentukan apakah di negara tersebut berlalu-lintas (traffic) lajur kiri jalan atau setir kanan. Untuk negara Indonesia tentu saja harus aktif (true).
  • driving_tired_offence: <true/false> : Menentukan apakah ada sanksi/denda akibat berkendara dalam kondisi mengantuk. (kalau salah tolong dikoreksi)
  • time_zone: <angka_dalam_menit> : Menentukan lingkup/zona waktu negara tersebut. Untuk time_zone, zona waktu GMT ditulis angka 60 (dengan satuan menit, karena 1 jam = 60 menit), waktu UTC+1 ditulis angka 120, waktu UTC+2 ditulis angka 180, dan seterusnya (kelipatan 60). Kalau Indonesia berapa? Umm... yang WIB (UTC+7) jadinya 7 x 60 = 420 menit (?)
  • time_zone_name: "<kode_zona_waktu_internsional>"Menentukan nama dari time_zone tersebut (BST, CEST, EEST, dll.). Untuk Indonesia bisa menggunakan WIB, WITA, atau WIT (kalau dalam versi bahasa Inggris saya kurang tahu xD). “Hmm… apa bisa membagi tiga zona waktu dalam satu negara? Entahlah…”

Tambahan (1)

Sejak ETS2 versi 1.32, ada tambahan script sebagai berikut:

mass_limit_per_axle_count[]: 18000      # 2-axle vehicle
mass_limit_per_axle_count[]: 44000      # 6 and more-axle vehicle

Maksudnya yang satu 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 nilainya tak terbatas.

Baris atau entri pertama mengatur batas massa (beban?) kendaraan dengan 2 axles/gandar, 3 axles, dll. Jika memiliki lebih dari batas massa yang ditentukan, baris atau entri terakhir yang akan digunakan.

Tambahan (2)

Sejak versi 1.33 ada perubahan script sebagai berikut:

name: "<nama_negara>"
     name_localized: "@@<kode_negara>@@"
     country_code: "<kode_negara>"

Script ini disusun demikian sejak mod diperbolehkan untuk di-lokalisasi (diterjemahkan dalam bahasa negara yang tersedia pada ETS2). Untuk kode negara tersebut masih harus sesuai dengan kode negara Internasional resmi sesuai penjelasan diatas.

Tambahan (3)

Sejak versi 1.44 ada tambahan script sebagai berikut:

     iso_country_code: "<kode_ISO_negara>"

Yang jelas menentukan kode ISO dari suatu negara, versi huruf bukan yang angka. Kurang paham kenapa ada pembedaan negara berdasarkan kode ISO. Kalau Indonesia kode ISO nya... IDN.

Masih ada lagi.

  secondary_time_zone_area[]: (<titik 1>, <titik 2>, <titik 3>, <titik 4>)
  secondary_time_zone[]: <angka> # jam dalam satuan menit
  secondary_time_zone_name[]: "@@<nama_zona_waktu>@@"

Ini diperlukan jika suatu negara punya dua zona waktu yang berbeda. Contoh di Rusia yang pasti luas dan terbagi dalam zona waktu yang beda-beda. Satu kasusnya ialah kota Kaliningrad yang lokasinya paling mencar sendiri dari wilayah utamanya, pun masuk zona waktu yang beda. Sebab itu diperlukan definisi "secondary_time_zone" berarti zona waktu sekunder/kedua.

Bentar, kalau Indonesia gimana yang punya 3 zona waktu? Pertama (primer) pasti WIB, Secondary (sekunder)... hmm... WITA (mungkin). Kalau yang WIT berarti ketiga--eh, bahasa Inggrisnya apa jadinya... tertiery atau tersier(?) Terus kalau keempat, kelima, keenam...?

Udah bang... udah.... jangan bang...

......

Sekarang masuk ke folder nama negara yang tersedia, misalnya saya buka folder ‘uk’.

Ternyata di dalam folder tersebut ada tiga file .sii lainnya, yaitu license_plate, speed_limit, dan traffic.

Folder / country / <nama_negara> / license_plate.sii /

File license_plate memuat script tentang plat nomor kendaraan beserta susunan huruf, nomor, maupun gambar. Masing-masing negara memiliki script yang berbeda. Berikut contoh yang bisa dibandingkan setiap negara.

Secara umum bentuk script tersebut adalah sebagai berikut.

license_plate_data : .lp.<jenis_kendaraan>
{
     type: <jenis_kendaraan>

     templates[]:"<susunan_def<angka>>"

     def<angka> []:"<huruf/angka/gambar>"
     def<angka> []:"<huruf/angka/gambar>"
    
     def<angka> []:"<huruf/angka/gambar>"
     def<angka> []:"<huruf/angka/gambar>"

     def<angka> []:"<huruf/angka/gambar>"
     def<angka> []:"<huruf/angka/gambar>"
}

  • license_plate_data : .lp.<jenis_kendaraan> : data jenis kendaraan yang akan dibuat pada suatu plat kendaraan. Jenis tersebut hanya meliputi car (mobil), trailer (muatan barang/kontainer), truck (truk), police (mobil polisi), dan bus (bis).
  • type: <jenis_kendaraan> : jenis kendaraan yang akan dibuat pada suatu plat kendaraan. Jenis tersebut hanya meliputi car (mobil), trailer (muatan barang/kontainer), truck (truk), police (mobil polisi), dan bus (bis).
  • templates[]:"<susunan_def<angka>>" : Bentuk atau variasi susunan kode huruf, angka, maupun gambar pada suatu plat. Setiap negara pasti memiliki kode plat kendaraan yang berbeda-beda. Susunan tersebut akan disesuaikan dengan def<angka> di bawahnya.
  • def<angka> []:"<huruf/angka/gambar>" : Kode huruf, angka, maupun gambar yang dimuat secara acak pada setiap def<angka>. Hal ini disesuaikan dengan susunan templates[]:"<susunan_def<angka>>" diatas.

Cara kerjanya gimana? Simak di bawah ini (mari kita belajar program matematika, duh...)

Dibuatkan sebuah template[] (anggap aja itu isinya slot kotak kosong yang akan diisi lagi berupa huruf dan angka). 

Misalkan ada 4 buat slot kotak dalam setiap template tadi dan diberi label atau kode menjadi : template[] : 0 1 2 3 (slot pertama kodenya 0, slot kedua kodenya 1, slot ketiga kodenya 2, slot keempat kodenya 4) 

Lantas, tiap slot diisi huruf dan angka apa saja?

  • Slot 0 inginnya berupa huruf dari A sampai Z, jadi didefinisikan dulu (buatkan kelompok) huruf A sampai Z agar hanya masuk di slot 0 (pertama). Caranya tiap baris diketik def0 [] : (huruf). Artinya pada slot (def) kode-0 dimasukkan sebuah huruf.

Contoh : 

        def0[] : A
        def0[] : B
        def0[] : C
        dst.

  • Slot 1 inginnya berupa angka satuan dari 0, 1 sampai 9, jadi didefinisikan lagi (buatkan kelompok) angka 0 - 9 itu agar hanya masuk di slot 1 (kedua). Caranya tiap baris diketik def1 [] : (angka). Artinya pada slot (def) kode-1 dimasukkan sebuah angka.

Contoh : 

        def1[] : 0
        def1[] : 1
        def1[] : 2
        dst.
  • Slot 2 inginnya berupa angka lagi satuan dari 0, 1 sampai 9, jadi didefinisikan lagi (buatkan kelompok) angka 0 - 9 itu agar hanya masuk di slot 2 (ketiga). Caranya tiap baris diketik def2 [] : (angka). Artinya pada slot (def) kode-2 dimasukkan sebuah angka. Contoh sama diatas.
  • Slot 3 inginnya berupa huruf dari A sampai Z lagi, jadi didefinisikan lagi (buatkan kelompok) huruf A sampai Z agar hanya masuk di slot 3 (keempat). Caranya tiap baris diketik def4 [] : (huruf). Artinya pada slot (def) kode-3 dimasukkan sebuah huruf. Contoh seperti yang pertama diatas tadi.
  • Dan .... seterusnya.

Folder / country / <nama_negara> / speed_limit.sii /

Berikutnya adalah speed_limit. Sesuai namanya, script ini memuat tentang data batas kecepatan rata-rata untuk setiap jenis kendaraan. Pastinya setiap negara memuat batas kecepatan yang berbeda-beda, tergantung pada kondisi infrasturktur jalan, jenis kendaraan tersebut, maupun kebijakan masing-masing negara. 

Berikut contoh file speed_limit.sii untuk negara Inggris (UK).

Secara umum bentuk script tersebut adalah sebagai berikut.

country_speed_limit : .speed_limit.<jenis_kendaraan> {

     vehicle_speed_class:    <jenis_kendaraan>

     lane_speed_class[]: local_road
     limit[]:      <angka>
     urban_limit[]:     <angka>

     lane_speed_class[]:     expressway
     limit[]:      <angka>
     urban_limit[]:     <angka>

     lane_speed_class[]:     motorway
     limit[]:      <angka>
     urban_limit[]:     <angka>
}

  • country_speed_limit : .speed_limit.<jenis_kendaraan> : batas kendaraan suatu negara untuk jenis kendaraan tertentu. Kendaraan tersebut adalah mobil (car), truk (truck), dan bis (bus).
  • vehicle_speed_class: <jenis_kendaraan> : jenis kendaraan yang akan diterapkan. Harus sama dengan jenis kendaraan yang tertulis diatasnya.
  • lane_speed_class[]: <jenis jalan> : jenis/tipe jalanan yang akan diatur batas kecepatannya. Tipe tersebut meliputi local_road (jalan biasa atau jalan kecil), expressway (jalan raya utama, lebih dikenal sebagai jalur Arteri atau jalan penghubung antar kota/kabupaten), dan motorway (jalan bebas hambatan atau jalan tol)
  • limit[]: <angka> : batas kecepatan maksimal di semua jalan secara umum.
  • urban_limit[]: <angka> : batas kecepatan maksimal di jalan perkotaan/pedesaan.

Saya kurang tahu pasti berapa batas kecepatan maksimal untuk negara Indonesia sendiri. Kalau sering lihat rambu-rambu di jalan tol. Biasanya kecepatan maksimal 100-120 km/jam. Kalau di perkotaan dominan 40 km/jam.

Kalau dilihat di speed_limit.sii pada masing-masing negara, ternyata orang-orang disana suka ngebut (dengan kecepatan tinggi). Lihat saja untuk jenis motorway (jalan bebas hambatan/tol) batas kecepatannya saja bisa 130 km/jam. Bahkan di jalan biasa (local road) rata-rata bisa 80-90 km/jam untuk mobil. Mungkin karena disana masih sepi penduduk, atau karena mulusnya jalan raya disana, atau justru mental dan nyali mereka yang kuat.

Folder / country / <nama_negara> / traffic.sii /

Terakhir adalah traffic.sii. Isinya memuat script berbagai jenis AI Traffic (Lalu-lintas kendaraan AI) yang akan muncul di jalanan. Mungkin, dalam satu negara hanya dilewati beberapa mobil yang bentuknya itu-itu saja. Pastinya jenis/merek mobil yang sering terlihat dan melintas di jalanan Indonesia tidak selalu sama dengan mobil yang kerap dilintasi di negara lain. Karena semua itu diatur dalam file ini.

Berikut contoh file traffic.sii untuk negara Inggris (UK).

Secara umum bentuk script tersebut adalah sebagai berikut.

country_traffic_info : .country.info.<jenis_kendaraan> {
     object: <jenis_kendaraan>
     spawn_frequency: <angka>
}

  • country_traffic_info : .country.info.<jenis_kendaraan> : kode informasi kendaraan AI pada suatu negara.
  • object: <jenis_kendaraan> : jenis/merek kendaraan yang akan dimunculkan dengan nama harus sama sesuai script country info diatas.
  • spawn_frequency: <angka> : frekuensi jumlah kendaraan yang akan dimunculkan di jalanan suatu negara. Untuk membuat suatu kendaraan tidak dimunculkan di jalan, tulis angka 0.00

Untuk definisi atau script ini hanya berfungsi untuk kendaraan mobil (car) dan mobil polisi (police). Untuk kendaraan lain seperti bus dan truk ada script tersendiri di folder def/vehicle.



Terkadang setiap pembaruan versi ETS2, script/definisi yang ada pun bisa berubah sewaktu-waktu. Jadi post/artikel ini akan terus diperbarui setiap waktu. 

Itu saja untuk saat ini. Masih banyak hal yang harus dipelajari pada folder def yang ada sekian banyak file .sii. Semoga ini bisa bermanfaat dan bisa menjadi panduan yang baik, sehingga dapat memperkecil error yang sering mengganggu saat membuat mod. Tunggu kelanjutannya di Pejindo Blogs!

Sekian dari saya, Wassalam!