Jump to content
  • 0

Last Warp on Warper Evolution


Strand

Question


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  102
  • Reputation:   2
  • Joined:  07/01/13
  • Last Seen:  

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

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

  • 0

  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  5
  • Reputation:   0
  • Joined:  10/22/16
  • Last Seen:  

Hi ! 
If anyone needs the warper evolution script with last warp function and lastest towns and dungeons... but it's translated in french, sorry :P 

Thanks  Ivion for sharing !

Spoiler

//
// [========================================================]
// [===========         Warper Evolution         ===========]
// [========================================================]
// [ Versión 23d                                            ]
// [========================================================]
// [ Script original: Ivion                                 ]
// [========================================================]
// [ Descripción:                                           ]
// [--------------------------------------------------------]
// [                                                        ]
// [ - Save.                                                ]
// [ - Warp a Ciudades.                                     ]
// [ - Warp a niveles de 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.         ]
// [                                                        ]
// [ v19d: [Ivion]                                          ]
// [ - Bugfix: Amatsu Dungeon, Geffen Dungeon, Holy         ]
// [    Ground, Ice Cave, Labyrinth Forest,                 ]
// [    Somatology Laboratory, Thanatos Tower.              ]
// [ - Añadido Hvergelmir's Fountain.                       ]
// [                                                        ]
// [ 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$,"Warpra";	// 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$,"Sauvegarder ici.";
		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,"Voyager dans une ville.",500;
		callsub Onc1,0,"La Capitale [^B50707Ayothaya^000000]","ayothaya",150,163,"ayothaya";
		callsub Onc1,0,"Alberta","alberta",51,241,"alberta";
		callsub Onc1,1,"Al De Baran","aldebaran",139,121,"aldebaran";
		callsub Onc1,2,"Amatsu","amatsu",93,254,"amatsu";
		callsub Onc1,4,"Comodo","comodo",202,113,"comodo";
		callsub Onc1,22,"Dewata","dewata",200,180,"dewata";
		callsub Onc1,23,"Eclage","ecl_in01",48,53,"ecl_in01";
		callsub Onc1,5,"Einbech","einbech",70,90,"einbech";
		callsub Onc1,6,"Einbroch","einbroch",69,196,"einbroch";
		callsub Onc1,10,"El Dicastes","dicastes01",198,187,"dicastes01";
		callsub Onc1,0,"Geffen","geffen",117,70,"geffen";
		callsub Onc1,7,"Gonryun","gonryun",161,119,"gonryun";
		callsub Onc1,8,"Hugel","hugel",96,127,"hugel";
		callsub Onc1,0,"Izlude","izlude",128,92,"izlude";
		callsub Onc1,21,"Jawaii","jawaii",129,264,"jawaii";
		callsub Onc1,9,"Juno","yuno",158,84,"yuno";
		callsub Onc1,10,"Lighthalzen","lighthalzen",214,93,"lighthalzen";
		callsub Onc1,11,"Louyang","louyang",217,114,"louyang";
		callsub Onc1,12,"Lutie","xmas",148,116,"xmas";
		callsub Onc1,24,"Malangdo","malangdo",140,114,"malangdo";
		callsub Onc1,25,"Malaya","malaya",231,200,"malaya";
		callsub Onc1,19,"Manuk","manuk",277,137,"manuk";
		callsub Onc1,13,"Midgarts Expedition Camp","mid_camp",210,288,"mid_camp";
		callsub Onc1,26,"Mora","mora",55,146,"mora";
		callsub Onc1,0,"Morroc","morocc",161,71,"morocc";
		callsub Onc1,14,"Moscovia","moscovia",224,192,"moscovia";
		callsub Onc1,28,"Nameless Island","nameless_n",256,215,"nameless_n";
		callsub Onc1,15,"Niflheim","niflheim",194,185,"niflheim";
		callsub Onc1,0,"Payon","payon",158,57,"payon";
		callsub Onc1,0,"Prontera","prontera",156,161,"prontera";
		callsub Onc1,16,"Rachel","rachel",142,139,"rachel";
		callsub Onc1,20,"Splendide","splendide",190,144,"splendide";
		callsub Onc1,27,"Thor Camp","thor_camp",246,68,"thor_camp";
		callsub Onc1,17,"Umbala","umbala",122,135,"umbala";
		callsub Onc1,18,"Veins","veins",198,232,"veins";

	// Dungeons:"
	callsub Onc0,"Voyager dans un donjon.",1500;
		callsub Onc2,"Abyss Lake Underground Cave";
			callsub Onc1,31,"Abyss Lake Underground Cave F1","abyss_01",263,271,"abyss_01";
			callsub Onc1,91,"Abyss Lake Underground Cave F2","abyss_02",275,270,"abyss_02";
			callsub Onc1,92,"Abyss Lake Underground Cave F3","abyss_03",116,27,"abyss_03";
		callsub Onc2,"Amatsu Dungeon";
			callsub Onc1,32,"Tatami Maze","ama_dun01",230,11,"ama_dun01";
			callsub Onc1,93,"Battle Field in the Underground Forest","ama_dun02",34,41,"ama_dun02";
			callsub Onc1,94,"Amatsu Underground Shrine","ama_dun03",119,14,"ama_dun03";
		callsub Onc2,"Ant Hell";
			callsub Onc1,33,"Ant Hell F1","anthell01",35,262,"anthell01";
			callsub Onc1,95,"Ant Hell F2","anthell02",168,170,"anthell02";
		callsub Onc2,"Ayothaya Ancient Shrine";
			callsub Onc1,34,"Ancient Shrine Maze","ayo_dun01",275,19,"ayo_dun01";
			callsub Onc1,96,"Inside Ancient Shrine","ayo_dun02",24,26,"ayo_dun02";
		callsub Onc2,"Beach Dungeon";
			callsub Onc1,64,"Karu, the West Cave","beach_dun",266,67,"beach_dun";
			callsub Onc1,65,"Ruande, the North Cave","beach_dun2",255,244,"beach_dun2";
			callsub Onc1,66,"Mao, the East Cave","beach_dun3",23,260,"beach_dun3";
		callsub Onc2,"Clock Tower";
			callsub Onc1,97,"Clock Tower B1","alde_dun01",297,25,"alde_dun01";
			callsub Onc1,98,"Clock Tower B2","alde_dun02",127,169,"alde_dun02";
			callsub Onc1,99,"Clock Tower B3","alde_dun03",277,178,"alde_dun03";
			callsub Onc1,100,"Clock Tower B4","alde_dun04",268,74,"alde_dun04";
			callsub Onc1,35,"Clock Tower F1","c_tower1",199,159,"c_tower1";
			callsub Onc1,101,"Clock Tower F2","c_tower2",148,283,"c_tower2";
			callsub Onc1,102,"Clock Tower F3","c_tower3",65,147,"c_tower3";
			callsub Onc1,103,"Clock Tower F4","c_tower4",56,155,"c_tower4";
		callsub Onc2,"Cursed Abbey Dungeon";
			callsub Onc1,36,"Cursed Abbey Dungeon F1","abbey01",51,14,"abbey01";
			callsub Onc1,104,"Cursed Abbey Dungeon F2","abbey02",150,11,"abbey02";
			callsub Onc1,105,"Cursed Abbey Dungeon F3","abbey03",120,10,"abbey03";
		callsub Onc2,"Geffen Dungeon";
			callsub Onc1,37,"Geffen Dungeon F1","gef_dun00",104,97,"gef_dun00";
			callsub Onc1,106,"Geffen Dungeon F2","gef_dun01",115,236,"gef_dun01";
			callsub Onc1,107,"Geffen Dungeon F3","gef_dun02",106,132,"gef_dun02";
			callsub Onc1,108,"Geffenia F1","gefenia01",58,169,"gefenia01";
			callsub Onc1,109,"Geffenia F2","gefenia02",116,115,"gefenia02";
			callsub Onc1,110,"Geffenia F3","gefenia03",130,206,"gefenia03";
			callsub Onc1,111,"Geffenia F4","gefenia04",133,88,"gefenia04";
		callsub Onc2,"Glast Heim";
			callsub Onc1,112,"Glast Heim F1","gl_cas01",199,29,"gl_cas01";
			callsub Onc1,113,"Glast Heim F2","gl_cas02",104,25,"gl_cas02";
			callsub Onc1,114,"Glast Heim Churchyard","gl_chyard",147,15,"gl_chyard";
			callsub Onc1,115,"Glast Heim Culvert F1","gl_sew01",258,255,"gl_sew01";
			callsub Onc1,116,"Glast Heim Culvert F2","gl_sew02",108,291,"gl_sew02";
			callsub Onc1,117,"Glast Heim Culvert F3","gl_sew03",171,283,"gl_sew03";
			callsub Onc1,118,"Glast Heim Culvert F4","gl_sew04",68,277,"gl_sew04";
			callsub Onc1,119,"Glast Heim St. Abbey","gl_church",156,7,"gl_church";
			callsub Onc1,120,"Glast Heim Staircase","gl_step",12,7,"gl_step";
			callsub Onc1,121,"Glast Heim Underprison F1","gl_prison",14,70,"gl_prison";
			callsub Onc1,122,"Glast Heim Underprison F2","gl_prison1",150,14,"gl_prison1";
			callsub Onc1,123,"Inside Glast Heim Chivalry F1","gl_knt01",150,15,"gl_knt01";
			callsub Onc1,124,"Inside Glast Heim Chivalry F2","gl_knt02",157,287,"gl_knt02";
			callsub Onc1,125,"The Lowest Cave in Glast Heim F1","gl_dun01",133,271,"gl_dun01";
			callsub Onc1,126,"The Lowest Cave in Glast Heim F2","gl_dun02",224,274,"gl_dun02";
		callsub Onc2,"Gonryun Ancient Shrine";
			callsub Onc1,39,"Shrine of Gonryun Queen","gon_dun01",153,53,"gon_dun01";
			callsub Onc1,127,"Hermit's Checkers","gon_dun02",28,113,"gon_dun02";
			callsub Onc1,128,"Arcadia","gon_dun03",68,16,"gon_dun03";
		callsub Onc2,"Holy Ground";
			callsub Onc1,40,"Holy Ground F1","ra_san01",140,135,"ra_san01";
			callsub Onc1,129,"Holy Ground F2","ra_san02",32,21,"ra_san02";
			callsub Onc1,130,"Holy Ground F3","ra_san03",10,149,"ra_san03";
			callsub Onc1,131,"Holy Ground F4","ra_san04",204,218,"ra_san04";
			callsub Onc1,132,"Holy Ground F5","ra_san05",150,9,"ra_san05";
		callsub Onc2,"Ice Cave";
			callsub Onc1,41,"Ice Cave F1","ice_dun01",157,14,"ice_dun01";
			callsub Onc1,133,"Ice Cave F2","ice_dun02",151,155,"ice_dun02";
			callsub Onc1,134,"Ice Cave F3","ice_dun03",149,22,"ice_dun03";
		callsub Onc2,"Labyrinth Forest";
			callsub Onc1,42,"Labyrinth Forest F1","prt_maze01",176,7,"prt_maze01";
			callsub Onc1,136,"Labyrinth Forest F2","prt_maze02",93,20,"prt_maze02";
			callsub Onc1,137,"Labyrinth Forest F3","prt_maze03",23,8,"prt_maze03";
		callsub Onc2,"Malangdo Dungeon";
			callsub Onc1,29,"Starry Coral Area","mal_dun01",38,231,"mal_dun01";
		callsub Onc2,"Malaya Dungeon";
			callsub Onc1,30,"Malaya Bangungot Hospital 1F","ma_dun01",36,110,"ma_dun01";
		callsub Onc2,"Mine Dungeon";
			callsub Onc1,43,"Mine Dungeon F1","ein_dun01",22,14,"ein_dun01";
			callsub Onc1,138,"Mine Dungeon F2","ein_dun02",292,290,"ein_dun02";
		callsub Onc2,"Mjolnir Dead Pit";
			callsub Onc1,44,"Mjolnir Dead Pit F1","mjo_dun01",52,17,"mjo_dun01";
			callsub Onc1,139,"Mjolnir Dead Pit F2","mjo_dun02",381,343,"mjo_dun02";
			callsub Onc1,140,"Mjolnir Dead Pit F3","mjo_dun03",302,262,"mjo_dun03";
		callsub Onc2,"Moscovia Forest";
			callsub Onc1,45,"Forest","mosk_dun01",189,45,"mosk_dun01";
			callsub Onc1,141,"Deep Forest","mosk_dun02",165,30,"mosk_dun02";
			callsub Onc1,142,"Bottomless Forest","mosk_dun03",32,135,"mosk_dun03";
		callsub Onc2,"Nogg Road";
			callsub Onc1,46,"Nogg Road F1","mag_dun01",126,68,"mag_dun01";
			callsub Onc1,143,"Nogg Road F2","mag_dun02",47,30,"mag_dun02";
		callsub Onc2,"Odin Shrine";
			callsub Onc1,47,"Odin Shrine F1","odin_tem01",98,146,"odin_tem01";
			callsub Onc1,144,"Odin Shrine F2","odin_tem02",28,180,"odin_tem02";
			callsub Onc1,145,"Odin Shrine F3","odin_tem03",120,54,"odin_tem03";
		callsub Onc2,"Orc Dungeon";
			callsub Onc1,48,"Orc Dungeon F1","orcsdun01",32,170,"orcsdun01";
			callsub Onc1,146,"Orc Dungeon F2","orcsdun02",21,185,"orcsdun02";
		callsub Onc2,"Payon Cave";
			callsub Onc1,49,"Payon Cave F1","pay_dun00",21,183,"pay_dun00";
			callsub Onc1,147,"Payon Cave F2","pay_dun01",19,33,"pay_dun01";
			callsub Onc1,148,"Payon Cave F3","pay_dun02",19,63,"pay_dun02";
			callsub Onc1,149,"Payon Cave F4","pay_dun03",155,159,"pay_dun03";
			callsub Onc1,150,"Payon Cave F5","pay_dun04",201,204,"pay_dun04";
		callsub Onc2,"Prontera Culvert";
			callsub Onc1,50,"Prontera Culvert F1","prt_sewb1",125,248,"prt_sewb1";
			callsub Onc1,151,"Prontera Culvert F2","prt_sewb2",19,19,"prt_sewb2";
			callsub Onc1,152,"Prontera Culvert F3","prt_sewb3",180,169,"prt_sewb3";
			callsub Onc1,153,"Prontera Culvert F4","prt_sewb4",100,92,"prt_sewb4";
		callsub Onc2,"Pyramid";
			callsub Onc1,51,"Pyramid F1","moc_pryd01",192,9,"moc_pryd01";
			callsub Onc1,154,"Pyramid F2","moc_pryd02",10,192,"moc_pryd02";
			callsub Onc1,155,"Pyramid F3","moc_pryd03",100,92,"moc_pryd03";
			callsub Onc1,156,"Pyramid F4","moc_pryd04",181,11,"moc_pryd04";
			callsub Onc1,157,"Pyramid B1","moc_pryd05",94,96,"moc_pryd05";
			callsub Onc1,158,"Pyramid B2","moc_pryd06",192,8,"moc_pryd06";
		callsub Onc2,"Robot Factory";
			callsub Onc1,52,"Robot Factory F1","kh_dun01",3,228,"kh_dun01";
			callsub Onc1,159,"Robot Factory F2","kh_dun02",41,198,"kh_dun02";
		callsub Onc2,"Royal Tomb";
			callsub Onc1,53,"The Royal Tomb","lou_dun01",218,196,"lou_dun01";
			callsub Onc1,160,"Inside the Royal Tomb","lou_dun02",282,20,"lou_dun02";
			callsub Onc1,161,"Suei Long Gon","lou_dun03",165,38,"lou_dun03";
		callsub Onc2,"Ruins of Juperos";
			callsub Onc1,54,"Ruins of Juperos F1","juperos_01",53,247,"juperos_01";
			callsub Onc1,162,"Ruins of Juperos F2","juperos_02",37,63,"juperos_02";
			callsub Onc1,163,"Center of Juperos","jupe_core",150,285,"jupe_core";
		callsub Onc2,"Somatology Laboratory";
			callsub Onc1,164,"Somatology Laboratory F1","lhz_dun01",150,288,"lhz_dun01";
			callsub Onc1,55,"Somatology Laboratory F2","lhz_dun02",150,18,"lhz_dun02";
			callsub Onc1,165,"Somatology Laboratory F3","lhz_dun03",140,133,"lhz_dun03";
		callsub Onc2,"Sphinx";
			callsub Onc1,56,"Sphinx F1","in_sphinx1",288,9,"in_sphinx1";
			callsub Onc1,166,"Sphinx F2","in_sphinx2",149,81,"in_sphinx2";
			callsub Onc1,167,"Sphinx F3","in_sphinx3",210,54,"in_sphinx3";
			callsub Onc1,168,"Sphinx F4","in_sphinx4",10,222,"in_sphinx4";
			callsub Onc1,169,"Sphinx F5","in_sphinx5",100,99,"in_sphinx5";
		callsub Onc2,"Sunken Ship";
			callsub Onc1,57,"Sunken Ship F1","treasure01",69,24,"treasure01";
			callsub Onc1,170,"Sunken Ship F2","treasure02",102,27,"treasure02";
		callsub Onc2,"Thanatos Tower";
			callsub Onc1,58,"Thanatos Tower F1","tha_t01",150,39,"tha_t01";
			callsub Onc1,171,"Thanatos Tower F2","tha_t02",150,136,"tha_t02";
			callsub Onc1,172,"Thanatos Tower F3","tha_t03",220,158,"tha_t03";
			callsub Onc1,173,"Thanatos Tower F4","tha_t04",59,143,"tha_t04";
			callsub Onc1,174,"Thanatos Tower F5","tha_t05",62,11,"tha_t05";
			callsub Onc1,175,"Thanatos Tower F6","tha_t06",206,11,"tha_t06";
			callsub Onc1,176,"Thanatos Tower F7","tha_t07",35,166,"tha_t07";
			callsub Onc1,177,"Thanatos Tower F8","tha_t08",28,43,"tha_t08";
			callsub Onc1,178,"Thanatos Tower F9","tha_t09",20,96,"tha_t09";
			callsub Onc1,179,"Thanatos Tower F10","tha_t10",155,100,"tha_t10";
			callsub Onc1,180,"Thanatos Tower F11","tha_t11",49,18,"tha_t11";
			callsub Onc1,181,"Thanatos Tower F12","tha_t12",115,16,"tha_t12";
		callsub Onc2,"Thor Volcano Dungeon";
			callsub Onc1,59,"Thor Volcano Dungeon F1","thor_v01",21,228,"thor_v01";
			callsub Onc1,182,"Thor Volcano Dungeon F2","thor_v02",75,205,"thor_v02";
			callsub Onc1,183,"Thor Volcano Dungeon F3","thor_v03",35,262,"thor_v03";
		callsub Onc2,"Toy Factory";
			callsub Onc1,60,"Toy Factory Warehouse","xmas_dun01",205,15,"xmas_dun01";
			callsub Onc1,184,"Toy Monitoring Room","xmas_dun02",129,133,"xmas_dun02";
		callsub Onc2,"Turtle Island";
			callsub Onc1,61,"Turtle Island","tur_dun01",154,49,"tur_dun01";
			callsub Onc1,185,"Turtle Island Dungeon","tur_dun02",148,261,"tur_dun02";
			callsub Onc1,186,"Good Turtles Village","tur_dun03",132,189,"tur_dun03";
			callsub Onc1,187,"Turtle Palace","tur_dun04",100,192,"tur_dun04";
		callsub Onc2,"Umbala Dungeon";
			callsub Onc1,62,"Carpenter's Shop in the Tree","um_dun01",42,31,"um_dun01";
			callsub Onc1,188,"Passage to a Foreign World","um_dun02",48,30,"um_dun02";
			callsub Onc1,193,"Hvergelmir's Fountain","yggdrasil01",40,63,"yggdrasil01";
		callsub Onc2,"Undersea Tunnel";
			callsub Onc1,63,"Undersea Tunnel F1","iz_dun00",168,168,"iz_dun00";
			callsub Onc1,189,"Undersea Tunnel F2","iz_dun01",253,252,"iz_dun01";
			callsub Onc1,190,"Undersea Tunnel F3","iz_dun02",236,204,"iz_dun02";
			callsub Onc1,191,"Undersea Tunnel F4","iz_dun03",32,63,"iz_dun03";
			callsub Onc1,192,"Undersea Tunnel F5","iz_dun04",26,27,"iz_dun04";

	// WoE Areas:
	callsub Onc0,"Voyager dans une zone de WoE.",1500;
		callsub Onc1,0,"Britoniah","gef_fild13",186,242,"gef_fild13","gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05","gld_dun04";
		callsub Onc1,0,"Greenwood Lake","pay_gld",196,165,"pay_gld","payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05","gld_dun01";
		callsub Onc1,0,"Luina","alde_gld",228,153,"alde_gld","aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05","gld_dun02";
		callsub Onc1,0,"Nidhoggur","sch_gld",287,123,"sch_gld","schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05","schg_dun01";
		callsub Onc1,0,"Valfreyja","aru_gld",187,325,"aru_gld","arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05","arug_dun01";
		callsub Onc1,0,"Valkyrie Realm","prt_gld",160,75,"prt_gld","prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05","gld_dun03";

	// 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(.@b);
			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 > 0) {
		set .@a,.@a - 1;
		set .@b,getd("$@WE_"+.@m$+"["+.@a+"]");
		set .@c,getd("$@WEa"+.@b);
		set .@d,getd($@WEm$+"WE_"+(.@c / 31));
		if(!(.@d & pow(2,.@c % 31))) {
			if($@WEm$ == "$") set .@e,0;
			else set .@e,3;
			announce "Nouvelle destination désactivée: "+getd("$@WEb"+.@b+"$")+".",.@e,0x00ccdd;
			set getd($@WEm$+"WE_"+(.@c / 31)),.@d + pow(2,.@c % 31);
		}
	}
	end;
}

