Jump to content

Deviszh

Members
  • Posts

    173
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Deviszh

  1. Whenever i put some item and collection bmp. nothing added.
  2. http://www.green-peach.net/index.php?a=sprite&type=hat&name=Magestic_Goat Someone didn't look hard enough for themselves. I did this but it says cannot find the purple magestic goat in the item and collection although my item and collections have it. also same file names. I also doubled check my ItemInfo its correct. I don't know why it keeps finding the file, so i reverted back my evolved purple magestic goat.
  3. // MVP // moc_pryd06 mapflag pvp_nocalcrank ra_fild02 mapflag pvp_nocalcrank ra_fild03 mapflag pvp_nocalcrank ra_fild04 mapflag pvp_nocalcrank ve_fild01 mapflag pvp_nocalcrank ve_fild02 mapflag pvp_nocalcrank lou_dun03 mapflag pvp_nocalcrank prt_maze03 mapflag pvp_nocalcrank bra_dun02 mapflag pvp_nocalcrank gl_chyard mapflag pvp_nocalcrank abyss_03 mapflag pvp_nocalcrank gef_dun02 mapflag pvp_nocalcrank gef_dun01 mapflag pvp_nocalcrank treasure02 mapflag pvp_nocalcrank pay_fild11 mapflag pvp_nocalcrank gon_dun03 mapflag pvp_nocalcrank abbey02 mapflag pvp_nocalcrank xmas_fild01 mapflag pvp_nocalcrank ra_san05 mapflag pvp_nocalcrank prt_sewb4 mapflag pvp_nocalcrank mosk_dun03 mapflag pvp_nocalcrank ama_dun03 mapflag pvp_nocalcrank kh_dun02 mapflag pvp_nocalcrank xmas_dun02 mapflag pvp_nocalcrank ayo_dun02 mapflag pvp_nocalcrank niflheim mapflag pvp_nocalcrank anthell02 mapflag pvp_nocalcrank mjolnir_04 mapflag pvp_nocalcrank pay_dun04 mapflag pvp_nocalcrank gef_fild02 mapflag pvp_nocalcrank gef_fild14 mapflag pvp_nocalcrank gef_fild10 mapflag pvp_nocalcrank moc_pryd04 mapflag pvp_nocalcrank in_sphinx5 mapflag pvp_nocalcrank moc_fild17 mapflag pvp_nocalcrank ein_dun02 mapflag pvp_nocalcrank beach_dun mapflag pvp_nocalcrank tur_dun04 mapflag pvp_nocalcrank jupe_core mapflag pvp_nocalcrank lhz_dun02 mapflag pvp_nocalcrank lhz_dun03 mapflag pvp_nocalcrank odin_tem03 mapflag pvp_nocalcrank moc_fild21 mapflag pvp_nocalcrank moc_fild22 mapflag pvp_nocalcrank thor_v03 mapflag pvp_nocalcrank abbey03 mapflag pvp_nocalcrank moc_pryd06 mapflag pvp_nocalcrank ra_fild02 mapflag pvp_nocalcrank ra_fild03 mapflag pvp_nocalcrank ra_fild04 mapflag pvp_nocalcrank ve_fild01 mapflag pvp_nocalcrank ve_fild02 mapflag pvp_nocalcrank lou_dun03 mapflag pvp_nocalcrank prt_maze03 mapflag pvp_nocalcrank bra_dun02 mapflag pvp_nocalcrank gl_chyard mapflag pvp_nocalcrank abyss_03 mapflag pvp_nocalcrank gef_dun02 mapflag pvp_nocalcrank gef_dun01 mapflag pvp_nocalcrank treasure02 mapflag pvp_nocalcrank pay_fild11 mapflag pvp_nocalcrank gon_dun03 mapflag pvp_nocalcrank abbey02 mapflag pvp_nocalcrank xmas_fild01 mapflag pvp_nocalcrank ra_san05 mapflag pvp_nocalcrank prt_sewb4 mapflag pvp_nocalcrank mosk_dun03 mapflag pvp_nocalcrank ama_dun03 mapflag pvp_nocalcrank kh_dun02 mapflag pvp_nocalcrank xmas_dun02 mapflag pvp_nocalcrank ayo_dun02 mapflag pvp_nocalcrank niflheim mapflag pvp_nocalcrank anthell02 mapflag pvp_nocalcrank mjolnir_04 mapflag pvp_nocalcrank pay_dun04 mapflag pvp_nocalcrank gef_fild02 mapflag pvp_nocalcrank gef_fild14 mapflag pvp_nocalcrank gef_fild10 mapflag pvp_nocalcrank moc_pryd04 mapflag pvp_nocalcrank in_sphinx5 mapflag pvp_nocalcrank moc_fild17 mapflag pvp_nocalcrank ein_dun02 mapflag pvp_nocalcrank beach_dun mapflag pvp_nocalcrank tur_dun04 mapflag pvp_nocalcrank jupe_core mapflag pvp_nocalcrank lhz_dun02 mapflag pvp_nocalcrank lhz_dun03 mapflag pvp_nocalcrank odin_tem03 mapflag pvp_nocalcrank moc_fild21 mapflag pvp_nocalcrank moc_fild22 mapflag pvp_nocalcrank thor_v03 mapflag pvp_nocalcrank abbey03 mapflag pvp_nocalcrank moc_pryd06 mapflag pvp_nocalcrank ra_fild02 mapflag pvp_nocalcrank ra_fild03 mapflag pvp_nocalcrank ra_fild04 mapflag pvp_nocalcrank ve_fild01 mapflag pvp_nocalcrank ve_fild02 mapflag pvp_nocalcrank lou_dun03 mapflag pvp_nocalcrank prt_maze03 mapflag pvp_nocalcrank bra_dun02 mapflag pvp_nocalcrank gl_chyard mapflag pvp_nocalcrank abyss_03 mapflag pvp_nocalcrank gef_dun02 mapflag pvp_nocalcrank gef_dun01 mapflag pvp_nocalcrank treasure02 mapflag pvp_nocalcrank pay_fild11 mapflag pvp_nocalcrank gon_dun03 mapflag pvp_nocalcrank abbey02 mapflag pvp_nocalcrank xmas_fild01 mapflag pvp_nocalcrank ra_san05 mapflag pvp_nocalcrank prt_sewb4 mapflag pvp_nocalcrank mosk_dun03 mapflag pvp_nocalcrank ama_dun03 mapflag pvp_nocalcrank kh_dun02 mapflag pvp_nocalcrank xmas_dun02 mapflag pvp_nocalcrank ayo_dun02 mapflag pvp_nocalcrank niflheim mapflag pvp_nocalcrank anthell02 mapflag pvp_nocalcrank mjolnir_04 mapflag pvp_nocalcrank pay_dun04 mapflag pvp_nocalcrank gef_fild02 mapflag pvp_nocalcrank gef_fild14 mapflag pvp_nocalcrank gef_fild10 mapflag pvp_nocalcrank moc_pryd04 mapflag pvp_nocalcrank in_sphinx5 mapflag pvp_nocalcrank moc_fild17 mapflag pvp_nocalcrank ein_dun02 mapflag pvp_nocalcrank beach_dun mapflag pvp_nocalcrank tur_dun04 mapflag pvp_nocalcrank jupe_core mapflag pvp_nocalcrank lhz_dun02 mapflag pvp_nocalcrank lhz_dun03 mapflag pvp_nocalcrank lhz_dun04 mapflag pvp_nocalcrank odin_tem03 mapflag pvp_nocalcrank moc_fild21 mapflag pvp_nocalcrank moc_fild22 mapflag pvp_nocalcrank thor_v03 mapflag pvp_nocalcrank abbey03 mapflag pvp_nocalcrank but, i dont know why i cant attack players? put both pvp and pvp_nocalcrank mapflags on your map How? Any example? moc_pryd06 mapflag pvp moc_pryd06 mapflag pvp_nocalcrank thanks bro
  4. // MVP // moc_pryd06 mapflag pvp_nocalcrank ra_fild02 mapflag pvp_nocalcrank ra_fild03 mapflag pvp_nocalcrank ra_fild04 mapflag pvp_nocalcrank ve_fild01 mapflag pvp_nocalcrank ve_fild02 mapflag pvp_nocalcrank lou_dun03 mapflag pvp_nocalcrank prt_maze03 mapflag pvp_nocalcrank bra_dun02 mapflag pvp_nocalcrank gl_chyard mapflag pvp_nocalcrank abyss_03 mapflag pvp_nocalcrank gef_dun02 mapflag pvp_nocalcrank gef_dun01 mapflag pvp_nocalcrank treasure02 mapflag pvp_nocalcrank pay_fild11 mapflag pvp_nocalcrank gon_dun03 mapflag pvp_nocalcrank abbey02 mapflag pvp_nocalcrank xmas_fild01 mapflag pvp_nocalcrank ra_san05 mapflag pvp_nocalcrank prt_sewb4 mapflag pvp_nocalcrank mosk_dun03 mapflag pvp_nocalcrank ama_dun03 mapflag pvp_nocalcrank kh_dun02 mapflag pvp_nocalcrank xmas_dun02 mapflag pvp_nocalcrank ayo_dun02 mapflag pvp_nocalcrank niflheim mapflag pvp_nocalcrank anthell02 mapflag pvp_nocalcrank mjolnir_04 mapflag pvp_nocalcrank pay_dun04 mapflag pvp_nocalcrank gef_fild02 mapflag pvp_nocalcrank gef_fild14 mapflag pvp_nocalcrank gef_fild10 mapflag pvp_nocalcrank moc_pryd04 mapflag pvp_nocalcrank in_sphinx5 mapflag pvp_nocalcrank moc_fild17 mapflag pvp_nocalcrank ein_dun02 mapflag pvp_nocalcrank beach_dun mapflag pvp_nocalcrank tur_dun04 mapflag pvp_nocalcrank jupe_core mapflag pvp_nocalcrank lhz_dun02 mapflag pvp_nocalcrank lhz_dun03 mapflag pvp_nocalcrank odin_tem03 mapflag pvp_nocalcrank moc_fild21 mapflag pvp_nocalcrank moc_fild22 mapflag pvp_nocalcrank thor_v03 mapflag pvp_nocalcrank abbey03 mapflag pvp_nocalcrank moc_pryd06 mapflag pvp_nocalcrank ra_fild02 mapflag pvp_nocalcrank ra_fild03 mapflag pvp_nocalcrank ra_fild04 mapflag pvp_nocalcrank ve_fild01 mapflag pvp_nocalcrank ve_fild02 mapflag pvp_nocalcrank lou_dun03 mapflag pvp_nocalcrank prt_maze03 mapflag pvp_nocalcrank bra_dun02 mapflag pvp_nocalcrank gl_chyard mapflag pvp_nocalcrank abyss_03 mapflag pvp_nocalcrank gef_dun02 mapflag pvp_nocalcrank gef_dun01 mapflag pvp_nocalcrank treasure02 mapflag pvp_nocalcrank pay_fild11 mapflag pvp_nocalcrank gon_dun03 mapflag pvp_nocalcrank abbey02 mapflag pvp_nocalcrank xmas_fild01 mapflag pvp_nocalcrank ra_san05 mapflag pvp_nocalcrank prt_sewb4 mapflag pvp_nocalcrank mosk_dun03 mapflag pvp_nocalcrank ama_dun03 mapflag pvp_nocalcrank kh_dun02 mapflag pvp_nocalcrank xmas_dun02 mapflag pvp_nocalcrank ayo_dun02 mapflag pvp_nocalcrank niflheim mapflag pvp_nocalcrank anthell02 mapflag pvp_nocalcrank mjolnir_04 mapflag pvp_nocalcrank pay_dun04 mapflag pvp_nocalcrank gef_fild02 mapflag pvp_nocalcrank gef_fild14 mapflag pvp_nocalcrank gef_fild10 mapflag pvp_nocalcrank moc_pryd04 mapflag pvp_nocalcrank in_sphinx5 mapflag pvp_nocalcrank moc_fild17 mapflag pvp_nocalcrank ein_dun02 mapflag pvp_nocalcrank beach_dun mapflag pvp_nocalcrank tur_dun04 mapflag pvp_nocalcrank jupe_core mapflag pvp_nocalcrank lhz_dun02 mapflag pvp_nocalcrank lhz_dun03 mapflag pvp_nocalcrank odin_tem03 mapflag pvp_nocalcrank moc_fild21 mapflag pvp_nocalcrank moc_fild22 mapflag pvp_nocalcrank thor_v03 mapflag pvp_nocalcrank abbey03 mapflag pvp_nocalcrank moc_pryd06 mapflag pvp_nocalcrank ra_fild02 mapflag pvp_nocalcrank ra_fild03 mapflag pvp_nocalcrank ra_fild04 mapflag pvp_nocalcrank ve_fild01 mapflag pvp_nocalcrank ve_fild02 mapflag pvp_nocalcrank lou_dun03 mapflag pvp_nocalcrank prt_maze03 mapflag pvp_nocalcrank bra_dun02 mapflag pvp_nocalcrank gl_chyard mapflag pvp_nocalcrank abyss_03 mapflag pvp_nocalcrank gef_dun02 mapflag pvp_nocalcrank gef_dun01 mapflag pvp_nocalcrank treasure02 mapflag pvp_nocalcrank pay_fild11 mapflag pvp_nocalcrank gon_dun03 mapflag pvp_nocalcrank abbey02 mapflag pvp_nocalcrank xmas_fild01 mapflag pvp_nocalcrank ra_san05 mapflag pvp_nocalcrank prt_sewb4 mapflag pvp_nocalcrank mosk_dun03 mapflag pvp_nocalcrank ama_dun03 mapflag pvp_nocalcrank kh_dun02 mapflag pvp_nocalcrank xmas_dun02 mapflag pvp_nocalcrank ayo_dun02 mapflag pvp_nocalcrank niflheim mapflag pvp_nocalcrank anthell02 mapflag pvp_nocalcrank mjolnir_04 mapflag pvp_nocalcrank pay_dun04 mapflag pvp_nocalcrank gef_fild02 mapflag pvp_nocalcrank gef_fild14 mapflag pvp_nocalcrank gef_fild10 mapflag pvp_nocalcrank moc_pryd04 mapflag pvp_nocalcrank in_sphinx5 mapflag pvp_nocalcrank moc_fild17 mapflag pvp_nocalcrank ein_dun02 mapflag pvp_nocalcrank beach_dun mapflag pvp_nocalcrank tur_dun04 mapflag pvp_nocalcrank jupe_core mapflag pvp_nocalcrank lhz_dun02 mapflag pvp_nocalcrank lhz_dun03 mapflag pvp_nocalcrank lhz_dun04 mapflag pvp_nocalcrank odin_tem03 mapflag pvp_nocalcrank moc_fild21 mapflag pvp_nocalcrank moc_fild22 mapflag pvp_nocalcrank thor_v03 mapflag pvp_nocalcrank abbey03 mapflag pvp_nocalcrank but, i dont know why i cant attack players? put both pvp and pvp_nocalcrank mapflags on your map How? Any example?
  5. // MVP // moc_pryd06 mapflag pvp_nocalcrank ra_fild02 mapflag pvp_nocalcrank ra_fild03 mapflag pvp_nocalcrank ra_fild04 mapflag pvp_nocalcrank ve_fild01 mapflag pvp_nocalcrank ve_fild02 mapflag pvp_nocalcrank lou_dun03 mapflag pvp_nocalcrank prt_maze03 mapflag pvp_nocalcrank bra_dun02 mapflag pvp_nocalcrank gl_chyard mapflag pvp_nocalcrank abyss_03 mapflag pvp_nocalcrank gef_dun02 mapflag pvp_nocalcrank gef_dun01 mapflag pvp_nocalcrank treasure02 mapflag pvp_nocalcrank pay_fild11 mapflag pvp_nocalcrank gon_dun03 mapflag pvp_nocalcrank abbey02 mapflag pvp_nocalcrank xmas_fild01 mapflag pvp_nocalcrank ra_san05 mapflag pvp_nocalcrank prt_sewb4 mapflag pvp_nocalcrank mosk_dun03 mapflag pvp_nocalcrank ama_dun03 mapflag pvp_nocalcrank kh_dun02 mapflag pvp_nocalcrank xmas_dun02 mapflag pvp_nocalcrank ayo_dun02 mapflag pvp_nocalcrank niflheim mapflag pvp_nocalcrank anthell02 mapflag pvp_nocalcrank mjolnir_04 mapflag pvp_nocalcrank pay_dun04 mapflag pvp_nocalcrank gef_fild02 mapflag pvp_nocalcrank gef_fild14 mapflag pvp_nocalcrank gef_fild10 mapflag pvp_nocalcrank moc_pryd04 mapflag pvp_nocalcrank in_sphinx5 mapflag pvp_nocalcrank moc_fild17 mapflag pvp_nocalcrank ein_dun02 mapflag pvp_nocalcrank beach_dun mapflag pvp_nocalcrank tur_dun04 mapflag pvp_nocalcrank jupe_core mapflag pvp_nocalcrank lhz_dun02 mapflag pvp_nocalcrank lhz_dun03 mapflag pvp_nocalcrank odin_tem03 mapflag pvp_nocalcrank moc_fild21 mapflag pvp_nocalcrank moc_fild22 mapflag pvp_nocalcrank thor_v03 mapflag pvp_nocalcrank abbey03 mapflag pvp_nocalcrank moc_pryd06 mapflag pvp_nocalcrank ra_fild02 mapflag pvp_nocalcrank ra_fild03 mapflag pvp_nocalcrank ra_fild04 mapflag pvp_nocalcrank ve_fild01 mapflag pvp_nocalcrank ve_fild02 mapflag pvp_nocalcrank lou_dun03 mapflag pvp_nocalcrank prt_maze03 mapflag pvp_nocalcrank bra_dun02 mapflag pvp_nocalcrank gl_chyard mapflag pvp_nocalcrank abyss_03 mapflag pvp_nocalcrank gef_dun02 mapflag pvp_nocalcrank gef_dun01 mapflag pvp_nocalcrank treasure02 mapflag pvp_nocalcrank pay_fild11 mapflag pvp_nocalcrank gon_dun03 mapflag pvp_nocalcrank abbey02 mapflag pvp_nocalcrank xmas_fild01 mapflag pvp_nocalcrank ra_san05 mapflag pvp_nocalcrank prt_sewb4 mapflag pvp_nocalcrank mosk_dun03 mapflag pvp_nocalcrank ama_dun03 mapflag pvp_nocalcrank kh_dun02 mapflag pvp_nocalcrank xmas_dun02 mapflag pvp_nocalcrank ayo_dun02 mapflag pvp_nocalcrank niflheim mapflag pvp_nocalcrank anthell02 mapflag pvp_nocalcrank mjolnir_04 mapflag pvp_nocalcrank pay_dun04 mapflag pvp_nocalcrank gef_fild02 mapflag pvp_nocalcrank gef_fild14 mapflag pvp_nocalcrank gef_fild10 mapflag pvp_nocalcrank moc_pryd04 mapflag pvp_nocalcrank in_sphinx5 mapflag pvp_nocalcrank moc_fild17 mapflag pvp_nocalcrank ein_dun02 mapflag pvp_nocalcrank beach_dun mapflag pvp_nocalcrank tur_dun04 mapflag pvp_nocalcrank jupe_core mapflag pvp_nocalcrank lhz_dun02 mapflag pvp_nocalcrank lhz_dun03 mapflag pvp_nocalcrank odin_tem03 mapflag pvp_nocalcrank moc_fild21 mapflag pvp_nocalcrank moc_fild22 mapflag pvp_nocalcrank thor_v03 mapflag pvp_nocalcrank abbey03 mapflag pvp_nocalcrank moc_pryd06 mapflag pvp_nocalcrank ra_fild02 mapflag pvp_nocalcrank ra_fild03 mapflag pvp_nocalcrank ra_fild04 mapflag pvp_nocalcrank ve_fild01 mapflag pvp_nocalcrank ve_fild02 mapflag pvp_nocalcrank lou_dun03 mapflag pvp_nocalcrank prt_maze03 mapflag pvp_nocalcrank bra_dun02 mapflag pvp_nocalcrank gl_chyard mapflag pvp_nocalcrank abyss_03 mapflag pvp_nocalcrank gef_dun02 mapflag pvp_nocalcrank gef_dun01 mapflag pvp_nocalcrank treasure02 mapflag pvp_nocalcrank pay_fild11 mapflag pvp_nocalcrank gon_dun03 mapflag pvp_nocalcrank abbey02 mapflag pvp_nocalcrank xmas_fild01 mapflag pvp_nocalcrank ra_san05 mapflag pvp_nocalcrank prt_sewb4 mapflag pvp_nocalcrank mosk_dun03 mapflag pvp_nocalcrank ama_dun03 mapflag pvp_nocalcrank kh_dun02 mapflag pvp_nocalcrank xmas_dun02 mapflag pvp_nocalcrank ayo_dun02 mapflag pvp_nocalcrank niflheim mapflag pvp_nocalcrank anthell02 mapflag pvp_nocalcrank mjolnir_04 mapflag pvp_nocalcrank pay_dun04 mapflag pvp_nocalcrank gef_fild02 mapflag pvp_nocalcrank gef_fild14 mapflag pvp_nocalcrank gef_fild10 mapflag pvp_nocalcrank moc_pryd04 mapflag pvp_nocalcrank in_sphinx5 mapflag pvp_nocalcrank moc_fild17 mapflag pvp_nocalcrank ein_dun02 mapflag pvp_nocalcrank beach_dun mapflag pvp_nocalcrank tur_dun04 mapflag pvp_nocalcrank jupe_core mapflag pvp_nocalcrank lhz_dun02 mapflag pvp_nocalcrank lhz_dun03 mapflag pvp_nocalcrank lhz_dun04 mapflag pvp_nocalcrank odin_tem03 mapflag pvp_nocalcrank moc_fild21 mapflag pvp_nocalcrank moc_fild22 mapflag pvp_nocalcrank thor_v03 mapflag pvp_nocalcrank abbey03 mapflag pvp_nocalcrank but, i dont know why i cant attack players?
  6. As the title says, i want to add pvp ranking w/ reset (GM 99 Only can reset) in my pvp room script. Here's the script. morocc,154,113,6 script PvP Room 615,{ .@pvpmap1$ = "Izlude (Berry/Seed - ALLOWED) ["+getmapusers("pvp_y_1-2")+"/30]"; if( getmapusers("pvp_y_1-2") >= 30 ) { mes "[PvP Room Master]", "I'm sorry but the PVP Room is already full!"; close; } .@pvpmap2$ = "Izlude (x Berry/Seed) ["+getmapusers("pvp_y_2-2")+"/30]"; if( getmapusers("pvp_y_2-2") >= 30 ) { mes "[PvP Room Master]", "I'm sorry but the PVP Room is already full!"; close; } mes "Where do you wanna go?"; next; switch (select(.@pvpmap1$, .@pvpmap2$)) { case 1: announce strcharinfo(0)+" has joined Izlude (PVP, Berry/Seed - ALLOWED).",bc_all; warp "pvp_y_1-2",0,0; end; case 2: announce strcharinfo(0)+" has joined Izlude (x Berry/Seed).",bc_all; warp "pvp_y_2-2",0,0; end; case 3: announce strcharinfo(0)+" has joined Morocc Deathmatch (x Berry/Seed).",bc_all; warp "pvp_y_1-5",0,0; end; OnInit: waitingroom "PVP Room",0; end; } } // PvP Room ---------------------------------------------- morocc,171,250,4 duplicate(PvP Room) PvP Room#d2 615 louyang,225,98,3 duplicate(PvP Room) PvP Room#d3 615 payon,167,234,3 duplicate(PvP Room) PvP Room#d4 615 gonryun,170,142,3 duplicate(PvP Room) PvP Room#d5 615 aldebaran,146,116,3 duplicate(PvP Room) PvP Room#d6 615 ayothaya,161,159,3 duplicate(PvP Room) PvP Room#d7 615 xmas,154,126,3 duplicate(PvP Room) PvP Room#d8 615 Dont want to use GHOST PVP LADDER, because it has bug.
  7. As the title says where can i configure it? Not allowing pvp ranking counted but please let me know if i want to make it counted as pvp ranking. Sorry for bad english.
  8. Let me try this when i got home. Thank you sir! Update: Not working sir, still can use ygg and still effecting. This is my example: pvp_y_1-2 // can use berry and seeds pvp_y_2-2 // cannot use berry and seeds Because when im applying restricted all pvp map cant use berry and seeds. Update Fixed: i just disabled pvp_y_2-2 in pvp.txt, so this map is not considered as pvp map. Now, just trying to add restriction in gvg map if the class is soul linker and taekwon they cant enter the gvg map. Done! Fixed! https://rathena.org/board/topic/68457-utility-class-restriction/
  9. Can anyone help me restrict ygg berry, seed in pvp_y maps? My client using: 2013-08-07a i already did this. item_noequip // // Structure of Database: // ItemID,Flag // // Legend for 'Flag' field (bitmask): // 1 - restricted in normal maps // 2 - restricted in PVP // 4 - restricted in GVG // 8 - restricted in Battlegrounds // Restricted zones - configured by 'restricted <number>' mapflag // 32 - restricted in zone 1 // 64 - restricted in zone 2 // 128 - restricted in zone 3 // 256 - restricted in zone 4 // 512 - restricted in zone 5 // 1024 - restricted in zone 6 // 2048 - restricted in zone 7 // // Passing negative value as flag will unset the flag instead. // // Examples: // 1201,1 // Knife can't be worn on normal maps // 608,4 // Yggdrasil Seed can't be consumed in both GvG and WoE Castles // 4174,6 // Deviling Card has no effect in every PVP or GVG map, and during WoE // 501,32 // Red Potion can't be consumed on maps marked as 'restricted zone 1' // 519,322 // Milk can't be consumed in PVP and maps marked as 'restricted zone 2' or 'restricted zone 4' (256+64+2) // 519,-2 // Unset `restricted in PVP` flag from Milk. Making it usable in PVP again. //---------------------------------------------------------------------------- // Zone 3 - Izlude Battle Arena //---------------------------------------------------------------------------- 601,128 //Wing_Of_Fly 607,130 restricted.txt //Pvp pvp_y_2-2 mapflag restricted 3
  10. Try to use SDE (Server Database Editor) load your itemdb.txt there, and edit the slot count. Also edit ur item in iteminfo.lua, edit the slotcount to the prefer slot you want.
  11. try to download net framework 4.5.2
  12. Deviszh

    Asura text

    How to change the asura text (no cast)? Or anyone have a copy of customized asura text? Will appreciated. Thanks!
  13. Thank you guys! @Emistry, this is your script right? Allskills is not working though. https://rathena.org/board/topic/107878-auto-job-allskills-skillall/
  14. no duplicate in iteminfo.lua, its randomly. do u have skype? if it happened randomly, so, that means client (.exe) somewhy stacked at loading item description and put twice the same job, you can't do anything with it, the best way it's change exe to another one, or try to google for nemo patches, maybe they already know about patch to fix the issue. Btw, which exe are you using? Which date? I am using 2013-08-07a client.
  15. no duplicate in iteminfo.lua, its randomly. do u have skype?
  16. I dont know why sometimes my item description is getting doubled/duplicate. Sometimes when im changing character or account. Anyone does fix this? Do i need the rdata to put in my client folder? Why other servers dont have rdata? just the data.grf and their customized grf.
  17. i changed my mind, i did to duplicate a item then put it on itemnotrade.txt
  18. just did it, and dont forget to add the mob in lhz_dun04 in pre-re mob_db.txt
  19. as the title says, how to enable mobs at lhz_dun04? fixed, put lhz_dun04 in pre-re mob_db.txt
  20. This is my autojob script but the allskills, skillall is not working after choosing a job. Anyone can fix it? TIA! //==============================================================================// //= Script Release : Job Changer + Max Leveler [ Version 1.5 ] //==================================By==========================================// //= ManiacSociety //==============================================================================// //= Idea Came From : ManiacSociety //= Helper : Emistry & Kenpachi //==============================================================================// //= D E S C R I P T I O N S //==============================================================================// // -- 1. Character can choose a Job which he like to be. // -- 2. This NPC only have 1 Time Usage. // If it is set to Account Based then that account can use 1 times. // If it is set to Character Based then all new character can use 1 times. // -- 3. Complete skills / Skill Points will be given if it is set to be. // -- 4. Base Level and Job Level will be given upon Job Change. //==============================================================================// //= V E R S I O N S //==============================================================================// // -- [ 1.5 ] : Added Configuration for Account Based / Character Based Settings // -- [ 1.4 ] : Added Baby Classes + 3rd Job Classes. // -- [ 1.3 ] : Added Configuration Option , 4 Announce Option , Informations. // -- [ 1.2 ] : Simplified Scripts + Shorten the Scripts. // -- [ 1.1 ] : Added New Job Change Option. // -- [ 1.0 ] : Simple Login Auto Max Level + Job Changer. //==============================================================================// //= R U L E S //==============================================================================// // -- 1. Do not use for exchanging purpose. // -- 2. Do not claim it as yours. // -- 3. Do not change or remove the credits. // -- 4. Do not sell the script in order to get paid. // -- 5. Do not re-sharing upon modified without permission. //==============================================================================// turbo_room,95,76,5 script Instant Job Master 871,{ if (BaseClass == Job_Novice) goto Main_Menu; mes .npcname$; mes "Sorry you cannot expand your job."; close; // -- Configuration Option set .npcname$,"[ ^0000FF Class Helper ^000000 ]"; set .InfoMenu,0; // Classes Informations Option [ 0 - Disable / 1 - Enable ] set .1stClassMenu,0; // First Job Class Option [ 0 - Disable / 1 - Enable ] set .2ndClassMenu,0; // Second Job Class Option [ 0 - Disable / 1 - Enable ] set .High1stClassMenu,0; // High 1st Class Option [ 0 - Disable / 1 - Enable ] set .Trans2ndClassMenu,1; // Transcendent Class Option [ 0 - Disable / 1 - Enable ] set .Trans3rdClassMenu,0; // Third Job Class Option [ 0 - Disable / 1 - Enable ] set .ExpandedClassMenu,1; // Expanded Class Option [ 0 - Disable / 1 - Enable ] set .BabyClassMenu,1; // Baby Job Class Option [ 0 - Disable / 1 - Enable ] set .Baby3rdClassMenu,0; // Baby Third Job Class Option [ 0 - Disable / 1 - Enable ] set .allskills,1; // Complete Skills Option [ 0 - Disable / 1 - Enable ] Main_Menu: mes "[Instant Job Master]"; mes "Nice to meet you "+ strcharinfo ( 0 ) +", my name is Instant Job Master"; mes "Welcome to ^E066FFDeviszhRO!^000000"; next; switch(select(( .InfoMenu == 0 )?"":"Classes Information", ( .1stClassMenu == 0 )?"":"First Job Classes", ( .2ndClassMenu == 0 )?"":"Second Job Classes", ( .High1stClassMenu == 0 )?"":"High First Job Classes", ( .Trans2ndClassMenu == 1 )?"":"Transcendent Job Classes", ( .Trans3rdClassMenu == 0 )?"":"Third Job Classes", ( .ExpandedClassMenu == 1 )?"":"Expanded Job Classes", ( .BabyClassMenu == 1 )?"":"Baby Normal Job Classes", ( .Baby3rdClassMenu == 0 )?"":"^Baby Third Job Classes", "^FF0000Sorry, i admire nobody....^000000")) { Case 1: goto Classes_info; Case 2: goto FirstJob_Classes; Case 3: goto SecondJob_Classes; Case 4: goto HighFirstJob_Classes; Case 5: goto TransSecondJob_Classes; Case 6: goto TransThirdJob_Classes; Case 7: goto ExpandedJob_Classes; Case 8: goto BabyJob_Classes; Case 9: goto BabyThirdJob_Classes; Case 10: close; } FirstJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("Swordman", "Magician", "Archer", "Acolyte", "Merchant", "Thief", "Back")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,1,99,50,60,"All"; Case 2: callsub Job_Changing,2,99,50,60,"All"; Case 3: callsub Job_Changing,3,99,50,60,"All"; Case 4: callsub Job_Changing,4,99,50,60,"All"; Case 5: callsub Job_Changing,5,99,50,60,"All"; Case 6: callsub Job_Changing,6,99,50,60,"All"; Case 7: goto Main_Menu; } HighFirstJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("High Swordman", "High Magician", "High Archer", "High Acolyte", "High Merchant", "High Thief", "Back")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,4002,99,50,60,"All"; Case 2: callsub Job_Changing,4003,99,50,60,"All"; Case 3: callsub Job_Changing,4004,99,50,60,"All"; Case 4: callsub Job_Changing,4005,99,50,60,"All"; Case 5: callsub Job_Changing,4006,99,50,60,"All"; Case 6: callsub Job_Changing,4007,99,50,60,"All"; Case 7: goto Main_Menu; } SecondJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("Knight", "Priest", "Wizard", "Blacksmith", "Hunter", "Assassin", "Crusader", "Monk", "Sage", "Rogue", "Alchemist", ( Sex == 0 )?"":"Dancer", ( Sex == 1 )?"":"Bard", "Back")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,7,99,50,110,"All"; Case 2: callsub Job_Changing,8,99,50,110,"All"; Case 3: callsub Job_Changing,9,99,50,110,"All"; Case 4: callsub Job_Changing,10,99,50,110,"All"; Case 5: callsub Job_Changing,11,99,50,110,"All"; Case 6: callsub Job_Changing,12,99,50,110,"All"; Case 7: callsub Job_Changing,14,99,50,110,"All"; Case 8: callsub Job_Changing,15,99,50,110,"All"; Case 9: callsub Job_Changing,16,99,50,110,"All"; Case 10: callsub Job_Changing,17,99,50,110,"All"; Case 11: callsub Job_Changing,18,99,50,110,"All"; Case 12: callsub Job_Changing,20,99,50,110,"All"; Case 13: callsub Job_Changing,19,99,50,110,"All"; Case 14: goto Main_Menu; } TransSecondJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("Lord Knight", "High Priest", "High Wizard", "Whitesmith", "Sniper", "Assassin Cross", "Paladin", "Champion", "Professor", "Stalker", "Creator", ( Sex == 0 )?"":"Gypsy", ( Sex == 1 )?"":"Clowm", "Back")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,4008,99,70,130,"All"; Case 2: callsub Job_Changing,4009,99,70,130,"All"; Case 3: callsub Job_Changing,4010,99,70,130,"All"; Case 4: callsub Job_Changing,4011,99,70,130,"All"; Case 5: callsub Job_Changing,4012,99,70,130,"All"; Case 6: callsub Job_Changing,4013,99,70,130,"All"; Case 7: callsub Job_Changing,4015,99,70,130,"All"; Case 8: callsub Job_Changing,4016,99,70,130,"All"; Case 9: callsub Job_Changing,4017,99,70,130,"All"; Case 10: callsub Job_Changing,4018,99,70,130,"All"; Case 11: callsub Job_Changing,4019,99,70,130,"All"; Case 12: callsub Job_Changing,4021,99,70,130,"All"; Case 13: callsub Job_Changing,4020,99,70,130,"All"; Case 14: goto Main_Menu; } TransThirdJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Rune Knight^000000", "^76EE00Warlock^000000", "^76EE00Ranger^000000", "^76EE00Arch Bishop^000000", "^76EE00Mechanic^000000", "^76EE00Guillotine Cross^000000", "^76EE00Royal Guard^000000", "^76EE00Sorcerer^000000", ( Sex == 0 )?"":"^76EE00Wanderer^000000", ( Sex == 1 )?"":"^76EE00Minstrel^000000", "^76EE00Shura^000000", "^76EE00Genetic^000000", "^76EE00Shadow Chaser^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,4060,99,70,200,"All"; Case 2: callsub Job_Changing,4061,99,70,200,"All"; Case 3: callsub Job_Changing,4062,99,70,200,"All"; Case 4: callsub Job_Changing,4063,99,70,200,"All"; Case 5: callsub Job_Changing,4064,99,70,200,"All"; Case 6: callsub Job_Changing,4065,99,70,200,"All"; Case 7: callsub Job_Changing,4073,99,70,200,"All"; Case 8: callsub Job_Changing,4074,99,70,200,"All"; Case 9: callsub Job_Changing,4076,99,70,200,"All"; Case 10: callsub Job_Changing,4075,70,70,200,"All"; Case 11: callsub Job_Changing,4077,70,70,200,"All"; Case 12: callsub Job_Changing,4078,70,70,200,"All"; Case 13: callsub Job_Changing,4079,70,70,200,"All"; Case 14: goto Main_Menu; } ExpandedJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("Super Novice", "Gunslinger", "Ninja", "Takewon", "Star Gladiator", "Soul Linker", "Back")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,23,99,99,110,"All"; Case 2: callsub Job_Changing,24,99,50,600,"All"; Case 3: callsub Job_Changing,25,99,50,60,"All"; Case 4: callsub Job_Changing,4046,99,50,60,"All"; Case 5: callsub Job_Changing,4047,99,50,110,"All"; Case 6: callsub Job_Changing,4049,99,50,110,"All"; Case 7: goto Main_Menu; } BabyJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("Baby Swordman", "Baby Magician", "Baby Archer", "Baby Acolyte", "Baby Merchant", "Baby Thief", "Baby Knight", "Baby Priest", "Baby Wizard", "Baby Blacksmith", "Baby Hunter", "Baby Assassin", "Baby Crusader", "Baby Monk", "Baby Sage", "Baby Rogue", "Baby Alchemist", ( Sex == 0 )?"":"Baby Dancer", ( Sex == 1 )?"":"Baby Bard", "Back")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,4024,99,70,60,"All"; Case 2: callsub Job_Changing,4025,99,70,60,"All"; Case 3: callsub Job_Changing,4026,99,70,60,"All"; Case 4: callsub Job_Changing,4027,99,70,60,"All"; Case 5: callsub Job_Changing,4028,99,70,60,"All"; Case 6: callsub Job_Changing,4029,99,70,60,"All"; Case 7: callsub Job_Changing,4030,99,70,110,"All"; Case 8: callsub Job_Changing,4031,99,70,110,"All"; Case 9: callsub Job_Changing,4032,99,70,110,"All"; Case 10: callsub Job_Changing,4033,99,70,110,"All"; Case 11: callsub Job_Changing,4034,99,70,110,"All"; Case 12: callsub Job_Changing,4035,99,70,110,"All"; Case 13: callsub Job_Changing,4037,99,70,110,"All"; Case 14: callsub Job_Changing,4038,99,70,110,"All"; Case 15: callsub Job_Changing,4039,99,70,110,"All"; Case 16: callsub Job_Changing,4040,99,70,110,"All"; Case 17: callsub Job_Changing,4041,99,70,110,"All"; Case 18: callsub Job_Changing,4043,99,70,110,"All"; Case 19: callsub Job_Changing,4042,99,70,110,"All"; Case 21: goto Main_Menu; } BabyThirdJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Baby Rune Knight^000000", "^76EE00Baby Warlock^000000", "^76EE00Baby Ranger^000000", "^76EE00Baby Arch Bishop^000000", "^76EE00Baby Mechanic^000000", "^76EE00Baby Guillotine Cross^000000", "^76EE00Baby Royal Guard^000000", "^76EE00Baby Sorcerer^000000", ( Sex == 0 )?"":"^76EE00Baby Wanderer^000000", ( Sex == 1 )?"":"^76EE00Baby Minstrel^000000", "^76EE00Baby Shura^000000", "^76EE00Baby Genetic^000000", "^76EE00Baby Shadow Chaser^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,4096,99,70,200,"All"; Case 2: callsub Job_Changing,4097,99,70,200,"All"; Case 3: callsub Job_Changing,4098,99,70,200,"All"; Case 4: callsub Job_Changing,4099,99,70,200,"All"; Case 5: callsub Job_Changing,4100,99,70,200,"All"; Case 6: callsub Job_Changing,4101,99,70,200,"All"; Case 7: callsub Job_Changing,4102,99,70,200,"All"; Case 8: callsub Job_Changing,4103,99,70,200,"All"; Case 9: callsub Job_Changing,4105,99,70,200,"All"; Case 10: callsub Job_Changing,4104,99,70,200,"All"; Case 11: callsub Job_Changing,4106,99,70,200,"All"; Case 12: callsub Job_Changing,4107,99,70,200,"All"; Case 13: callsub Job_Changing,4108,99,70,200,"All"; Case 14: goto Main_Menu; } Job_Changing: mes .npcname$; mes "You are now a part of ^FF0000"+jobname(getarg(0))+"^000000."; if (compare(getarg(4),"All")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_all,0x76EE00; } if (compare(getarg(4),"Map")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_map,0x76EE00; } if (compare(getarg(4),"Area")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_area,0x76EE00; } if (compare(getarg(4),"Self")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_self,0x76EE00; } jobchange getarg(0); set BaseLevel,getarg(1); set JobLevel,getarg(2); ResetSkill; ResetStatus; set SkillPoint,getarg(3); if ( .allskills == 1 ){ atcommand "@allskills"; set SkillPoint,0; } percentheal 100,100; close; Classes_info: mes .npcname$; mes "=====[^76EE00 Swordman Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Enthusiastic skills in sword fighting is a definite attraction to all teenagers. Easy to control and master character enables most players to be a great player."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Archer Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Long ranged attack ability and special techniques of archers in defeating enemy often lure players to try this."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Mage Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Fascinating element techniques involvement of nature in its abilities is truly amazing with their series of undefeatable magics."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Thief Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Poisoning and dodging abilities will defeat most of the enemy. Maximum defensive and offensive ability caused this character to fearsome one."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Acolyte Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A supportive character, most of the skills like helping will benefit to teammates who lead to teammates act like a terminator."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Merchant Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Involving communication with other players that emphasizes on battles, intelligence in business dealing. His versatility made him must not be look down."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Super Novice ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A job who are Advanced after Novice Class. It look alike like a Novice but it is not. Beside that, it can learn most of the skills for all 1st Job Class."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Gunslinger ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "The only Job class in RO who are using Gun as weapon. If are you a Gun Lover , there is no doubt you will choose this Job."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Ninja ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A mysterious Job Class , who alway processing Ancient Spells , look alike with Mage but not mage , good in PK , can evade very well during PK."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Taekwon ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Just like the name has mentioned. The only class in RO who are not using any Weapon. Attack enemy using barehand and foots. "; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Star Gladiator ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A class who can use the power of the Sun / Star / Moon. By processing the power of Universe to gain a stronger Power."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Soul Linker ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Class that work like a Shaman, who able to recalling the soul of the dead from the underworld to Boost other class ability."; mes " ^FF0000________________________________^000000"; next; goto Main_Menu; OnInit: waitingroom " Instant Job Master",0; end; }
  21. Deviszh

    Resizing GRF

    There are a bunch of methods to do that. First of all you can try to use lzma compression for data/rdata it will change size of Data grf from 2gb to around 1.2 gb, and rdata size from 500mb to around 200-220MB, + your GRF will be resized well too. Then you can to try to avoid duplicate resource usage via "Patch tool" inside GRF editor, look screenshot below: How enable LZMA compression: Go to opions, and select compression method LZMA Then go to File -> Save Advanced -> Repack + Do not forget to put to your game-client advanced modified GRF Editor cps.dll which support classic ZIP/unzip and advanced lzma algorithm (you can find this cps.dll (size more then 72KB) in GRF editor folder (where usually you are extract your grf files)) So, you can enter to "old grf field" your data.grf, and to "newer grf field" your current game-server GRF, then create patch which you need convert to GRF, it will remove ALL duplicates in your game-server grf if compare to official data.grf. The same you can do for rdata.grf too (if you wish). Summary by following these methods you can decrease size of your full game client from 3GB up to 1.4GB easly. But please try to understand important things related to LZMA algorithm, this algorithm compress much better resources, and need the same amount of cpu (or similar) to decompress it while client will work. That means client-based processors should decompress it while they playing. And maybe it will cause some issues for players while they are playing (for example intensive CPU usage). In my personal experience LZMA were slow-down very much game-client in CPU usage for resource-heavy maps like new prontera for players with old (2007-2011 pc build) or for laptop users (all laptops has bad CPU). But decide what do you wish todo. do I need to use the rdata.grf? i tried, it keeps getting me error in iteminfo.lua
  22. I have my own grf but its too way big. Its about 240mb I have data.grf (2gb) and rdata.rf (556mb) so my full client got 3gb. How to make my own grf less size?
  23. I have a quest shop here, i dont know where i put the pub room script here. //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6 //===== Compatible With: ===================================== //= rAthena SVN r16862+ //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ turbo_room,121,77,4 script Quest Shop#1 998,{ callfunc "qshop"; } // Script Core //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; function A_An; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,1; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0],"#CASHPOINTS","Cash Points"; // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1],"Headgears","Bags"; // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- Add(1,30000,1,0,0,30029,1,7294,1,7513,3,7447,300,7446,300,674,50); Add(1,5471,1,0,0,30000,1,5470,1,7301,800,968,5,7513,5,7446,250,7447,250,674,50); //Add(1,5420,1,0,0,5421,1,7451,10,7122,500,7097,500,7120,500,674,50); Add(1,30010,1,0,0,2229,1,983,20,7513,5,7566,5,658,5,923,800,674,50); Add(1,30012,1,0,0,2229,1,978,20,7513,5,7566,5,658,5,923,800,674,50); Add(1,30013,1,0,0,2229,1,973,10,974,10,7513,5,7566,5,923,800,658,5,674,50); Add(1,30016,1,0,0,2229,1,973,10,974,10,7513,5,7566,5,923,800,658,5,674,50); Add(1,30030,1,0,0,2229,1,976,20,7513,5,7566,5,658,5,923,800,674,50); Add(1,30032,1,0,0,2229,1,979,20,7513,5,7566,5,658,5,923,800,674,50); Add(1,30037,1,0,0,2229,1,980,20,7513,5,7566,5,658,5,923,800,674,50); Add(1,30039,1,0,0,2229,1,973,10,974,10,7513,5,7566,5,658,5,923,800,674,50); Add(1,30041,1,0,0,2229,1,981,20,7513,5,7566,5,658,5,923,800,674,50); Add(1,30044,1,0,0,2229,1,975,20,7513,5,7566,5,658,5,923,800,674,50); Add(1,30046,1,0,0,2229,1,973,10,974,10,7513,5,7566,5,658,5,923,800,674,50); Add(1,30052,1,0,0,2229,1,4372,20,7513,5,7566,5,658,5,923,800,674,50); Add(2,30001,1,0,0,7446,500,674,50); Add(2,30002,1,0,0,7576,500,674,50); Add(2,30017,1,0,0,7447,500,674,50); Add(2,30028,1,0,0,7448,500,674,50); Add(2,30038,1,0,0,7575,500,674,50); Add(2,30042,1,0,0,7577,500,1013,500,7576,500,7575,500,674,50); Add(2,30040,1,0,0,7445,500,674,50); // ----------------------------------------------------------- freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set .@i, select(.menu$); else if (.@size == 1) set .@i, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set .@i, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[.@i] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+.@i,1; npcshopattach "qshop"+.@i; end; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); if (((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512)) && @qe[2] > 0) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[6])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0; specialeffect2 699; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), 1; if (@qe[1] & 1) changelook LOOK_HEAD_BOTTOM, @qe[2]; if (@qe[1] & 256) changelook LOOK_HEAD_TOP, @qe[2]; if (@qe[1] & 512) changelook LOOK_HEAD_MID, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[6]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; } deletearray @qe[0],7; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } function A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); } } function script qshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop::OnMenu"; close; } // Dummy shop data -- copy as needed. //============================================================ - shop qshop1 -1,909:-1 - shop qshop2 -1,909:-1 - shop qshop3 -1,909:-1 - shop qshop4 -1,909:-1 - shop qshop5 -1,909:-1 Also here, Cash point checker. turbo_room,121,83,6 script Free/Cash Point Checker 703,{ OnAtCommand: OnPCLoginEvent: dispbottom "You got "+#CASHPOINTS+" cash points."; end; OnInit: bindatcmd "cashpoints",strnpcinfo(3)+"::OnAtCommand"; end; } I also need help here, i dont know why after this disguise event, its not auto warping. /*//----------------------------------------------------------------// //----------------Scripted by Spera---------------------------------// //------------------FinalStrikeRO-----------------------------------// //--------------------Disguise Event NPC v2-------------------------// /-------------------------------------------------------------------//*/ quiz_02,355,384,5 script Disguise CP 968,{ if (getgmlevel()<20) { mes "^3399FF[Disguise CP]^000000"; mes "Sorry, you are not a GM!"; close; } mes "^3399FF[Disguise CP]^000000"; mes "Hello GameMaster!"; mes "What do you want to do?"; switch(select("Start Event:Stop Event:Set number of rounds[^E50000"+$guessrounds+"^000000]:Set prize^E50000 ["+getitemname($guessprize)+"]^000000 ^E50000 ["+ $guessprizecount + "]^000000:Nothing")) { case 1: { next; mes "^3399FF[Disguise CP]^000000"; mes "Please confirm by typing START."; input .@confirm$; if (.@confirm$ == "START") { donpcevent "guessAnnouncer::OnGMStart"; close; } mes "Confirmation failed"; close; break; } case 2: { next; mes "^3399FF[Disguise CP]^000000"; mes "Please confirm by typing STOP."; input .@confirm$; if (.@confirm$ == "STOP") { donpcevent "guessAnnouncer::OnGMStop"; close; } mes "Confirmation failed"; close; break; } case 3: { next; mes "^3399FF[Disguise CP]^000000"; mes "Please type in the new number."; input $guessrounds; if ($guessrounds > 30) set $guessrounds, 30; else if ($guessrounds < 1) set $guessrounds, 1; close; } case 4: { next; mes "^3399FF[Disguise CP]^000000"; mes "Please type in the new prize id."; input .@guessprizeid; if (getitemname(.@guessprizeid) == "null" || getitemname(.@guessprizeid) == "") {next; mes "^3399FF[Disguise CP]^000000"; mes "Error"; mes "This item does not exist in the database..."; close;} set $guessprize, .@guessprizeid; next; mes "^3399FF[Disguise CP]^000000"; mes "Please type in the amount."; input .@guessprizeamount; if (!.@guessprizeamount) set .@guessprizeamount,1 ; set $guessprizecount,.@guessprizeamount; next; mes "^3399FF[Disguise CP]^000000"; mes "Prize has been set to ^E50000 "+ getitemname($guessprize)+ "^000000 and the amount to ^E50000 " +$guessprizecount+"^000000"; close; } case 5: { next; mes "^3399FF[Disguise CP]^000000"; mes "Good bye"; close; } } } quiz_02,336,346,4 script Disguise NPC 795,{ if (!$guessbegin) { mes "^3399FF[Disguise NPC]^000000"; mes "The event is going to start soon!"; close; } end; OnStart: set $guessbegin, 1; set .DisguiseWon, 0; if (!$DisguiseRound) { npctalk "Alright. Let's start this game!"; sleep 2000; npctalk "But first I will explain the rules."; sleep 2000; npctalk "I am going to disguise into a random monster."; sleep 2000; npctalk "You have to guess the monster's name and shout it out."; sleep 2000; npctalk "Don't bother about the use of capital and small initial letters."; sleep 2000; npctalk "Now get ready!"; sleep 5000; specialeffect EF_DETECT2; } else if ($DisguiseRound < $guessrounds-1) { npctalk "Get ready for the next round."; setnpctimer 0; sleep 8000; specialeffect EF_DETECT2; } else { npctalk "Last round now!"; sleep 2000; npctalk "Get ready!"; sleep 6000; specialeffect EF_DETECT2; } do { set .@guessrepeat, 0; set $monster, 1000 + rand(1,950); for (set .@k, 0; .@k <getarraysize($Forbidden); set .@k, .@k+1) { if ($monster == $Forbidden[.@k]) { set .@guessrepeat, 1; break; } } } while (.@guessrepeat); setnpctimer 0; initnpctimer; setnpcdisplay "Disguise NPC",$monster; set $MonsterName$, strmobinfo(1,$monster); defpattern 1, "([^:]+):.*\\s"+$MonsterName$+"(.*)", "winround"; activatepset 1; npctalk "What's my name?"; sleep 3000; npcwalkto 102,103; sleep 2000; npcwalkto 102,99; end; OnTimer5000: if (!.DisguiseWon) { sleep 3000; npcwalkto 102,103; sleep 2000; npcwalkto 102,99; if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;} } end; OnTimer15000: if (!.DisguiseWon) { sleep 3000; npcwalkto 102,103; sleep 2000; npcwalkto 102,99; } end; OnTimer25000: if (!.DisguiseWon) { npctalk "You get 10 more seconds to guess my name."; sleep 3000; npcwalkto 102,103; sleep 2000; npcwalkto 102,99; } end; OnTimer35000: if (!.DisguiseWon) { npctalk "Round is over."; if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;} set $DisguiseRound, $DisguiseRound + 1; deletepset 1; sleep 3000; npctalk $MonsterName$ + " would have been the correct answer."; sleep 5000; if ($DisguiseRound >= $guessrounds) { set $DisguiseRound, 0; sleep 3000; npctalk "Event is over now!"; sleep 3500; npctalk "See ya!"; sleep 2000; emotion 12; sleep 1000; mapwarp "morocc","morocc",160,249; setnpcdisplay "Disguise NPC",795; disablenpc "Disguise NPC"; end; } goto OnStart; } end; winround: setnpctimer 0; deletepset 1; set .DisguiseWon, 1; set $DisguiseRound, $DisguiseRound + 1; npctalk strcharinfo(0) + " got my right name!"; getitem $guessprize, $guessprizecount; sleep2 3000; npctalk $MonsterName$ + " is the correct answer."; if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;} if ($DisguiseRound >= $guessrounds) { set $DisguiseRound, 0; set $guessactive, 0; sleep 3000; npctalk "Event is over now!"; sleep 3500; npctalk "See ya!"; sleep 2000; emotion 12; sleep 1000; mapwarp "morocc","morocc",160,249; setnpcdisplay "Disguise NPC",795; disablenpc "Disguise NPC"; end; } sleep 5000; goto OnStart; end; } //----------------------------------------------------------------------------------- //----------------------------------------------------------------------------------- - script guessAnnouncer -1,{ OnGMStart: if ($guessactive) end; set $guessactive, 1; announce "The server is starting a Disguise Event now!",0; set $guessbegin, 0; sleep 3000; if (!$guessactive) end; announce "If you want to join, come to Main Town, move at the portal near WoE Information.",0; enablenpc "guesswarp"; enablenpc "Disguise NPC"; sleep 5000; announce "Number of Rounds: "+$guessrounds,0; sleep 5000; announce "Prize: "+ getitemname($guessprize) + " x " + $guessprizecount,0; sleep 5000; if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;} announce "The portal is going to close in one minute.",0; sleep 60000; if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;} announce "The portal has been closed.",0; disablenpc "guesswarp"; set $DisguiseRound, 0; sleep 5000; if (!$guessactive) {disablenpc "Disguise NPC"; end;} if(getmapusers("quiz_02") == 0) { disablenpc "Disguise NPC"; set $guessactive, 0; end; } donpcevent "Disguise NPC::OnStart"; end; OnGMStop: if ($guessactive) { set $guessactive, 0; announce "The disguise event has been stopped.",0; set $DisguiseRound, 0; mapwarp "quiz_02.gat","quiz_02",336,346; setnpcdisplay "Disguise NPC",795; disablenpc "Disguise NPC"; disablenpc "guesswarp"; } end; OnClock1300: OnClock1500: OnClock1700: OnClock1900: OnClock2100: OnClock2300: OnClock0100: OnClock0300: OnClock0500: OnClock0700: OnClock0900: OnClock1100: if ($guessactive) end; set $guessactive, 1; announce "The server is starting a Disguise Event now!",0; set $guessbegin, 0; sleep 5000; if (!$guessactive) end; announce "If you want to join, come to Main Town, move at the portal near WoE Information.",0; enablenpc "guesswarp"; enablenpc "Disguise NPC"; sleep 5000; announce "Prize: "+ getitemname($guessprize) + " x " + $guessprizecount,0; sleep 5000; if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;} announce "The portal is going to close in one minute.",0; sleep 60000; if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;} announce "The portal has been closed.",0; disablenpc "guesswarp"; sleep 5000; if (!$guessactive) {disablenpc "Disguise NPC"; end;} announce "Next Event will start in 2 hours.",0; set $DisguiseRound, 0; if(getmapusers("quiz_02") == 0) { disablenpc "Disguise NPC"; set $guessactive, 0; end; } donpcevent "Disguise NPC::OnStart"; end; OnInit: disablenpc "Disguise NPC"; disablenpc "guesswarp"; set $guessactive, 0; setarray $Forbidden[0],1003,1006,1017,1021,1022,1027,1043,1136,1137,1168,1171,1172,1173,1181,1210,1217,1218,1223,1284,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1407,1411,1414,1496,1501,1900,1948,1892,1949,1950,1983,1984,2010,1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168,1171,1172,1173,1181,1210,1222,1223,1224,1225,1226,1227,1228,1233,1284,1407,1411,1414,1496,1501,1900,1996,2002,2003,2004,2005,2006,2007,2011,2012,2025,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2075,2076,2077,2078,2079,2080,2081,2084,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,1900,1901,1902,1903,1237,1239,1145,1175,1209,1841,1842,1843,1844,3014,3001,3002,2114,2115,2117,2118,2119,2120,6049,6050,6051,6052,2200,2205,2207; } //----------------------------------------------------------------------------------- //------------------Warp Portal------------------------------------------------------ morocc,169,258,0 warp guesswarp 2,2,quiz_02,342,346 //----------------------------------------------------------------------------------- //------------------Map Flags-------------------------------------------------------- quiz_02 mapflag nowarpto quiz_02 mapflag noskill quiz_02 mapflag nosave quiz_02 mapflag nomemo quiz_02 mapflag noteleport quiz_02 mapflag nowarp //----------------------------------------------------------------------------------- TIA!
×
×
  • Create New...