Jump to content

Dolphin86

Members
  • Posts

    547
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by Dolphin86

  1. 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..

    Spoiler
    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;
    		
    	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 {
    	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;
    }
    
    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");
    	
    
    
    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 by removing delitem since it was called 2x

    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;
    		
    	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 {
    	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;
    }
    
    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) {
            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");
    	
    
    
    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

     

     

  2. 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;
    }
  3. 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

     

     

  4. 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

  5. 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

  6. 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
    
    

     

     

  7. 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:

    Spoiler

     

    100 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:

    Spoiler
    neko_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?

     

  8. 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

     

     

  9. 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

    Spoiler

     

    prontera,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_KAFRA1

     

    here 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.. (^___^)/

  10. 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: true

    you meant this file ?

    rAthena/db/import/item_db.yml ?

    soo just add 

    NoStorage: Flase

    ?

  11. 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

  12. 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?

  13. 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

  14. Spoiler
    1 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

  15. Spoiler

     

    1 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

  16. 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

     

    Untitled.png.11ae86ea7bb75bda531b9cfc2b2d383a.png

    result after trying to donate :

    Spoiler

    Untitled.thumb.png.1d94508dd1d05ae49b3e53bab1a76c15.png

     

    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

  17. 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

  18. 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

     

     

  19. 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 */
    	}
    }
    )
    

     

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.