// Npcs:
-	script	WE#0::WE	-1,{

	cutin "ep15_2_fru_1",2;
	mes $@WE$;
	mes "Bonjour "+strcharinfo(0)+".";
	mes "En quoi puis-je t'aider?";
	next;
	while(.@a < getarraysize($@WEd0)) {
		set .@b,$@WEd0[.@a];
		set .@a$[.@a],getd("$@WEb"+.@b+"$");
		set .@b,getd("$@WEc"+.@b);
		if(.@b) {
			if(Zeny < .@b) 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("Dernier Warp ^880000[" + lastwarp$ + "]^000000",.@a$[0],.@a$[1],.@a$[2],.@a$[3],"^880000Sortir^000000",.@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]);
	if (.@a == 1)
	{
		if (lastwarp$ == "")
		{
			mes "Tu n'as pas encore de coordonnées enregistrées.";
		}
		else
			warp lastwarp$,lastwarpx,lastwarpy;
		close2;
		cutin "", 255;
		end;
	}
	else if (.@a == 6)
	{
		mes $@WE$;
		mes "À bientôt.";
		emotion 12;
		close2;
		cutin "",255;
		end;
	}	
	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 "Très bien.";
		mes "A partir de maintenant sur ce lieu sera enregistré en tant que votre point de départ.";
		save .@m$,.@x,.@y;
		specialeffect2 500;
		close2;
		cutin "",255;
		emotion 12;
		end;
	}
	mes "Choisissez votre destination.";
	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$,"Retour";
		else
			set .@b$,"Sortir";
		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 "À bientôt.";
				emotion 12;
				close2;
				cutin "",255;
				end;
			}
		}
		else {
			set .@c,.@c - 2;
			if(compare(.@a$[.@c],"^bbbbbb")) {
				mes $@WE$;
				mes "Désolé.";
				mes "Cette destination est pas encore disponible.";
				emotion 40;
				close2;
				cutin "",255;
				end;
			}
			set .@h,.@a;
			set .@a,getd("$@WEd"+.@a+"["+.@c+"]");
		}
	} while(getd("$@WEe"+.@a+"$") == "");
	callsub Ona0,.@b;
	set Zeny,Zeny - .@b;
	mes $@WE$;
	mes "Très bien.";
	mes "Attendez une seconde alors que j'ouvre un portail...";
	close2;
	specialeffect2 71;
	pcblockmove getcharid(3),1;
	sleep2 500;
	specialeffect2 402;
	sleep2 500;
	emotion 12;
	specialeffect2 6;
	sleep2 200;
	specialeffect2 304;
	cutin "",255;
	set lastwarp$, getd("$@WEe"+.@a+"$");
	set lastwarpx, getd("$@WEf"+.@a);
	set lastwarpy, getd("$@WEg"+.@a);
	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 "Désolé.";
		mes "Pour utiliser ce service, vous devez payer ^880000"+.@a+" z^000000.";
		emotion 40;
		close2;
		cutin "", 255;
		end;
	}
	return;
}

