Membuat Mod CLEO Sendiri : Spawn Gang Protection di GTA San Andreas PC
09 June 2016
2 Comments
Tertarik untuk membuat MODIFIKASI di game GTA San Andreas?
Kita akan sama-sama sedikit belajar membuat mod yang sederhana di game terpopuler seantero jagat ini. Untuk kalian yang belum pernah belajar tentang per-koding-an, tidak perlu khawatir, akan aku jelaskan dengan simpel dan tidak terlalu teknis.
Baik,
Pada dasarnya, semua kode program, baik itu software, web, atau mod ini sekalipun, adalah merupakan rangkaian suatu instruksi.
Komputer akan menjalankan setiap baris instruksi secara terurut dan rapi. Contoh simpelnya, misalnya kalian membuat program penjumlahan seperti ini ...
A = 1
A = A + 1
A = A x 2
jika A hasilnya 4, maka tampilkan oke, jika salah, tampilkan buruk
- Disini prosessor akan menjalankan kode baris pertama terlebih dahulu, yaitu membuat A, dimana nilainya diisi 1.
- Baris kedua, A yang nilainya 1, ditambahkan 1, lalu disimpan kembali menjadi A, jadi A sekarang nilainya adalah 2, bukan 1.
- Di baris ketiga, A yang sekarang nilainya 2, dikalikan 2, jadi sekarang A nilainya 4.
- Di baris terakhir, adalah contoh fungsi percabangan, disini A akan diuji, apakah benar nilainya 4. Karena A benar nilainya 4, maka layar menampilkan kata oke.
Sebenarnya logika pemrograman cukup seperti itu, hanya saja fungsi yang dipakai lebih banyak dan bermacam-macam. Jadi programmer terlebih dahulu mencari fungsi-fungsi apa saja yang ada, kalau misalnya belajar bahasa pemrograman baru.
Misalnya di CSS WEB ada fungsi transisi, lalu berpindah menggunakan javascript. Maka programmer itu harus mencari terlebih dahulu fungsi transisi di javascript ada atau tidak, atau setidaknya menyerupai.
Ok,
Disini aku tidak belajar secara mendalam tentang pemrograman mod ini. Aku hanya melihat beberapa fungsi yang ada di mod karya beberapa orang, lalu memakainya untuk membuat yang baru.
Jadi mod yang dibuat disini jangan berharap mod yang keren, bahkan mungkin sangat sederhana.
Bahan
Tentu sebelum memulai, ada beberapa peralatan yang diperlukan.
Pertama, wajib dan harus, yaitu gamenya sendiri, GTA San Andreas versi PC. Kalau untuk versi yang lainnya seperti PS2 atau Android, aku belum pernah mencoba, kodenya sama atau tidak aku juga tidak tahu. Mungkin kalau sudah mencoba akan dishare lagi.
Lalu untuk membuat modnya, kita perlu satu software khusus yang namanya SannyBuilder.
Klik di bawah ini untuk download.
Download
- Download SannyBuilder
- Install SannyBuilder
- Buka SannyBuilder
Tiga langkah diatas aku anggap semua sudah bisa. Kalau belum bisa, aku sarankan kalian lebih dulu belajar tentang Sistem Operasi, karena akan lebih berguna kedepannya, dibandingkan belajar membuat mod.
Copy MOD
Sebelumnya mengetik kodenya, preview penuhnya akan jadi seperti ini.
Kalian bisa mengetik ulang kode diatas atau copy kode di bawah ini.
{$CLEO .cs}
thread 'SMOKE'
:SMOKE_1
wait 0
if
0ADC: test_cheat "GENG"
jf @SMOKE_1
jump @SMOKE_2
:SMOKE_2
wait 0
Model.Load(#SAWNOFF)
023C: request_special_actor 'SMOKE' as 1
04C4: store_coords_to 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 0.0 5.0 0.0
038B: load_requested_models
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group
1@ = Actor.Create(Gang2, #SPECIAL01, 2@, 3@, 4@)
0631: put_actor 1@ in_group $PLAYER_GROUP
Actor.Health(1@) = 500
Actor.SetImmunities(1@, 1, 1, 1, 1, 1)
Actor.GiveWeaponAndAmmo(1@, Sawnoff, 8000)
07DD: set_actor 1@ attack_rate 100
wait 800
jump @SMOKE_1
LABEL PERTAMA
Di label pertama, yaitu dari baris ke-7 sampai ke-12, adalah bagian untuk triggernya. Trigger adalah sesuatu yang membuat mod itu dijalankan, dalam kasus ini, untuk menjalankan modnya, kalian harus mengetik GENG di keyboard.
Berikut penjelasan.
- Di baris pertama ada {$CLEO .cs}.
Ini harus dan wajib, satu mod CLEO selalu diawali dengan kode ini. Nantinya SannyBuilder akan tahu, kode ini akan mengompile file menjadi .cs bukan .scm
- Di baris ketiga, ada thread 'SMOKE'.
Ini adalah nama untuk labelmu nantinya, kalau kalian mengganti SMOKE dengan YOI, maka semua label akan terganti menjadi YOI.
- Di baris ketujuh adalah label, ada :SMOKE_1.
Label selalu diawali tanda titik dua ":", kemudian diikuti nama labelnya. _1 disini hanya sebagai pembeda dengan label yang lain, karena tidak hanya 1 label yang akan dibuat.
- Di baris ke-9 sampai ke-12, adalah fungsi percabangan if.
Disini yang diuji adalah kalian. Di baris ke-10, adalah fungsi triggernya, jika kalian mengetikkan GENG, sesuai yang ada di baris ke-10, maka di baris ke-12, kalian akan menjalankan label @SMOKE_2.
Jika baris ke-10, atau triggernya tidak dijalankan (kalian tidak mengetik GENG di keyboard), maka di baris ke-11, kembali lagi ke label @SMOKE_1, terus berulang begitu sampai akhirnya kalian menjalankan triggernya.
Kalau kalian akhirnya menjalankan triggernya dengan mengetik GENG di keyboard, maka program akan menjalankan jump @SMOKE_2, dimana program akan berpindah ke label SMOKE_2 di baris ke-14
- Setelah triggernya aktif, maka di baris ke-14, label SMOKE_2 dijalankan.
Dan sebagai info, trigger bisa bermacam-macam. Kalian bisa mengganti triggernya dengan 0AB0: key_pressed 17. Dimana 17 adalah kode tombol di keyboard kalian.
Jadi kalian tidak perlu mengetik GENG di keyboard, cukup klik CTRL (17) pada keyboard. Angka 17 bisa diganti sesuai key, bisa dilihat di sini
LABEL KEDUA
Di label kedua, yaitu :SMOKE_2, adalah merupakan isi modnya. Setelah triggernya aktif di label pertama, sistem menjalankan label 2 yang isinya adalah apa yang akan terjadi.
Berikut penjelasan.
- Di baris ke-16, ada Model.load.
Model.load adalah fungsi untuk me-load suatu model, seperti senjata atau kendaraan. Dalam hal ini, yang akan kita load adalah senjata #SHAWNOFF (Shotgun).
Kalau ingin mengganti senjata, Ganti saja model namenya, dapat dilihat di Help > Content > SCM Documentation > GTA SA > Weapon Number.
- Di baris ke-17, load model karakter.
Baris ke-17 sama dengan load model senjata. Bedanya, fungsi ini digunakan untuk hanya untuk me-request karakter spesial, seperti BigSmoke, Ryder, atau Sweet. Belum di-load.
Lalu as 1, adalah nomor karakternya, karena kita bisa me-request lebih dari satu karakter spesial. Tinggal copy lagi baris ke-17, ganti dengan Ryder atau Sweet, lalu ganti as 2
- Di baris ke-18, kita masuk ke Variable, lebih rumit lagi.
- 2@ 3@ 4@ adalah variabel kita. Data akan disimpan di variabel ini.
- offset 0.0 0.5 0.0 merupakan posisi yang dihitung dari $PLAYER_ACTOR.
- $PLAYER_ACTOR merupakan variabel dari actor kita, atau pemain yang kita jalankan.
- Di baris 19, adalah fungsi untuk load model tadi.
Model yang sudah request tadi, yaitu SMOKE, akan kita load disini. Jadi sebelum kode selanjutnya dijalankan, kode sebelumnya harus sudah dipastikan berjalan dengan sempurna.
- Di baris ke-20, adalah fungsi untuk membuat model sebagai teman di dalam game.
- $PLAYER_GROUP merupakan variabel kita.
- $PLAYER_CHAR group gampangnya merupakan kode untuk geng kita.
- Baris ke-21, adalah fungsi untuk memunculkan model ke dalam game.
- 1@ merupakan variabel kita.
- Actor.Create merupakan kode untuk mengeluarkan karakter yang sudah di load sebelumnya.
- Gang2, #SPECIAL01, 2@, 3@, 4@ merupakan data karakter yang akan kita keluarkan. Karena tadi special_actor 'SMOKE' kita atur as 1, jadi yang kita masukkan adalah #SPECIAL01. dan 2@ 3@ 4@ merupakan koordinat munculnya karakter tersebut, sebelumnya kita sudah mengatur koordinatnya bukan?
- Di baris ke-22, adalah fungsi untuk mengatur @1 menjadi teman kita.
Di poin sebelumnya kita sudah mengeluarkan SMOKE, dan menyimpannya di variabel @1. Lalu disini kita mengatur agar @1 yang berisi SMOKE, menjadi bagian dari @PLAYER_GROUP.
Kita juga sudah mengatur sebelumnya, bahwa siapapun yang menjadi @PLAYER_GROUP akan menjadi geng kita kan. Jadi SMOKE nanti akan menjadi geng kita.
- Actor.Health adalah fungsi untuk mengatur nyawa actor di dalam game.
Tapi actor yang mana? maka didalam kurung kita memberi tahu bahwa actor @1 yang akan kita atur. Ingat di poin sebelumnya kita telah mengatur @1 adalah model SMOKE.
Lalu 500 adalah nilai Healthnya agar tidak terbatas.
- Sebenarnya aku masih belum terlalu paham tentang Actor.Immunitites bekerja.
Memang seperti namanya, akan memberikan actor @1 imunitas atau kekebalan. Tapi value 1,1,1,1 itu masih belum tahu parameter untuk apa.
Aku menambahkan kode ini karena beberapa orang di forum mengatakan agar kebal terhadap ledakan, peluru, jatuh, maka harus ditambahkan fungsi ini.
- Actor.GiveWeaponAndAmmo seperti namanya, untuk menambahkan senjata dan pelurunya ke actor.
Sama seperti sebelumnya juga, @1 untuk menunjukkan actor SMOKE-lah yang akan diberikan senjata. Lalu shawnoff adalah senjata yang diberikan, ingat kita sudah me-loadnya di awal, tinggal kita panggil. Dan 8000 adalah nilai untuk peluru di senjatanya.
- attack_rate disini adalah keagresifan menyerang.
Disini kita mengatur @1, agar attack_rate nya adalah 100. Semakin besar attack_rate, semakin agresif actor itu. Sedikit saja terlihat geng lain, akan otomatis menembakinya.
- Yang terakhir adalah jump @SMOKE_1.
Yang gunanya untuk kembali ke kode awal dan mengulang-ulang kodenya, agar tidak berhenti. Kalau kodenya berhenti, kita hanya bisa menggunakan modnya sekali saja.
Ok,
Kalau kode sudah lengkap, kalian tinggal klik RUN COMPILE. Dan berdoalah agar mod-nya tidak error.
Kalian bisa belajar membuat mod lebih jauh lagi dengan orang-orang yang memang sudah lama belajar. Coba masuk ke dalam grup atau forum GTA San Andreas. Pasti ada yang bisa mengajari lebih jauh lagi.
"Model.load(#.....)' //Contoh\\
ReplyDeleteKenapa tidak datap ditemukan?.
Dan juga
"Actor.create"
Kode berdua diatas tidak ada dalam sanny builder saya
Ada cari di opcode model_load
Delete