Hello, my name is George and i've looking for a Warper Evolution which had the option "Last Warp" but i couldn't find it.
I was wondering if someone of you would be so kind to make it for everyone who'll need it in the future. I think this script is already useful but i think it would be more useful if it had the option "Last Warp".
So, i would like to make a request to someone who really wants to help other people.
Heres the script:
//
// [========================================================]
// [=========== Warper Evolution ===========]
// [========================================================]
// [ Versión 23 ]
// [========================================================]
// [ Script original: Ivion ]
// [========================================================]
// [ Descripción: ]
// [--------------------------------------------------------]
// [ ]
// [ - Save. ]
// [ - Warp a Ciudades. ]
// [ - Warp a Mazmorras. ]
// [ - Warp a Áreas de WoE. ]
// [ - Warp a otros Grupos de Destinos personalizados. ]
// [ - Modo Evolution / Quest Warper. ]
// [========================================================]
// [ 5 últimas actualizaciones: ]
// [--------------------------------------------------------]
// [ ]
// [ v19: [Ivion] ]
// [ - Relocalizados destinos y npcs de las dungeons. ]
// [ - Bugfix: Somatology Laboratory. ]
// [ - Bugfix: Los precios no se aplicaban. ]
// [ - Los submenús se muestran desactivados si no ]
// [ tienes activado ninguno de sus destinos. ]
// [ - Se muestra la gente que hay en cada destino. ]
// [ ]
// [ v20: [Ivion] ]
// [ - Bugfix: Submenus sin modo evolution. ]
// [ ]
// [ v21: [Ivion] ]
// [ - Optimizando un poco el script. ]
// [ - Los submenús no pueden agrupar otros submenús. ]
// [ - Nuevos destinos del Ep 13.2 . ]
// [ - Añadida opción para configurar como se guardarán los ]
// [ destinos del Modo Evolution. ]
// [ ]
// [ v22: [Ivion] ]
// [ - Added missing Jawaii warp and npc. ]
// [ ]
// [ v23: [Ivion] ]
// [ - Bugfix: La función de guardar punto de inicion no ]
// [ aparecía en los menús. ]
// [========================================================]
- script WEfunc -1,{
OnInit:
// [--------------------------------------------------------]
// [ Configuración: ]
// [========================================================]
set .@n$,"Warper Evolution"; // Nombre del NPC.
set $@WEm,1; // Modo Evolution. (0 = off | 1 = Player | 2 = Account | 3 = Global)
set .@p,0; // Guardar Punto de Inicio. (-1 = off | Precio)
// [--------------------------------------------------------]
// [ Final de la configuración. ]
// [========================================================]
set .@a,1;
while(!setnpcdisplay("WE#"+.@a,.@n$+"#"+.@a)) set .@a,.@a + 1;
set $@WE$,"^008888"+.@n$+"^000000";
if($@WEm == 2) set $@WEm$,"#";
if($@WEm == 3) set $@WEm$,"$";
if(.@p >= 0) {
set $@WE,1;
set $@WEb1$,"Guardar Punto de Inicio.";
set $@WEc1,.@p;
set $@WEd0[0],1;
}
// [--------------------------------------------------------]
// [ Configuración de destinos: ]
// [========================================================]
// Declaración de Grupos de Destinos:
// callsub Onc0,{"Nombre"},{Precio};
// Crea un nuevo Grupo de Destinos dentro del menú principal del npc.
// Los Grupos de Destinos agrupan los diferentes Destinos con un mismo precio.
// Ejemplo: Ciudades / Mazmorras / Áreas de WoE
// Declaración de Destinos:
// callsub Onc1,{Id},{"Nombre"},{"Mapa"},{x},{y},{"Mapa Activación 1"},{"Mapa Activación 2"},{...},{"Mapa Activación #"};
// Crea un nuevo Destino dentro del último Grupo de Destinos declarado.
// {Id}: Identificador único del destino. Ponedlo a 0 si queréis desactivar el Modo Evolution.
// {"Mapa Activación #"}:
// En Modo Evolution, cuando un jugador se situe en cualquiera de estos mapas, el destino le quedará desbloqueado.
// Esta lista de mapas es también utilizada para hacer el recuento de personas en cada destino.
// Declaración de Submenús:
// callsub Onc2,{"Nombre"};
// Crea un nuevo Submenú dentro del último Grupo de Destinos declarado.
// Es útil para agrupar diferentes Destinos relacionados, por ejemplo para los niveles de una Dungeon.
// Para cerrar un submenú, debeis utilizar la misma función sin argumentos.
// callsub Onc2;
// Cities:
callsub Onc0,"Viajar a una Ciudad.",0;
callsub Onc1,0,"Alberta","alberta",51,241,"alberta";
callsub Onc1,0,"Al De Baran","aldebaran",139,121,"aldebaran";
callsub Onc1,0,"Amatsu","amatsu",93,254,"amatsu";
callsub Onc1,0,"Ayothaya","ayothaya",207,206,"ayothaya";
callsub Onc1,0,"Comodo","comodo",202,113,"comodo";
callsub Onc1,0,"Einbech","einbech",70,90,"einbech";
callsub Onc1,0,"Einbroch","einbroch",69,196,"einbroch";
callsub Onc1,0,"Geffen","geffen",49,121,"geffen";
callsub Onc1,0,"Gonryun","gonryun",161,119,"gonryun";
callsub Onc1,0,"Hugel","hugel",96,127,"hugel";
callsub Onc1,0,"Izlude","izlude",128,92,"izlude";
callsub Onc1,21,"Jawaii","jawaii",129,264,"jawaii";
callsub Onc1,0,"Juno","yuno",158,84,"yuno";
callsub Onc1,0,"Lighthalzen","lighthalzen",214,93,"lighthalzen";
callsub Onc1,0,"Louyang","louyang",217,114,"louyang";
callsub Onc1,0,"Lutie","xmas",148,116,"xmas";
callsub Onc1,19,"Manuk","manuk",277,137,"manuk";
callsub Onc1,13,"Midgarts Expedition Camp","mid_camp",210,288,"mid_camp";
callsub Onc1,0,"Morroc","morocc",161,71,"morocc";
callsub Onc1,0,"Moscovia","moscovia",224,192,"moscovia";
callsub Onc1,0,"Niflheim","niflheim",194,185,"niflheim";
callsub Onc1,0,"Payon","payon",156,223,"payon";
callsub Onc1,0,"Prontera","prontera",156,161,"prontera";
callsub Onc1,0,"Rachel","rachel",142,139,"rachel";
callsub Onc1,20,"Splendide","splendide",190,144,"splendide";
callsub Onc1,0,"Umbala","umbala",122,135,"umbala";
callsub Onc1,0,"Veins","veins",198,232,"veins";
// Dungeons:
callsub Onc0,"Viajar a una Mazmorra.",0;
callsub Onc1,31,"Abyss Lake Underground Cave","hu_fild05",192,206,"abyss_01","abyss_02","abyss_03";
callsub Onc1,0,"Amatsu Dungeon","ama_dun01",230,11,"ama_dun01","ama_dun02";
callsub Onc1,0,"Ant Hell","anthell01",35,262,"anthell01","anthell02";
callsub Onc1,0,"Ayothaya Ancient Shrine","ayo_fild02",277,150,"ayo_dun01","ayo_dun02";
callsub Onc2,"Beach Dungeon";
callsub Onc1,0,"Karu, the West Cave","comodo",35,216,"beach_dun";
callsub Onc1,0,"Ruande, the North Cave","comodo",176,335,"beach_dun2";
callsub Onc1,0,"Mao, the East Cave","cmd_fild01",33,317,"beach_dun3";
callsub Onc2;
callsub Onc1,0,"Clock Tower","c_tower1",200,161,"alde_dun03","alde_dun02","alde_dun03","alde_dun04","c_tower1","c_tower2","c_tower3","c_tower4";
callsub Onc1,36,"Cursed Abbey Dungeon","nameless_n",164,184,"abbey01","abbey02","abbey03";
callsub Onc1,0,"Geffen Dungeon","gef_dun00",104,97,"gef_dun00","gef_dun01","gef_dun02","gefenia01","gefenia02","gefenia03","gefenia04";
callsub Onc1,0,"Glast Heim","glast_01",199,114,"glast_01","gl_cas01","gl_cas02","gl_chyard","gl_sew01","gl_sew02","gl_sew03","gl_sew04","gl_church","gl_step","gl_prison","gl_prison1","gl_knt01","gl_knt02","gl_dun01","gl_dun02";
callsub Onc1,0,"Gonryun Ancient Shrine","gonryun",162,187,"gon_dun01","gon_dun02","gon_dun03";
callsub Onc1,40,"Holy Ground","ra_san01",140,135,"ra_san01","ra_san02","ra_san03","ra_san04","ra_san05";
callsub Onc1,0,"Ice Cave","ra_fild01",233,329,"ice_dun01","ice_dun02","ice_dun03","ice_dun04";
callsub Onc1,0,"Labyrinth Forest","prt_fild01",136,364,"prt_maze01","prt_maze02","prt_maze03";
callsub Onc1,0,"Mine Dungeon","einbech",136,245,"ein_dun01","ein_dun02";
callsub Onc1,0,"Mjolnir Dead Pit","mjolnir_02",80,358,"mjo_dun01","mjo_dun02","mjo_dun03";
callsub Onc1,45,"Moscovia Forest","mosk_fild02",190,251,"mosk_dun01","mosk_dun02","mosk_dun03";
//callsub Onc1,64,"Nidhogg","nyd_dun01",0,0,"nyd_dun01","nyd_dun02";
callsub Onc1,0,"Magma Dungeon","yuno_fild03",38,139,"mag_dun01","mag_dun02";
callsub Onc1,0,"Odin Shrine","odin_tem01",98,146,"odin_tem01","odin_tem02","odin_tem03";
callsub Onc1,0,"Orc Dungeon","gef_fild10",67,332,"orcsdun01","orcsdun02";
callsub Onc1,0,"Payon Cave","pay_arche",41,130,"pay_dun00","pay_dun01","pay_dun02","pay_dun03","pay_dun04";
callsub Onc1,0,"Prontera Culvert","prt_sewb1",125,248,"prt_sewb1","prt_sewb2","prt_sewb3","prt_sewb4";
callsub Onc1,0,"Pyramid","moc_ruins",58,154,"moc_pryd01","moc_pryd02","moc_pryd03","moc_pryd04","moc_pryd05","moc_pryd06";
callsub Onc1,0,"Robot Factory","kh_dun01",3,228,"kh_dun01","kh_dun02";
callsub Onc1,0,"Royal Tomb","louyang",53,249,"lou_dun01","lou_dun02","lou_dun03";
callsub Onc1,0,"Ruins of Juperos","jupe_cave",50,51,"juperos_01","juperos_02","jupe_core";
callsub Onc1,55,"Somatology Laboratory","lighthalzen",308,300,"lhz_dun01","lhz_dun02","lhz_dun03";
callsub Onc1,0,"Sphinx","moc_fild19",112,99,"in_sphinx1","in_sphinx2","in_sphinx3","in_sphinx4","in_sphinx5";
callsub Onc1,0,"Sunken Ship","alb2trea",76,98,"treasure01","treasure02";
callsub Onc1,58,"Thanatos Tower","tha_scene01",140,199,"tha_t01","tha_t02","tha_t03","tha_t04","tha_t05","tha_t06","tha_t07","tha_t08","tha_t09","tha_t10","tha_t11","tha_t12";
callsub Onc1,0,"Thor Volcano Dungeon","ve_fild03",169,236,"thor_v01","thor_v02","thor_v03";
callsub Onc1,0,"Toy Factory","xmas",143,305,"xmas_dun01","xmas_dun02";
callsub Onc1,0,"Turtle Island","tur_dun01",151,51,"tur_dun01","tur_dun02","tur_dun03","tur_dun04";
callsub Onc1,0,"Umbala Dungeon","umbala",160,250,"um_dun01","um_dun02";
callsub Onc1,0,"Undersea Tunnel","izlu2dun",107,93,"iz_dun00","iz_dun01","iz_dun02","iz_dun03","iz_dun04";
// Identificadores disponibles: [22,30] U [68,90] U [194,...)
// [--------------------------------------------------------]
// [ Final de la configuración de destinos. ]
// [========================================================]
set $@WE,0;
set $@WEm,0;
set $@WEd[0],0;
set $@WEd[1],0;
end;
// Declaración del Grupos de Destinos:
// getarg(0): Nombre.
// getarg(1): Precio.
Onc0:
set $@WE,$@WE + 1;
set getd("$@WEb"+$@WE+"$"),getarg(0);
set getd("$@WEc"+$@WE),getarg(1);
set .@a,getarraysize($@WEd0);
set $@WEd0[.@a],$@WE;
set $@WEd[0],$@WE;
set $@WEd[1],0;
return;
// Declaración de Destinos:
// getarg(0): Id.
// getarg(1): Nombre.
// getarg(2): Mapa.
// getarg(3): x.
// getarg(4): y.
Onc1:
if($@WEd[0]) {
set $@WE,$@WE + 1;
if($@WEm) set .@a,getarg(0);
set getd("$@WEa"+$@WE),.@a;
set getd("$@WEb"+$@WE+"$"),getarg(1);
set getd("$@WEe"+$@WE+"$"),getarg(2);
set getd("$@WEf"+$@WE),getarg(3);
set getd("$@WEg"+$@WE),getarg(4);
set .@b,5;
while(getarg(.@b,"") != "") { // Mapas de activación:
set .@m$,getarg(.@;
set getd("$@WEh"+$@WE+"$["+(.@b - 5)+"]"),.@m$;
if(.@a) {
setmapflag .@m$,42;
set getd("$@WE_"+.@m$+"["+getarraysize(getd("$@WE_"+.@m$))+"]"),$@WE;
}
set .@b,.@b + 1;
}
set .@a,$@WEd[getarraysize($@WEd) - 1];
set .@b,getarraysize(getd("$@WEd"+.@a));
set getd("$@WEd"+.@a+"["+.@b+"]"),$@WE;
}
return;
// Declaración de Submenús:
// getarg(0): Nombre.
Onc2:
if($@WEd[0]) {
if(getarg(0,"") == "") set $@WEd[1],0;
else {
set $@WE,$@WE + 1;
set getd("$@WEb"+$@WE+"$"),getarg(0);
set .@a,$@WEd[0];
set .@b,getarraysize(getd("$@WEd"+.@a));
set getd("$@WEd"+.@a+"["+.@b+"]"),$@WE;
set $@WEd[1],$@WE;
}
}
return;
// Activación de Destinos:
OnPCLoadMapEvent:
getmapxy .@m$,.@x,.@y,0;
set .@a,getarraysize(getd("$@WE_"+.@m$));
while(.@a) {
set .@a,.@a - 1;
set .@b,getd("$@WE_"+.@m$+"["+.@a+"]");
set .@c,getd("$@WEa"+.@;
set .@d,getd($@WEm$+"WE_"+(.@c / 31));
if(!(.@d & pow(2,.@c % 31))) {
if($@WEm$ == "$") set .@e,0;
else set .@e,3;
announce "Nuevo destino desactivado: "+getd("$@WEb"+.@b+"$")+".",.@e,0x00ccdd;
set getd($@WEm$+"WE_"+(.@c / 31)),.@d + pow(2,.@c % 31);
}
}
end;
}
// Npcs:
- script WE#0::WE -1,{
mes $@WE$;
mes "Hola "+strcharinfo(0)+".";
mes "¿En que puedo ayudarte?";
next;
while(.@a < getarraysize($@WEd0)) {
set .@b,$@WEd0[.@a];
set .@a$[.@a],getd("$@WEb"+.@b+"$");
set .@b,getd("$@WEc"+.@;
if(.@ {
if(Zeny < .@ set .@a$[.@a],"^bbbbbb"+.@a$[.@a]+" ^bb0000("+.@b+" z)^000000";
else set .@a$[.@a],.@a$[.@a]+" ^00bb00("+.@b+" z)^000000";
}
set .@a,.@a + 1;
}
set .@a,select("^880000Salir^000000",.@a$[0],.@a$[1],.@a$[2],.@a$[3],.@a$[4],.@a$[5],.@a$[6],.@a$[7],.@a$[8],.@a$[9],.@a$[10],.@a$[11],.@a$[12],.@a$[13],.@a$[14],.@a$[15],.@a$[16],.@a$[17],.@a$[18],.@a$[19]);
if(.@a == 1) {
mes $@WE$;
mes "Hasta pronto.";
emotion 12;
close;
}
set .@a,$@WEd0[.@a - 2];
set .@b,getd("$@WEc"+.@a);
callsub Ona0,.@b;
mes $@WE$;
if(.@a == 1) {
getmapxy .@m$,.@x,.@y,0;
set Zeny,Zeny - .@b;
mes "Muy bien.";
mes "A partir de ahora este lugar quedará guardado como tu Punto de Inicio.";
save .@m$,.@x,.@y;
specialeffect2 500;
close2;
emotion 12;
end;
}
mes "Elige tu Destino.";
next;
do {
cleararray .@a$[0],"",getarraysize(.@a$);
set .@c,0;
while(.@c < getarraysize(getd("$@WEd"+.@a))) {
set .@d,getd("$@WEd"+.@a+"["+.@c+"]");
set .@e,getd("$@WEa"+.@d);
set .@b$,"bbbbbb";
set .@c$,"";
if(getd("$@WEe"+.@d+"$") == "") {
set .@g,getarraysize(getd("$@WEd"+.@d));
set .@f,0;
while(.@g && !.@f) {
set .@g,.@g - 1;
set .@e,getd("$@WEa"+getd("$@WEd"+.@d+"["+.@g+"]"));
if(!.@e || (getd($@WEm$+"WE_"+(.@e / 31)) & pow(2,.@e % 31))) set .@f,1;
}
if(.@f) set .@b$,"000000";
}
else if(!.@e || (getd($@WEm$+"WE_"+(.@e / 31)) & pow(2,.@e % 31))) {
set .@b$,"000000";
set .@g,0;
set .@f,getarraysize(getd("$@WEh"+.@d+"$"));
while(.@f > 0) {
set .@f,.@f - 1;
set .@g,.@g + getmapusers(getd("$@WEh"+.@d+"$["+.@f+"]"));
}
if(.@g) set .@c$,"00bb00";
else set .@c$,"aaaaaa";
set .@c$," [^"+.@c$+""+.@g+"^000000]";
}
set .@a$[.@c],"^"+.@b$+""+getd("$@WEb"+.@d+"$")+"^000000"+.@c$;
set .@c,.@c + 1;
}
if(.@h) set .@b$,"Atrás";
else set .@b$,"Salir";
set .@c,select("^880000"+.@b$+"^000000",.@a$[0],.@a$[1],.@a$[2],.@a$[3],.@a$[4],.@a$[5],.@a$[6],.@a$[7],.@a$[8],.@a$[9],.@a$[10],.@a$[11],.@a$[12],.@a$[13],.@a$[14],.@a$[15],.@a$[16],.@a$[17],.@a$[18],.@a$[19],.@a$[20],.@a$[21],.@a$[22],.@a$[23],.@a$[24],.@a$[25],.@a$[26],.@a$[27],.@a$[28],.@a$[29],.@a$[30],.@a$[31],.@a$[32],.@a$[33],.@a$[34],.@a$[35],.@a$[36],.@a$[37],.@a$[38],.@a$[39],.@a$[40],.@a$[41],.@a$[42],.@a$[43],.@a$[44],.@a$[45],.@a$[46],.@a$[47],.@a$[48],.@a$[49]);
if(.@c == 1) {
if(.@h) {
set .@a,.@h;
set .@h,0;
}
else {
mes $@WE$;
mes "Hasta pronto.";
emotion 12;
close;
}
}
else {
set .@c,.@c - 2;
if(compare(.@a$[.@c],"^bbbbbb")) {
mes $@WE$;
mes "Lo siento.";
mes "Este destino aún no se encuentra disponible.";
emotion 40;
close;
}
set .@h,.@a;
set .@a,getd("$@WEd"+.@a+"["+.@c+"]");
}
} while(getd("$@WEe"+.@a+"$") == "");
callsub Ona0,.@b;
set Zeny,Zeny - .@b;
mes $@WE$;
mes "Muy bien.";
mes "Espera un segundo mientras te abro un portal...";
close2;
specialeffect2 71;
pcblockmove getcharid(3),1;
sleep2 500;
specialeffect2 402;
sleep2 500;
emotion 12;
specialeffect2 6;
sleep2 200;
specialeffect2 304;
warp getd("$@WEe"+.@a+"$"),getd("$@WEf"+.@a),getd("$@WEg"+.@a);
pcblockmove getcharid(3),0;
end;
Ona0:
set .@a,getarg(0);
if(Zeny < .@a) {
mes $@WE$;
mes "Lo siento.";
mes "Para utilizar este servicio deberás pagar ^880000"+.@a+" z^000000.";
emotion 40;
close;
}
return;
}
// ----------- Towns -------------
alberta,31,240,4 duplicate(WE) WE#1 811
aldebaran,145,123,4 duplicate(WE) WE#2 811
amatsu,192,81,1 duplicate(WE) WE#3 811
ayothaya,144,117,6 duplicate(WE) WE#4 811
comodo,194,158,4 duplicate(WE) WE#5 811
einbroch,59,205,4 duplicate(WE) WE#6 811
einbroch,243,189,2 duplicate(WE) WE#7 811
einbech,135,249,4 duplicate(WE) WE#8 811
geffen,56,125,3 duplicate(WE) WE#9 811
gonryun,151,130,4 duplicate(WE) WE#10 811
izlude,134,150,4 duplicate(WE) WE#11 811
hugel,88,151,5 duplicate(WE) WE#12 811
lighthalzen,155,79,6 duplicate(WE) WE#13 811
lighthalzen,98,241,6 duplicate(WE) WE#14 811
louyang,210,106,4 duplicate(WE) WE#15 811
morocc,156,95,4 duplicate(WE) WE#16 811
prontera,160,193,4 duplicate(WE) WE#17 811
payon,162,226,4 duplicate(WE) WE#18 811
umbala,96,161,4 duplicate(WE) WE#19 811
xmas,150,136,4 duplicate(WE) WE#20 811
rachel,132,116,4 duplicate(WE) WE#21 811
moscovia,232,198,4 duplicate(WE) WE#22 811
// ------------ Dungeons ------------
ama_dun01,233,9,1 duplicate(WE) WE#23 811
cmd_fild08,329,359,6 duplicate(WE) WE#24 811
ayo_fild02,279,154,4 duplicate(WE) WE#25 811
izlu2dun,104,82,4 duplicate(WE) WE#26 811
prt_fild05,274,217,4 duplicate(WE) WE#27 811
mjolnir_02,85,363,4 duplicate(WE) WE#28 811
einbech,81,101,1 duplicate(WE) WE#29 811
glast_01,370,308,4 duplicate(WE) WE#30 811
yuno_fild03,37,135,4 duplicate(WE) WE#31 811
niflheim,32,161,4 duplicate(WE) WE#32 811
gef_fild10,71,339,4 duplicate(WE) WE#33 811
pay_arche,39,135,4 duplicate(WE) WE#34 811
moc_ruins,64,166,4 duplicate(WE) WE#35 811
moc_fild19,106,97,4 duplicate(WE) WE#36 811
alb2trea,73,101,4 duplicate(WE) WE#37 811
tur_dun01,148,239,4 duplicate(WE) WE#38 811
lhz_dun01,157,285,4 duplicate(WE) WE#39 811
hu_fild05,186,210,4 duplicate(WE) WE#40 811
yuno_fild07,221,179,4 duplicate(WE) WE#41 811
tha_scene01,139,194,1 duplicate(WE) WE#42 811
odin_tem01,96,149,4 duplicate(WE) WE#43 811
Question
Strand
Hello, my name is George and i've looking for a Warper Evolution which had the option "Last Warp" but i couldn't find it.
I was wondering if someone of you would be so kind to make it for everyone who'll need it in the future. I think this script is already useful but i think it would be more useful if it had the option "Last Warp".
So, i would like to make a request to someone who really wants to help other people.
Heres the script:
I'd be very thankful if someones decides to help.
Thank you very much.
Link to comment
Share on other sites
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.