Tampilkan postingan dengan label mapflag. Tampilkan semua postingan
Tampilkan postingan dengan label mapflag. Tampilkan semua postingan

02 November 2019

Mengatur Spawn Monster, Portal, dan Mapflag Ragnarok Online Private Server



Pada tutorial kali ini kita akan membahas tiga hal, yaitu mengatur spawn monster, portal (warp), dan mapflag pada Ragnarok Online Private Server. Bagi kamu yang sering bermain private server, pasti pernah ketemu dengan server yang membuat map custom dengan spawn monster yang tidak biasa, seperti misalnya Gold Room dan Exp Room, biasanya,kamu harus mengklik NPC tertentu, atau ada portal khusus yang sudah dibuat untuk masuk kedalam map tersebut.  dan kadang di map ini kamu tidak bisa teleport menggunakan fly wing, atau map nya dibuat pvp mode yang diatur menggunakan mapflag.

Terkadang, ketika kamu ingin membuat server, kamu juga ingin me-rebalance server mu, dengan mengatur monster yang spawn, apalagi jika server mu pre-renewal generasi awal, kamu harus membuat banyak perubahan agar monster yang spawn sesuai dengan Episode server yang kamu buat. Dan kamu juga perlu untuk mengedit posisi portal khusus nya pada Morroc dan Sograt Field ke posisi map sebelum Episode Satan Morroc yang menghancurkan kota Morroc dan sekitarnya. Tidak hanya Morroc, biasanya kamu juga perlu mengedit portal pada kota Alberta, Izlude, Payon Old dan Prontera. Tentu saja hal itu berdampak kepada map PVP, kalau kamu ingin menggunakan map lama, maka kamu juga harus mengaktifkan settingan mapflag nya terlebih dahulu.

Tapi tenang, sekarang sudah banyak yang share settingan untuk pre-renewal, dan kamu tidak perlu repot-repot lagi mengatur semuanya, biasanya kamu hanya tinggal membuat mapcache baru dan biasanya mapflag pvp mengikuti map asli (clone dari map asli), kecuali Payon Old.

Namun, tidak ada salahnya jika kita belajar ketiga hal tersebut, karena mungkin saja kedepannya Ragnarok Online akan rombak besar-besaran lagi, atau mungkin kamu ingin membuat fitur yang unik untuk private servermu, dan nantinya kamu tidak perlu pusing lagi.


A. Spawn Monster
format :
map name,x1,y1,x2,y2 %TAB% monster %TAB% monster name %TAB% mob id,amount,delay1,delay2,event{,mob size,mob ai}

%TAB% = spasi dengan menekan tombol TAB
map name = nama map
x1, y1, x2, y2 = koordinat area spawn monster
contoh kalau kamu ingin membuat 10x10 area, masukan 120,150,130,160 (tergantung map), karena terlalu rumit untuk dijelaskan, set saja ke angka 0,0,0,0 agar monster bisa spawn dikordinat manapun.
monster name = nama monster
mob id = ID dari monster
amount = jumlah spawn, harap diperhatikan semakin banyak amount akan menambah beban kinerja server mu.
delay1 = waktu minimal sebelum monster spawn dalam milisekon (biasanya untuk boss)
delay2 = waktu maksimal sebelum monster spawn dalam milisekon (biasanya untuk boss), delay 2 tidak boleh lebih besar dari delay 1
event = digunakan untuk script atau trigger dari script lainnya menggunakan perintah "NPCName::OnEventName", seperti contohnya script fake Lord of Death di Nilfheim dan quest Kiel Hyre.
size = optional, default jika tidak diisi adalah 0 (medium)
ai = optional, 0 = default, 1 = attack/friendly (contoh thief bug), 2 = sphere (contoh marine sphere), 3 = flora, 4 = zanzou ( mob baru ? )

contoh :

pay_fild11,0,0 monster Dragon Tail 1321,50,180000
pay_fild11,0,0,0,0 boss_monster Eddga 1115,1,7200000,600000,1
pay_fild11,241,162,5,5 monster Red Mushroom 1085,3,360000,180000

- Dragon Tail adalah contoh script monster yang spawn normal, jumlahnya 50 dan spawn setiap 3 menit
- Eddga adalah contoh script boss, spawn setiap 120 - 130 menit setelah mati, kurang tau kenapa tag monsternya jadi boss_monster dan event nya 1, karena ga ada di manualnya.
- Red Mushroom adalah contoh monster yang menggunakan fixed coordinates.

