//===== eAthena Script ============================================ //= Favorite Warper //===== By: ======================================================= //= ~AnnieRuru~ //===== Current Version: ========================================== //= 2.2 //===== Compatible With: ========================================== //= eAthena Trunk 14214 //===== Description: ============================================== //= Normal Warper + players can store their favorite maps //===== Topic ===================================================== //= http://www.eathena.ws/board/index.php?showtopic=240936 //===== Additional Comments: ====================================== //= I just dumped all the new maps to J group, //= only after these are official in eathena only I'll add into main part //================================================================= - script warpra -1,{ OnInit: // Config Start ------------------------- // set the numbers of favorite maps player can save set .fav_size, 15; // maximum is 40... but I think no need to put that high right ? // allow extra custom maps on your server // menu setting inside - Others set .@menu[0], 1; // Turn Group A On/Off -> others set .@menu[1], 0; // Turn Group B On/Off set .@menu[2], 0; // Turn Group C On/Off set .@menu[3], 0; // Turn Group D On/Off set .@menu[4], 0; // Turn Group E On/Off set .@menu[5], 0; // Turn Group F On/Off set .@menu[6], 0; // Turn Group G On/Off set .@menu[7], 0; // Turn Group H On/Off set .@menu[8], 0; // Turn Group I On/Off set .@menu[9], 0; // Turn Group J On/Off -> new maps, turn on if your server support it // Note : if you wanna add more location, only add at the end of the array // DO NOT add in between ! set .customnameA$, "Others"; setarray .custommapA$, // , ,, "market", "turbo_room",99,100, "casino", "cmd_in02",179,129; set .customnameB$, "B"; setarray .custommapB$, // , ,, "market", "turbo_room",99,100, "casino", "cmd_in02",179,129; set .customnameC$, "C"; setarray .custommapC$, // , ,, "market", "turbo_room",99,100, "casino", "cmd_in02",179,129; set .customnameD$, "D"; setarray .custommapD$, // , ,, "market", "turbo_room",99,100, "casino", "cmd_in02",179,129; set .customnameE$, "E"; setarray .custommapE$, // , ,, "market", "turbo_room",99,100, "casino", "cmd_in02",179,129; set .customnameF$, "F"; setarray .custommapF$, // , ,, "market", "turbo_room",99,100, "casino", "cmd_in02",179,129; set .customnameG$, "G"; setarray .custommapG$, // , ,, "market", "turbo_room",99,100, "casino", "cmd_in02",179,129; set .customnameH$, "H"; setarray .custommapH$, // , ,, "market", "turbo_room",99,100, "casino", "cmd_in02",179,129; set .customnameI$, "I"; setarray .custommapI$, // , ,, "lala", "prontera",146,186, "lolo", "prontera",156,186; set .customnameJ$, "new maps"; setarray .custommapJ$, // , ,, "Brasilis", "brasilis", 201,217, "Brasilis Field 1", "bra_fild01",74,32, "Brasilis Dungeon - At the Dusk - 01", "bra_dun01",87,47, "Brasilis Dungeon - At the Dusk - 02", "bra_dun02",262,262, "El Dicastes", "dicastes01", 198,190, "El Dicastes Field 1", "dic_fild01",150,277, "El Dicastes Field 2", "dic_fild02",71,371, "El Dicastes Dungeon Level 1", "dic_dun01",367,44, "El Dicastes Dungeon Level 2", "dic_dun02",102,144; // Config Ends -------------------------------- setarray .abc$, "a","b","c","d","e","f","g","h","i","j"; while ( .@i < 10 ) { set .menu$, .menu$ + ( (.@menu[.@i])? getd(".customname"+ .abc$[.@i] +"$"):"" )+":"; if ( .@menu[.@i] ) { set .@size, getarraysize( getd(".custommap"+ .abc$[.@i] +"$") ); set .@j, 0; while ( .@j < .@size ) { setd ".menu"+ .abc$[.@i] +"$", getd(".menu"+ .abc$[.@i] +"$") + getd(".custommap"+ .abc$[.@i] +"$["+ .@j +"]") +":"; set .@j, .@j +4 ; } set .filled$[ getarraysize(.filled$) ], .abc$[.@i]; } set .@i, .@i +1 ; } if ( .fav_size > 40 ) set .fav_size, 40; end; //OnWhisperGlobal: // I think need to off this ... I smell players might spam this. Uncomment to on it back if ( hp == 0 ) end; getmapxy .@map$, .@x, .@y, 0; if ( getmapflag(.@map$, mf_nowarp) ) { dispbottom "Warper : You cannot call for warper in current map."; end; } else if ( compare(@whispervar0$, "list") ) { dispbottom "Last warp - "+ @fav_warp_name$[0]; for ( set .@i, 1; .@i <= .fav_size; set .@i, .@i +1 ) dispbottom .@i +". "+ @fav_warp_name$[.@i]; end; } else if ( compare(@whispervar0$, "warp") ) { set .@num, atoi(@whispervar1$); // just for debug purpose ... // callfunc "fav_maps", @whispervar1$; // warp @map$[1], @map$[2], @map$[3]; // deletearray @map$; // end; if ( .@num < 0 || .@num > .fav_size ) { dispbottom "Warper : Invalid number"; end; } if ( @fav_warp_name$[.@num] == "" ) { if ( .@num == 0 ) dispbottom "Warper : Your Last warp is empty !"; else dispbottom "Warper : Your slot number "+ .@num +" is empty !"; end; } callfunc "fav_maps", @fav_warp_code$[.@num]; set @fav_warp_code$[0], @fav_warp_code$[.@num]; set @fav_warp_name$[0], @map$; set fav_warp$, @fav_warp_code$[0]; for ( set .@i, 1; .@i <= .fav_size; set .@i, .@i +1 ) set fav_warp$, fav_warp$ +"#"+ @fav_warp_code$[.@i]; warp @map$[1], @map$[2], @map$[3]; deletearray @map$; end; } doevent "Warper::OnStart"; end; OnPCLoginEvent: if ( fav_warp$ == "" ) end; set .@tmp$, "|~key~|"; // explode set .@str$, .@tmp$ + fav_warp$; set .@len, getstrlen(fav_warp$); setarray .@char$, "#", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"; while( .@len > .@s ) { set .@i, 0; while ( .@i < 37 ) { if ( compare( .@str$ , .@tmp$ + .@char$[.@i] ) ) { set .@tmp$, .@tmp$ + .@char$[.@i]; if ( .@i == 0 ) { callfunc "fav_maps", @fav_warp_code$[.@p]; set @fav_warp_name$[.@p], @map$; deletearray @map$; set .@p, .@p +1 ; } else set @fav_warp_code$[.@p], @fav_warp_code$[.@p] + .@char$[.@i]; break; } set .@i, .@i +1 ; } set .@s, .@s +1 ; if ( .@p % 5 == 4 ) sleep2 1; } callfunc "fav_maps", @fav_warp_code$[.fav_size]; set @fav_warp_name$[.fav_size], @map$; deletearray @map$; end; } - script Warper#00::Warper -1,{ OnStart: while (1) { mes "[Warp NPC]"; mes "Hello "+ strcharinfo(0) +" ,"; mes "I can teleport you to any Town or Dungeon!"; mes "Where do you want to go?"; next; switch ( select ( "Favorites", "Normal warp", "Manage Favorites" ) ) { case 1: set .@menu$, "Last - "+ ( ( @fav_warp_code$[0] )?"^FF9900"+ @fav_warp_name$[0] +"^000000":"^FF0000Empty^000000"); for ( set .@i, 1; .@i <= getvariableofnpc( .fav_size, "warpra") ; set .@i, .@i +1 ) set .@menu$, .@menu$ +":"+ .@i +". "+ ( ( @fav_warp_code$[.@i] )?"^FF9900"+ @fav_warp_name$[.@i] +"^000000":"^FF0000Empty^000000"); set .@menu, select(.@menu$) -1; callfunc "fav_maps", @fav_warp_code$[.@menu]; if ( @map$ == "" ) { mes "[Warp NPC]"; if ( .@menu ) mes "You haven't set for that option."; else mes "You have no previous map visited."; next; break; } set @fav_warp_code$[0], @fav_warp_code$[.@menu]; set @fav_warp_name$[0], @map$; callsub L_save; warp @map$[1], @map$[2], @map$[3]; deletearray @map$; end; case 2: set .@num$, callsub(L_select, 0, 1); callfunc "fav_maps", .@num$; set @fav_warp_code$[0], .@num$; set @fav_warp_name$[0], @map$; callsub L_save; warp @map$[1], @map$[2], @map$[3]; deletearray @map$; end; case 3: mes "[Warp NPC]"; mes "^6600FF*Manage Your Favorite Maps*^000000"; next; set .@menu$, "Last - "+ ( ( @fav_warp_code$[0] )?"^FF9900"+ @fav_warp_name$[0] +"^000000":"^FF0000Empty^000000"); for ( set .@i, 1; .@i <= getvariableofnpc( .fav_size, "warpra"); set .@i, .@i +1 ) set .@menu$, .@menu$ +":"+ .@i +". "+ ( ( @fav_warp_code$[.@i] )?"^FF9900"+ @fav_warp_name$[.@i] +"^000000":"^FF0000Empty^000000"); set .@menu, select(.@menu$) -1; set .@num$, callsub(L_select, (.@menu)?1:0, 0); if ( .@num$ == "delete" ) { set @fav_warp_code$[.@menu], ""; set @fav_warp_name$[.@menu], ""; mes "[Warp NPC]"; mes "Your^996600 slot number "+ .@menu +" ^FF0000is removed^000000"; } else { callfunc "fav_maps", .@num$; set @fav_warp_code$[.@menu], .@num$; set @fav_warp_name$[.@menu], @map$; mes "[Warp NPC]"; if ( .@menu ) mes "Your^996600 slot number "+ .@menu +"^000000 set to"; else mes "Your ^996600Last warp^000000 set to"; mes "^FF9900"+ @map$ +"^000000"; } callsub L_save; deletearray @map$; next; break; } } end; L_save: // implode set fav_warp$, @fav_warp_code$[0]; for ( set .@i, 1; .@i <= getvariableofnpc( .fav_size, "warpra"); set .@i, .@i +1 ) set fav_warp$, fav_warp$ +"#"+ @fav_warp_code$[.@i]; return; L_select: set .@warp1, select ( "Town", "Dungeon", "Guild Castles", "Others", ( getarg(0) )?"^FF0000Remove^000000":"" ); switch ( .@warp1 ) { case 1: set .@warp1$, "t"; set .@warp2, select ( "Alberta", "Aldebaran", "Amatsu", "Ayothaya", "Comodo", "Einbech (Mining Village)", "Einbroch", "Geffen", "Gonryun", "Hugel", "Izlude", "Jawaii", "Lighthalzen", "Louyang", "Lutie", "Manuk", "Midgarts Expedition Camp", "Morroc", "Moscovia", "Nameless Island", "Niflheim", "Payon", "Prontera", "Rachel", "Splendide", "Thor Camp", "Umbala", "Veins", "Yuno" ); switch ( .@warp2 ) { case 1: set .@warp2$, "ab"; break; case 2: set .@warp2$, "ad"; break; case 3: set .@warp2$, "am"; break; case 4: set .@warp2$, "ay"; break; case 5: set .@warp2$, "co"; break; case 6: set .@warp2$, "ei"; break; case 7: set .@warp2$, "er"; break; case 8: set .@warp2$, "ge"; break; case 9: set .@warp2$, "go"; break; case 10: set .@warp2$, "hu"; break; case 11: set .@warp2$, "iz"; break; case 12: set .@warp2$, "ja"; break; case 13: set .@warp2$, "li"; break; case 14: set .@warp2$, "lo"; break; case 15: set .@warp2$, "lu"; break; case 16: set .@warp2$, "ma"; break; case 17: set .@warp2$, "mi"; break; case 18: set .@warp2$, "mo"; break; case 19: set .@warp2$, "ms"; break; case 20: set .@warp2$, "na"; break; case 21: set .@warp2$, "ni"; break; case 22: set .@warp2$, "pa"; break; case 23: set .@warp2$, "pr"; break; case 24: set .@warp2$, "ra"; break; case 25: set .@warp2$, "sp"; break; case 26: set .@warp2$, "th"; break; case 27: set .@warp2$, "um"; break; case 28: set .@warp2$, "ve"; break; case 29: set .@warp2$, "yu"; break; default: } break; case 2: set .@warp1$, "d"; set .@warp2, select ( "Abbey, Cursed Monastery", "Abyss Lakes", "Amatsu Dungeon", "Anthell", "Ayothaya Dungeon", "", // "Beach Dungeon" can go from comodo town easily "Byalan Dungeon", "", // "Clock Tower" can go from aldebaran easily "Coal Mines", "Culverts", "Einbroch Dungeon", "Gefenia", "Geffen Dungeon", "Glast Heim", "Gonryun Dungeon", "Hidden Dungeon", "Ice Cave", "Juperos Dungeon", "Kiel Dungeon", "Lighthalzen", "Louyang Dungeon", "Magma Dungeon", "Moscovia Dungeon", "Orc Dungeon", "Payon Dungeon", "Pyramids", "Rachel Sanctuary", "Sphinx", "Sunken Ship", "Thanatos Tower", "Thor Volcano", "Toy Factory", "Turtle Dungeon", "Umbala Dungeon" ); switch ( .@warp2 ) { case 1: set .@warp2$, "ab"; break; case 2: set .@warp2$, "ai"; break; case 3: set .@warp2$, "am"; break; case 4: set .@warp2$, "an"; break; case 5: set .@warp2$, "ay"; break; case 6: set .@warp2$, "be"; break; case 7: set .@warp2$, "by"; break; case 8: set .@warp2$, "cl"; break; case 9: set .@warp2$, "co"; break; case 10: set .@warp2$, "cu"; break; case 11: set .@warp2$, "ei"; break; case 12: set .@warp2$, "ge"; break; case 13: set .@warp2$, "gf"; break; case 14: set .@warp2$, "gl"; break; case 15: set .@warp2$, "go"; break; case 16: set .@warp2$, "hi"; break; case 17: set .@warp2$, "ic"; break; case 18: set .@warp2$, "ju"; break; case 19: set .@warp2$, "ki"; break; case 20: set .@warp2$, "li"; break; case 21: set .@warp2$, "lo"; break; case 22: set .@warp2$, "ma"; break; case 23: set .@warp2$, "mo"; break; case 24: set .@warp2$, "or"; break; case 25: set .@warp2$, "pa"; break; case 26: set .@warp2$, "py"; break; case 27: set .@warp2$, "ra"; break; case 28: set .@warp2$, "sp"; break; case 29: set .@warp2$, "su"; break; case 30: set .@warp2$, "ta"; break; case 31: set .@warp2$, "th"; break; case 32: set .@warp2$, "to"; break; case 33: set .@warp2$, "tu"; break; case 34: set .@warp2$, "um"; break; default: } break; case 3: set .@warp1$, "w"; set .@warp2, select ( "War of Emperium Castles", "WOE.SE Castles" ); switch ( .@warp2 ) { case 1: set .@warp2$, "fi"; set .@warp3, select ( "Neuschwanstein - Aldebaran Castle 1", "Hohenschwangau - Aldebaran Castle 2", "Nuenberg - Aldebaran Castle 3", "Wuerzburg - Aldebaran Castle 4", "Rothenburg - Aldebaran Castle 5", "Repherion - Geffen Castle 1", "Eeyolbriggar - Geffen Castle 2", "Yesnelph - Geffen Castle 3", "Bergel - Geffen Castle 4", "Mersetzdeitz - Geffen Castle 5", "Bright Arbor - Payon Castle 1", "Scarlet Palace - Payon Castle 2", "Holy Shadow - Payon Castle 3", "Sacred Altar - Payon Castle 4", "Bamboo Grove Hill - Payon Castle 5", "Kriemhild - Prontera Castle 1", "Swanhild - Prontera Castle 2", "Fadhgridh - Prontera Castle 3", "Skoegul - Prontera Castle 4", "Gondul - Prontera Castle 5" ); break; case 2: set .@warp2$, "se"; set .@warp3, select ( "Himinn - Schwaltzvalt Castle 1", "Andlangr - Schwaltzvalt Castle 2", "Viblainn - Schwaltzvalt Castle 3", "Hljod - Schwaltzvalt Castle 4", "Skidbladnir - Schwaltzvalt Castle 5", "Mardol - Arunafeltz Castle 1", "Cyr - Arunafeltz Castle 2", "Horn - Arunafeltz Castle 3", "Gefn - Arunafeltz Castle 4", "Bandis - Arunafeltz Castle 5" ); break; default: } set .@warp3$, ( .@warp3 < 10 )?"0"+ .@warp3:.@warp3; break; case 4: set .@warp1$, "o"; set .@warp2, select ( getvariableofnpc( .menu$, "warpra") ) -1; set .@abc$, getvariableofnpc( .abc$[.@warp2], "warpra"); set .@warp2$, .@abc$; set .@warp3, select ( getvariableofnpc( getd(".menu"+ .@abc$ +"$"), "warpra") ); set .@warp3$, ( .@warp3 < 10 )?"0"+ .@warp3:.@warp3; break; case 5: set .@warp1$, "delete"; } return .@warp1$ + .@warp2$ + .@warp3$; } function script fav_maps { deletearray @map$; set .@tmp$, "|~key~|"; set .@str$, .@tmp$ + getarg(0); if ( compare( .@str$ , .@tmp$ + "t" ) ) { if ( compare( .@str$, .@tmp$ +"tab" ) ) setarray @map$, "Alberta", "alberta",28,234; else if ( compare( .@str$, .@tmp$ +"tad" ) ) setarray @map$, "Aldebaran", "aldebaran",140,131; else if ( compare( .@str$, .@tmp$ +"tam" ) ) setarray @map$, "Amatsu", "amatsu",198,84; else if ( compare( .@str$, .@tmp$ +"tay" ) ) setarray @map$, "Ayothaya", "ayothaya",151,117; else if ( compare( .@str$, .@tmp$ +"tco" ) ) setarray @map$, "Comodo", "comodo",209,143; else if ( compare( .@str$, .@tmp$ +"tei" ) ) setarray @map$, "Einbech (Mining Village)", "einbech",70,95; else if ( compare( .@str$, .@tmp$ +"ter" ) ) setarray @map$, "Einbroch", "einbroch",64,200; else if ( compare( .@str$, .@tmp$ +"tge" ) ) setarray @map$, "Geffen", "geffen",119,59; else if ( compare( .@str$, .@tmp$ +"tgo" ) ) setarray @map$, "Gonryun", "gonryun",160,121; else if ( compare( .@str$, .@tmp$ +"thu" ) ) setarray @map$, "Hugel", "hugel",96,145; else if ( compare( .@str$, .@tmp$ +"tiz" ) ) setarray @map$, "Izlude", "izlude",128,114; else if ( compare( .@str$, .@tmp$ +"tja" ) ) setarray @map$, "Jawaii", "jawaii",177,171; else if ( compare( .@str$, .@tmp$ +"tli" ) ) setarray @map$, "Lighthalzen", "lighthalzen",158,92; else if ( compare( .@str$, .@tmp$ +"tlo" ) ) setarray @map$, "Louyang", "louyang",217,107; else if ( compare( .@str$, .@tmp$ +"tlu" ) ) setarray @map$, "Lutie", "xmas",147,134; else if ( compare( .@str$, .@tmp$ +"tma" ) ) setarray @map$, "Manuk", "manuk",276,122; else if ( compare( .@str$, .@tmp$ +"tmi" ) ) setarray @map$, "Midgarts Expedition Camp", "mid_camp",210,288; else if ( compare( .@str$, .@tmp$ +"tmo" ) ) setarray @map$, "Morroc", "morocc",156,93; else if ( compare( .@str$, .@tmp$ +"tms" ) ) setarray @map$, "Moscovia", "moscovia",156,93; else if ( compare( .@str$, .@tmp$ +"tna" ) ) setarray @map$, "Nameless Island", "nameless_n",256,215; else if ( compare( .@str$, .@tmp$ +"tni" ) ) setarray @map$, "Niflheim", "niflheim",85,154; else if ( compare( .@str$, .@tmp$ +"tpa" ) ) setarray @map$, "Payon", "payon",170,98; else if ( compare( .@str$, .@tmp$ +"tpr" ) ) setarray @map$, "Prontera", "prontera",155,183; else if ( compare( .@str$, .@tmp$ +"tra" ) ) setarray @map$, "Rachel", "rachel",130,137; else if ( compare( .@str$, .@tmp$ +"tsp" ) ) setarray @map$, "Splendide", "splendide",208,158; else if ( compare( .@str$, .@tmp$ +"tth" ) ) setarray @map$, "Thor Camp", "thor_camp",254,90; else if ( compare( .@str$, .@tmp$ +"tve" ) ) setarray @map$, "Veins", "veins",216,123; else if ( compare( .@str$, .@tmp$ +"tyu" ) ) setarray @map$, "Yuno", "yuno",157,51; else if ( compare( .@str$, .@tmp$ +"tum" ) ) setarray @map$, "Umbala", "umbala",145,155; } else if ( compare( .@str$ , .@tmp$ + "d" ) ) { if ( compare( .@str$, .@tmp$ +"dab" ) ) setarray @map$, "Abbey, Cursed Monastery", "nameless_n", 160,184; else if ( compare( .@str$, .@tmp$ +"dai" ) ) setarray @map$, "Abyss Lakes", "hu_fild05",189,207; else if ( compare( .@str$, .@tmp$ +"dam" ) ) setarray @map$, "Amatsu Dungeon", "ama_dun01",229,12; else if ( compare( .@str$, .@tmp$ +"dan" ) ) setarray @map$, "Anthell", "moc_fild20",164,145; else if ( compare( .@str$, .@tmp$ +"day" ) ) setarray @map$, "Ayothaya Dungeon", "ayo_fild02",280,149; else if ( compare( .@str$, .@tmp$ +"dby" ) ) setarray @map$, "Byalan Dungeon", "izlu2dun",106,88; else if ( compare( .@str$, .@tmp$ +"dco" ) ) setarray @map$, "Coal Mines", "mjolnir_02",81,359; else if ( compare( .@str$, .@tmp$ +"dcu" ) ) setarray @map$, "Culverts", "prt_sewb1",126,248; else if ( compare( .@str$, .@tmp$ +"dei" ) ) setarray @map$, "Einbroch Dungeon", "einbech",135,249; else if ( compare( .@str$, .@tmp$ +"dge" ) ) setarray @map$, "Gefenia", "gefenia01",40,103; else if ( compare( .@str$, .@tmp$ +"dgf" ) ) setarray @map$, "Geffen Dungeon", "gef_tower",153,31; else if ( compare( .@str$, .@tmp$ +"dgl" ) ) setarray @map$, "Glast Heim", "glast_01",368,303; else if ( compare( .@str$, .@tmp$ +"dgo" ) ) setarray @map$, "Gonryun Dungeon", "gonryun",160,195; else if ( compare( .@str$, .@tmp$ +"dhi" ) ) setarray @map$, "Hidden Dungeon", "prt_fild01",136,368; else if ( compare( .@str$, .@tmp$ +"dic" ) ) setarray @map$, "Ice Cave", "ra_fild01", 233,327; else if ( compare( .@str$, .@tmp$ +"dju" ) ) setarray @map$, "Juperos Dungeon", "yuno_fild07",218,176; else if ( compare( .@str$, .@tmp$ +"dki" ) ) setarray @map$, "Kiel Dungeon", "kh_dun01",3,231; else if ( compare( .@str$, .@tmp$ +"dli" ) ) setarray @map$, "Lighthalzen", "lhz_dun01",150,288; else if ( compare( .@str$, .@tmp$ +"dlo" ) ) setarray @map$, "Louyang Dungeon", "louyang", 40,273; else if ( compare( .@str$, .@tmp$ +"dma" ) ) setarray @map$, "Magma Dungeon", "yuno_fild03",39,140; else if ( compare( .@str$, .@tmp$ +"dmo" ) ) setarray @map$, "Moscovia Dungeon", "mosk_dun01",200,267; else if ( compare( .@str$, .@tmp$ +"dor" ) ) setarray @map$, "Orc Dungeon", "in_orcs01",30,180; else if ( compare( .@str$, .@tmp$ +"dpa" ) ) setarray @map$, "Payon Dungeon", "pay_arche", 39,131; else if ( compare( .@str$, .@tmp$ +"dpy" ) ) setarray @map$, "Pyramids", "moc_ruins",60,161; else if ( compare( .@str$, .@tmp$ +"dra" ) ) setarray @map$, "Rachel Sanctuary", "ra_san01",139,143; else if ( compare( .@str$, .@tmp$ +"dsp" ) ) setarray @map$, "Sphinx", "moc_fild19",100,99; else if ( compare( .@str$, .@tmp$ +"dsu" ) ) setarray @map$, "Sunken Ship", "alb2trea", 85,107; else if ( compare( .@str$, .@tmp$ +"dta" ) ) setarray @map$, "Thanatos Tower", "tha_scene01",131,223; else if ( compare( .@str$, .@tmp$ +"dth" ) ) setarray @map$, "Thor Volcano", "ve_fild03",168,235; else if ( compare( .@str$, .@tmp$ +"dto" ) ) setarray @map$, "Toy Factory", "xmas",143,311; else if ( compare( .@str$, .@tmp$ +"dtu" ) ) setarray @map$, "Turtle Dungeon", "tur_dun01",149,238; else if ( compare( .@str$, .@tmp$ +"dum" ) ) setarray @map$, "Umbala Dungeon", "umbala",109,284; } else if ( compare( .@str$ , .@tmp$ + "w" ) ) { if ( compare( .@str$, .@tmp$ +"wfi" ) ) { if ( compare( .@str$, .@tmp$ +"wfi01" ) ) setarray @map$, "Neuschwanstein - Aldebaran Castle 1", "alde_gld",48,83; else if ( compare( .@str$, .@tmp$ +"wfi02" ) ) setarray @map$, "Hohenschwangau - Aldebaran Castle 2", "alde_gld",95,249; else if ( compare( .@str$, .@tmp$ +"wfi03" ) ) setarray @map$, "Nuenberg - Aldebaran Castle 3", "alde_gld",142,85; else if ( compare( .@str$, .@tmp$ +"wfi04" ) ) setarray @map$, "Wuerzburg - Aldebaran Castle 4", "alde_gld",239,242; else if ( compare( .@str$, .@tmp$ +"wfi05" ) ) setarray @map$, "Rothenburg - Aldebaran Castle 5", "alde_gld",264,90; else if ( compare( .@str$, .@tmp$ +"wfi06" ) ) setarray @map$, "Repherion - Geffen Castle 1", "gef_fild13",214,75; else if ( compare( .@str$, .@tmp$ +"wfi07" ) ) setarray @map$, "Eeyolbriggar - Geffen Castle 2", "gef_fild13",308,240; else if ( compare( .@str$, .@tmp$ +"wfi08" ) ) setarray @map$, "Yesnelph - Geffen Castle 3", "gef_fild13",143,240; else if ( compare( .@str$, .@tmp$ +"wfi09" ) ) setarray @map$, "Bergel - Geffen Castle 4", "gef_fild13",193,278; else if ( compare( .@str$, .@tmp$ +"wfi10" ) ) setarray @map$, "Mersetzdeitz - Geffen Castle 5", "gef_fild13",305,87; else if ( compare( .@str$, .@tmp$ +"wfi11" ) ) setarray @map$, "Bright Arbor - Payon Castle 1", "pay_gld",121,233; else if ( compare( .@str$, .@tmp$ +"wfi12" ) ) setarray @map$, "Scarlet Palace - Payon Castle 2", "pay_gld",295,116; else if ( compare( .@str$, .@tmp$ +"wfi13" ) ) setarray @map$, "Holy Shadow - Payon Castle 3", "pay_gld",317,293; else if ( compare( .@str$, .@tmp$ +"wfi14" ) ) setarray @map$, "Sacred Altar - Payon Castle 4", "pay_gld",140,160; else if ( compare( .@str$, .@tmp$ +"wfi15" ) ) setarray @map$, "Bamboo Grove Hill - Payon Castle 5", "pay_gld",204,266; else if ( compare( .@str$, .@tmp$ +"wfi16" ) ) setarray @map$, "Kriemhild - Prontera Castle 1", "prt_gld",134,65; else if ( compare( .@str$, .@tmp$ +"wfi17" ) ) setarray @map$, "Swanhild - Prontera Castle 2", "prt_gld",240,128; else if ( compare( .@str$, .@tmp$ +"wfi18" ) ) setarray @map$, "Fadhgridh - Prontera Castle 3", "prt_gld",153,137; else if ( compare( .@str$, .@tmp$ +"wfi19" ) ) setarray @map$, "Skoegul - Prontera Castle 4", "prt_gld",111,240; else if ( compare( .@str$, .@tmp$ +"wfi20" ) ) setarray @map$, "Gondul - Prontera Castle 5", "prt_gld",208,240; } else if ( compare( .@str$, .@tmp$ +"wse" ) ) { if ( compare( .@str$, .@tmp$ +"wse01" ) ) setarray @map$, "Himinn - Schwaltzvalt Castle 1", "sch_gld",293,100; else if ( compare( .@str$, .@tmp$ +"wse02" ) ) setarray @map$, "Andlangr - Schwaltzvalt Castle 2", "sch_gld",288,252; else if ( compare( .@str$, .@tmp$ +"wse03" ) ) setarray @map$, "Viblainn - Schwaltzvalt Castle 3", "sch_gld",97,196; else if ( compare( .@str$, .@tmp$ +"wse04" ) ) setarray @map$, "Hljod - Schwaltzvalt Castle 4", "sch_gld",137,90; else if ( compare( .@str$, .@tmp$ +"wse05" ) ) setarray @map$, "Skidbladnir - Schwaltzvalt Castle 5", "sch_gld",71,315; else if ( compare( .@str$, .@tmp$ +"wse06" ) ) setarray @map$, "Mardol - Arunafeltz Castle 1", "aru_gld",158,272; else if ( compare( .@str$, .@tmp$ +"wse07" ) ) setarray @map$, "Cyr - Arunafeltz Castle 2", "aru_gld",83,47; else if ( compare( .@str$, .@tmp$ +"wse08" ) ) setarray @map$, "Horn - Arunafeltz Castle 3", "aru_gld",68,155; else if ( compare( .@str$, .@tmp$ +"wse09" ) ) setarray @map$, "Gefn - Arunafeltz Castle 4", "aru_gld",299,345; else if ( compare( .@str$, .@tmp$ +"wse10" ) ) setarray @map$, "Bandis - Arunafeltz Castle 5", "aru_gld",292,107; } } else if ( compare( .@str$ , .@tmp$ + "o" ) ) { copyarray .@abc$, getvariableofnpc( .filled$, "warpra" ), 10; set .@abcsize, getarraysize(.@abc$); while ( .@j < .@abcsize ) { if ( compare( .@str$, .@tmp$ +"o"+ .@abc$[.@j] ) ) { set .@i, 0; while ( .@i < 32 ) { if ( compare( .@str$, .@tmp$ +"o"+ .@abc$[.@j] +( (.@i < 9)?"0":"")+(.@i +1) ) ) { set .@a, .@i * 4; setarray @map$, getvariableofnpc ( getd(".custommap"+ .@abc$[.@j] +"$["+ .@a +"]"), "warpra" ), getvariableofnpc ( getd(".custommap"+ .@abc$[.@j] +"$["+( .@a +1 )+"]"), "warpra" ), getvariableofnpc ( getd(".custommap"+ .@abc$[.@j] +"$["+( .@a +2 )+"]"), "warpra" ), getvariableofnpc ( getd(".custommap"+ .@abc$[.@j] +"$["+( .@a +3 )+"]"), "warpra" ); break; } set .@i, .@i +1 ; } if ( @map$[3] != "" ) break; } set .@j, .@j +1 ; } } if ( getarg(0) != "" && @map$[3] == "" ) dispbottom "An Error occur when trying to load #"+ getarg(0); return; } prontera,151,186,5 duplicate(Warper) Warper#01 861 rachel,124,113,4 duplicate(Warper) Warper#02 861 alberta,31,240,4 duplicate(Warper) Warper#03 861 aldebaran,145,118,4 duplicate(Warper) Warper#04 861 amatsu,200,79,1 duplicate(Warper) Warper#05 861 ayothaya,144,116,6 duplicate(Warper) Warper#06 861 comodo,194,158,4 duplicate(Warper) Warper#07 861 einbech,142,246,4 duplicate(Warper) Warper#08 861 einbroch,69,202,4 duplicate(Warper) Warper#09 861 hugel,90,159,4 duplicate(Warper) Warper#10 861 lighthalzen,154,99,4 duplicate(Warper) Warper#11 861 geffen,114,108,4 duplicate(Warper) Warper#12 861 izlude,131,116,4 duplicate(Warper) Warper#13 861 xmas,150,136,4 duplicate(Warper) Warper#14 861 morocc,156,99,4 duplicate(Warper) Warper#15 861 payon,182,110,4 duplicate(Warper) Warper#16 861 yuno,166,182,4 duplicate(Warper) Warper#17 861 moc_fild04,207,331,4 duplicate(Warper) Warper#18 861 izlu2dun,104,82,4 duplicate(Warper) Warper#19 861 mjolnir_02,85,363,4 duplicate(Warper) Warper#20 861 prt_fild05,273,215,4 duplicate(Warper) Warper#21 861 glast_01,370,308,4 duplicate(Warper) Warper#22 861 yuno_fild03,37,135,4 duplicate(Warper) Warper#23 861 gef_fild10,71,339,4 duplicate(Warper) Warper#24 861 pay_arche,39,135,4 duplicate(Warper) Warper#25 861 moc_ruins,64,166,4 duplicate(Warper) Warper#26 861 moc_fild19,106,97,4 duplicate(Warper) Warper#27 861 alb2trea,73,101,4 duplicate(Warper) Warper#28 861 tur_dun01,148,239,4 duplicate(Warper) Warper#29 861 gonryun,151,130,4 duplicate(Warper) Warper#30 861 louyang,210,101,6 duplicate(Warper) Warper#31 861 umbala,132,130,4 duplicate(Warper) Warper#32 861 moscovia,156,100,4 duplicate(Warper) Warper#33 861 thor_camp,241,72,4 duplicate(Warper) Warper#34 861 nameless_n,260,217,4 duplicate(Warper) Warper#35 861 veins,212,123,4 duplicate(Warper) Warper#36 861 moscovia,218,185,6 duplicate(Warper) Warper#37 861 jawaii,171,177,6 duplicate(Warper) Warper#38 861 jupe_ele,41,55,5 duplicate(Warper) Warper#39 861 einbech,163,129,8 duplicate(Warper) Warper#40 861 manuk,270,128,6 duplicate(Warper) Warper#41 861 splendide,196,153,6 duplicate(Warper) Warper#42 861 mid_camp,213,287,4 duplicate(Warper) Warp NPC#43 421 //brasilis,201,222,4 duplicate(Warper) Warp NPC#44 421 //dicastes01,185,229,4 duplicate(Warper) Warp NPC#45 421