-
Posts
547 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Dolphin86
-
-
function Go { if(countitem(40004) < 1) { mes "To use my service you need " +getitemname(40004); close; } delitem 40004,1; set lastwarp$, getarg(0); set lastwarpx, getarg(1,0); set lastwarpy, getarg(2,0); warp getarg(0),getarg(1,0),getarg(2,0); end; }
-
hye i have this script, which suppose to allow player to use this npc service with requirement of 1 warp ticket, it did allow to warp with the item inside inventory, but it did not delete the item for every time warp..
the plan was 1 ticket per warp service
Spoiler//===== 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; if(countitem(40004) == 0) { mes "I'm sorry but you need a "+ getitemname(40004) +" to use my warping services."; mes "Please come back when you have it."; end; } // -------------------------------------------------- // 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 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 { 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; if(countitem(40004) >= 1) { delitem 40004,1; Go(.@map$,.@x,.@y); } else { mes "Sorry, I was mistaken, you don't have a "+ getitemname(40004) +"."; mes "You need 1 to use my services."; end; } } 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, "Kunlun",T14, "Hugel",T15, "Izlude",T16, "Jawaii",T17, "Lasagna",T18, "Lighthalzen",T19, "Luoyang",T20, "Lutie",T21, "Malangdo",T22, "Malaya",T23, "Manuk",T24, "Midgarts Expedition Camp",T25, "Mora",T26, "Morocc",T27, "Moscovia",T28, "Nameless Island",T29, "Niflheim",T30, "Payon",T31, "Rachel",T32, "Splendide",T33, "Thor Camp",T34, "Umbala",T35, "Veins",T36, "Juno",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, "Kunlun Fields",F11, "Hugel Fields",F12, "Lasagna Fields",F13, "Lighthalzen Fields",F14, "Luoyang 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, "Juno 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("Kunlun 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("Luoyang 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_Morocc){ 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("Juno 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, "Kunlun Dungeon",D18, "Hidden Dungeon",D19, "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Lasagna Dungeon",D23, "Luoyang 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("Kunlun 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] Schwarzwald 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, "Schwarzwald",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, "Kunlun 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_Morocc = 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. } // -------------------------------------------------- // Duplicates: // -------------------------------------------------- neko_isle,77,131,6 duplicate(Warper) Warper#ilyo 811 //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
-
fixed, i just have to manually add this part to each teleport
if(countitem(40004) < 1) { mes "To use my service you need " +getitemname(40004); close; }if there is a better way let me know, whew had to check all the teleport point too ahahaha
-
On 4/18/2022 at 2:18 AM, cook1e said:
//===== 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(countitem(40004) < 1) { mes "To use my service you need " +getitemname(40004); close; } 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(countitem(40004) < 1) { mes "To use my service you need " +getitemname(40004); close; } 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 [email protected],getarg(1); [email protected]<=getarg(2); set [email protected],[email protected]+1) set @menu$, @menu$+getarg(0)+" "[email protected]+":"; } return; } function Pick { set [email protected]_block,@warp_block; set @warp_block,0; if((@f && .OnlyFirstFld) || (@d && .OnlyFirstDun)){ set [email protected],1; if([email protected]_block){ while([email protected]_block & (1<<[email protected])){ [email protected] += 1; } } }else{ set [email protected], select(@menu$); } if (getarg(0) == "") { set [email protected], [email protected]; set [email protected]$, getarg([email protected]); } else { set [email protected], [email protected](1,0); set [email protected]$, getarg(0)+(([email protected]<10)?"0":"")[email protected]; } if ([email protected]_block & (1<<[email protected])) { message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal."; end; } set [email protected], @c[[email protected]*2]; set [email protected], @c[[email protected]*2+1]; deletearray @c[0],getarraysize(@c); @f = false; @d = false; Go([email protected]$,[email protected],[email protected]); } function Restrict { if ((getarg(0) == "RE" && !checkre(0)) || (getarg(0) == "Pre-RE" && checkre(0))) { if (getarg(1,0)) { set @warp_block,0; for (set [email protected],1; [email protected]<getargcount(); set [email protected],[email protected]+1) set @warp_block, @warp_block | (1<<getarg([email protected])); } 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, "Kunlun",T14, "Hugel",T15, "Izlude",T16, "Jawaii",T17, "Lasagna",T18, "Lighthalzen",T19, "Luoyang",T20, "Lutie",T21, "Malangdo",T22, "Malaya",T23, "Manuk",T24, "Midgarts Expedition Camp",T25, "Mora",T26, "Morocc",T27, "Moscovia",T28, "Nameless Island",T29, "Niflheim",T30, "Payon",T31, "Rachel",T32, "Splendide",T33, "Thor Camp",T34, "Umbala",T35, "Veins",T36, "Juno",T37; T1: if (countitem(40004) < 0) { message strcharinfo(0),"You need 1 Warp Ticket to warp here."; close; } else { delitem 40004,1; Go("prontera",155,180); } 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, "Kunlun Fields",F11, "Hugel Fields",F12, "Lasagna Fields",F13, "Lighthalzen Fields",F14, "Luoyang 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, "Juno 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("Kunlun 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("Luoyang 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_Morocc){ 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("Juno 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, "Kunlun Dungeon",D18, "Hidden Dungeon",D19, "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Lasagna Dungeon",D23, "Luoyang 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("Kunlun 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] Schwarzwald 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, "Schwarzwald",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, "Kunlun 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_Morocc = 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. } // -------------------------------------------------- // Duplicates: // -------------------------------------------------- neko_isle,77,122,4 duplicate(Warper) Warper#mora 811 //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
thank you for your help sir, i will test it now
-
As title, i was trying to add item requirement for each and every warp location selected will be needing item 40004
i am using rathena default warper,
Spoiler//===== 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 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 { 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 [email protected],getarg(1); [email protected]<=getarg(2); set [email protected],[email protected]+1) set @menu$, @menu$+getarg(0)+" "[email protected]+":"; } return; } function Pick { set [email protected]_block,@warp_block; set @warp_block,0; if((@f && .OnlyFirstFld) || (@d && .OnlyFirstDun)){ set [email protected],1; if([email protected]_block){ while([email protected]_block & (1<<[email protected])){ [email protected] += 1; } } }else{ set [email protected], select(@menu$); } if (getarg(0) == "") { set [email protected], [email protected]; set [email protected]$, getarg([email protected]); } else { set [email protected], [email protected](1,0); set [email protected]$, getarg(0)+(([email protected]<10)?"0":"")[email protected]; } if ([email protected]_block & (1<<[email protected])) { message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal."; end; } set [email protected], @c[[email protected]*2]; set [email protected], @c[[email protected]*2+1]; deletearray @c[0],getarraysize(@c); @f = false; @d = false; Go([email protected]$,[email protected],[email protected]); } function Restrict { if ((getarg(0) == "RE" && !checkre(0)) || (getarg(0) == "Pre-RE" && checkre(0))) { if (getarg(1,0)) { set @warp_block,0; for (set [email protected],1; [email protected]<getargcount(); set [email protected],[email protected]+1) set @warp_block, @warp_block | (1<<getarg([email protected])); } 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, "Kunlun",T14, "Hugel",T15, "Izlude",T16, "Jawaii",T17, "Lasagna",T18, "Lighthalzen",T19, "Luoyang",T20, "Lutie",T21, "Malangdo",T22, "Malaya",T23, "Manuk",T24, "Midgarts Expedition Camp",T25, "Mora",T26, "Morocc",T27, "Moscovia",T28, "Nameless Island",T29, "Niflheim",T30, "Payon",T31, "Rachel",T32, "Splendide",T33, "Thor Camp",T34, "Umbala",T35, "Veins",T36, "Juno",T37; T1: if (countitem(40004) < 0) { message strcharinfo(0),"You need 1 Warp Ticket to warp here."; close; } else { delitem 40004,1; Go("prontera",155,180); } 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, "Kunlun Fields",F11, "Hugel Fields",F12, "Lasagna Fields",F13, "Lighthalzen Fields",F14, "Luoyang 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, "Juno 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("Kunlun 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("Luoyang 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_Morocc){ 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("Juno 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, "Kunlun Dungeon",D18, "Hidden Dungeon",D19, "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Lasagna Dungeon",D23, "Luoyang 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("Kunlun 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] Schwarzwald 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, "Schwarzwald",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, "Kunlun 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_Morocc = 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. } // -------------------------------------------------- // Duplicates: // -------------------------------------------------- neko_isle,77,122,4 duplicate(Warper) Warper#mora 811 //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
-
13 minutes ago, Slammer said:
You can use this file
works like a charm
-
As title, i was trying to make player have an option how many item can he exchange, but some what i keep failing, please help?
the idea was below:
Spoiler100 Stone Fragment (ID: 6078) exchange for 1 Rough Elunium (ID: 757) 100 Stone Fragment (ID: 6078) exchange for 1 Rough Oridecon (ID: 756) 15 Rough Elunium (ID: 757) exchange for 1 Elunium (ID: 985) 15 Rough Oridecon (ID: 756) exchange for 1 Oridecon (ID: 984)
Exchange Script:
Spoilerneko_isle,73,118,4 script Exchanger Board 4_BOARD3,{ setarray .@item, 6078,6078,757,756; setarray .@sellrate, 100,100,15,15; setarray .@exchange, 757,756,985,984; setarray .@amount, 1,1,1,1; .@menu = select( (countitem(6078)?"100x "+getitemname(6078)+" to 1x "+getitemname(757)+"":""), (countitem(6078)?"- Exchange with "+getitemname(6078)+"":""), (countitem(757)?"- Exchange with "+getitemname(757)+"":""), (countitem(756)?"- Exchange with "+getitemname(756)+"":""), "- Nothing" ); switch(.@menu) { case 1: .@amount = countitem( .@item[choice] ) / 100; .@getitem = countitem( .@exchange[choice] ) / .@amount; .@divided = .@amount / .@exchange; mes "You can exchange a total of "+ .@getitem +"."; getitem .@exchange[choice],( .@getitem ); delitem .@item[choice],( .@amount ); break; case 2: set .choice, 1; delitem .@item[1],.@sellrate[.choice]; getitem .@exchange[.choice],.@amount[.choice]; break; case 3: set .choice, 2; delitem .@item[2],.@sellrate[.choice]; getitem .@exchange[.choice],.@amount[.choice]; break; case 4: set .choice, 2; delitem .@item[3],.@sellrate[.choice]; getitem .@exchange[.choice],.@amount[.choice]; break; default: mes "[ Exchanger ]"; mes "There's nothing i can do for you."; mes " "; mes "Please come back to me later!"; break; } end; }
i was only focus on case 1, since i got stuck there on other case would have same result?
-
can someone edit this npc so that it will respawn back in the same map instantly and only respawn on walk path area only, and also add special effect refining while progress (mine) and sucsess special effect when get an item, thanks
Spoiler- script sample_main -1,{ OnPCDieEvent: if (getmapflag(strnpcinfo(3), mf_pvp)) { getmapxy(@map$, @x, @y, BL_PC); callsub(L_DropItem, 969); callsub(L_DropItem, 724); callsub(L_DropItem, 7049); } end; L_DropItem: [email protected]_id = getarg(0, 0); if ([email protected]_id) { [email protected] = countitem([email protected]_id); delitem [email protected]_id, [email protected]; makeitem [email protected]_id, [email protected], @map$, @x, @y; } return; } neko_isle,69,108,4 script Normal Crystal 1288,{ if (countitem(6010)) { [email protected] = rand(100); if ([email protected] < 1) { [email protected]_id = 969; } else if ([email protected] < 25) { [email protected]_id = 724; } else if ([email protected] < 90) { [email protected]_id = 7049; } else { // nothing } if ([email protected]_id) { while(1){ if(.mine == .minemax){ movenpc strnpcinfo(3), rand(300), rand(300), rand(8); end; } progressbar "GREEN",5; getitem [email protected]_id, 1; .mine++; } } } end; OnInit: .minemax = 100; } //prontera,1,1,4 duplicate(Normal Crystal) Normal Crystal#2 1288 //prontera,1,1,4 duplicate(Normal Crystal) Normal Crystal#3 1288 -
the script consist 2 part that are needed to be modify, generally this is a mining script that @Emistry created back 2000,
Part 1 : pvp
here is the original script
Spoiler- script sample_main -1,{ OnPCDieEvent: if (getmapflag(strnpcinfo(3), mf_pvp)) { getmapxy(@map$, @x, @y, BL_PC); callsub(L_DropItem, 969); callsub(L_DropItem, 724); callsub(L_DropItem, 7049); } end; L_DropItem: [email protected]_id = getarg(0, 0); if ([email protected]_id) { [email protected] = countitem([email protected]_id); delitem [email protected]_id, [email protected]; makeitem [email protected]_id, [email protected], @map$, @x, @y; } return; }can someone to modify this as stated below
-any player that killed by pvp in that specific map 5% of his 969, 724, 7049 in his inventory goes straight to the attacker inventory, please mark where is the map in the script so that later i can edit and put in my map
Part 2 : The Mining Script
here is the original script
Spoilerprontera,1,1,4 script Sample 4_F_KAFRA1,{ if (countitem(47003)) { [email protected] = rand(100); if ([email protected] < 5) { [email protected]_id = 969; } else if ([email protected] < 25) { [email protected]_id = 724; } else if ([email protected] < 75) { [email protected]_id = 7049; } else { // nothing } if ([email protected]_id) { getitem [email protected]_id, 1; movenpc strnpcinfo(3), rand(300), rand(300), rand(8); } } end; } prontera,1,1,4 duplicate(Sample) Sample#1 4_F_KAFRA1 prontera,1,1,4 duplicate(Sample) Sample#2 4_F_KAFRA1 prontera,1,1,4 duplicate(Sample) Sample#3 4_F_KAFRA1here are the modification list requested:
-Generally the minerals / NPC did spawn but they do spawn at un walkable area too, please make it spawn on walkable area only
-player can mine at the same npc for the max of 100 times before it will destroy it self and spawn on other location
-player can mine at the mineral/npc 100 time by auto, no need to click multiple times
-for each gap of 100 mining time there will be 5 second of waiting
thanks.. (^___^)/
-
17 minutes ago, GM Winter said:
in your itemdb edit this part
Trade:
Override: 100
NoDrop: true
NoTrade: true
NoSell: true
NoCart: true
NoGuildStorage: true
NoMail: true
NoAuction: trueyou meant this file ?
rAthena/db/import/item_db.yml ?
soo just add
NoStorage: Flase
?
-
problem solved, it was something about vps does not allow communication with paypal, plus it was wrong to host server on the same vps with server website this was also contribute to the error, how did i fix it? no idea i just paid a dev for USD10 for it to solve
-
5 hours ago, Chaos92 said:
Maybe itembound might helps ? Account Bound.
hye again thanks for reply, but here is dumb question again, how to put it on my server? i see its diff thingy does that mean i have to use nemo and dif my exe and select this diff?
-
7 hours ago, LearningRO said:
You have patched "Previews Costume on cashsop?" on your exe?
and have you enable it in Server side too?
and what client date do you use
for client 2018 will get that issue btw.
well for some readon the cash shop does not read same item in the cash shop, which result to this error, i have removed 1 of the same item, and it works fine even i add more items, just need to make sure it is not the same item id that all
-
As title i would like to change rental item allowed to be store in storage to be use only within all char within same account only, how can i change those?
-
Spoiler1 hour ago, Chaos92 said:
Server side :
First, pull request https://github.com/rathena/rathena/pull/5731
Then, setting inter-athena.conf for web server, and web athena.conf if needed.After that, run query SQL sql-files/web.sql so that your database will create the table required for web server.
Then recompile since u used Centos, can recompile as usual
./configure
make clean
make sql
make web
make server
then try start your server.Okay now for client side part, you need to edit data\luafiles514\lua files\service_korea\ExternalSettings_kr.lub and change the IP to your server IP.
Url = { TwitterUrl = "http://0.0.0.0:3000" } AccountLinkedUserDataUrl = { Save = "http://127.0.0.1:8888/userconfig/save", Load = "http://127.0.0.1:8888/userconfig/load" } TwitterDataUrl = { Auth = "http://127.0.0.1:8888/twitter/user-auth", Upload = "http://127.0.0.1:8888/twitter/upload" } EmblemDataUrl = { Upload = "http://127.0.0.1:8888/emblem/upload", Download = "http://127.0.0.1:8888/emblem/download" }Then try to upload a GIF below 50kb size or normal emblem.
oke so 1st problem i got is i dont know how does this pull thing work, but as for other part i do understand that i need to setup web server correct? does the web server must to be configure as same as my original server? means server modification and such?
again how can i make that pull? even google for hours still dont understand
-
Spoiler1 hour ago, Chaos92 said:
Server side :
First, pull request https://github.com/rathena/rathena/pull/5731
Then, setting inter-athena.conf for web server, and web athena.conf if needed.After that, run query SQL sql-files/web.sql so that your database will create the table required for web server.
Then recompile since u used Centos, can recompile as usual
./configure
make clean
make sql
make web
make server
then try start your server.Okay now for client side part, you need to edit data\luafiles514\lua files\service_korea\ExternalSettings_kr.lub and change the IP to your server IP.
Url = { TwitterUrl = "http://0.0.0.0:3000" } AccountLinkedUserDataUrl = { Save = "http://127.0.0.1:8888/userconfig/save", Load = "http://127.0.0.1:8888/userconfig/load" } TwitterDataUrl = { Auth = "http://127.0.0.1:8888/twitter/user-auth", Upload = "http://127.0.0.1:8888/twitter/upload" } EmblemDataUrl = { Upload = "http://127.0.0.1:8888/emblem/upload", Download = "http://127.0.0.1:8888/emblem/download" }Then try to upload a GIF below 50kb size or normal emblem.
thanks for the detailed guide will work on it now
-
as title, after a player donate to server there is no transection log and also player did not get the donation points,
here are my aplication.php, and i am also using cloudflare
Spoiler<?php // This is the application configuration file. All values have been set to // the default, and should be changed as needed. return array( 'ServerAddress' => 'dolphin-ro.com', // This value is the hostname:port under which Flux runs. (e.g., example.com or example.com:80) 'BaseURI' => '/cp', // The base URI is the base web root on which your application lies. 'InstallerPassword' => 'xxxxxxxxx', // Installer/updater password. 'RequireOwnership' => true, // Require the executing user to be owner of the FLUX_ROOT/data/ directory tree? (Better for security) // WARNING: This will be mostly IGNORED on non-POSIX-compliant OSes (e.g. Windows). 'DefaultLoginGroup' => null, 'DefaultCharMapServer' => null, 'DefaultLanguage' => 'en_us', // Specify the default control panel language (see FLUX_ROOT/lang/ directory for available languages.) 'SiteTitle' => 'Flux Control Panel', // This value is only used if the theme decides to use it. 'ThemeName' => 'default', // The theme name of the theme you would like to use. Themes are in FLUX_ROOT/themes. 'ScriptTimeLimit' => 0, // Script execution time limit. Specifies (in seconds) how long a page should run before timing out. (0 means forever) 'MissingEmblemBMP' => 'empty.bmp', // 'ItemIconNameFormat' => '%d.png', // The filename format for item icons (defaults to {itemid}.png). 'ItemImageNameFormat' => '%d.png', // The filename format for item images (defaults to {itemid}.png). 'MonsterImageNameFormat' => '%d.gif', // The filename format for monster images (defaults to {monsterid}.gif). 'JobImageNameFormat' => '%d.gif', // The filename format for job images (defaults to {jobid}.gif). 'ForceEmptyEmblem' => false, // Forcefully display empty guild emblems, helpful when you don't have GD2 installed. 'EmblemCacheInterval' => 12, // Hourly interval to re-cache guild emblems (set to 0 to disable emblem cache). 'SessionCookieExpire' => 48, // Duration in hours. 'AdminMenuGroupLevel' => AccountLevel::LOWGM, // The starting group ID for which module actions are moved into the admin menu for display. 'DateDefaultTimezone' => null, // The default timezone, consult the PHP manual for valid timezones: http://php.net/timezones (null for defaut system TZ) 'DateFormat' => 'Y-m-d', // Default DATE format to be displayed in pages. 'DateTimeFormat' => 'Y-m-d H:i:s', // Default DATETIME format to be displayed in pages. 'ShowSinglePage' => true, // Whether or not to show the page numbers even if there's only one page. 'ResultsPerPage' => 20, // The number of results to display in a paged set, per page. 'PagesToShow' => 10, // The number of page numbers to display at once. 'PageJumpMinimumPages' => 1, // Minimum number of required pages before page jump box is shown. (0 to always show!) 'ShowPageJump' => true, // Whether or not to show the "Page Jump" box. 'SingleMatchRedirect' => true, // Whether or not to redirect to view action from index page if only one match is returned (and action is allowed). 'SingleMatchRedirectItem' => false, // Same as above, for item module. 'SingleMatchRedirectMobs' => false, // Same as above, for monster module. 'UsernameAllowedChars' => 'a-zA-Z0-9_', // PCRE Format Pattern. default: 'a-zA-Z0-9_' (alphanumeric and underscore) // WARNING: This string isn't escaped so be careful which chars you use! // PCRE Pattern Ref: http://php.net/manual/en/pcre.pattern.php 'MinUsernameLength' => 4, // Minimum username length. 'MaxUsernameLength' => 23, // Maximum username length. 'MinPasswordLength' => 8, // Minimum password length. 'MaxPasswordLength' => 31, // Maximum password length. 'PasswordMinUpper' => 1, // Number of upper-case letters to require in passwords. 'PasswordMinLower' => 1, // Number of lower-case letters to require in passwords. 'PasswordMinNumber' => 1, // Number of numbers to require in passwords. 'PasswordMinSymbol' => 0, // Number of symbols to require in passwords. 'GMMinPasswordLength' => 8, // Minimum password length for GM accounts. 'GMPasswordMinUpper' => 1, // Number of upper-case letters to require in passwords for GM accounts. 'GMPasswordMinLower' => 1, // Number of lower-case letters to require in passwords for GM accounts. 'GMPasswordMinNumber' => 1, // Number of numbers to require in passwords for GM accounts. 'GMPasswordMinSymbol' => 1, // Number of symbols to require in passwords for GM accounts. 'RandomPasswordLength' => 16, // This is the length of the random password generated by the "Reset Password" feature. (NOTE: Hardcoded minimum value of 8) 'AllowUserInPassword' => false, // Whether or not to allow the password to contain the username. (NOTE: A case-insensitive search is performed) 'AllowDuplicateEmails' => false, // Whether or not to allow duplicate e-mails to be used in registration. (See Mailer config options) 'RequireEmailConfirm' => false, // Require e-mail confirmation during registration. 'RequireChangeConfirm' => false, // Require confirmation when changing e-mail addresses. 'EmailConfirmExpire' => 48, // E-mail confirmations expire hours. Unconfirmed accounts will expire after this period of time. 'MailerFromAddress' => '[email protected]', // The e-mail address displayed in the From field. 'MailerFromName' => 'MailerName', // The name displayed with the From e-mail address. 'MailerUseSMTP' => false, // Whether or not to use a separate SMTP server for sending mail. 'MailerSMTPUseSSL' => false, // Whether or not mailer should connect using SSL (yes for GMail). 'MailerSMTPUseTLS' => false, // Same as above SSL setting, but for TLS. This setting will override the SSL setting. 'MailerSMTPPort' => null, // When MailerUseSMTP is true: SMTP server port (mailer will default to 25). 'MailerSMTPHosts' => null, // When MailerUseSMTP is true: A string host or array of hosts (e.g., 'host1' or array('host1', 'backuphost')). 'MailerSMTPUsername' => null, // When MailerUseSMTP is true: Authorized username for SMTP server. 'MailerSMTPPassword' => null, // When MailerUseSMTP is true: Authorized password for SMTP server (for above user). 'ServerStatusCache' => 2, // Store a cached server status and refresh every X minutes. Default: 2 minutes (value is measured in minutes). 'ServerStatusTimeout' => 2, // For each server, spend X amount of seconds to determine whether it's up or not. 'SessionKey' => 'fluxSessionData', // Shouldn't be changed, just specifies the session key to be used for session data. 'DefaultModule' => 'main', // This is the module to execute when none has been specified. 'DefaultAction' => 'index', // This is the default action for any module, probably should leave this alone. (Deprecated) 'GzipCompressOutput' => false, // Whether or not to compress output using zlib. 'GzipCompressionLevel' => 9, // zlib compression level. (1~9) 'OutputCleanHTML' => true, // Use this if you have Tidy installed to clean your HTML output when serving pages. 'ShowCopyright' => true, // Whether or not to show the copyright footer. 'ShowRenderDetails' => true, // Shows the "page rendered in X seconds" and "number of queries executed: X" in the default theme. 'UseCleanUrls' => false, // Set to true if you're running Apache and it supports mod_rewrite and .htaccess files. 'DebugMode' => false, // Set to false to minimize technical details from being output by Flux. WARNING: DO NOT USE THIS OPTION ON A PUBLICALLY-ACCESSIBLE CP. 'UseCaptcha' => true, // Use CAPTCHA image for account registration to prevent automated account creations. (Requires GD2/FreeType2) 'UseLoginCaptcha' => false, // Use CAPTCHA image for account logins. (Requires GD2/FreeType2) 'EnableReCaptcha' => false, // Enables the use of reCAPTCHA instead of Flux's native GD2 library (http://www.google.com/recaptcha) 'ReCaptchaPublicKey' => '...', // This is your reCAPTCHA public key [REQUIRED FOR RECAPTCHA] (sign up at http://www.google.com/recaptcha) 'ReCaptchaPrivateKey' => '...', // This is your reCAPTCHA private key [REQUIRED FOR RECAPTCHA] (sign up at http://www.google.com/recaptcha) 'ReCaptchaTheme' => 'white', // ReCaptcha theme to use (see: http://code.google.com/apis/recaptcha/docs/customization.html#Standard_Themes) 'DisplaySinglePages' => true, // Whether or not to display paging for single page results. 'ForwardYears' => 15, // (Visual) The number of years to display ahead of the current year in date inputs. 'BackwardYears' => 30, // (Visual) The number of years to display behind the current year in date inputs. 'ColumnSortAscending' => ' ▲', // (Visual) Text displayed for ascending sorted column names. 'ColumnSortDescending' => ' ▼', // (Visual) Text displayed for descending sorted column names. 'CreditExchangeRate' => 1.0, // The rate at which credits are exchanged for dollars. 'MinDonationAmount' => 1.0, // Minimum donation amount. (NOTE: Actual donations made that are less than this account won't be exchanged) 'DonationCurrency' => 'USD', // Preferred donation currency. Only donations made in this currency will be processed for credit deposits. 'MoneyDecimalPlaces' => 2, // (Visual) Number of decimal places to display in amount. 'MoneyThousandsSymbol' => ',', // (Visual) Thousandths place separator (a period in European currencies). 'MoneyDecimalSymbol' => '.', // (Visual) Decimal separator (a comma in European currencies). 'AcceptDonations' => true, // Whether or not to accept donations. 'PayPalIpnUrl' => 'www.paypal.com', // The URL for PayPal's IPN responses (www.paypal.com for live and www.sandbox.paypal.com for testing) 'PayPalBusinessEmail' => '[email protected]', // Enter the e-mail under which you have registered your business account. 'PayPalReceiverEmails' => array( // These are the receiver e-mail addresses who are allowed to receive payment. //'[email protected]', // -- This array may be empty if you only use one e-mail //'[email protected]' // -- because your Business Email is also checked. ), 'GStorageLeaderOnly' => false, // Only allow guild leader to view guild storage rather than all members? 'DivorceKeepChild' => false, // Keep child after divorce? 'DivorceKeepRings' => false, // Keep wedding rings after divorce? 'IpWhitelistPattern' => // PCRE Format Pattern. It's recommended you add your gameserver, webserver and server owner's IPs here. '(127\.0\.0\.1|0(\.[0\*]){3})', // WARNING: This string isn't escaped so be careful which chars you use! // By default, whitelists 127.0.0.1 (localhost) and 0.0.0.0 (all interfaces; whitelists all wildcard bans that can achive this too) 'AllowIpBanLogin' => false, // Allow logging into account from banned IP. 'AllowTempBanLogin' => false, // Allow logging in of temporarily banned accounts. 'AllowPermBanLogin' => false, // Allow logging in of permanently banned accounts. 'AutoRemoveTempBans' => true, // Automatically remove expired temporary bans on certain pages. 'ItemShopMaxCost' => 99, // Max price an item can be sold for. 'ItemShopMaxQuantity' => 99, // Max quantity the item may be sold at once for. 'ItemShopItemPerPage' => 5, // The number of items to display per page in the "Item Shop" page. 'HideFromWhosOnline' => AccountLevel::LOWGM, // Levels greater than or equal to this will be hidden from the "Who's Online" page. 'HideFromMapStats' => AccountLevel::LOWGM, // Levels greater than or equal to this will be hidden from the "Map Stats" page. 'EnableGMPassSecurity' => AccountLevel::LOWGM, // Levels greater than or equal to this will be required to use passwords that meet the earlier GM Password settings. 'ChargeGenderChange' => 0, // You can specify this as the number of credits to charge for gender change. Can be 0 for free change. 'BanPaymentStatuses' => array( // Payment statuses that will automatically ban the account owner if received. 'Cancelled_Reversal', // -- 'Cancelled_Reversal' 'Reversed', // -- 'Reversed' ), 'HoldUntrustedAccount' => 0, // This is the time in hours to hold a donation crediting process for, if the account // isn't a trusted account. Specify 0 or false to disable this feature. 'AutoUnholdAccount' => false, // Enable this to auto-unhold an account and credit it if the transaction is still // valid. This only applies if you are using the HoldUnstrustedAccount feature. // If you want to run a cron job instead, you can make a request to the '/donate/update' // module/action with the InstallerPassword as the password to run the update task. // With clean URLs: http://<server>/<baseURI>/donate/update?password=<InstallerPassword> // Without clean URLs: http://<server>/<baseURI>?module=donate&action=update&password=<InstallerPassword> // NOTE: This option is HIGHLY inefficient, it's recommended to run a cron job instead. 'AutoPruneAccounts' => false, // Enable this to automatically prune expired accounts. Enabling this is a performance // performance killer. See 'AutoUnholdAccount' for running this task as a cron job, // the module is 'account' and the action is 'prune'. // With clean URLs: http://<server>/<baseURI>/account/prune?password=<InstallerPassword> // Without clean URLs: http://<server>/<baseURI>?module=account&action=prune&password=<InstallerPassword> 'ShopImageExtensions' => array( // These are the image extensions allowed for uploading in the item shop. 'png', 'jpg', 'gif', 'bmp', 'jpeg' ), 'NoResetPassGroupLevel' => AccountLevel::LOWGM, // Minimum group level of account to prevent password reset using control panel. 'CharRankingLimit' => 20, // 'GuildRankingLimit' => 20, // 'ZenyRankingLimit' => 20, // 'DeathRankingLimit' => 20, // 'AlchemistRankingLimit' => 20, // 'BlacksmithRankingLimit' => 20, // 'RankingHideGroupLevel' => AccountLevel::LOWGM, // 'InfoHideZenyGroupLevel' => AccountLevel::LOWGM, // Minimum group level of account to hide zeny from in server information page. 'CharRankingThreshold' => 0, // Number of days the character must have logged in within to be listed in character ranking. (0 = disabled) 'ZenyRankingThreshold' => 0, // Number of days the character must have logged in within to be listed in zeny ranking. (0 = disabled) 'DeathRankingThreshold' => 0, // Number of days the character must have logged in within to be listed in death ranking. (0 = disabled) 'AlchemistRankingThreshold' => 0, // Number of days the character must have logged in within to be listed in death ranking. (0 = disabled) 'HideTempBannedCharRank' => false, // Hide temporarily banned characters from ranking. 'HidePermBannedCharRank' => true, // Hide permanently banned characters from ranking. 'HideTempBannedZenyRank' => false, // Hide temporarily banned characters from ranking. 'HidePermBannedZenyRank' => true, // Hide permanently banned characters from ranking. 'HideTempBannedDeathRank' => false, // Hide temporarily banned characters from ranking. 'HidePermBannedDeathRank' => true, // Hide permanently banned characters from ranking. 'HideTempBannedAlcheRank' => false, // Hide temporarily banned characters from ranking. 'HidePermBannedAlcheRank' => true, // Hide permanently banned characters from ranking. 'HideTempBannedSmithRank' => false, // Hide temporarily banned characters from ranking. 'HidePermBannedSmithRank' => true, // Hide permanently banned characters from ranking. 'HideTempBannedStats' => false, // Hide temporarily banned accounts from statistics. 'HidePermBannedStats' => true, // Hide permanently banned accounts from statistics. 'SortJobsByAmount' => false, // Sort job class information on statistics page by descending quantity (false = Sort by Job ID). 'CpLoginLogShowPassword' => false, // Show password in CP login log (also see access.php's SeeCpLoginLogPass). 'CpResetLogShowPassword' => false, // Show password in CP "password resets" log (also see access.php's SeeCpResetPass). 'CpChangeLogShowPassword' => false, // Show password in CP "password changes" log (also see access.php's SeeCpChangePass). 'AdminMenuNewStyle' => true, // Use new-style admin menu; Applies to 'default' theme. // These are the main menu items that should be displayed by themes. // They route to modules and actions. Whether they are displayed or // not at any given time depends on the user's account group level and/or // their login status. 'MenuItems' => array( 'Main Menu' => array( 'Home' => array('module' => 'main'), //'Forums' => array('exturl' => 'http://www.fluxro.com/community'), ), 'Account' => array( 'Register' => array('module' => 'account', 'action' => 'create'), 'Login' => array('module' => 'account', 'action' => 'login'), 'Logout' => array('module' => 'account', 'action' => 'logout'), 'History' => array('module' => 'history'), 'My Account' => array('module' => 'account', 'action' => 'view'), ), 'Donations' => array( 'Purchase' => array('module' => 'purchase'), 'Donate' => array('module' => 'donate'), ), 'Information' => array( 'Server Info.' => array('module' => 'server', 'action' => 'info'), 'Server Status' => array('module' => 'server', 'action' => 'status'), 'WoE Hours' => array('module' => 'woe'), 'Castles' => array('module' => 'castle'), "Who's Online" => array('module' => 'character', 'action' => 'online'), 'Map Statistics'=> array('module' => 'character', 'action' => 'mapstats'), 'Ranking Info.' => array('module' => 'ranking', 'action' => 'character'), ), 'Database' => array( 'Item Database' => array('module' => 'item'), 'Mob Database' => array('module' => 'monster'), ), 'Misc. Stuff' => array( 'rA Logs' => array('module' => 'logdata'), 'CP Logs' => array('module' => 'cplog'), 'IP Ban List' => array('module' => 'ipban'), 'Accounts' => array('module' => 'account'), 'Characters' => array('module' => 'character'), 'Guilds' => array('module' => 'guild'), 'Send Mail' => array('module' => 'mail'), 'Re-Install' => array('module' => 'install', 'action' => 'reinstall'), //'Auction' => array('module' => 'auction'), //'Economy' => array('module' => 'economy'), ) ), // Sub-menu items that are displayed for any action belonging to a // particular module. The format it simple. 'SubMenuItems' => array( 'history' => array( 'gamelogin' => 'Game Logins', 'cplogin' => 'CP Logins', 'emailchange'=> 'E-Mail Changes', 'passchange' => 'Password Changes', 'passreset' => 'Password Resets' ), 'account' => array( 'index' => 'List Accounts', 'view' => 'View Account', 'changepass' => 'Change Password', 'changemail' => 'Change E-mail', 'changesex' => 'Change Gender', 'transfer' => 'Transfer Credits', 'xferlog' => 'Credit Transfer History', 'cart' => 'Go to Shopping Cart', 'login' => 'Login', 'create' => 'Register', 'resetpass' => 'Reset Password', 'resend' => 'Resend E-mail Confirmation' ), 'guild' => array( 'index' => 'List Guilds', 'export' => 'Export Guild Emblems' ), 'server' => array( 'status' => 'View Status', 'status-xml' => 'View Status as XML' ), 'logdata' => array( //'char' => 'Characters', //'inter' => 'Interactions', 'command' => 'Commands', //'branch' => 'Branches', 'chat' => 'Chat Messages', 'login' => 'Logins', //'mvp' => 'MVP', //'npc' => 'NPC', 'pick' => 'Item Picks', 'zeny' => 'Zeny' ), 'cplog' => array( 'paypal' => 'PayPal Transactions', 'login' => 'Logins', 'resetpass' => 'Password Resets', 'changepass' => 'Password Changes', 'changemail' => 'E-mail Changes', 'ban' => 'Account Bans', 'ipban' => 'IP Bans' ), 'purchase' => array( 'index' => 'Shop', 'cart' => 'Go to Cart', 'checkout' => 'Checkout', 'clear' => 'Empty Cart', 'pending' => 'Pending Redemption' ), 'donate' => array( 'index' => 'Make a Donation', 'history' => 'Donation History', 'trusted' => 'Trusted PayPal E-mails' ), 'ipban' => array( 'index' => 'IP Ban List', 'add' => 'Add IP Ban' ), 'ranking' => array( 'character' => 'Character Ranking', 'guild' => 'Guild Ranking', 'zeny' => 'Zeny Ranking', 'death' => 'Death Ranking', 'alchemist' => 'Alchemist Ranking', 'blacksmith' => 'Blacksmith Ranking' ), 'item' => array( 'index' => 'List Items', 'add' => 'Add Item' ) ), 'AllowMD5PasswordSearch' => false, 'ReallyAllowMD5PasswordSearch' => false, // Are you POSITIVELY sure? // Specifies which modules and actions should be ignored by Tidy // (enabled/disabled by the OutputCleanHTML option). 'TidyIgnore' => array( array('module' => 'captcha'), array('module' => 'guild', 'action' => 'emblem') ), // Job classes, loaded from another file to avoid cluttering this one. // There isn't normally a need to modify this file, unless it's been // modified in an update. (In English: DON'T TOUCH THIS.) 'JobClasses' => include('jobs.php'), // Alchemist job classes, mostly used for alchemist rankings. // Should be left alone unless new alchemist-related job classes are introduced. 'AlchemistJobClasses' => include('jobs_alchemist.php'), // Blacksmith job classes, mostly used for blacksmith rankings. // Should be left alone unless new blacksmith-related job classes are introduced. 'BlacksmithJobClasses' => include('jobs_blacksmith.php'), // Gender-linked Job class IDs and their corresponding names. // Should be left alone unless new gender-specific job classes are introduced. 'GenderLinkedJobClasses' => include('jobs_gender_linked.php'), // Homunculus class IDs and their corresponding names. // Best not to mess with this either. 'HomunClasses' => include('homunculus.php'), // Item Types with their corresponding names. // Shouldn't touch this either. 'ItemTypes' => include('itemtypes.php'), // Specil Item Types with their corresponding names (For Weapons & Ammo by default). // Shouldn't touch this either. 'ItemTypes2' => include('itemtypes2.php'), // Common Equip Location Combinations with their corresponding names. // Shouldn't touch this unless you've added custom combinations. 'EquipLocationCombinations' => include('equip_location_combinations.php'), // Error Code -> Error Type mapping. // Shouldn't need touching, however modifying loginerrors.php should be relatively safe. 'LoginErrors' => include('loginerrors.php'), // rA equip jobs mapping. 'EquipJobs' => include('equip_jobs.php'), // rA equip locations mapping. 'EquipLocations' => include('equip_locations.php'), // rA equip upper mapping. 'EquipUpper' => include('equip_upper.php'), // rA monster sizes mapping. 'MonsterSizes' => include('sizes.php'), // rA monster races mapping. 'MonsterRaces' => include('races.php'), // rA elements mapping. 'Elements' => include('elements.php'), // rA attributes mapping. 'Attributes' => include('attributes.php'), // rA monster modes mapping. 'MonsterModes' => include('monstermode.php'), // Item shop categories. 'ShopCategories' => include('shopcategories.php'), // Item pick and zeny log types. 'PickTypes' => include('picktypes.php'), // Castle names. 'CastleNames' => include('castlenames.php'), // DON'T TOUCH. THIS IS FOR DEVELOPERS. 'FluxTables' => array( 'CreditsTable' => 'cp_credits', 'CreditTransferTable' => 'cp_xferlog', 'ItemShopTable' => 'cp_itemshop', 'TransactionTable' => 'cp_txnlog', 'RedemptionTable' => 'cp_redeemlog', 'AccountCreateTable' => 'cp_createlog', 'AccountBanTable' => 'cp_banlog', 'IpBanTable' => 'cp_ipbanlog', 'DonationTrustTable' => 'cp_trusted', 'AccountPrefsTable' => 'cp_loginprefs', 'CharacterPrefsTable' => 'cp_charprefs', 'ResetPasswordTable' => 'cp_resetpass', 'ChangeEmailTable' => 'cp_emailchange', 'LoginLogTable' => 'cp_loginlog', 'ChangePasswordTable' => 'cp_pwchange' ) ); ?>
here is my paypal IPN
Spoiler
result after trying to donate :
Cloud Flare SSL Settings : Flexible
the donation went tru but no credits are awarded to donator, and found this Solution but i have no idea how to do so
-
hye i need help since the default quest reward is not corrected as following This guide
have anyone set it up following iro wiki?, mind to share the script?
-
On 7/1/2021 at 1:45 AM, Chaos92 said:
Use this PR. Easy since its included in rAthena.
oke soo this dumb question again, is there a manual dummy prove how to use it?
-
As title the guild emblem is not showing, i am using 2020-04-01bRagexe, and after google i found HERE guide here is is the solution, the my problem is my server are hosted on vps centos 7
how can i make this happen since the guide was base on windows
-
i am soo dumb, the patch list was in correct number, skipped 2 and rename to 22
//1 samplepatch.thor 20 binkw32.dll-fix.thor 21 new-opensetup.thor 22 new-opensetup2.thor 23 open-setup3.thor 24 mall-fix.thor -
as title, here are the details,
thor patcher i am using : Thor
my thor configuration :
Spoiler[Config:Main] RootURL='https://ip-adress/patcher/' RemoteConfigFile='main.ini' TimeOut=0 StatusFile='dolphin.dat' DefaultGRF='dolphin.grf' ClientEXE='ragna.exe' ClientParameter='-1sak1' FinishOnConnectionFailure=false [Config:Window] AutoResize=true Style='none' Width= Height= DragHandling=true Background='images/bg.jpg' FadeOnDrag=false [Config:BGM] File= Loop=true Volume=20 Directory= [Config:Misc] Title='DolphinRO Patcher' HideProgressBarWhenFinish=false Hook='StatusChange' [NoticeBox:Slider] Width=374 Height=178 Left=43 Top=137 URL='https://ip-adress/patcher/slider.html' [ProgressBar:bar1] Width=955 Height=6 Left=0 Top=460 BackColorStart= BackColorEnd= FrontColorStart= FrontColorEnd= FrontImage='images/frontprogress.png' BackImage='images/backprogress.png' Hook='ProgressChange' [Label:Status] AutoResize=true Width=350 Height=13 Left=10 Top=6 Alignment='left' FontColor=$00A4A4A4 FontName = 'Arial' FontSize =7 Text='Patch Process Completed' Hook='StatusChange' [Button:Start] Default='images/start.png' OnHover='images/starthover.png' OnDown='images/start.png' Left=749 Top=387 Hook='Start' [Button:Exit] Default='images/Exit.png' OnHover='images/ExitHover.png' OnDown='images/Exit.png' Left=923 Top=6 Mode=5 [Button:Minimize] Default='images/minimize.png' OnHover='images/minimizeHover.png' OnDown='images/minimize.png' Left=895 Top=6 Mode=4 [Button:Settings] Default='images/settings.png' OnHover='images/settingsHover.png' OnDown='images/settings.png' Left=864 Top=6 Mode=2 Action='opensetup.exe' [Button:Website] Default='images/website.png' OnHover='images/websiteHover.png' OnDown='images/website.png' Left=69 Top=391 Mode=1 Action='https://dolphin-ro.com/' [Button:Forum] Default='images/forums.png' OnHover='images/forumsHover.png' OnDown='images/forums.png' Left=252 Top=392 Mode=1 Action='https://dolphin-ro.com/forum' [Button:Discord] Default='images/discord.png' OnHover='images/discordHover.png' OnDown='images/discord.png' Left=429 Top=391 Mode=1 Action='https://discord.gg/dVhCrZcD7F'my patcher website main.ini :
Spoiler//Thor Patcher remote config file [Main] //Allow patching or not? allow=true //Should patcher ignore everything else and finish patch immediately? Force_Start=false //if not, what message should appear? policy_msg=Server is taking a nap. //file_url - patch files should ALL put here. // This config entry will override the one in embed config. // o HTTP: // http://domain.com/dir/ // o FTP: // ftp://domain.com/dir/ // o With <Username> [Password] [Port] // ftp://username:[email protected]:port/dir/ // o Note: username is required if want put password, otherwise everything is optional. file_url=http://ip-adress/patcher/data/ [Patch] //use CheckSum tool, hash for client & patcher // used to make sure exe is up to date // (leave empty to disable this feature) ClientSum= PatcherSum= //This is compressed file for patcher & client update // To make these work, ClientSum and/or PatcherSum can't be empty // Note: these files should put same place as patch file (file_url in internal config) //Relative address, not FULL URL! ClientPath= PatcherPath= // Patch list file PatchList=plist.txt [Stars] // Shining o.O (Anyways, its for start button clones) // Since orignal client has check sum.. why not for clones? XD //How many? (it should same as amount of start button clone, but of course it's your choice) clients=0 // _sum - checksum, use CheckSum tool. //client1_sum= // _Name - Filename of exe //client1_Name= // _Path - Path for file [Compressed] //client1_Path= [Misc] //Set a limit for fragment, when reach this limit, patcher will ask user to defrag FragmentLimit=50
-
16 minutes ago, Fluxion said:
Missing true at jailtime
thanks, what is wrong with my eyes... lol
-
as title
my group conf
/* Player groups configuration file --------------------------------- This file defines "player groups" and their privileges. Each group has its id and name, lists of available commands and other permissions, and a list of other groups it inherits from. Group settings -------------- <id> Unique group number. The only required field. <name> Any string. If empty, defaults to "Group <id>". It is used in several @who commands. <level> Equivalent of GM level, which was used in revisions before r15572. You can set it to any number, but usually it's between 0 (default) and 99. Members of groups with lower level can not perform some actions/commands (like @kick) on members of groups with higher level. It is what script command getgmlevel() returns. Group level can also be used to override trade restrictions (db/item_trade.txt). <commands> A group of settings <command name> : <bool> or <commandname> : [ <bool>, <bool> ] First boolean value is for atcommand, second one for charcommand. If set to true, group can use command. If only atcommand value is provided, false is assumed for charcommand. If a command name is not included, false is assumed for both atcommand and charcommand. For a full list of available commands, see: doc/atcommands.txt. Command names must not be aliases. <log_commands> Boolean value. If true then all commands used by the group will be logged to atcommandlog. If setting is omitted in a group definition, false is assumed. Requires 'log_commands' to be enabled in 'conf/log_athena.conf'. <permissions> A group of settings <permission> : <bool> If a permission is not included, false is assumed. For a full list of available permissions, see: doc/permissions.txt <inherit> A list of group names that given group will inherit commands and permissions from. Group names are case-sensitive. Inheritance results ------------------- Both multiple inheritance (Group 2 -> Group 1 and Group 3 -> Group 1) and recursive inheritance (Group 3 -> Group 2 -> Group 1) are allowed. Inheritance rules should not create cycles (eg Group 1 inherits from Group 2, and Group inherits from Group 1 at the same time). Configuration with cycles is considered faulty and can't be processed fully by server. Command or permission is inherited ONLY if it's not already defined for the group. If group inherits from multiple groups, and the same command or permission is defined for more than one of these groups, it's undefined which one will be inherited. Syntax ------ This config file uses libconfig syntax: http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files Upgrading from revisions before r15572 ------------------------------------- http://rathena.org/board/index.php?showtopic=58877 */ groups: ( { id: 0 /* group 0 is the default group for every new account */ name: "Player" level: 0 inherit: ( /*empty list*/ ) commands: { changedress: true resurrect: true } permissions: { /* without this basic permissions regular players could not trade or party */ can_trade: true can_party: true attendance: true rates: true jailtime: iteminfo: true autoloot: true alootid: true noks: true } }, { id: 1 name: "Super Player" inherit: ( "Player" ) /* can do everything Players can and more */ level: 0 commands: { /* informational commands */ commands: true charcommands: true help: true rates: true uptime: true showdelay: true exp: true mobinfo: true iteminfo: true whodrops: true time: true jailtime: true hominfo: true homstats: true showexp: true showzeny: true whereis: true /* feature commands */ refresh: true noask: true noks: true autoloot: true alootid: true autoloottype: true autotrade: true request: true go: true breakguild: true channel: true langtype: true } permissions: { attendance: false } }, { id: 2 name: "Support" inherit: ( "Super Player" ) level: 1 commands: { version: true where: true jumpto: true who: true who2: true who3: true whomap: true whomap2: true whomap3: true users: true broadcast: true localbroadcast: true } log_commands: true permissions: { receive_requests: true view_equipment: true } }, { id: 3 name: "Script Manager" inherit: ( "Support" ) level: 1 commands: { tonpc: true hidenpc: true shownpc: true loadnpc: true unloadnpc: true npcmove: true addwarp: true } log_commands: true permissions: { any_warp: true } }, { id: 4 name: "Event Manager" inherit: ( "Support" ) level: 1 commands: { monster: true monstersmall: true monsterbig: true killmonster2: true cleanarea: true cleanmap: true item: [true, true] zeny: [true, true] disguise: [true, true] undisguise: [true, true] size: [true, true] raise: true raisemap: true day: true night: true skillon: true skilloff: true pvpon: true pvpoff: true gvgon: true gvgoff: true allowks: true me: true marry: true divorce: true refreshall: true } log_commands: true permissions: { can_trade: false any_warp: true } }, { id: 5 name: "VIP" inherit: ( "Player" ) /* can do everything Players can */ level: 0 commands: { rates: true who: true } permissions: { /* no permissions by default */ } }, { id: 10 name: "Law Enforcement" inherit: ( "Support" ) level: 2 commands: { hide: true follow: true kick: true disguise: true fakename: true option: true speed: true warp: true kill: true recall: true ban: true block: true jail: true jailfor: true mute: true storagelist: true cartlist: true itemlist: true stats: true } log_commands: true permissions: { join_chat: true kick_chat: true hide_session: true who_display_aid: true hack_info: true any_warp: true view_hpmeter: true } }, { id: 99 name: "Admin" level: 99 inherit: ( "Support", "Law Enforcement" ) commands: { /* not necessary due to all_commands: true */ } log_commands: true permissions: { can_trade: true can_party: true command_enable: true all_skill: false all_equipment: false skill_unconditional: false use_check: true use_changemaptype: true all_commands: true channel_admin: true can_trade_bounded: true item_unconditional: false bypass_stat_onclone: true bypass_max_stat: true /* all_permission: true */ } } )
Warp NPC With Item Requirement
in Scripting Support
Posted
as title this npc currently taking 2 warp ticket for each use i am not sure how did this happen, it should only take 1 ticket per warp service..
fixed by removing delitem since it was called 2x