Cara pasangnya sama dengan NPC

  • Buka notepad, masukan kode monster yang ingin kamu spawn, kamu dapat mencontek dari yang sudah ada.
  • save lalu beri nama misalnya spawncustom.txt lalu masukkan file tersebut misalnya kedalam folder custom didalam folder npc.
  • lalu buka file script_custom.conf atau file sejenis yang dapat meload NPC pada saat map-server berjalan. 
  • Tambahkan file npc mu, misalnya pada hercules "npc/custom/spawncustom.txt" atau pada rathena npc: npc/custom/spawncustom.txt.
  • Jalankan server mu (atau gunakan @reloadscript jika server sudah jalan) untuk mengecek monster yang sudah kamu spawn.

B. Warp Portal
Bagi sebagian orang Warp Portal adalah hal yang sepele namun pada saat ingin membuatnya malah jadi bingung sendiri. Warp Portal merupakan essensi dari sebuah game linear, dimana untuk pindah ke map lain, dibutuhkan sebuah pintu untuk mentransfer karakter yang dimainkan.

Pada Ragnarok Online, warp portal yang paling banyak orang tahu adalah berbentuk bulat berwarna putih dengan animasi seakan kita akan tersedot kedalamnya, tapi jika kita matikan effect game, hanya bayangannya saja yg bisa kita lihat.

Namun, sebenarnya ada 4 jenis portal didalam Ragnarok Online,
1. Warp ketika disentuh karakter seperti saat pindah antar map
2. Warp menggunakan jasa teleport Kafra atau NPC sejenis
3. Warp dengan interaksi NPC event, seperti misalnya pada saat quest berubah job
4. Warp dengan skill, seperti misalnya Warp Portal dan Emergency Call.

Namun pada intinya, ke 4 jenis tersebut sama-sama menggunakan perintah script "warp". Kecuali untuk warp dengan skill, yang scriptnya ada pada source emulator, bentuk warp yang lain biasanya ada didalam folder NPC. Seperti misalnya global warp untuk pindah antar map ada didalam folder warps. Untuk jasa teleport Kafra atau sejenisnya biasanya ada didalam folder city, dan kita tinggal mencari npc nya per kota. Untuk script NPC events, biasanya tergantung dari jenis NPC nya, misalnya quest berubah job ada didalam folder jobs.


1. Warp Portal untuk pindah antar map
Format :
from mapname,fromX,fromY,facing %TAB% warp %TAB% warp name %TAB% spanx,spany,to mapname,toX,toY

from mapname,fromX,fromY,facing %TAB% warp2 %TAB% warp name %TAB% spanx,spany,to mapname,toX,toY

from mapname = map asal sekaligus lokasi portal
fromX = koordinat x map asal
fromY = koordinat y map asal
facing = arah npc, karena kita tidak peduli portal akan menghadap kemana, biasanya di isi 0
warp name = nama NPC, usahakan jangan sama jika kamu tidak mengerti cara menduplikasi nama
spanx = toleransi jarak X cell dari npc
spany = toleransi jarak Y cell dari npc
to mapname = map tujuan teleportasi
toX = koordinat x map tujuan,
toY = koordinat y map tujuan
kamu bisa menggunakan koordinat 0,0 agar tujuan teleportasi random, biasanya digunakan di map pvp.

ada dua bentuk warp yaitu warp dan warp2 (lihat format), namun warp2 jarang digunakan, fungsi warp2 adalah char yang hidden bisa diwarp tanpa harus muncul terlebih dahulu.

contoh :

prontera,156,22,0 warp prt001 3,2,prt_fild08,170,375
moc_fild01,239,382,0 warp mocf006 12,1,prt_fild08,233,20

Diatas adalah contoh
1. Portal Prontera arah jam 6 yang akan memindahkan pemain ke Prontera Field 08.
2. Portal dari Sograt Field 01 ke Prontera Field 08, spanX nya 12, artinya karakter bisa langsung warp dalam jarak X = 8 tanpa harus mendekati portal.

2. Warp menggunakan jasa NPC
format :

warp "map name",mapX,mapY;
close2;

map name = nama map tujuan (isi didalam tanda quotes)
mapX = koordinat X map tujuan
mapY = koordinat Y map tujuan
close2 = digunakan agar kotak dialog NPC otomatis ditutup tanpa harus memencet tombol (close) saat karakter pindah map.