alberta,195,142,4	duplicate(WE)	WE#1	4_F_FRUIT
alberta,47,250,5	duplicate(WE)	WE#2	4_F_FRUIT
aldebaran,133,120,6	duplicate(WE)	WE#3	4_F_FRUIT
aldebaran,133,240,6	duplicate(WE)	WE#4	4_F_FRUIT
alde_gld,234,154,4	duplicate(WE)	WE#5	4_F_FRUIT
amatsu,244,283,6	duplicate(WE)	WE#6	4_F_FRUIT
amatsu,103,258,4	duplicate(WE)	WE#7	4_F_FRUIT
amatsu,207,104,4	duplicate(WE)	WE#8	4_F_FRUIT
ayothaya,212,208,4	duplicate(WE)	WE#9	4_F_FRUIT
ayothaya,152,174,4	duplicate(WE)	WE#10	4_F_FRUIT
comodo,180,333,4	duplicate(WE)	WE#11	4_F_FRUIT
comodo,205,116,4	duplicate(WE)	WE#12	4_F_FRUIT
comodo,320,179,4	duplicate(WE)	WE#13	4_F_FRUIT
comodo,32,219,6	duplicate(WE)	WE#14	4_F_FRUIT
einbech,67,96,6	duplicate(WE)	WE#15	4_F_FRUIT
einbech,131,249,6	duplicate(WE)	WE#16	4_F_FRUIT
einbech,38,201,8	duplicate(WE)	WE#17	4_F_FRUIT
einbroch,78,187,2	duplicate(WE)	WE#18	4_F_FRUIT
einbroch,153,317,6	duplicate(WE)	WE#19	4_F_FRUIT
einbroch,152,53,4	duplicate(WE)	WE#20	4_F_FRUIT
einbroch,245,239,2	duplicate(WE)	WE#21	4_F_FRUIT
geffen,123,73,4	duplicate(WE)	WE#22	4_F_FRUIT
geffen,41,111,6	duplicate(WE)	WE#23	4_F_FRUIT
geffen,124,181,4	duplicate(WE)	WE#24	4_F_FRUIT
geffen,167,123,6	duplicate(WE)	WE#25	4_F_FRUIT
gef_fild13,191,248,4	duplicate(WE)	WE#26	4_F_FRUIT
gonryun,152,114,6	duplicate(WE)	WE#27	4_F_FRUIT
gonryun,172,182,2	duplicate(WE)	WE#28	4_F_FRUIT
gonryun,157,18,6	duplicate(WE)	WE#29	4_F_FRUIT
hugel,101,134,4	duplicate(WE)	WE#30	4_F_FRUIT
hugel,176,174,4	duplicate(WE)	WE#31	4_F_FRUIT
izlude,121,98,6	duplicate(WE)	WE#32	4_F_FRUIT
jawaii,135,259,4	duplicate(WE)	WE#33	4_F_FRUIT
yuno,175,93,4	duplicate(WE)	WE#34	4_F_FRUIT
yuno,64,207,4	duplicate(WE)	WE#35	4_F_FRUIT
sch_gld,291,127,4	duplicate(WE)	WE#36	4_F_FRUIT
lighthalzen,209,99,6	duplicate(WE)	WE#37	4_F_FRUIT
lighthalzen,218,326,4	duplicate(WE)	WE#38	4_F_FRUIT
lighthalzen,311,303,4	duplicate(WE)	WE#39	4_F_FRUIT
louyang,207,104,6	duplicate(WE)	WE#40	4_F_FRUIT
louyang,57,250,4	duplicate(WE)	WE#41	4_F_FRUIT
xmas,139,310,6	duplicate(WE)	WE#42	4_F_FRUIT
xmas,157,110,4	duplicate(WE)	WE#43	4_F_FRUIT
morocc,166,80,4	duplicate(WE)	WE#44	4_F_FRUIT
morocc,43,174,4	duplicate(WE)	WE#45	4_F_FRUIT
morocc,166,293,4	duplicate(WE)	WE#46	4_F_FRUIT
morocc,275,197,8	duplicate(WE)	WE#47	4_F_FRUIT
morocc,33,294,4	duplicate(WE)	WE#48	4_F_FRUIT
moscovia,238,194,4	duplicate(WE)	WE#49	4_F_FRUIT
moscovia,157,64,4	duplicate(WE)	WE#50	4_F_FRUIT
niflheim,25,156,6	duplicate(WE)	WE#51	4_F_FRUIT
niflheim,201,184,4	duplicate(WE)	WE#52	4_F_FRUIT
payon,213,76,6	duplicate(WE)	WE#53	4_F_FRUIT
payon,164,49,2	duplicate(WE)	WE#54	4_F_FRUIT
payon,232,320,4	duplicate(WE)	WE#55	4_F_FRUIT
payon,63,124,6	duplicate(WE)	WE#56	4_F_FRUIT
pay_gld,201,161,4	duplicate(WE)	WE#57	4_F_FRUIT
prontera,165,75,4	duplicate(WE)	WE#58	4_F_FRUIT
prontera,36,212,6	duplicate(WE)	WE#59	4_F_FRUIT
prontera,164,174,4	duplicate(WE)	WE#60	4_F_FRUIT
prontera,263,213,4	duplicate(WE)	WE#61	4_F_FRUIT
prontera,161,316,4	duplicate(WE)	WE#62	4_F_FRUIT
prt_gld,166,79,4	duplicate(WE)	WE#63	4_F_FRUIT
rachel,260,136,4	duplicate(WE)	WE#64	4_F_FRUIT
rachel,150,140,4	duplicate(WE)	WE#65	4_F_FRUIT
rachel,135,49,4	duplicate(WE)	WE#66	4_F_FRUIT
rachel,35,131,6	duplicate(WE)	WE#67	4_F_FRUIT
aru_gld,179,330,6	duplicate(WE)	WE#68	4_F_FRUIT
umbala,117,130,8	duplicate(WE)	WE#69	4_F_FRUIT
umbala,163,253,4	duplicate(WE)	WE#70	4_F_FRUIT
veins,205,236,4	duplicate(WE)	WE#71	4_F_FRUIT
veins,222,356,4	duplicate(WE)	WE#72	4_F_FRUIT
veins,153,62,6	duplicate(WE)	WE#73	4_F_FRUIT
mid_camp,215,287,4	duplicate(WE)	WE#74	4_F_FRUIT
mid_camp,134,233,6	duplicate(WE)	WE#75	4_F_FRUIT
mid_camp,256,230,8	duplicate(WE)	WE#76	4_F_FRUIT
manuk,285,128,2	duplicate(WE)	WE#77	4_F_FRUIT
manuk,183,181,6	duplicate(WE)	WE#78	4_F_FRUIT
splendide,181,141,6	duplicate(WE)	WE#79	4_F_FRUIT
hu_fild05,190,211,5	duplicate(WE)	WE#80	4_F_FRUIT
ama_dun01,233,14,4	duplicate(WE)	WE#81	4_F_FRUIT
anthell01,39,263,4	duplicate(WE)	WE#82	4_F_FRUIT
anthell02,168,173,4	duplicate(WE)	WE#83	4_F_FRUIT
ayo_fild02,279,153,4	duplicate(WE)	WE#84	4_F_FRUIT
izlu2dun,103,96,6	duplicate(WE)	WE#85	4_F_FRUIT
mjolnir_02,84,360,4	duplicate(WE)	WE#86	4_F_FRUIT
nameless_n,158,179,8	duplicate(WE)	WE#87	4_F_FRUIT
gef_dun00,107,99,4	duplicate(WE)	WE#88	4_F_FRUIT
glast_01,371,295,2	duplicate(WE)	WE#89	4_F_FRUIT
glast_01,191,120,6	duplicate(WE)	WE#90	4_F_FRUIT
glast_01,65,110,6	duplicate(WE)	WE#91	4_F_FRUIT
glast_01,195,292,6	duplicate(WE)	WE#92	4_F_FRUIT
glast_01,65,197,8	duplicate(WE)	WE#93	4_F_FRUIT
prt_fild01,140,366,4	duplicate(WE)	WE#94	4_F_FRUIT
mjolnir_12,48,20,2	duplicate(WE)	WE#95	4_F_FRUIT
ra_san01,143,131,2	duplicate(WE)	WE#96	4_F_FRUIT
ra_fild01,237,332,4	duplicate(WE)	WE#97	4_F_FRUIT
jupe_cave,47,55,6	duplicate(WE)	WE#98	4_F_FRUIT
yuno_fild03,34,135,8	duplicate(WE)	WE#99	4_F_FRUIT
kh_dun01,5,230,4	duplicate(WE)	WE#100	4_F_FRUIT
mosk_fild02,194,252,4	duplicate(WE)	WE#101	4_F_FRUIT
odin_tem01,96,143,8	duplicate(WE)	WE#102	4_F_FRUIT
gef_fild10,61,334,6	duplicate(WE)	WE#103	4_F_FRUIT
prt_fild10,219,199,6	duplicate(WE)	WE#104	4_F_FRUIT
pay_arche,37,127,8	duplicate(WE)	WE#105	4_F_FRUIT
prt_sewb1,127,252,4	duplicate(WE)	WE#106	4_F_FRUIT
moc_ruins,55,157,6	duplicate(WE)	WE#107	4_F_FRUIT
moc_fild19,106,97,8	duplicate(WE)	WE#108	4_F_FRUIT
alb2trea,74,101,6	duplicate(WE)	WE#109	4_F_FRUIT
tha_scene01,141,194,2	duplicate(WE)	WE#110	4_F_FRUIT
ve_fild03,172,238,4	duplicate(WE)	WE#111	4_F_FRUIT
tur_dun01,147,54,6	duplicate(WE)	WE#112	4_F_FRUIT
cmd_fild01,31,320,6	duplicate(WE)	WE#113	4_F_FRUIT
beach_dun2,254,248,4	duplicate(WE)	WE#114	4_F_FRUIT

 

 

