Jump to content

n0tttt

Members
  • Posts

    303
  • Joined

  • Days Won

    12

Everything posted by n0tttt

  1. function script random_walk { @walking = !@walking; if(@walking) { while(@walking) { getmapxy .@m$,.@x,.@y,UNITTYPE_PC; getfreecell .@m$,.@to_x,.@to_y,.@x,.@y,10,10; unitwalk getcharid(3),.@to_x,.@to_y; while(.@x != .@to_x || .@y != .@to_y) { sleep2 500; getmapxy .@m$,.@x,.@y,UNITTYPE_PC; } } } return; } function script F_botex { set .@i,0; while (.@i < 1) { set .@b,0; dispbottom .@i+""; .@rid = getcharid(3); getmapxy(.@m$,.@x0,.@y0,0); sleep2 100; .@x = rand(-13,13)+.@x0; .@y = rand(-13,13)+.@y0; sleep2 100; if(!checkcell( .@m$,.@x,.@y,cell_chkpass )){ dispbottom "Coordinate not exists!"; continue; } else if(checkcell( .@m$,.@x,.@y,cell_chkpass )){ dispbottom "Coordinate exists!"; } sleep2 100; while(.@x0 != .@x && .@y0 != .@y) { set .@b,.@b+1; viewpoint 1,.@x,.@y,1,0xFF0000; dispbottom "auto walking to x = "+.@x+" y = "+.@y; unitwalk getcharid(3),.@x,.@y,strnpcinfo(3)+"::OnReach"; sleep2 2000; if(.@b > 5) break; getmapxy(.@m$,.@x0,.@y0,0); sleep2 100; } .@n = getareaunits(BL_MOB,.@m$,.@x0 + 5,.@y0 + 5,.@x0 - 5,.@y0 - 5,.@mob); unitattack 0,.@mob[rand(.@n)],true; percentheal 100,100; sleep2 100; dispbottom "JackJack"; } end; }
  2. - script bonus_party -1,{ OnPCStatCalcEvent: .@item_id = 1201; .@pid = getcharid(1); .@oid = getcharid(3); if(isequipped(.@item_id) && .@pid) { .@is_leader = is_party_leader(); getpartymember .@pid,1,.@party_cid; getpartymember .@pid,2,.@party_aid; .@size = $@partymembercount; for(;.@i < .@size;.@i++) { if(isloggedin(.@party_aid[.@i],.@party_cid[.@i])) { .@n++; if(.@is_leader) if(attachrid(.@party_aid[.@i])) bonus bStr,1; } } attachrid .@oid; bonus bStr,.@n; } end; }
  3. Most of the time you have to just relog, if I recall correctly.
  4. Aren't them already on by default? When .BabyNovice = true, it's the last option on the menu.
  5. Updating is always the best option since bugs are fixed all the time. But if you really want to keep your current emulator, you have to apply these commits: https://github.com/rathena/rathena/commit/10e7035bebdbc2ec25a392ee2cf14172ecf169e5 https://github.com/rathena/rathena/commit/0c2ccc77c7ef30afda6fb978f402a10d1f1b7f24
  6. Something like this I guess? - script bonus_party -1,{ OnPCStatCalcEvent: .@item_id = 1201; .@pid = getcharid(1); if(isequipped(.@item_id) && .@pid) { getpartymember .@pid,1,.@party_cid; getpartymember .@pid,2,.@party_aid; .@size = $@partymembercount; for(;.@i < .@size;.@i++) .@n+= isloggedin(.@party_aid[.@i],.@party_cid[.@i]); bonus bStr,.@n; } end; }
  7. You could add a variable when the player is using it. - script paytowinbuffs -1,{ end; OnBuffs: if(getgroupid() <= 4) { message strcharinfo(0),"Falha, você não possui VIP."; end; } if(isequipped(4263)) { message strcharinfo(0),"Não funciona equipado com Samurai Encarnado."; end; } if(@buffs_inuse) { end; } if (gettimetick(2) < delay_buffer) { dispbottom( "You have to wait "+Time2Str(delay_bufer)+" to use the command again.", 0xFF0000 ); end; } @buffs_inuse = true; .@menu$ = implode(.buffs$,":"); .@i = prompt(.@menu$) -1; if(.@i < 255) { sc_start .elements[.@i],180000,5; //atcommand "@refresh "+strcharinfo(0); delay_buffer = gettimetick(2) + .delay; } @buffs_inuse = false; end; OnInit: .delay = 3 * 2; // 5 = 5 seconds *60 = 360 seconds setarray .buffs$, "^800080Envenenar Arma^000000", "^40E0D0Aspersio^000000", "^000000Sombrio^000000", "^FFD700Encantar com Ventania^000000", "^0000FFEncantar com Geada^000000", "^FF0000Encantar com Chama^000000", "^B8860BEncantar com Terremoto^000000"; setarray .elements, 26, 37, 144, 98, 97, 96, 99; bindatcmd "encantar","paytowinbuffs::OnBuffs",0,99; end; }
  8. That's a newer command. You need to update your emulator. Anyways I forgot makeitem is not permanent, so you might need to make some changes to the source and recompile. map.cpp Change: int map_addflooritem(struct item *item, int amount, int16 m, int16 x, int16 y, int first_charid, int second_charid, int third_charid, int flags, unsigned short mob_id, bool canShowEffect) { int r; struct flooritem_data *fitem = NULL; nullpo_ret(item); if (!(flags&4) && battle_config.item_onfloor && (itemdb_traderight(item->nameid)&1)) return 0; //can't be dropped if (!map_searchrandfreecell(m,&x,&y,flags&2?1:0)) return 0; r = rnd(); CREATE(fitem, struct flooritem_data, 1); fitem->bl.type=BL_ITEM; fitem->bl.prev = fitem->bl.next = NULL; fitem->bl.m=m; fitem->bl.x=x; fitem->bl.y=y; fitem->bl.id = map_get_new_object_id(); if (fitem->bl.id==0) { aFree(fitem); return 0; } fitem->first_get_charid = first_charid; fitem->first_get_tick = gettick() + (flags&1 ? battle_config.mvp_item_first_get_time : battle_config.item_first_get_time); fitem->second_get_charid = second_charid; fitem->second_get_tick = fitem->first_get_tick + (flags&1 ? battle_config.mvp_item_second_get_time : battle_config.item_second_get_time); fitem->third_get_charid = third_charid; fitem->third_get_tick = fitem->second_get_tick + (flags&1 ? battle_config.mvp_item_third_get_time : battle_config.item_third_get_time); fitem->mob_id = mob_id; memcpy(&fitem->item,item,sizeof(*item)); fitem->item.amount = amount; fitem->subx = (r&3)*3+3; fitem->suby = ((r>>2)&3)*3+3; fitem->cleartimer = add_timer(gettick()+battle_config.flooritem_lifetime,map_clearflooritem_timer,fitem->bl.id,0); map_addiddb(&fitem->bl); if (map_addblock(&fitem->bl)) return 0; clif_dropflooritem(fitem,canShowEffect); return fitem->bl.id; } to: int map_addflooritem(struct item *item, int amount, int16 m, int16 x, int16 y, int first_charid, int second_charid, int third_charid, int flags, unsigned short mob_id, bool canShowEffect, bool permanent) { int r; struct flooritem_data *fitem = NULL; nullpo_ret(item); if (!(flags&4) && battle_config.item_onfloor && (itemdb_traderight(item->nameid)&1)) return 0; //can't be dropped if (!map_searchrandfreecell(m,&x,&y,flags&2?1:0)) return 0; r = rnd(); CREATE(fitem, struct flooritem_data, 1); fitem->bl.type=BL_ITEM; fitem->bl.prev = fitem->bl.next = NULL; fitem->bl.m=m; fitem->bl.x=x; fitem->bl.y=y; fitem->bl.id = map_get_new_object_id(); if (fitem->bl.id==0) { aFree(fitem); return 0; } fitem->first_get_charid = first_charid; fitem->first_get_tick = gettick() + (flags&1 ? battle_config.mvp_item_first_get_time : battle_config.item_first_get_time); fitem->second_get_charid = second_charid; fitem->second_get_tick = fitem->first_get_tick + (flags&1 ? battle_config.mvp_item_second_get_time : battle_config.item_second_get_time); fitem->third_get_charid = third_charid; fitem->third_get_tick = fitem->second_get_tick + (flags&1 ? battle_config.mvp_item_third_get_time : battle_config.item_third_get_time); fitem->mob_id = mob_id; memcpy(&fitem->item,item,sizeof(*item)); fitem->item.amount = amount; fitem->subx = (r&3)*3+3; fitem->suby = ((r>>2)&3)*3+3; if(!permanent) fitem->cleartimer = add_timer(gettick()+battle_config.flooritem_lifetime,map_clearflooritem_timer,fitem->bl.id,0); map_addiddb(&fitem->bl); if (map_addblock(&fitem->bl)) return 0; clif_dropflooritem(fitem,canShowEffect); return fitem->bl.id; } map.hpp Change: int map_addflooritem(struct item *item, int amount, int16 m, int16 x, int16 y, int first_charid, int second_charid, int third_charid, int flags, unsigned short mob_id, bool canShowEffect = false); to: int map_addflooritem(struct item *item, int amount, int16 m, int16 x, int16 y, int first_charid, int second_charid, int third_charid, int flags, unsigned short mob_id, bool canShowEffect = false, bool permanent = false); script.cpp Change: BUILDIN_FUNC(makeitem) { uint16 nameid, amount, flag = 0, x, y; const char *mapname; int m; struct item item_tmp; struct script_data *data; data = script_getdata(st,2); get_val(st,data); if( data_isstring(data) ){ const char *name = conv_str(st,data); struct item_data *item_data = itemdb_searchname(name); if( item_data ) nameid = item_data->nameid; else nameid = UNKNOWN_ITEM_ID; } else nameid = conv_num(st,data); amount = script_getnum(st,3); mapname = script_getstr(st,4); x = script_getnum(st,5); y = script_getnum(st,6); if(strcmp(mapname,"this")==0) { TBL_PC *sd; if (!script_rid2sd(sd)) return SCRIPT_CMD_SUCCESS; //Failed... m = sd->bl.m; } else m = map_mapname2mapid(mapname); if(nameid<0) { nameid = -nameid; flag = 1; } if(nameid > 0) { memset(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid = nameid; if(!flag) item_tmp.identify = 1; else item_tmp.identify = itemdb_isidentified(nameid); map_addflooritem(&item_tmp,amount,m,x,y,0,0,0,4,0); } return SCRIPT_CMD_SUCCESS; } to: BUILDIN_FUNC(makeitem) { uint16 nameid, amount, flag = 0, x, y; bool permanent = false; const char *mapname; int m; struct item item_tmp; struct script_data *data; data = script_getdata(st,2); get_val(st,data); if( data_isstring(data) ){ const char *name = conv_str(st,data); struct item_data *item_data = itemdb_searchname(name); if( item_data ) nameid = item_data->nameid; else nameid = UNKNOWN_ITEM_ID; } else nameid = conv_num(st,data); amount = script_getnum(st,3); mapname = script_getstr(st,4); x = script_getnum(st,5); y = script_getnum(st,6); if(script_hasdata(st,7)) permanent = script_getnum(st,7) != 0; if(strcmp(mapname,"this")==0) { TBL_PC *sd; if (!script_rid2sd(sd)) return SCRIPT_CMD_SUCCESS; //Failed... m = sd->bl.m; } else m = map_mapname2mapid(mapname); if(nameid<0) { nameid = -nameid; flag = 1; } if(nameid > 0) { memset(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid = nameid; if(!flag) item_tmp.identify = 1; else item_tmp.identify = itemdb_isidentified(nameid); map_addflooritem(&item_tmp,amount,m,x,y,0,0,0,4,0,0,permanent); } return SCRIPT_CMD_SUCCESS; } Change: BUILDIN_DEF(makeitem,"visii"), to: BUILDIN_DEF(makeitem,"visii?"), Script: - script DB_Spawn -1,{ OnInit: .item_id = 512; setarray .maps$[0], "alb_ship", "alb2trea", "alberta", "alberta_in", "alde_dun01", "alde_dun02", "alde_dun03", "alde_dun04", "aldeba_in", "aldebaran", "anthell01", "anthell02", "arena_room", "c_tower1", "c_tower2", "c_tower3", "c_tower4", "force_1-1", "force_1-2", "force_1-3", "force_2-1", "force_2-2", "force_2-3", "force_3-1", "force_3-2", "force_3-3", "gef_dun00", "gef_dun01", "gef_dun02", "gef_dun03", "gef_fild00", "gef_fild01", "gef_fild02", "gef_fild03", "gef_fild04", "gef_fild05", "gef_fild06", "gef_fild07", "gef_fild08", "gef_fild09", "gef_fild10", "gef_fild11", "gef_fild12", "gef_fild13", "gef_fild14", "gef_tower", "geffen", "geffen_in", "gl_cas01", "gl_cas02", "gl_church", "gl_chyard", "gl_dun01", "gl_dun02", "gl_in01", "gl_knt01", "gl_knt02", "gl_prison", "gl_prison1", "gl_sew01", "gl_sew02", "gl_sew03", "gl_sew04", "gl_step", "glast_01", "hunter_1-1", "hunter_2-1", "hunter_3-1", "in_hunter", "in_moc_16", "in_orcs01", "in_sphinx1", "in_sphinx2", "in_sphinx3", "in_sphinx4", "in_sphinx5", "iz_dun00", "iz_dun01", "iz_dun02", "iz_dun03", "iz_dun04", "job_sword1", "izlu2dun", "izlude", "izlude_in", "job_thief1", "knight_1-1", "knight_2-1", "knight_3-1", "mjo_dun01", "mjo_dun02", "mjo_dun03", "mjolnir_01", "mjolnir_02", "mjolnir_03", "mjolnir_04", "mjolnir_05", "mjolnir_06", "mjolnir_07", "mjolnir_08", "mjolnir_09", "mjolnir_10", "mjolnir_11", "mjolnir_12", "moc_castle", "moc_fild01", "moc_fild02", "moc_fild03", "moc_fild04", "moc_fild05", "moc_fild06", "moc_fild07", "moc_fild08", "moc_fild09", "moc_fild10", "moc_fild11", "moc_fild12", "moc_fild13", "moc_fild14", "moc_fild15", "moc_fild16", "moc_fild17", "moc_fild18", "moc_fild19", "moc_pryd01", "moc_pryd02", "moc_pryd03", "moc_pryd04", "moc_pryd05", "moc_pryd06", "moc_prydb1", "moc_ruins", "monk_in", "morocc", "morocc_in", "new_1-1", "new_1-2", "new_1-3", "new_1-4", "new_2-1", "new_2-2", "new_2-3", "new_2-4", "new_3-1", "new_3-2", "new_3-3", "new_3-4", "new_4-1", "new_4-2", "new_4-3", "new_4-4", "new_5-1", "new_5-2", "new_5-3", "new_5-4", "orcsdun01", "orcsdun02", "ordeal_1-1", "ordeal_1-2", "ordeal_2-1", "ordeal_2-2", "ordeal_3-1", "ordeal_3-2", "pay_arche", "pay_dun00", "pay_dun01", "pay_dun02", "pay_dun03", "pay_dun04", "pay_fild01", "pay_fild02", "pay_fild03", "pay_fild04", "pay_fild05", "pay_fild06", "pay_fild07", "pay_fild08", "pay_fild09", "pay_fild10", "pay_fild11", "payon", "payon_in01", "payon_in02", "priest_1-1", "priest_2-1", "priest_3-1", "prontera", "prt_are_in", "prt_are01", "pvp_room", "prt_castle", "prt_church", "prt_fild00", "prt_fild01", "prt_fild02", "prt_fild03", "prt_fild04", "prt_fild05", "prt_fild06", "prt_fild07", "prt_fild08", "prt_fild09", "prt_fild10", "prt_fild11", "prt_in", "prt_maze01", "prt_maze02", "prt_maze03", "prt_monk", "prt_sewb1", "prt_sewb2", "prt_sewb3", "prt_sewb4", "pvp_2vs2", "pvp_c_room", "pvp_n_1-1", "pvp_n_1-2", "pvp_n_1-3", "pvp_n_1-4", "pvp_n_1-5", "pvp_n_2-1", "pvp_n_2-2", "pvp_n_2-3", "pvp_n_2-4", "pvp_n_2-5", "pvp_n_3-1", "pvp_n_3-2", "pvp_n_3-3", "pvp_n_3-4", "pvp_n_3-5", "pvp_n_4-1", "pvp_n_4-2", "pvp_n_4-3", "pvp_n_4-4", "pvp_n_4-5", "pvp_n_5-1", "pvp_n_5-2", "pvp_n_5-3", "pvp_n_5-4", "pvp_n_5-5", "pvp_n_6-1", "pvp_n_6-2", "pvp_n_6-3", "pvp_n_6-4", "pvp_n_6-5", "pvp_n_7-1", "pvp_n_7-2", "pvp_n_7-3", "pvp_n_7-4", "pvp_n_7-5", "pvp_n_8-1", "pvp_n_8-2", "pvp_n_8-3", "pvp_n_8-4", "pvp_n_8-5", "pvp_n_room", "pvp_y_1-1", "pvp_y_1-2", "pvp_y_1-3", "pvp_y_1-4", "pvp_y_1-5", "pvp_y_2-1", "pvp_y_2-2", "pvp_y_2-3", "pvp_y_2-4", "pvp_y_2-5", "pvp_y_3-1", "pvp_y_3-2", "pvp_y_3-3", "pvp_y_3-4", "pvp_y_3-5", "pvp_y_4-1", "pvp_y_4-2", "pvp_y_4-3", "pvp_y_4-4", "pvp_y_4-5", "pvp_y_5-1", "pvp_y_5-2", "pvp_y_5-3", "pvp_y_5-4", "pvp_y_5-5", "pvp_y_6-1", "pvp_y_6-2", "pvp_y_6-3", "pvp_y_6-4", "pvp_y_6-5", "pvp_y_7-1", "pvp_y_7-2", "pvp_y_7-3", "pvp_y_7-4", "pvp_y_7-5", "pvp_y_8-1", "pvp_y_8-2", "pvp_y_8-3", "pvp_y_8-4", "pvp_y_8-5", "pvp_y_room", "sword_1-1", "sword_2-1", "sword_3-1", "treasure01", "treasure02", "wizard_1-1", "wizard_2-1", "wizard_3-1", "xmas", "xmas_dun01", "xmas_dun02", "xmas_fild01", "xmas_in", "beach_dun", "beach_dun2", "beach_dun3", "cmd_fild01", "cmd_fild02", "cmd_fild03", "cmd_fild04", "cmd_fild05", "cmd_fild06", "cmd_fild07", "cmd_fild08", "cmd_fild09", "cmd_in01", "cmd_in02", "comodo", "quiz_00", "quiz_01", "g_room1-1", "g_room1-2", "g_room1-3", "g_room2", "tur_dun01", "tur_dun02", "tur_dun03", "tur_dun04", "tur_dun05", "tur_dun06", "alde_gld", "aldeg_cas01", "aldeg_cas02", "aldeg_cas03", "aldeg_cas04", "aldeg_cas05", "gefg_cas01", "gefg_cas02", "gefg_cas03", "gefg_cas04", "gefg_cas05", "gld_dun01", "gld_dun02", "gld_dun03", "gld_dun04", "guild_room", "guild_vs1", "guild_vs2", "guild_vs3", "guild_vs4", "guild_vs5", "guild_vs1-1", "guild_vs1-2", "guild_vs1-3", "guild_vs1-4", "guild_vs2-1", "guild_vs2-2", "job_hunte", "job_knt", "job_prist", "job_wiz", "pay_gld", "payg_cas01", "payg_cas02", "payg_cas03", "payg_cas04", "payg_cas05", "prt_gld", "prtg_cas01", "prtg_cas02", "prtg_cas03", "prtg_cas04", "prtg_cas05", "alde_alche", "in_rogue", "job_cru", "job_duncer", "job_monk", "job_sage", "mag_dun01", "mag_dun02", "monk_test", "quiz_test", "yuno", "yuno_fild01", "yuno_fild02", "yuno_fild03", "yuno_fild04", "yuno_in01", "yuno_in02", "yuno_in03", "yuno_in04", "yuno_in05", "ama_dun01", "ama_dun02", "ama_dun03", "ama_fild01", "ama_in01", "ama_in02", "ama_test", "amatsu", "gon_dun01", "gon_dun02", "gon_dun03", "gon_fild01", "gon_in", "gon_test", "gonryun", "sec_in01", "sec_in02", "sec_pri", "umbala", "um_dun01", "um_dun02", "um_fild01", "um_fild02", "um_fild03", "um_fild04", "um_in", "niflheim", "nif_fild01", "nif_fild02", "nif_in", "yggdrasil01", "valkyrie", "himinn", "lou_in01", "lou_in02", "lou_dun03", "lou_dun02", "lou_dun01", "lou_fild01", "louyang", "siege_test", "n_castle", "nguild_gef", "nguild_prt", "nguild_pay", "nguild_alde", "jawaii", "jawaii_in", "gefenia01", "gefenia02", "gefenia03", "gefenia04", "new_zone01", "new_zone02", "new_zone03", "new_zone04", "payon_in03", "ayothaya", "ayo_in01", "ayo_in02", "ayo_fild01", "ayo_fild02", "ayo_dun01", "ayo_dun02", "que_god01", "que_god02", "yuno_fild05", "yuno_fild07", "yuno_fild08", "yuno_fild09", "yuno_fild11", "yuno_fild12", "alde_tt02", "turbo_n_1", "turbo_n_4", "turbo_n_8", "turbo_n_16", "turbo_e_4", "turbo_e_8", "turbo_e_16", "turbo_room", "airplane", "airport", "einbech", "einbroch", "ein_dun01", "ein_dun02", "ein_fild06", "ein_fild07", "ein_fild08", "ein_fild09", "ein_fild10", "ein_in01", "que_sign01", "que_sign02", "ein_fild03", "ein_fild04", "lhz_fild02", "lhz_fild03", "yuno_pre", "lhz_fild01", "lighthalzen", "lhz_in01", "lhz_in02", "lhz_in03", "lhz_que01", "lhz_dun01", "lhz_dun02", "lhz_dun03", "lhz_cube", "juperos_01", "juperos_02", "jupe_area1", "jupe_area2", "jupe_core", "jupe_ele", "jupe_ele_r", "jupe_gate", "y_airport", "lhz_airport", "airplane_01", "jupe_cave", "quiz_02", "hu_fild07", "hu_fild05", "hu_fild04", "hu_fild01", "yuno_fild06", "job_soul", "job_star", "que_job01", "que_job02", "que_job03", "abyss_01", "abyss_02", "abyss_03", "thana_step", "thana_boss", "tha_scene01", "tha_t01", "tha_t02", "tha_t03", "tha_t04", "tha_t07", "tha_t05", "tha_t06", "tha_t08", "tha_t09", "tha_t10", "tha_t11", "tha_t12", "auction_01", "auction_02", "hugel", "hu_in01", "que_bingo", "que_hugel", "p_track01", "p_track02", "odin_tem01", "odin_tem02", "odin_tem03", "hu_fild02", "hu_fild03", "hu_fild06", "ein_fild01", "ein_fild02", "ein_fild05", "yuno_fild10", "kh_kiehl02", "kh_kiehl01", "kh_dun02", "kh_dun01", "kh_mansion", "kh_rossi", "kh_school", "kh_vila", "force_map1", "force_map2", "force_map3", "job_hunter", "job_knight", "job_priest", "job_wizard", "ve_in02", "rachel", "ra_in01", "ra_fild01", "ra_fild02", "ra_fild03", "ra_fild04", "ra_fild05", "ra_fild06", "ra_fild07", "ra_fild08", "ra_fild09", "ra_fild10", "ra_fild11", "ra_fild12", "ra_fild13", "ra_san01", "ra_san02", "ra_san03", "ra_san04", "ra_san05", "ra_temin", "ra_temple", "ra_temsky", "que_rachel", "ice_dun01", "ice_dun02", "ice_dun03", "ice_dun04", "que_thor", "thor_camp", "thor_v01", "thor_v02", "thor_v03", "veins", "ve_in", "ve_fild01", "ve_fild02", "ve_fild03", "ve_fild04", "ve_fild05", "ve_fild06", "ve_fild07", "poring_c01", "poring_c02", "que_ng", "nameless_i", "nameless_n", "nameless_in", "abbey01", "abbey02", "abbey03", "poring_w01", "poring_w02", "que_san04", "moscovia", "mosk_in", "mosk_ship", "mosk_fild01", "mosk_fild02", "mosk_dun01", "mosk_dun02", "mosk_dun03", "mosk_que", "force_4-1", "force_5-1", "06guild_r", "06guild_01", "06guild_02", "06guild_03", "06guild_04", "06guild_05", "06guild_06", "06guild_07", "06guild_08", "z_agit", "que_temsky", "itemmall", "bossnia_01", "bossnia_02", "bossnia_03", "bossnia_04", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05", "sch_gld", "cave", "moc_fild20", "moc_fild21", "moc_fild22", "que_ba", "que_moc_16", "que_moon", "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05", "aru_gld", "bat_room", "bat_a01", "bat_a02", "bat_b01", "bat_b02", "que_qsch01", "que_qsch02", "que_qsch03", "que_qsch04", "que_qsch05", "que_qaru01", "que_qaru02", "que_qaru03", "que_qaru04", "que_qaru05", "1@cata", "2@cata", "e_tower", "1@tower", "2@tower", "3@tower", "4@tower", "5@tower", "6@tower", "mid_camp", "mid_campin", "man_fild01", "man_fild03", "spl_fild02", "spl_fild03", "moc_fild22b", "que_dan01", "que_dan02", "schg_que01", "schg_dun01", "arug_que01", "arug_dun01", "1@orcs", "2@orcs", "1@nyd", "2@nyd", "nyd_dun01", "nyd_dun02", "manuk", "man_fild02", "man_in01", "splendide", "spl_fild01", "spl_in01", "spl_in02", "bat_c01", "bat_c02", "bat_c03", "moc_para01", "job3_arch01", "job3_arch02", "job3_arch03", "job3_guil01", "job3_guil02", "job3_guil03", "job3_rang01", "job3_rang02", "job3_rune01", "job3_rune02", "job3_rune03", "job3_war01", "job3_war02", "jupe_core2", "brasilis", "bra_in01", "bra_fild01", "bra_dun01", "bra_dun02", "dicastes01", "dicastes02", "dic_in01", "dic_fild01", "dic_fild02", "dic_dun01", "dic_dun02", "job3_gen01", "s_atelier", "job3_sha01", "mora", "bif_fild01", "bif_fild02", "1@mist", "dewata", "dew_in01", "dew_fild01", "dew_dun01", "dew_dun02", "que_house_s", "malangdo", "mal_in01", "mal_in02", "mal_dun01", "1@pump", "2@pump", "1@cash", "iz_dun05", "evt_mobroom", "alde_tt03", "dic_dun03", "1@lhz", "lhz_dun04", "que_lhz", "evt_swar_b", "evt_swar_r", "evt_swar_s", "evt_swar_t", "gld2_ald", "gld2_gef", "gld2_pay", "gld2_prt", "gld_dun01_2", "gld_dun02_2", "gld_dun03_2", "gld_dun04_2", "malaya", "job_ko", "ma_scene01", "1@ma_b", "1@ma_c", "1@ma_h", "ma_in01", "ma_dun01", "ma_fild01", "ma_fild02", "ma_zif01", "ma_zif02", "ma_zif03", "ma_zif04", "ma_zif05", "ma_zif06", "ma_zif07", "ma_zif08", "ma_zif09", "new_event", "eclage", "ecl_fild01", "ecl_tdun01", "ecl_tdun02", "ecl_tdun03", "ecl_tdun04", "que_avan01", "1@ecl", "ecl_in01", "ecl_in02", "ecl_in03", "ecl_in04", "ecl_hub01", "moc_prydn1", "moc_prydn2", "iz_ac01", "iz_ac02", "treasure_n1", "treasure_n2", "iz_int", "iz_ng01", "iz_int01", "iz_int02", "iz_int03", "iz_int04", "iz_ac01_a", "iz_ac02_a", "iz_ac01_b", "iz_ac02_b", "iz_ac01_c", "iz_ac02_c", "iz_ac01_d", "iz_ac02_d", "te_prtcas01", "te_prtcas02", "te_prtcas03", "te_prtcas04", "te_prtcas05", "te_aldecas1", "te_aldecas2", "te_aldecas3", "te_aldecas4", "te_aldecas5", "prt_fild08a", "prt_fild08b", "prt_fild08c", "prt_fild08d", "izlude_a", "izlude_b", "izlude_c", "izlude_d", "te_prt_gld", "te_alde_gld", "teg_dun01", "teg_dun02", "1@gl_k", "2@gl_k", "gl_chyard_", "gl_cas02_", "evt_bomb", "1@def01", "1@def02", "1@def03", "1@gef", "1@face", "1@sara", "1@gef_in", "dali", "dali02", "1@ge_st", "1@spa", "1@tnm1", "1@tnm2", "1@tnm3", "1@dth1", "1@dth2", "1@dth3", "1@eom", "1@jtb", "1@rev", "1@xm_d", "moro_cav", "moro_vol", "silk_lair", "c_tower2_", "c_tower3_", "1@mcd", "ver_eju", "ver_tunn", "verus03", "verus04", "job_gun", "1@air1", "1@air2", "1@glast", "lhz_dun_n", "lhz_d_n2", "1@gl_kh", "2@gl_kh", "1@lab", "1@uns", "un_bk_q", "un_bunker", "un_myst", "verus01", "verus02", "paramk", "1@infi", "1@ffp", "1@mir", "2@mir", "1@sthb", "1@sthc", "1@sthd", "prt_cas", "prt_cas_q", "prt_prison", "prt_lib", "prt_lib_q", "prt_q", "prt_pri00", "int_land", "int_land01", "int_land02", "int_land03", "int_land04", "lasagna", "lasa_fild01", "lasa_fild02", "lasa_dun01", "lasa_dun02", "lasa_dun03", "conch_in", "lasa_in01", "lasa_dun_q", "1@pop1", "1@pop2", "1@pop3", "1@slw", "1@swat", "que_swat", "slabw01", "rebel_in", "1@md_gef", "1@md_pay", "har_in01", "harboro1", "harboro2", "rockmi1", "rockmi2", "rockrdg1", "rockrdg2", "1@gl_k2", "2@gl_k2", "1@xm_d2", "pay_d03_i", "gef_d01_i", "ice_d03_i", "1@tre", "1@begi", "tur_d03_i", "tur_d04_i", "1@crd", "ordeal_a00", "ordeal_a02", "pprontera", "niflxmas", "sch_lab", "nakhyang", "lasa_sea", "1@drdo", "x_lhz", "x_prt", "x_ra", "prt_evt_in", "vis_h01", "vis_h02", "vis_h03", "vis_h04", "ein_d02_i", "com_d02_i", "1@soul", "star_frst", "star_in", "2009rwc_01", "2009rwc_02", "2009rwc_03", "2009rwc_04", "2009rwc_05", "2009rwc_06", "2009rwc_07", "2009rwc_08", "2009rwc_f01", "2012rwc_01", "2012rwc_02", "2012rwc_03", "2012rwc_04", "2012rwc_05", "2012rwc_06", "2012rwc_07", "2012rwc_08"; .map_size = getarraysize(.maps$); freeloop true; for(;.@i < .map_size;.@i++) { if(getmapusers(.maps$[.@i]) >= 0) { if(!getmapflag(.maps$[.@i],mf_nowarpto) && !getmapflag(.maps$[.@i],mf_nowarp) && !getmapflag(.maps$[.@i],mf_nopenalty) && !getmapflag(.maps$[.@i],mf_noskill) && mobcount(.maps$[.@i],"all")) continue; } deletearray .maps$[.@i],1; .@i--; .map_size--; } freeloop false; OnSpawn: copyarray .@maps$,.maps$,.map_size; for(.@i = 0;.@i < 7;.@i++) { .@r = rand(.map_size - .@i); .@map$ = .@maps$[.@r]; getfreecell .@map$,.@x,.@y; //makeitem .item_id + .@i,.@map$,.@x,.@y; makeitem .item_id,1,.@map$,.@x,.@y,true; deletearray .@maps$[.@r],1; debugmes "Dragon Ball "+(.@i + 1)+" location: "+.@map$+" "+.@x+" "+.@y+"."; } end; } prontera,100,100,4 script Dragon Ball 100,{ .@item_id = getvariableofnpc(.item_id,"DB_Spawn"); /* for(.@i = 0;.@i < 7;.@i++) { if(countitem(.@item_id + .@i)) .@n++; } if(.@n >= 7) { */ if(countitem(.@item_id) >= 7) { mes "You have all the balls!"; mes "Select your wish!"; switch(select("Kill everyone","Resurrect everyone","Be millionaire")) { case 1: freeloop true; .@oid = getcharid(3); .@n = getunits(BL_PC,.@player); for(.@i = 0;.@i < .@n;.@i++) { if(.@player[.@n] != .@oid) unitkill .@player[.@n]; } freeloop false; break; case 2: recovery 4,4; break; case 3: Zeny+= 700000000; break; } donpcevent "DB_Spawn::OnSpawn"; } else { mes "Dragon Balls are all around the world!"; } close; }
  9. You didn't have the last version. Anyways I tried to modify the current one with what you wanted: //===== rAthena Script ======================================= //= Warper //===== Description: ========================================= //= A complete - but very condensed - warper script. //===== Additional Comments: ================================= //= 1.0 Initial script By [Euphy]. //= 1.1 Added missing duplicates and fixed coordinates. //= Some coordinates written by [Tekno-Kanix] and [ToastOfDoom]. //= 1.2 Added new episodes and simplified functions. //= 1.3 Added Renewal checks and Instances menu. //= Aligned coordinates with @go. //= 1.4 Added new Guild Dungeons. //= 1.4a Slight edits. //= 1.4b Added Wolfchev's Laboratory warp. //= 1.5 Added Lasagna ,Para Market ,WOE TE ,Instances and settings [sader1992]. //= 1.5a Fix Bifrost Tower //============================================================ - script Warper -1,{ function Go; function Disp; function Pick; function Restrict; // -------------------------------------------------- // Main Menu: // -------------------------------------------------- menu "Last Warp ^777777["+lastwarp$+"]^000000",-, " ~ Towns",Towns, " ~ Fields",Fields, " ~ Dungeons",Dungeons, " ~ Guild Castles",Castles, " ~ Guild Dungeons",Guild_Dungeons, " ~ Instances",Instances, " ~ Special Areas",Special; if (lastwarp$ == "") message strcharinfo(0),"You haven't warped anywhere yet."; else { if(inarray(.blocked_maps$,lastwarp$) != -1) { lastwarp$ = ""; lastwarpx = 0; lastwarpy = 0; message strcharinfo(0),"That map was forbidden and is now deleted."; } else warp lastwarp$,lastwarpx,lastwarpy; } end; // ------------------- Functions ------------------- // * Go("<map>",<x>,<y>); // ~ Warps directly to a map. // // * Disp("<Menu Option>",<first option>,<last option>); // * Pick("<map_prefix>"{,<index offset>}); // ~ Dynamic menu and map selection (auto-numbered). // ~ Fields and Dungeons must use Disp and Pick Functions. // // * Disp("<Option 1>:<Option 2>:<etc.>"); // * Pick("","<map1>","<map2>","<etc.>"); // ~ Manual menu and map selection (listed). // // * Restrict("<RE | Pre-RE>"{,<menu option numbers>}); // ~ Only allows map for Renewal or Pre-Renewal modes. // If menu option numbers are given, only those maps // will be restricted (i.e. not for "Go"). // // Other notes: // ~ Array @c[] holds all (x,y) coordinates. // ~ Use @c[2] EXCEPT when maps begin dynamically // at 0: use @c[0] and Pick() offset 1. // -------------------------------------------------- function Go { if(inarray(.blocked_maps$,getarg(0)) != -1) { mes .block_message$; close; } else { set lastwarp$, getarg(0); set lastwarpx, getarg(1,0); set lastwarpy, getarg(2,0); warp getarg(0),getarg(1,0),getarg(2,0); } end; } function Disp { if (getargcount() < 3) set @menu$, getarg(0); else { set @menu$,""; for (set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1) set @menu$, @menu$+getarg(0)+" "+.@i+":"; } return; } function Pick { set .@warp_block,@warp_block; set @warp_block,0; if((@f && .OnlyFirstFld) || (@d && .OnlyFirstDun)){ set .@select,1; if(.@warp_block){ while(.@warp_block & (1<<.@select)){ .@select += 1; } } }else{ set .@select, select(@menu$); } if (getarg(0) == "") { set .@i, .@select; set .@map$, getarg(.@i); } else { set .@i, .@select-getarg(1,0); set .@map$, getarg(0)+((.@i<10)?"0":"")+.@i; } if (.@warp_block & (1<<.@select)) { message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal."; end; } set .@x, @c[.@i*2]; set .@y, @c[.@i*2+1]; deletearray @c[0],getarraysize(@c); @f = false; @d = false; Go(.@map$,.@x,.@y); } function Restrict { if ((getarg(0) == "RE" && !checkre(0)) || (getarg(0) == "Pre-RE" && checkre(0))) { if (getarg(1,0)) { set @warp_block,0; for (set .@i,1; .@i<getargcount(); set .@i,.@i+1) set @warp_block, @warp_block | (1<<getarg(.@i)); } else { message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal."; end; } } return; } // -------------------------------------------------- Towns: // -------------------------------------------------- menu "Prontera",T1, "Alberta",T2, "Aldebaran",T3, "Amatsu",T4, "Ayothaya",T5, "Brasilis",T6, "Comodo",T7, "Dewata",T8, "Eclage",T9, "Einbech",T10, "Einbroch",T11, "El Dicastes",T12, "Geffen",T13, "Gonryun",T14, "Hugel",T15, "Izlude",T16, "Jawaii",T17, "Lasagna",T18, "Lighthalzen",T19, "Louyang",T20, "Lutie",T21, "Malangdo",T22, "Malaya",T23, "Manuk",T24, "Midgarts Expedition Camp",T25, "Mora",T26, "Morroc",T27, "Moscovia",T28, "Nameless Island",T29, "Niflheim",T30, "Payon",T31, "Rachel",T32, "Splendide",T33, "Thor Camp",T34, "Umbala",T35, "Veins",T36, "Yuno",T37; T1: Go("prontera",155,183); T2: Go("alberta",28,234); T3: Go("aldebaran",140,131); T4: Go("amatsu",198,84); T5: Go("ayothaya",208,166); T6: Restrict("RE"); Go("brasilis",196,217); T7: Go("comodo",209,143); T8: Restrict("RE"); Go("dewata",200,180); T9: Restrict("RE"); Go("ecl_in01",48,53); T10: Go("einbech",63,35); T11: Go("einbroch",64,200); T12: Restrict("RE"); Go("dicastes01",198,187); T13: Go("geffen",119,59); T14: Go("gonryun",160,120); T15: Go("hugel",96,145); T16: Go("izlude",128,(checkre(3)?146:114)); T17: Go("jawaii",251,132); T18: Restrict("RE"); Go("lasagna",193,182); T19: Go("lighthalzen",158,92); T20: Go("louyang",217,100); T21: Go("xmas",147,134); T22: Restrict("RE"); Go("malangdo",140,114); T23: Restrict("RE"); Go("malaya",231,200); T24: Go("manuk",282,138); T25: Go("mid_camp",210,288); T26: Restrict("RE"); Go("mora",55,146); T27: Go("morocc",156,93); T28: Go("moscovia",223,184); T29: Go("nameless_n",256,215); T30: Go("niflheim",202,174); T31: Go("payon",179,100); T32: Go("rachel",130,110); T33: Go("splendide",201,147); T34: Go("thor_camp",246,68); T35: Go("umbala",97,153); T36: Go("veins",216,123); T37: Go("yuno",157,51); // -------------------------------------------------- Fields: // -------------------------------------------------- @f = true; menu "Amatsu Fields",F1, "Ayothaya Fields",F2, "Bifrost Fields", F3, "Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F6, "Eclage Fields",F7, "Einbroch Fields",F8, "El Dicastes Fields",F9, "Geffen Fields",F10, "Gonryun Fields",F11, "Hugel Fields",F12, "Lasagna Fields",F13, "Lighthalzen Fields",F14, "Louyang Field",F15, "Lutie Field",F16, "Malaya Fields",F17, "Manuk Fields",F18, "Mjolnir Fields",F19, "Moscovia Fields",F20, "Niflheim Fields",F21, "Payon Forests",F22, "Prontera Fields",F23, "Rachel Fields",F24, "Sograt Deserts",F25, "Splendide Fields",F26, "Umbala Fields",F27, "Veins Fields",F28, "Yuno Fields",F29; F1: setarray @c[2],190,197; Disp("Amatsu Field",1,1); Pick("ama_fild"); F2: setarray @c[2],173,134,212,150; Disp("Ayothaya Field",1,2); Pick("ayo_fild"); F3: Restrict("RE"); setarray @c[2],193,220,220,187; Disp("Bifrost Field",1,2); Pick("bif_fild"); F4: Restrict("RE"); setarray @c[2],74,32; Disp("Brasilis Field",1,1); Pick("bra_fild"); F5: Restrict("Pre-RE",5); setarray @c[2],180,178,231,160,191,172,228,194,224,203,190,223,234,177,194,175,172,172; Disp("Comodo Field",1,9); Pick("cmd_fild"); F6: Restrict("RE"); setarray @c[2],371,212; Disp("Dewata Field",1,1); Pick("dew_fild"); F7: Restrict("RE"); setarray @c[2],97,314; Disp("Eclage Field",1,1); Pick("ecl_fild"); F8: Restrict("Pre-RE",2,10); setarray @c[2],142,225,182,141,187,228,185,173,216,173,195,148,272,220,173,214,207,174,196,200; Disp("Einbroch Field",1,10); Pick("ein_fild"); F9: Restrict("RE"); setarray @c[2],143,132,143,217; Disp("El Dicastes Field",1,2); Pick("dic_fild"); F10: Restrict("Pre-RE",13,15); setarray @c[0],46,199,213,204,195,212,257,192,188,171,166,263,248,158,195,191,186,183,221,117,178,218,136,328,240,181,235,235,211,185; Disp("Geffen Field",0,14); Pick("gef_fild",1); F11: setarray @c[2],220,227; Disp("Gonryun Field",1,1); Pick("gon_fild"); F12: Restrict("Pre-RE",3,7); setarray @c[2],268,101,222,193,232,185,252,189,196,106,216,220,227,197; Disp("Hugel Field",1,7); Pick("hu_fild"); F13: Restrict("RE"); setarray @c[2],344,371,20,98; Disp("Lasagna Field",1,2); Pick("lasa_fild"); F14: setarray @c[2],240,179,185,235,240,226; Disp("Lighthalzen Field",1,3); Pick("lhz_fild"); F15: setarray @c[2],229,187; Disp("Louyang Field",1,1); Pick("lou_fild"); F16: setarray @c[2],115,145; Disp("Lutie Field",1,1); Pick("xmas_fild"); F17: Restrict("RE"); setarray @c[2],40,272,207,180; Disp("Malaya Field",1,2); Pick("ma_fild"); F18: setarray @c[2],35,236,35,262,84,365; Disp("Manuk Field",1,3); Pick("man_fild"); F19: setarray @c[2],204,120,175,193,208,213,179,180,181,240,195,270,235,202,188,215,205,144,245,223,180,206,196,208; Disp("Mjolnir Field",1,12); Pick("mjolnir_"); F20: setarray @c[2],82,104,131,147; Disp("Moscovia Field",1,2); Pick("mosk_fild"); F21: setarray @c[2],215,229,167,234; Disp("Niflheim Field",1,2); Pick("nif_fild"); F22: Restrict("Pre-RE",5,11); setarray @c[2],158,206,151,219,205,148,186,247,134,204,193,235,200,177,137,189,201,224,160,205,194,150; Disp("Payon Forest",1,11); Pick("pay_fild"); F23: setarray @c[0],208,227,190,206,240,206,190,143,307,252,239,213,185,188,193,194,187,218,210,183,195,149,198,164; Disp("Prontera Field",0,11); Pick("prt_fild",1); F24: Restrict("Pre-RE",2,7,9,10,11,13); setarray @c[2],192,162,235,166,202,206,202,208,225,202,202,214,263,196,217,201,87,121,277,181,221,185,175,200,174,197; Disp("Rachel Field",1,13); Pick("ra_fild"); F25: if(.Satan_Morroc){ setarray @c[2],219,205,177,206,194,182,224,170,198,216,156,187,185,263,206,228,208,238,209,223,85,97,207,202,31,195,38,195; Disp("Sograt Desert 1:Sograt Desert 2:Sograt Desert 3:Sograt Desert 7:Sograt Desert 11:Sograt Desert 12:Sograt Desert 13:Sograt Desert 16:Sograt Desert 17:Sograt Desert 18:Sograt Desert 19:Sograt Desert 20:Sograt Desert 21:Sograt Desert 22"); Pick("","moc_fild01","moc_fild02","moc_fild03","moc_fild07","moc_fild11","moc_fild12","moc_fild13","moc_fild16","moc_fild17","moc_fild18","moc_fild19","moc_fild20","moc_fild21","moc_fild22"); }else{ setarray @c[2],219,205,177,206,194,182,146,297,204,197,275,302,224,170,139,123,101,110,341,39,198,216,156,187,185,263,223,222,170,257,206,228,208,238,209,223,85,97; Disp("Sograt Desert",1,19); Pick("moc_fild"); } F26: setarray @c[2],175,186,236,184,188,204; Disp("Splendide Field",1,3); Pick("spl_fild"); F27: setarray @c[2],217,206,223,221,237,215,202,197; Disp("Umbala Field",1,4); Pick("um_fild"); F28: Restrict("Pre-RE",5); setarray @c[2],186,175,196,370,222,45,51,250,202,324,150,223,149,307; Disp("Veins Field",1,7); Pick("ve_fild"); F29: Restrict("Pre-RE",5,10); setarray @c[2],189,224,192,207,221,157,226,199,223,177,187,232,231,174,196,203,183,214,200,124,195,226,210,304; Disp("Yuno Field",1,12); Pick("yuno_fild"); // -------------------------------------------------- Dungeons: // -------------------------------------------------- @d = true; menu "Abyss Lakes",D1, "Amatsu Dungeon",D2, "Anthell",D3, "Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bifrost Tower",D42, "Bio Labs",D6, "Brasilis Dungeon",D7, "Byalan Dungeon",D8, "Clock Tower",D9, "Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D13, "Einbroch Dungeon",D14, "Gefenia",D15, "Geffen Dungeon",D16, "Glast Heim",D17, "Gonryun Dungeon",D18, "Hidden Dungeon",D19, "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Lasagna Dungeon",D23, "Louyang Dungeon",D24, "Magma Dungeon",D25, "Malangdo Dungeon",D26, "Moscovia Dungeon",D27, "Nidhogg's Dungeon",D28, "Odin Temple",D29, "Orc Dungeon",D30, "Payon Dungeon",D31, "Pyramids",D32, "Rachel Sanctuary",D33, "Scaraba Hole",D34, "Sphinx",D35, "Sunken Ship",D36, "Thanatos Tower",D37, "Thor Volcano",D38, "Toy Factory",D39, "Turtle Dungeon",D40, "Umbala Dungeon",D41; D1: setarray @c[2],261,272,275,270,116,27; Disp("Abyss Lakes",1,3); Pick("abyss_"); D2: setarray @c[2],228,11,34,41,119,14; Disp("Amatsu Dungeon",1,3); Pick("ama_dun"); D3: setarray @c[2],35,262,168,170; Disp("Anthell",1,2); Pick("anthell"); D4: setarray @c[2],275,19,24,26; Disp("Ancient Shrine Maze:Inside Ancient Shrine"); Pick("ayo_dun"); D5: setarray @c[2],266,67,255,244,23,260; Disp("Beach Dungeon",1,3); Pick("","beach_dun","beach_dun2","beach_dun3"); D6: Restrict("RE",4); setarray @c[2],150,288,150,18,140,134,244,52; Disp("Bio Lab",1,4); Pick("lhz_dun"); D7: Restrict("RE"); setarray @c[2],87,47,262,262; Disp("Brasilis Dungeon",1,2); Pick("bra_dun"); D8: Restrict("RE",6); setarray @c[0],168,168,253,252,236,204,32,63,26,27,141,187; Disp("Byalan Dungeon",1,6); Pick("iz_dun",1); D9: setarray @c[2],199,159,148,283,65,147,56,155,297,25,127,169,277,178,268,74; Disp("Clock Tower 1:Clock Tower 2:Clock Tower 3:Clock Tower 4:Basement 1:Basement 2:Basement 3:Basement 4"); Pick("","c_tower1","c_tower2","c_tower3","c_tower4","alde_dun01","alde_dun02","alde_dun03","alde_dun04"); D10: setarray @c[2],52,17,381,343,302,262; Disp("Coal Mines",1,3); Pick("mjo_dun"); D11: setarray @c[2],131,247,19,19,180,169,100,92; Disp("Culvert",1,4); Pick("","prt_sewb1","prt_sewb2","prt_sewb3","prt_sewb4"); D12: setarray @c[2],51,14,150,11,120,10; Disp("Cursed Abbey",1,3); Pick("abbey"); D13: Restrict("RE"); setarray @c[2],285,160,299,29; Disp("Dewata Dungeon",1,2); Pick("dew_dun"); D14: setarray @c[2],22,14,292,290; Disp("Einbroch Dungeon",1,2); Pick("ein_dun"); D15: setarray @c[2],40,103,203,34,266,168,130,272; Disp("Gefenia",1,4); Pick("gefenia",0); D16: setarray @c[0],104,99,115,236,106,132,203,200; Disp("Geffen Dungeon",1,4); Pick("gef_dun",1); D17: setarray @c[2],370,304,199,29,104,25,150,15,157,287,147,15,258,255,108,291,171,283,68,277,156,7,12,7,133,271,224,274,14,70,150,14; Disp("Entrance:Castle 1:Castle 2:Chivalry 1:Chivalry 2:Churchyard:Culvert 1:Culvert 2:Culvert 3:Culvert 4:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Cave 2:Underground Prison 1:Underground Prison 2"); Pick("","glast_01","gl_cas01","gl_cas02","gl_knt01","gl_knt02","gl_chyard","gl_sew01","gl_sew02","gl_sew03","gl_sew04","gl_church","gl_step","gl_dun01","gl_dun02","gl_prison","gl_prison1"); D18: setarray @c[2],153,53,28,113,68,16; Disp("Gonryun Dungeon",1,3); Pick("gon_dun"); D19: setarray @c[2],176,7,93,20,23,8; Disp("Hidden Dungeon",1,3); Pick("prt_maze"); D20: setarray @c[2],157,14,151,155,149,22,33,158; Disp("Ice Dungeon",1,4); Pick("ice_dun"); D21: setarray @c[2],140,51,53,247,37,63,150,285; Disp("Entrance:Juperos 1:Juperos 2:Core"); Pick("","jupe_cave","juperos_01","juperos_02","jupe_core"); D22: setarray @c[2],28,226,41,198; Disp("Kiel Dungeon",1,2); Pick("kh_dun"); D23: Restrict("RE"); setarray @c[2],24,143,22,171,190,18; Disp("Lasagna Dungeon",1,3); Pick("lasa_dun"); D24: setarray @c[2],218,196,282,20,165,38; Disp("The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun"); D25: setarray @c[2],126,68,47,30; Disp("Magma Dungeon",1,2); Pick("mag_dun"); D26: Restrict("RE"); setarray @c[2],33,230; Disp("Malangdo Dungeon",1,1); Pick("mal_dun"); D27: setarray @c[2],189,48,165,30,32,135; Disp("Moscovia Dungeon",1,3); Pick("mosk_dun"); D28: setarray @c[2],61,239,60,271; Disp("Nidhogg's Dungeon",1,2); Pick("nyd_dun"); D29: setarray @c[2],298,167,224,149,266,280; Disp("Odin Temple",1,3); Pick("odin_tem"); D30: setarray @c[2],32,170,21,185; Disp("Orc Dungeon",1,2); Pick("orcsdun"); D31: setarray @c[0],21,183,19,33,19,63,155,159,201,204; Disp("Payon Dungeon",1,5); Pick("pay_dun",1); D32: Restrict("RE",7,8); setarray @c[2],192,9,10,192,100,92,181,11,94,96,192,8,94,96,192,8; Disp("Pyramids 1:Pyramids 2:Pyramids 3:Pyramids 4:Basement 1:Basement 2:Basement 1 - Nightmare Mode:Basement 2 - Nightmare Mode"); Pick("","moc_pryd01","moc_pryd02","moc_pryd03","moc_pryd04","moc_pryd05","moc_pryd06","moc_prydn1","moc_prydn2"); D33: setarray @c[2],140,11,32,21,8,149,204,218,150,9; Disp("Rachel Sanctuary",1,5); Pick("ra_san"); D34: Restrict("RE"); setarray @c[2],364,44,101,141; Disp("Scaraba Hole",1,2); Pick("dic_dun"); D35: setarray @c[2],288,9,149,81,210,54,10,222,100,99; Disp("Sphinx",1,5); Pick("","in_sphinx1","in_sphinx2","in_sphinx3","in_sphinx4","in_sphinx5"); D36: setarray @c[2],69,24,102,27; Disp("Sunken Ship",1,2); Pick("treasure"); D37: setarray @c[2],150,39,150,136,220,158,59,143,62,11,89,221,35,166,93,148,29,107,159,138,19,20,130,52; Disp("Thanatos Tower",1,12); Pick("tha_t"); D38: setarray @c[2],21,228,75,205,34,272; Disp("Thor Volcano",1,3); Pick("thor_v"); D39: setarray @c[2],205,15,129,133; Disp("Toy Factory",1,2); Pick("xmas_dun"); D40: setarray @c[2],154,49,148,261,132,189,100,192; Disp("Entrance:Turtle Dungeon 1:Turtle Dungeon 2:Turtle Dungeon 3"); Pick("tur_dun"); D41: Restrict("Pre-RE",1,2); setarray @c[2],42,31,48,30,204,78; Disp("Carpenter's Shop in the Tree:Passage to a Foreign World:Hvergermil's Fountain"); Pick("","um_dun01","um_dun02","yggdrasil01"); D42: Restrict("RE"); setarray @c[2],57,13,64,88,45,14,26,23; Disp("Bifrost Tower",1,4); Pick("ecl_tdun"); // -------------------------------------------------- Castles: // -------------------------------------------------- menu "[FE] Aldebaran Castles",C1, "[FE] Geffen Castles",C2, "[FE] Payon Castles",C3, "[FE] Prontera Castles",C4, "[SE] Arunafeltz Castles",C5, "[SE] Schwaltzvalt Castles",C6, "[TE] Aldebaran Castles",C7, "[TE] Prontera Castles",C8; C1: setarray @c[2],48,83,95,249,142,85,239,242,264,90; Disp("Neuschwanstein:Hohenschwangau:Nuenberg:Wuerzburg:Rothenburg"); Pick("","alde_gld","alde_gld","alde_gld","alde_gld","alde_gld"); C2: setarray @c[2],214,75,308,240,143,240,193,278,305,87; Disp("Repherion:Eeyolbriggar:Yesnelph:Bergel:Mersetzdeitz"); Pick("","gef_fild13","gef_fild13","gef_fild13","gef_fild13","gef_fild13"); C3: setarray @c[2],121,233,295,116,317,293,140,160,204,266; Disp("Bright Arbor:Scarlet Palace:Holy Shadow:Sacred Altar:Bamboo Grove Hill"); Pick("","pay_gld","pay_gld","pay_gld","pay_gld","pay_gld"); C4: setarray @c[2],134,65,240,128,153,137,111,240,208,240; Disp("Kriemhild:Swanhild:Fadhgridh:Skoegul:Gondul"); Pick("","prt_gld","prt_gld","prt_gld","prt_gld","prt_gld"); C5: setarray @c[2],158,272,83,47,68,155,299,345,292,107; Disp("Mardol:Cyr:Horn:Gefn:Banadis"); Pick("","aru_gld","aru_gld","aru_gld","aru_gld","aru_gld"); C6: setarray @c[2],293,100,288,252,97,196,137,90,71,315; Disp("Himinn:Andlangr:Viblainn:Hljod:Skidbladnir"); Pick("","sch_gld","sch_gld","sch_gld","sch_gld","sch_gld"); C7: Restrict("RE"); setarray @c[2],48,83,95,249,142,85,239,242,264,90; Disp("Kafragarten 1:Kafragarten 2:Kafragarten 3:Kafragarten 4:Kafragarten 5"); Pick("","te_alde_gld","te_alde_gld","te_alde_gld","te_alde_gld","te_alde_gld"); C8: Restrict("RE"); setarray @c[2],134,65,240,128,153,137,111,240,208,240; Disp("Gloria 1:Gloria 2:Gloria 3:Gloria 4:Gloria 5"); Pick("","te_prt_gld","te_prt_gld","te_prt_gld","te_prt_gld","te_prt_gld"); // -------------------------------------------------- Guild_Dungeons: // -------------------------------------------------- menu "Baldur",G1, "Luina",G2, "Valkyrie",G3, "Britoniah",G4, "Arunafeltz",G5, "Schwaltzvalt",G6, "Kafragarten",G7, "Gloria",G8; G1: Restrict("RE",2,3); setarray @c[2],119,93,119,93,120,130; Disp("Baldur F1:Baldur F2:Hall of Abyss"); Pick("","gld_dun01","gld_dun01_2","gld2_pay"); G2: Restrict("RE",2,3); setarray @c[2],39,161,39,161,147,155; Disp("Luina F1:Luina F2:Hall of Abyss"); Pick("","gld_dun02","gld_dun02_2","gld2_ald"); G3: Restrict("RE",2,3); setarray @c[2],50,44,50,44,140,132; Disp("Valkyrie F1:Valkyrie F2:Hall of Abyss"); Pick("","gld_dun03","gld_dun03_2","gld2_prt"); G4: Restrict("RE",2,3); setarray @c[2],116,45,116,45,152,118; Disp("Britoniah F1:Britoniah F2:Hall of Abyss"); Pick("","gld_dun04","gld_dun04_2","gld2_gef"); G5: Go("arug_dun01",199,195); G6: Go("schg_dun01",200,124); G7: Restrict("RE"); Go("teg_dun01",42,36); G8: Restrict("RE"); Go("teg_dun02",26,160); // -------------------------------------------------- Instances: // -------------------------------------------------- menu "Bakonawa Lake",I1, "Bangungot Hospital 2F",I2, "Buwaya Cave",I3, "Devil Tower",I4, "Eclage Interior",I5, "Endless Tower",I6, "Faceworms Nest",I7, "Geffen Magic Tournament",I8, "Ghost Palace",I9, "Hazy Forest",I10, "Horror Toy Factory",I11, "Malangdo Culvert",I12, "Nidhoggur's Nest",I13, "Octopus Cave",I14, "Old Glast Heim",I15, "Orc's Memory",I16, "Sarah and Fenrir",I17, "Sara Memory",I18, "Sealed Shrine",I19, "Wolfchev's Laboratory",I20; I1: Restrict("RE"); Go("ma_scene01",172,175); I2: Restrict("RE"); Go("ma_dun01",151,8); I3: Restrict("RE"); Go("ma_fild02",316,317); I4: Restrict("RE"); Go("dali02",137,115); I5: Restrict("RE"); Go("ecl_hub01",129,12); I6: Go("e_tower",72,112); I7: Restrict("RE"); Go("dali",85,64); I8: Restrict("RE"); Go("dali",94,141); I9: Restrict("RE"); Go("dali02",46,128); I10: Restrict("RE"); Go("bif_fild01",161,334); I11: Restrict("RE"); Go("xmas",234,298); I12: Restrict("RE"); Go("mal_in01",164,21); I13: Go("nyd_dun02",95,193); I14: Restrict("RE"); Go("mal_dun01",152,230); I15: Restrict("RE"); Go("glast_01",204,268); I16: Go("gef_fild10",240,198); I17: Restrict("RE"); Go("dali02",92,141); I18: Restrict("RE"); Go("dali",133,108); I19: Go("monk_test",306,143); I20: Restrict("RE"); Go("lhz_dun04",148,269); // -------------------------------------------------- Special: // -------------------------------------------------- menu "Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Dimensional Rift",S4, "Eden Group Headquarters",S5, "Gonryun Arena",S6, "Izlude Arena",S7, "Monster Race Arena",S8, "Para Market",S9, "Turbo Track",S10; S1: Go("auction_01",22,68); S2: Go("bat_room",154,150); S3: Go("cmd_in02",179,129); S4: Restrict("RE"); Go("dali",113,82); S5: Restrict("RE"); Go("moc_para01",31,14); S6: Go("gon_test",48,10); S7: Go("arena_room",100,88); S8: Go("p_track01",62,41); S9: Restrict("RE"); Go("paramk",97,17); S10: Go("turbo_room",99,114); OnInit: .Satan_Morroc = true; // false will enable moc_fild 4,5,6,8,9,10,14,15 while disable moc_fild 20,21,22 Default is true. .OnlyFirstFld = false; // true will teleport to the first level of the Fields Default is false. .OnlyFirstDun = false; // true will teleport to the first level of the Dungeons Default is false. setarray .blocked_maps$,"mjolnir_04","ra_fild02","ra_fild03","ra_fild04","ra_fild05","ve_fild02","moc_pryd06","yuno_fild05","abbey03","abbey03","lou_dun03","prt_maze03","prt_sewb4","abbey02","xmas_dun02","yuno_fild03","abyss_03","pay_fild04","gld_dun02","gef_dun02","gef_dun01","treasure02","pay_fild11","in_sphinx5","pay_dun04","tur_dun04","lhz_dun02","gld_dun04","pay_fild04","mosk_dun03","xmas_fild01","ice_dun03","kh_dun02","ayo_dun02","anthell02","gld_dun03","anthell01","gef_fild14","gef_fild02","gef_fild10","moc_pryd04","moc_fild17","gl_cas02","gef_dun03","ein_dun02","ra_san05","ama_dun03","moc_fild21","moc_fild22","niflheim","gef_dun03","gl_chyard","gon_dun03","beach_dun","odin_tem03","odin_tem02","jupe_core","mosk_dun03","lhz_dun03","lhz_dun04"; // Example: setarray .blocked_maps$,"prontera","Alberta",Aldebaran"; .block_message$ = "^FF0000Eu não consigo te teleportar para mapas de MVPs!!!^000000"; } // -------------------------------------------------- // Duplicates: // -------------------------------------------------- alb2trea,57,70,6 duplicate(Warper) Warper#tre 811 alberta,28,240,4 duplicate(Warper) Warper#alb 811 aldebaran,145,118,4 duplicate(Warper) Warper#alde 811 amatsu,203,87,4 duplicate(Warper) Warper#ama 811 ayothaya,209,169,6 duplicate(Warper) Warper#ayo 811 comodo,194,158,4 duplicate(Warper) Warper#com 811 einbech,59,38,6 duplicate(Warper) Warper#einbe 811 einbroch,69,202,4 duplicate(Warper) Warper#einbr 811 gef_fild10,71,339,4 duplicate(Warper) Warper#orc 811 geffen,124,72,4 duplicate(Warper) Warper#gef 811 glast_01,372,308,4 duplicate(Warper) Warper#glh 811 gonryun,162,122,4 duplicate(Warper) Warper#gon 811 hugel,101,151,4 duplicate(Warper) Warper#hug 811 izlu2dun,110,92,4 duplicate(Warper) Warper#izd 811 izlude,134,150,4 duplicate(Warper) Warper#izl 811 //Pre-RE: (132,120) jawaii,253,138,4 duplicate(Warper) Warper#jaw 811 lighthalzen,162,102,4 duplicate(Warper) Warper#lhz 811 louyang,208,103,6 duplicate(Warper) Warper#lou 811 manuk,274,146,6 duplicate(Warper) Warper#man 811 mid_camp,216,288,4 duplicate(Warper) Warper#mid 811 mjolnir_02,85,364,4 duplicate(Warper) Warper#mjo 811 moc_ruins,64,164,4 duplicate(Warper) Warper#moc 811 morocc,159,97,4 duplicate(Warper) Warper#mor 811 moscovia,229,191,4 duplicate(Warper) Warper#mos 811 nameless_n,259,213,4 duplicate(Warper) Warper#nam 811 niflheim,205,179,4 duplicate(Warper) Warper#nif 811 pay_arche,42,134,4 duplicate(Warper) Warper#arc 811 payon,182,108,4 duplicate(Warper) Warper#pay 811 prontera,159,192,4 duplicate(Warper) Warper#prt 811 prt_fild05,279,223,6 duplicate(Warper) Warper#cul 811 rachel,135,116,4 duplicate(Warper) Warper#rac 811 splendide,205,153,4 duplicate(Warper) Warper#spl 811 thor_camp,249,76,4 duplicate(Warper) Warper#thor 811 umbala,106,150,3 duplicate(Warper) Warper#umb 811 veins,214,123,4 duplicate(Warper) Warper#ve 811 xmas,150,136,6 duplicate(Warper) Warper#xmas 811 yuno,162,47,4 duplicate(Warper) Warper#yuno 811 // -------------------------------------------------- // Duplicates (Renewal): // -------------------------------------------------- brasilis,201,222,4 duplicate(Warper) Warper#bra 811 dewata,204,186,6 duplicate(Warper) Warper#dew 811 dicastes01,194,194,6 duplicate(Warper) Warper#dic 811 ecl_in01,51,60,4 duplicate(Warper) Warper#ecl 811 lasagna,196,187,4 duplicate(Warper) Warper#las 811 malangdo,134,117,6 duplicate(Warper) Warper#mal 811 malaya,231,204,4 duplicate(Warper) Warper#ma 811 mora,57,152,4 duplicate(Warper) Warper#mora 811 If it doesn't work try with a current rAthena, since the inarray command was bugged in some revisions with strings.
  10. n0tttt

    Woe Error

    Change the reward to this command instead: *mail <destination id>,"<sender name>","<title>","<body>"{,<zeny>{,<item id array>,<item amount array>{,<item card0 array>{,<item card1 array>{,<item card2 array>{,<item card3 array> {,<random option id0 array>, <random option value0 array>, <random option paramter0 array>{,<random option id1 array>, <random option value1 array>, <random option paramter1 array> {,<random option id2 array>, <random option value2 array>, <random option paramter2 array>{,<random option id3 array>, <random option value3 array>, <random option paramter3 array> {,<random option id4 array>, <random option value4 array>, <random option paramter4 array>}}}}}}}; This command will send mail to the <destination id> which is a character ID. A <sender name> can be specified but does not have to be from the direct creator of the mail and is limited to NAME_LENGTH (24) characters. Mail <title> is limited to MAIL_TITLE_LENGTH (40) characters. Mail <body> is limited to MAIL_BODY_LENGTH (200) characters for PACKETVER < 20150513 or 500 characters for later clients. Optional <zeny> and item data can be added to the mail as well. PACKETVER < 20150513 is limited to 1 item while later clients are limited to MAIL_MAX_ITEM (5). The <item id array>, <item amount array>, <item card0 array>, <item card1 array>, <item card2 array>, and <item card3 array> should all be integer arrays. For random options there can be 5 arrays in pairs of 3 (ids, values, parameters) right after the cards. All of these arrays shall be integer arrays as well. Example of sending mail with zeny: .@charid = getcharid(0); .@sender$ = "Poring"; .@title$ = "Welcome"; .@body$ = "Hi! I'm a simple Poring from the Prontera fields! Welcome to Ragnarok!"; .@zeny = 5000; mail .@charid, .@sender$, .@title$, .@body$, .@zeny; Example of sending mail with items: .@charid = getcharid(0); .@sender$ = "Angeling"; .@title$ = "Welcome"; .@body$ = "Hi! I'm a simple Angeling from the Prontera fields! Welcome to Ragnarok!"; .@zeny = 0; setarray .@mailitem[0], 504, 505, 2220, 1214; // White Potion, Blue Potion, Hat, Dagger setarray .@mailamount[0], 10, 5, 1, 1; // 10 White Potions, 5 Blue Potions, 1 Hat, 1 Dagger setarray .@mailcard0[0], 0, 0, 4198, 4092; // Attach Maya Purple Card to the Hat, Attach Skeleton Worker Card to Dagger setarray .@mailcard1[0], 0, 0, 0, 4092; // Attach Skeleton Worker Card to Dagger setarray .@mailcard2[0], 0, 0, 0, 4092; // Attach Skeleton Worker Card to Dagger mail .@charid, .@sender$, .@title$, .@body$, .@zeny, .@mailitem, .@mailamount, .@mailcard0, .@mailcard1, .@mailcard2; Example of sending mail with items and random options: .@charid = getcharid(0); .@sender$ = "Angeling"; .@title$ = "Welcome"; .@body$ = "Hi! I'm a simple Angeling from the Prontera fields! Welcome to Ragnarok!"; .@zeny = 0; setarray .@mailitem[0], 504, 505, 2220, 1214; // White Potion, Blue Potion, Hat, Dagger setarray .@mailamount[0], 10, 5, 1, 1; // 10 White Potions, 5 Blue Potions, 1 Hat, 1 Dagger setarray .@mailcard0[0], 0, 0, 4198, 4092; // Attach Maya Purple Card to the Hat, Attach Skeleton Worker Card to Dagger setarray .@mailcard1[0], 0, 0, 0, 4092; // Attach Skeleton Worker Card to Dagger setarray .@mailcard2[0], 0, 0, 0, 4092; // Attach Skeleton Worker Card to Dagger setarray .@mailcard3[0], 0, 0, 0, 0; // Empty last slot setarray .@mailrndopt_id0[0], 0, 0, 0, 0, RDMOPT_VAR_MAXHPAMOUNT; // Enchant the Dagger with increased HP option setarray .@mailrndopt_val0[0], 0, 0, 0, 0, 1000; // Enchant the Dagger with increased HP option by 1000 points setarray .@mailrndopt_prm0[0], 0, 0, 0, 0, 0; // Enchant the Dagger with increased HP option - does not need any parameter mail .@charid, .@sender$, .@title$, .@body$, .@zeny, .@mailitem, .@mailamount, .@mailcard0, .@mailcard1, .@mailcard2, .@mailcard3, .@mailrndopt_id0, .@mailrndopt_val0, .@mailrndopt_prm0; And the rest, we can't know if we don't see the script.
  11. Haven't seen such a script but it seems fun. I've done something, hope it helps you: - script DB_Spawn -1,{ OnInit: .item_id = 512; setarray .maps$[0], "alb_ship", "alb2trea", "alberta", "alberta_in", "alde_dun01", "alde_dun02", "alde_dun03", "alde_dun04", "aldeba_in", "aldebaran", "anthell01", "anthell02", "arena_room", "c_tower1", "c_tower2", "c_tower3", "c_tower4", "force_1-1", "force_1-2", "force_1-3", "force_2-1", "force_2-2", "force_2-3", "force_3-1", "force_3-2", "force_3-3", "gef_dun00", "gef_dun01", "gef_dun02", "gef_dun03", "gef_fild00", "gef_fild01", "gef_fild02", "gef_fild03", "gef_fild04", "gef_fild05", "gef_fild06", "gef_fild07", "gef_fild08", "gef_fild09", "gef_fild10", "gef_fild11", "gef_fild12", "gef_fild13", "gef_fild14", "gef_tower", "geffen", "geffen_in", "gl_cas01", "gl_cas02", "gl_church", "gl_chyard", "gl_dun01", "gl_dun02", "gl_in01", "gl_knt01", "gl_knt02", "gl_prison", "gl_prison1", "gl_sew01", "gl_sew02", "gl_sew03", "gl_sew04", "gl_step", "glast_01", "hunter_1-1", "hunter_2-1", "hunter_3-1", "in_hunter", "in_moc_16", "in_orcs01", "in_sphinx1", "in_sphinx2", "in_sphinx3", "in_sphinx4", "in_sphinx5", "iz_dun00", "iz_dun01", "iz_dun02", "iz_dun03", "iz_dun04", "job_sword1", "izlu2dun", "izlude", "izlude_in", "job_thief1", "knight_1-1", "knight_2-1", "knight_3-1", "mjo_dun01", "mjo_dun02", "mjo_dun03", "mjolnir_01", "mjolnir_02", "mjolnir_03", "mjolnir_04", "mjolnir_05", "mjolnir_06", "mjolnir_07", "mjolnir_08", "mjolnir_09", "mjolnir_10", "mjolnir_11", "mjolnir_12", "moc_castle", "moc_fild01", "moc_fild02", "moc_fild03", "moc_fild04", "moc_fild05", "moc_fild06", "moc_fild07", "moc_fild08", "moc_fild09", "moc_fild10", "moc_fild11", "moc_fild12", "moc_fild13", "moc_fild14", "moc_fild15", "moc_fild16", "moc_fild17", "moc_fild18", "moc_fild19", "moc_pryd01", "moc_pryd02", "moc_pryd03", "moc_pryd04", "moc_pryd05", "moc_pryd06", "moc_prydb1", "moc_ruins", "monk_in", "morocc", "morocc_in", "new_1-1", "new_1-2", "new_1-3", "new_1-4", "new_2-1", "new_2-2", "new_2-3", "new_2-4", "new_3-1", "new_3-2", "new_3-3", "new_3-4", "new_4-1", "new_4-2", "new_4-3", "new_4-4", "new_5-1", "new_5-2", "new_5-3", "new_5-4", "orcsdun01", "orcsdun02", "ordeal_1-1", "ordeal_1-2", "//ordeal_1-3", "//ordeal_1-4", "ordeal_2-1", "ordeal_2-2", "//ordeal_2-3", "//ordeal_2-4", "ordeal_3-1", "ordeal_3-2", "//ordeal_3-3", "//ordeal_3-4", "pay_arche", "pay_dun00", "pay_dun01", "pay_dun02", "pay_dun03", "pay_dun04", "pay_fild01", "pay_fild02", "pay_fild03", "pay_fild04", "pay_fild05", "pay_fild06", "pay_fild07", "pay_fild08", "pay_fild09", "pay_fild10", "pay_fild11", "payon", "payon_in01", "payon_in02", "priest_1-1", "priest_2-1", "priest_3-1", "prontera", "prt_are_in", "prt_are01", "pvp_room", "prt_castle", "prt_church", "prt_fild00", "prt_fild01", "prt_fild02", "prt_fild03", "prt_fild04", "prt_fild05", "prt_fild06", "prt_fild07", "prt_fild08", "prt_fild09", "prt_fild10", "prt_fild11", "prt_in", "prt_maze01", "prt_maze02", "prt_maze03", "prt_monk", "prt_sewb1", "prt_sewb2", "prt_sewb3", "prt_sewb4", "pvp_2vs2", "pvp_c_room", "pvp_n_1-1", "pvp_n_1-2", "pvp_n_1-3", "pvp_n_1-4", "pvp_n_1-5", "pvp_n_2-1", "pvp_n_2-2", "pvp_n_2-3", "pvp_n_2-4", "pvp_n_2-5", "pvp_n_3-1", "pvp_n_3-2", "pvp_n_3-3", "pvp_n_3-4", "pvp_n_3-5", "pvp_n_4-1", "pvp_n_4-2", "pvp_n_4-3", "pvp_n_4-4", "pvp_n_4-5", "pvp_n_5-1", "pvp_n_5-2", "pvp_n_5-3", "pvp_n_5-4", "pvp_n_5-5", "pvp_n_6-1", "pvp_n_6-2", "pvp_n_6-3", "pvp_n_6-4", "pvp_n_6-5", "pvp_n_7-1", "pvp_n_7-2", "pvp_n_7-3", "pvp_n_7-4", "pvp_n_7-5", "pvp_n_8-1", "pvp_n_8-2", "pvp_n_8-3", "pvp_n_8-4", "pvp_n_8-5", "pvp_n_room", "pvp_y_1-1", "pvp_y_1-2", "pvp_y_1-3", "pvp_y_1-4", "pvp_y_1-5", "pvp_y_2-1", "pvp_y_2-2", "pvp_y_2-3", "pvp_y_2-4", "pvp_y_2-5", "pvp_y_3-1", "pvp_y_3-2", "pvp_y_3-3", "pvp_y_3-4", "pvp_y_3-5", "pvp_y_4-1", "pvp_y_4-2", "pvp_y_4-3", "pvp_y_4-4", "pvp_y_4-5", "pvp_y_5-1", "pvp_y_5-2", "pvp_y_5-3", "pvp_y_5-4", "pvp_y_5-5", "pvp_y_6-1", "pvp_y_6-2", "pvp_y_6-3", "pvp_y_6-4", "pvp_y_6-5", "pvp_y_7-1", "pvp_y_7-2", "pvp_y_7-3", "pvp_y_7-4", "pvp_y_7-5", "pvp_y_8-1", "pvp_y_8-2", "pvp_y_8-3", "pvp_y_8-4", "pvp_y_8-5", "pvp_y_room", "sword_1-1", "sword_2-1", "sword_3-1", "treasure01", "treasure02", "wizard_1-1", "wizard_2-1", "wizard_3-1", "xmas", "xmas_dun01", "xmas_dun02", "xmas_fild01", "xmas_in", "beach_dun", "beach_dun2", "beach_dun3", "cmd_fild01", "cmd_fild02", "cmd_fild03", "cmd_fild04", "cmd_fild05", "cmd_fild06", "cmd_fild07", "cmd_fild08", "cmd_fild09", "cmd_in01", "cmd_in02", "comodo", "quiz_00", "quiz_01", "g_room1-1", "g_room1-2", "g_room1-3", "g_room2", "tur_dun01", "tur_dun02", "tur_dun03", "tur_dun04", "tur_dun05", "tur_dun06", "alde_gld", "aldeg_cas01", "aldeg_cas02", "aldeg_cas03", "aldeg_cas04", "aldeg_cas05", "gefg_cas01", "gefg_cas02", "gefg_cas03", "gefg_cas04", "gefg_cas05", "gld_dun01", "gld_dun02", "gld_dun03", "gld_dun04", "guild_room", "guild_vs1", "guild_vs2", "guild_vs3", "guild_vs4", "guild_vs5", "guild_vs1-1", "guild_vs1-2", "guild_vs1-3", "guild_vs1-4", "guild_vs2-1", "guild_vs2-2", "job_hunte", "job_knt", "job_prist", "job_wiz", "pay_gld", "payg_cas01", "payg_cas02", "payg_cas03", "payg_cas04", "payg_cas05", "prt_gld", "prtg_cas01", "prtg_cas02", "prtg_cas03", "prtg_cas04", "prtg_cas05", "alde_alche", "in_rogue", "job_cru", "job_duncer", "job_monk", "job_sage", "mag_dun01", "mag_dun02", "monk_test", "quiz_test", "yuno", "yuno_fild01", "yuno_fild02", "yuno_fild03", "yuno_fild04", "yuno_in01", "yuno_in02", "yuno_in03", "yuno_in04", "yuno_in05", "ama_dun01", "ama_dun02", "ama_dun03", "ama_fild01", "ama_in01", "ama_in02", "ama_test", "amatsu", "gon_dun01", "gon_dun02", "gon_dun03", "gon_fild01", "gon_in", "gon_test", "gonryun", "sec_in01", "sec_in02", "sec_pri", "umbala", "um_dun01", "um_dun02", "um_fild01", "um_fild02", "um_fild03", "um_fild04", "um_in", "niflheim", "nif_fild01", "nif_fild02", "nif_in", "yggdrasil01", "valkyrie", "himinn", "lou_in01", "lou_in02", "lou_dun03", "lou_dun02", "lou_dun01", "lou_fild01", "louyang", "siege_test", "n_castle", "nguild_gef", "nguild_prt", "nguild_pay", "nguild_alde", "jawaii", "jawaii_in", "gefenia01", "gefenia02", "gefenia03", "gefenia04", "new_zone01", "new_zone02", "new_zone03", "new_zone04", "payon_in03", "ayothaya", "ayo_in01", "ayo_in02", "ayo_fild01", "ayo_fild02", "ayo_dun01", "ayo_dun02", "que_god01", "que_god02", "yuno_fild05", "yuno_fild07", "yuno_fild08", "yuno_fild09", "yuno_fild11", "yuno_fild12", "alde_tt02", "turbo_n_1", "turbo_n_4", "turbo_n_8", "turbo_n_16", "turbo_e_4", "turbo_e_8", "turbo_e_16", "turbo_room", "airplane", "airport", "einbech", "einbroch", "ein_dun01", "ein_dun02", "ein_fild06", "ein_fild07", "ein_fild08", "ein_fild09", "ein_fild10", "ein_in01", "que_sign01", "que_sign02", "ein_fild03", "ein_fild04", "lhz_fild02", "lhz_fild03", "yuno_pre", "lhz_fild01", "lighthalzen", "lhz_in01", "lhz_in02", "lhz_in03", "lhz_que01", "lhz_dun01", "lhz_dun02", "lhz_dun03", "lhz_cube", "juperos_01", "juperos_02", "jupe_area1", "jupe_area2", "jupe_core", "jupe_ele", "jupe_ele_r", "jupe_gate", "y_airport", "lhz_airport", "airplane_01", "jupe_cave", "quiz_02", "hu_fild07", "hu_fild05", "hu_fild04", "hu_fild01", "yuno_fild06", "job_soul", "job_star", "que_job01", "que_job02", "que_job03", "abyss_01", "abyss_02", "abyss_03", "thana_step", "thana_boss", "tha_scene01", "tha_t01", "tha_t02", "tha_t03", "tha_t04", "tha_t07", "tha_t05", "tha_t06", "tha_t08", "tha_t09", "tha_t10", "tha_t11", "tha_t12", "auction_01", "auction_02", "hugel", "hu_in01", "que_bingo", "que_hugel", "p_track01", "p_track02", "odin_tem01", "odin_tem02", "odin_tem03", "hu_fild02", "hu_fild03", "hu_fild06", "ein_fild01", "ein_fild02", "ein_fild05", "yuno_fild10", "kh_kiehl02", "kh_kiehl01", "kh_dun02", "kh_dun01", "kh_mansion", "kh_rossi", "kh_school", "kh_vila", "force_map1", "force_map2", "force_map3", "job_hunter", "job_knight", "job_priest", "job_wizard", "ve_in02", "rachel", "ra_in01", "ra_fild01", "ra_fild02", "ra_fild03", "ra_fild04", "ra_fild05", "ra_fild06", "ra_fild07", "ra_fild08", "ra_fild09", "ra_fild10", "ra_fild11", "ra_fild12", "ra_fild13", "ra_san01", "ra_san02", "ra_san03", "ra_san04", "ra_san05", "ra_temin", "ra_temple", "ra_temsky", "que_rachel", "ice_dun01", "ice_dun02", "ice_dun03", "ice_dun04", "que_thor", "thor_camp", "thor_v01", "thor_v02", "thor_v03", "veins", "ve_in", "ve_fild01", "ve_fild02", "ve_fild03", "ve_fild04", "ve_fild05", "ve_fild06", "ve_fild07", "poring_c01", "poring_c02", "que_ng", "nameless_i", "nameless_n", "nameless_in", "abbey01", "abbey02", "abbey03", "poring_w01", "poring_w02", "que_san04", "moscovia", "mosk_in", "mosk_ship", "mosk_fild01", "mosk_fild02", "mosk_dun01", "mosk_dun02", "mosk_dun03", "mosk_que", "force_4-1", "force_5-1", "06guild_r", "06guild_01", "06guild_02", "06guild_03", "06guild_04", "06guild_05", "06guild_06", "06guild_07", "06guild_08", "z_agit", "que_temsky", "itemmall", "bossnia_01", "bossnia_02", "bossnia_03", "bossnia_04", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05", "sch_gld", "cave", "moc_fild20", "moc_fild21", "moc_fild22", "que_ba", "que_moc_16", "que_moon", "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05", "aru_gld", "bat_room", "bat_a01", "bat_a02", "bat_b01", "bat_b02", "que_qsch01", "que_qsch02", "que_qsch03", "que_qsch04", "que_qsch05", "que_qaru01", "que_qaru02", "que_qaru03", "que_qaru04", "que_qaru05", "1@cata", "2@cata", "e_tower", "1@tower", "2@tower", "3@tower", "4@tower", "5@tower", "6@tower", "mid_camp", "mid_campin", "man_fild01", "man_fild03", "spl_fild02", "spl_fild03", "moc_fild22b", "que_dan01", "que_dan02", "schg_que01", "schg_dun01", "arug_que01", "arug_dun01", "1@orcs", "2@orcs", "1@nyd", "2@nyd", "nyd_dun01", "nyd_dun02", "manuk", "man_fild02", "man_in01", "splendide", "spl_fild01", "spl_in01", "spl_in02", "bat_c01", "bat_c02", "bat_c03", "moc_para01", "job3_arch01", "job3_arch02", "job3_arch03", "job3_guil01", "job3_guil02", "job3_guil03", "job3_rang01", "job3_rang02", "job3_rune01", "job3_rune02", "job3_rune03", "job3_war01", "job3_war02", "jupe_core2", "brasilis", "bra_in01", "bra_fild01", "bra_dun01", "bra_dun02", "dicastes01", "dicastes02", "dic_in01", "dic_fild01", "dic_fild02", "dic_dun01", "dic_dun02", "job3_gen01", "s_atelier", "job3_sha01", "//evt_zombie", "//evt_coke", "//ac_sl_area", "//ac_cl_hall", "//ac_cl_room", "//jp_s_dun11", "mora", "bif_fild01", "bif_fild02", "1@mist", "dewata", "dew_in01", "dew_fild01", "dew_dun01", "dew_dun02", "que_house_s", "malangdo", "mal_in01", "mal_in02", "mal_dun01", "1@pump", "2@pump", "1@cash", "iz_dun05", "evt_mobroom", "alde_tt03", "dic_dun03", "//mjolnir_04_1", "1@lhz", "lhz_dun04", "que_lhz", "evt_swar_b", "evt_swar_r", "evt_swar_s", "evt_swar_t", "gld2_ald", "gld2_gef", "gld2_pay", "gld2_prt", "gld_dun01_2", "gld_dun02_2", "gld_dun03_2", "gld_dun04_2", "malaya", "job_ko", "ma_scene01", "1@ma_b", "1@ma_c", "1@ma_h", "ma_in01", "ma_dun01", "ma_fild01", "ma_fild02", "ma_zif01", "ma_zif02", "ma_zif03", "ma_zif04", "ma_zif05", "ma_zif06", "ma_zif07", "ma_zif08", "ma_zif09", "new_event", "eclage", "ecl_fild01", "ecl_tdun01", "ecl_tdun02", "ecl_tdun03", "ecl_tdun04", "que_avan01", "1@ecl", "ecl_in01", "ecl_in02", "ecl_in03", "ecl_in04", "ecl_hub01", "moc_prydn1", "moc_prydn2", "iz_ac01", "iz_ac02", "treasure_n1", "treasure_n2", "iz_int", "iz_ng01", "iz_int01", "iz_int02", "iz_int03", "iz_int04", "iz_ac01_a", "iz_ac02_a", "iz_ac01_b", "iz_ac02_b", "iz_ac01_c", "iz_ac02_c", "iz_ac01_d", "iz_ac02_d", "te_prtcas01", "te_prtcas02", "te_prtcas03", "te_prtcas04", "te_prtcas05", "te_aldecas1", "te_aldecas2", "te_aldecas3", "te_aldecas4", "te_aldecas5", "prt_fild08a", "prt_fild08b", "prt_fild08c", "prt_fild08d", "izlude_a", "izlude_b", "izlude_c", "izlude_d", "te_prt_gld", "te_alde_gld", "teg_dun01", "teg_dun02", "1@gl_k", "2@gl_k", "gl_chyard_", "gl_cas02_", "evt_bomb", "1@def01", "1@def02", "1@def03", "1@gef", "1@face", "1@sara", "1@gef_in", "dali", "dali02", "1@ge_st", "1@spa", "1@tnm1", "1@tnm2", "1@tnm3", "1@dth1", "1@dth2", "1@dth3", "1@eom", "1@jtb", "1@rev", "1@xm_d", "moro_cav", "moro_vol", "silk_lair", "c_tower2_", "c_tower3_", "1@mcd", "ver_eju", "ver_tunn", "verus03", "verus04", "job_gun", "1@air1", "1@air2", "1@glast", "lhz_dun_n", "lhz_d_n2", "1@gl_kh", "2@gl_kh", "1@lab", "1@uns", "un_bk_q", "un_bunker", "un_myst", "verus01", "verus02", "paramk", "1@infi", "1@ffp", "1@mir", "2@mir", "1@sthb", "1@sthc", "1@sthd", "prt_cas", "prt_cas_q", "prt_prison", "prt_lib", "prt_lib_q", "prt_q", "prt_pri00", "int_land", "int_land01", "int_land02", "int_land03", "int_land04", "lasagna", "lasa_fild01", "lasa_fild02", "lasa_dun01", "lasa_dun02", "lasa_dun03", "conch_in", "lasa_in01", "lasa_dun_q", "1@pop1", "1@pop2", "1@pop3", "1@slw", "1@swat", "que_swat", "slabw01", "rebel_in", "1@md_gef", "1@md_pay", "har_in01", "harboro1", "harboro2", "rockmi1", "rockmi2", "rockrdg1", "rockrdg2", "1@gl_k2", "2@gl_k2", "1@xm_d2", "pay_d03_i", "gef_d01_i", "ice_d03_i", "1@tre", "1@begi", "tur_d03_i", "tur_d04_i", "1@crd", "ordeal_a00", "ordeal_a02", "pprontera", "niflxmas", "sch_lab", "nakhyang", "lasa_sea", "1@drdo", "x_lhz", "x_prt", "x_ra", "prt_evt_in", "vis_h01", "vis_h02", "vis_h03", "vis_h04", "ein_d02_i", "com_d02_i", "1@soul", "star_frst", "star_in", "2009rwc_01", "2009rwc_02", "2009rwc_03", "2009rwc_04", "2009rwc_05", "2009rwc_06", "2009rwc_07", "2009rwc_08", "2009rwc_f01", "2012rwc_01", "2012rwc_02", "2012rwc_03", "2012rwc_04", "2012rwc_05", "2012rwc_06", "2012rwc_07", "2012rwc_08"; .map_size = getarraysize(.maps$); freeloop true; for(;.@i < .map_size;.@i++) { if(getmapusers(.maps$[.@i]) >= 0) { if(!getmapflag(.maps$[.@i],mf_nowarpto) && !getmapflag(.maps$[.@i],mf_nowarp) && !getmapflag(.maps$[.@i],mf_nopenalty) && !getmapflag(.maps$[.@i],mf_noskill)) continue; } deletearray .maps$[.@i],1; .@i--; .map_size--; } freeloop false; OnSpawn: copyarray .@maps$,.maps$,.map_size; for(.@i = 0;.@i < 7;.@i++) { .@r = rand(.map_size - .@i); .@map$ = .@maps$[.@r]; getfreecell .@map$,.@x,.@y; //makeitem .item_id + .@i,.@map$,.@x,.@y; makeitem .item_id,1,.@map$,.@x,.@y; debugmes "Dragon Ball "+(.@i + 1)+" location: "+.@map$+" "+.@x+" "+.@y+"."; } end; } prontera,100,100,4 script Dragon Ball 100,{ .@item_id = getvariableofnpc(.item_id,"DB_Spawn"); /* for(.@i = 0;.@i < 7;.@i++) { if(countitem(.@item_id + .@i)) .@n++; } if(.@n >= 7) { */ if(countitem(.@item_id) >= 7) { mes "You have all the balls!"; mes "Select your wish!"; switch(select("Kill everyone","Resurrect everyone","Be millionaire")) { case 1: freeloop true; .@oid = getcharid(3); .@n = getunits(BL_PC,.@player); for(.@i = 0;.@i < .@n;.@i++) { if(.@player[.@n] != .@oid) unitkill .@player[.@n]; } freeloop false; break; case 2: recovery 4,4; break; case 3: Zeny+= 700000000; break; } donpcevent "DB_Spawn::OnSpawn"; } else { mes "Dragon Balls are all around the world!"; } close; } Of course it can be expanded/modified a lot.
  12. function script random_walk { if(@walking) { @walking = false; } else { @walking = true; while(@walking) { getmapxy .@m$,.@x,.@y,UNITTYPE_PC; getfreecell .@m$,.@to_x,.@to_y,.@x,.@y,10,10,3; unitwalk getcharid(3),.@to_x,.@to_y; while(.@x != .@to_x || .@y != .@to_y) sleep2 500; } } return; } Not tested. Usage: callfunc "random_walk"; If you want to end the function just call it again.
  13. This is the same shir0 posted but with the fail chance returning everything removed. //===== rAthena Script ======================================= //= Card Removal NPC //===== By: ================================================== //= TyrNemesis^ //===== Current Version: ===================================== //= 1.2a //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Removes cards from equipped items. //===== Additional Comments: ================================= //= 1.0 First version. [TyrNemesis^] //= 1.2 Optimized and fixed getequipname menu. [Kisuka] //= 1.2a Added 'disable_items' command. [Euphy] //============================================================ prt_in,28,73,4 script Wise Old Woman#eAcustom 1_F_ORIENT_04,{ disable_items; mes "[Wise Old Woman]"; mes "Good day, young one. I have the power to remove cards that you have compounded onto your equipment. Does this idea please you?"; next; switch(select("Yes, it does.:No thanks.")) { case 1: mes "[Wise Old Woman]"; mes "Very well. Which item shall I examine for you?"; next; setarray .@indices[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW; for( set .@i,1; .@i <= 10; set .@i,.@i+1 ) { if( getequipisequiped(.@indices[.@i]) ) set .@menu$, .@menu$ + F_getpositionname(.@indices[.@i]) + "-[" + getequipname(.@indices[.@i]) + "]"; set .@menu$, .@menu$ + ":"; } set .@part, .@indices[ select(.@menu$) ]; if(!getequipisequiped(.@part)) { mes "[Wise Old Woman]"; mes "Young one... Your not wearing anything there that I can remove cards from."; close; } set .@cardcount,getequipcardcnt(.@part); if(.@cardcount == 0) { mes "[Wise Old Woman]"; mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid."; close; } if (!checkweight(1202,.@cardcount+1)) { mes "^3355FFJust a minute!"; mes "I can't offer any of my"; mes "services to you because"; mes "you're carrying too much"; mes "stuff. Put your extra items in"; mes "Kafra Storage and come again~"; close; } mes "[Wise Old Woman]"; mes "This item has " + F_InsertPlural(.@cardcount, "card") + " compounded on it."; next; if(select("Very well. Do it.:Never mind.") == 2) { mes "[Wise Old Woman]"; mes "Very well. Return at once if you seek my services."; close; } mes "[Wise Old Woman]"; mes "Very well. I shall begin."; next; successremovecards .@part; mes "[Wise Old Woman]"; mes "The process was a success. Here are your cards and your item. Farewell."; close; case 2: mes "[Wise Old Woman]"; mes "Very well. Return at once if you seek my services."; close; } }
  14. Seems like there were some spaces. //===== rAthena Script ======================================= //= leveling quests spawn script //===== Description: ========================================= //= spawns monsters for leveling quests area. //===== Additional Comments: ================================= //= 0.1 //============================================================ //120-140 //vis_h01,0,0 monster Antler Scaraba 2085,50 vis_h01,0,0 monster Centipede 1987,50 vis_h01,0,0 monster Skeggiold 1755,50 vis_h01,0,0 monster Antler Scaraba 2085,50 //141-150 //1@md_pay,0,0 monster Antler Scaraba 2085,50 1@md_pay,0,0 monster Angra Mantis 2133,50 1@md_pay,0,0 monster Pom Spider 2132,50 1@md_pay,0,0 monster Little Fatum 2136,50 //151-160 //1@slw,0,0 monster Sky Fortress Key Keeper 3478,40 1@slw,0,0 monster Sky Fortress Key Keeper 3478,40 1@slw,0,0 monster Immortal Legionnaire 3477,40 1@slw,0,0 monster Immortal Assaulter 3479,40 //160-175 //x_prt,0,0 monster Antler Scaraba 2085,40 x_prt,0,0 monster Arc Elder 2920,40 x_prt,0,0 monster Owl Viscount 2921,40 x_prt,0,0 monster Big Bell 2917,50 Also I changed the delay because of this: Delay1 and delay2 control monster respawn delays - the first one is the fixed base respawn time, and the second is random variance on top of the base time. Both values are given in milliseconds (1000 = 1 second). Note that the server also enforces a minimum respawn delay of 5 seconds.
  15. You need to update your rAthena. That's a fairly
  16. Use Server Database Editor. Last version is always this link: http://www.mediafire.com/download/p0zhcc8ipa6cjt3 From the post (https://rathena.org/board/topic/98173-server-database-editor/):
  17. There're some errors. set .map$, "quiz_02"; It should be a string variable. All the "unexpected"errors are because of that. OnAgitEnd doesn't have a player attached, it just gets executed as WoE ends, so obviously dispbottom won't work. quiz_02,304,263,6 script WOE Reward 714,{ mes "WOE"; mes "You did a great job!"; mes "Here is your reward."; getitem 13550,20; getitem 13989,50; getitem 14004,2; getitem 675,1; //add your rewards here set woereward,0; next; warp "SavePoint",0,0; end; OnInit: waitingroom "WOE Reward",0; end; } - script woe_reward -1,{ OnInit: set .map$, "quiz_02"; set .x, 304; set .y, 255; setarray .castles$[0], "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; end; OnMapLoadEvent: if ((agitcheck() || agitcheck2()) && inarray(.castles$,strcharinfo(3))) { set woereward,1; end; } end; OnAgitEnd2: set .@i,20; OnAgitEnd: set .@size,((.@i == 0)? 19 : getarraysize(.castles$)); sleep 5000; // wait 5 seconds after woe before warping the guild for (;.@i < .@size; set .@i, .@i+1){ set .@guild,getcastledata(.castles$[.@i],CD_GUILD_ID); if(.@guild) { set .@gm,getguildmasterid(.@guild); set .@j,inarray(.@guild_winners,.@guild); if(.@j == -1) { set .@guild_winners[.@k++],.@guild; warpguild .map$,.x,.y,.@guild; dispbottom "[ War of Emperium ] : Congrats! Your guild wins!",.@gm; } } } .@n = getunits(BL_PC,.@player); freeloop true; for(set .@i,0; .@i < .@n; set .@i, .@i+1){ attachrid .@player[.@i]; .@guild = getcharid(2); if(.@guild) { if(inarray(.@guild_winners,.@guild) == -1 && woereward) { dispbottom "[ War of Emperium ] : Its okay, you can try harder on next WoE!"; getitem 607,1; set woereward,0; } } } freeloop false; end; }
  18. *instance_mapname("<map name>"{,<instance id>}) Returns the unique name of the instanced map. If no instance ID is specified, the instance the script is attached to is used. If the script is not attached to an instance, the instance of the currently attached player is used (if it is a character, party, guild or clan mode). If it is not owned by anyone, no player needs to be attached. If that fails, the command returns an empty string instead.
  19. I'm not really good with source but I tried... BUILDIN_FUNC(mes2) { TBL_PC* sd; if( !script_rid2sd(sd) ) return SCRIPT_CMD_SUCCESS; int color_n = script_getnum(st,2); char *message; size_t len = 0; unsigned long color = color_table[color_n]; char color_string = "^"; char color_code = (char*)color; message = (char*)aMalloc(2); len = strlen(color_code); memcpy(&message, color_string, 1); memcpy(&message, color_code, len); temp = script_getstr(st, 3); len = strlen(temp); memcpy(&message, temp, len); clif_scriptmes(sd, st->oid, message)); st->mes_active = 1; // Invoking character has a NPC dialog box open. return SCRIPT_CMD_SUCCESS; } BUILDIN_DEF(mes2,"is"), EDIT: Forgot to say this uses the channel system colors... if it works.
  20. function script mes2 { setarray .@color$[0],"red","ff0000","green","00ff00","blue","0000ff"; .@str$ = strtolower(getarg(0)); .@mes$ = getarg(1); .@color = inarray(.@color$,.@str$); mes ((.@color != -1)? "^"+.@color$[.@i + 1] : "") + .@mes$; return; } mes2 "red","Hello there."; mes2 "green","What's up?"; close; Add colors in .@color$
  21. /** * Channel config for map channel * For the structure, see the 'channels' above **/ map: { name: "#map" alias: "[Map]" color: "Yellow" type: "CHAN_TYPE_MAP" // DO NOT CHANGE THIS VALUE delay: 1000 autojoin: false leave: true chat: true } conf/channels.conf autojoin: true Now, if you want to make it by script: - script Channel_Town -1,{ OnInit: setarray .@maps$[0], "prontera","alberta","aldebaran","amatsu","ayothaya","brasilis","comodo","dewata", "ecl_in01","einbech","einbroch","dicastes01","geffen","gonryun","hugel","izlude", "jawaii","lasagna","lighthalzen","louyang","xmas","malangdo","malaya","manuk", "mid_camp","mora","morocc","moscovia","nameless_n","niflheim","payon","rachel", "splendide","thor_camp","umbala","veins","yuno"; for(.@size = getarraysize(.@maps$);.@i < .@size;.@i++) setmapflag .@maps$[.@i],mf_loadevent; end; OnPCLoadMapEvent: if(getmapflag(strcharinfo(3),mf_town)) atcommand "@join #map"; end; }
  22. Sorry. I don't know why I put the divisor first. set .@exp_gained,.@exp_gained/100; function get_decimal; dispbottom "Gained "+F_InsertComma(.@exp_gained+)" mastery points ("+get_decimal(.@exp_gained*100,.FishingLvl[FishingLvl])+"%)."; FishingExp+= .@exp_gained; dispbottom "Total: "+F_InsertComma(FishingExp)+"/"+F_InsertComma(.FishingLvl[FishingLvl])+" ("+get_decimal(min(FishingExp,.FishingLvl[FishingLvl])*100,.FishingLvl[FishingLvl])+"%)."; if(.FishingLvl[FishingLvl] <= FishingExp){ set FishingLvl, FishingLvl + 1; dispbottom "[Level Up] Congrats! Your Fishing level is now: "+FishingLvl; set FishingExp,0; if(FishingLvl == .MaxFishingLvl) { dispbottom "Your Fishing Mastery is at maximum level."; } } end; And yeah, you'll get natural numbers. In fact the function returns a string.
  23. The function has to load before the script. Otherwise... function get_decimal; dispbottom "Gained "+F_InsertComma(.@exp_gained+)" mastery points ("+get_decimal(.FishingLvl[FishingLvl]*100,.@exp_gained)+"%).";
×
×
  • Create New...