contoh :

prontera,163,191,4 script NPC Warper 100,{
 mes "[NPC Warper]";
 mes "Halo apakah kamu ingin menggunakan jasa ini?";
 next ;
 switch(select("Oke","Tidak") {
  case 1 : 
   warp "prontera",158,180;
   close2;
  case 2 :
   mes "[NPC Warper]";
   mes "Oke";
   close;
 }
}

agar lebih menarik, kamu juga bisa menambahkan biaya 2000 zeny sekali teleport

prontera,163,191,4 script NPC Warper 100,{
 mes "[NPC Warper]";
 mes "Halo apakah kamu ingin menggunakan jasa ini?";
 mes "Biayanya 2000z sekali pakai";
 next ;
 switch(select("Oke","Tidak") {
  case 1 : 
   if (zeny<2000) {
    mes "[NPC Warper]";
    mes "Maaf, uang kamu kurang";
    close;
   }
   set zeny,zeny-2000;
   warp "prontera",158,180;
   close2;
  case 2 :
   mes "[NPC Warper]";
   mes "Oke";
   close;
 }
}

Dan masih banyak variasi lain yang kamu bisa coba dari NPC teleport, seperti misalnya hanya karakter dengan level tertentu saja yang masuk, atau misalnya hanya GM saja yang bisa menggunakan NPC tersebut. Perlu diperhatikan, pastikan kamu sudah mencoba map dan kordinat sebelum mencantumkan nya didalam script. Karena terkadang, kamu tidak memiliki map yang ada didalam script, dan sering kali tidak ada script error yang muncul pada konsol map-server.

Untuk Warp dengan Event NPC, kamu bisa mencontohnya dari NPC yang sudah ada, karena masing-masing NPC mempunyai logika program yg berbeda-beda walaupun sebenarnya perintah yang digunakan tidak jauh beda.


C. Mapflag
Flag bisa berarti bendera, tapi dalam bahasa inggris flag bisa berarti menandakan sesuatu yang mutlak. Mapflag, berarti menandai map, fitur ini sangat berguna mengkategorikan suatu map untuk satu keperluan. Dalam Ragnarok Online, ada banyak bentuk mapflag, seperti misalnya no save, no memo, no skill, dan lain-lain. Mapflag ini juga bisa digunakan untuk membatasi penggunaan item seperti misalnya kita tidak bisa menggunakan fly wing di map Juno, map PvP, dan map GvG.

Lalu apa gunanya mapflag untuk Ragnarok Online private server? banyak sekali kegunaannya, seperti misalnya untuk kamu yang ingin membuat ruang vending, ruang event, dan lain-lain. Cara penggunaannya pun cukup mudah, sama seperti membuat script warp, kamu hanya perlu menambahkan 1 baris perintah. Tentu saja harus dengan perintah yang sudah terdaftar dengan source.

Format :

map name %TAB% mapflag mapflagtype

map name = nama map
mapflagtype = perintah mapflag yang akan digunakan
terkadang ada option tambahan seperti misalnya di battleground setelah mapflagtype

Contoh :

prontera mapflag nosave
prontera mapflag nomemo
prontera mapflag noreturn
prontera mapflag noteleport

Pada contoh diatas, pada map prontera, berarti ketika player ada didalam map prontera,
- nosave - player akan kembali ke save point jika logout di prontera
- nomemo - tidak bisa menyimpan memo di map prontera
- noreturn - player tidak bisa menggunakan item Butterfly Wing dan sejenisnya
- noteleport  - player tidak bisa menggunakan item Fly Wing dan sejenisnya

Didalam folder npc/mapflag kamu bisa menemukan mapflag standar yang ada didalam server, jika kamu berniat untuk membuat mapflag sendiri, ada baiknya untuk membuat file baru dan diletakkan pada folder baru, lalu didaftarkan pada script_custom.conf

Untuk melihat list dari perintah mapflag dan penjelasannya, kamu bisa membuka folder doc lalu cari file mapflag.txt (di hercules ga ada). Dan perlu diperhatikan, tidak semua perintah sama pada emulator yang berbeda, seperti misalnya di Hercules ada perintah zone, di rAthena ada tapi cara penggunaannya aga berbeda.

Sekian tutorial kali ini, semoga bermanfaat !