Edited by La_Quiche
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.05
  • Content Count:  1546
  • Reputation:   192
  • Joined:  07/23/14
  • Last Seen:  

I think this warper has the option of "Last Warp" you needed 

https://github.com/rathena/rathena/blob/master/npc/custom/warper.txt
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  102
  • Reputation:   2
  • Joined:  07/01/13
  • Last Seen:  

It could help, but, i had a lead how to do it, i would do it by myself :( i hope someone really want to try.

 

Thanks though  /ok

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  71
  • Reputation:   25
  • Joined:  11/23/11
  • Last Seen:  

//
// [========================================================]
// [===========         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;
	set .@a$[0],"Último destino ("+((last_warp)?getd("$@WEb"+last_warp+"$"):"no hay")";
	while(.@a < getarraysize($@WEd0)) {
		set .@b,$@WEd0[.@a];
		set .@a$[.@a + 1],getd("$@WEb"+.@b+"$");
		set .@b,getd("$@WEc"+.@;
		if(.@ {
			if(Zeny < .@ set .@a$[.@a + 1],"^bbbbbb"+.@a$[.@a]+" ^bb0000("+.@b+" z)^000000";
			else set .@a$[.@a],.@a$[.@a + 1]+" ^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;
	}
	if(.@a == 2) {
		set .@a,last_warp;
		set .@s,1;
	}
	if(.@a == 3) {
		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;
	}
	set .@b,getd("$@WEc"+.@a);
	if(!.@s) {
		set .@a,$@WEd0[.@a - 3];
		callsub Ona0,.@b;
		mes $@WE$;
		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);
	set last_warp,.@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

IDK if it's going to work.

Edited by Omnipotent
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  102
  • Reputation:   2
  • Joined:  07/01/13
  • Last Seen:  

The NPC doesnt show up on. Don't know why.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  71
  • Reputation:   25
  • Joined:  11/23/11
  • Last Seen:  

Sorry, had a typo.

Here it's fixed:

//
// [========================================================]
// [===========         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;
    set .@a$[0],"Último destino ("+((last_warp)?getd("$@WEb"+last_warp+"$"):"no hay")+")";
    while(.@a < getarraysize($@WEd0)) {
        set .@b,$@WEd0[.@a];
        set .@a$[.@a + 1],getd("$@WEb"+.@b+"$");
        set .@b,getd("$@WEc"+.@;
        if(.@ {
            if(Zeny < .@ set .@a$[.@a + 1],"^bbbbbb"+.@a$[.@a]+" ^bb0000("+.@b+" z)^000000";
            else set .@a$[.@a],.@a$[.@a + 1]+" ^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;
    }
    if(.@a == 2) {
        set .@a,last_warp;
        set .@s,1;
    }
    if(.@a == 3) {
        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;
    }
    set .@b,getd("$@WEc"+.@a);
    if(!.@s) {
        set .@a,$@WEd0[.@a - 3];
        callsub Ona0,.@b;
        mes $@WE$;
        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);
    set last_warp,.@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
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  102
  • Reputation:   2
  • Joined:  07/01/13
  • Last Seen:  

It still doesn't appear, i don't know what's wrong.

 

Hope you help me out.

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

It still doesn't appear, i don't know what's wrong.

 

Hope you help me out.

alway refer your map-server and check for error messages....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...