                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 // o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
// o      DIVINE QUEST - LA GUERRA DEL COMERCIO      o \\
// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
// o (c) 2007, DivineRO (http://www.divinero.net)    o \\
// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
// o Instructores: Myzter                            o \\
// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
// o Diseñador Principal: Por Definir                o \\
// o Con la participación de:                        o \\
// o   Hattori (SoulRO)                              o \\
// o   eves (DivineRO Admin)                         o \\
// o   Draxter (DivineRO Official Support)           o \\
// o   Ditzzy (Eypheria RO)                          o \\
// o   Edearth                                       o \\
// o                                                 o \\
// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
// o Definición de Variables:                        o \\
// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
// o DQ1_Status: Estado Quests (Binaria)             o \\
// o       1: Rumor                                  o \\
// o       2: Mendigo                                o \\
// o       4: Limpiabotas                            o \\
// o       8: Pitoniza                               o \\
// o      16: Juego de los Cubos                     o \\
// o      32: Contacto 9                             o \\
// o      64: Contacto 8                             o \\
// o     128: Contacto 7                             o \\
// o     256: Contacto 6                             o \\
// o     512: Contacto 5                             o \\
// o    1024: Contacto 4                             o \\
// o    2048: Contacto 3                             o \\
// o    4096: Contacto 2                             o \\
// o    8192: Contacto 1                             o \\
// o   16384: Bando Independientes                   o \\
// o   32768: Bando Alberta                          o \\
// o   65536: Quest Completa                         o \\
// o @DQ1_Entrada: Control Entrada Embajador (Temp.) o \\
// o                                                 o \\
// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
// o ToDo:                                           o \\
// o Asignar la posición y el NPC ID de los NPC      o \\
// o Muchos NPC de la Historia                       o \\
// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\

// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
// o Configuración General
// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
-	script	DivineQuest1	-1,{
OnInit:
	set $@DQ1_ReqContact, 5;	// ¿Con cuantos contactos "mínimo" un jugador podrá convencer al Embajador?
	
}

// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
// o Personajes de la Quest
// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\

// Embajador Alberta
alberta,148,84,4	script	Embajador de Alberta	903,{

	// Calcula la distancia desde donde le están hablando (pueden usarlo en sus scripts, es muy útil)
	getmapxy @mapa$,@x1,@y1,1;
	getmapxy @mapa$,@x2,@y2,0;
	if (distance(@x1,@y1,@x2,@y2) > 2) {
		mes "[^0000FFEmbajador^000000]";
		mes "¿Que?, escucho que alguien me habla pero no veo a nadie, debo arreglar estos lentes.";
		mes " ";
		mes "^FF0000* No te ve a esa distancia *^000000";
		close;
	}
	// Fin del control de distancia
	
	set @Contactos, callfunc("DQ1_Contactos");
	mes "[^0000FFEmbajador^000000]";
	if (@Contactos < 2) {
		if (!@Contactos) {
			mes "Eeeh???, ¿quien eres tú?, ¿cómo llegaste aquí!";
			mes " ";
			mes " ^FF0000GUARDIAS!!!^000000";
			next;
			mes "[^0000FFGuardia Trevon^000000]";
			mes "Señor!... este....";
			next;
			mes "[^0000FFGuardia Onasaki^000000]";
			mes "¿Que pasa Trevon?, ¿donde quedó tu entrenamiento?";
			next;
			mes "[^0000FFGuardia Komishi^000000]";
			mes "Oigan, no es momento de discutir, ¿cómo pudo entrar esta persona tan cerca del Embajador?";
			next;
			mes "[^0000FFGuardia Trevon^000000]";
			mes "Mm... eee... este...";
			next;
			set @Guardia1,1;
			sleep2 100;
			unitwalk getcharid(3),140,84;
			mes "[^0000FFGuardia Onasaki^000000]";
			mes "Grrr.. ya calla Trevon, permitiste que un intruso se acercara al Embajador!";
			mes " ";
			mes "Torpe!";
			next;
			sleep2 100;
			unitwalk getcharid(3),135,74;
			mes "[^0000FFGuardia Komishi^000000]";
			mes "Está bien, yo me haré cargo...";
			if (sex) mes "Cof, cof... ¿cual es su nombre joven?"; else mes "Cof, cof... ¿cual es su nombre jovensita?";
			next;
			mes "[^FF0000" + strcharinfo(0) + "^000000]";
			mes "¿Mi nombre?.... errhhmmm... mi nombre es...";
			next;
			input @Nombre$;
			set @Guardia1,0;
			mes "[^0000FFGuardia Komishi^000000]";
			if (@Nombre$ != strcharinfo(0)) {
				mes "Así que eres ^FF0000" + @Nombre$ + "^000000, ¿cierto?";
				next;
				percentheal -100,-100;
				mes "[^0000FFGuardia Komishi^000000]";
				mes "Jajaja, que inocente!";
				mes " ";
				mes "Los guardias podemos ver tu ventana de estado, así que es imposible que nos engañes.";
				close;
			}
		}
		mes "Pone atención " + strcharinfo(0) + ", no podemos permitir que te acerques al Embajador, está amenazado de muerte y solo gente de confianza puede pasar.";
		next;
		mes "[^FF0000" + strcharinfo(0) + "^000000]";
		mes "Pero necesito hablar con él, es importante!";
		next;
		mes "[^0000FFGuardia Komishi^000000]";
		if (@Contactos)
			mes "Me imagino, pero necesitas más contactos, aún no eres alguien en quien podamos confiar.";
		else
			mes "No podemos fiarnos de tí, encuentra a gente influyente que te avale, solo así te dejaremos hablar con el Embajador.";
		close2;
		set @Guardia1,0;
		end;
	}
	mes "Ohh, así que tú eres " + strcharinfo(0) + ", mucho gusto, yo soy Alfred, Embajador de Alberta, ¿en que puedo ayudarte?";
	next;
	mes "[^FF0000" + strcharinfo(0) + "^000000]";
	mes "Yo soy " + strcharinfo(0) + ", el gusto es mío señor.";
	next;
	mes "[^FF0000" + strcharinfo(0) + "^000000]";
	mes "Le ruego me disculpe por pedirle esto, pero hay un gran problema que solo usted puede solucionar.";
	next;
	mes "[^0000FFEmbajador^000000]";
	mes "¿Te refieres al nuevo clan de vendedores que llegó a Midgard?";
	next;
	mes "[^FF0000" + strcharinfo(0) + "^000000]";
	mes "Si, me refiero a ellos...";
	if (!DQ1_Status&16384 && !DQ1_Status&32768) {
		mes "Pero.... emmm... a decir verdad, no se si apoyarlos o rechazarlos.";
		next;
		mes "[^0000FFEmbajador^000000]";
		mes "Jo,jo,jo.... ya veo, no tienes tus ideas claras.";
		next;
		mes "[^0000FFEmbajador^000000]";
		mes "Será mejor que investigues y me des una opinión concreta, debes estar a favor de alguno de ellos.";
		close2;
		set @Guardia1,0;
		end;
	}
	if (DQ1_Status&16384) mes "Son buenas personas y merecen vender su mercancía en las ciudades!"; else mes "Son malas personas, no merecen vender su mercancía en las ciudades!";
	next;
	mes "[^0000FFEmbajador^000000]";
	mes "¿Puedes darme información más específica?";
	next;
	mes "[^FF0000" + strcharinfo(0) + "^000000]";
	mes "Claro, le contaré lo que ocurrió...";
	next;
	mes "[^FF0000" + strcharinfo(0) + "^000000]";
	if (DQ1_Status&16384) {
		mes "Algunos mercaderes de Alberta se enteraron de la llegada de los vendedores independientes y se sintieron en riesgo de perder clientes!";
		next;
		mes "[^FF0000" + strcharinfo(0) + "^000000]";
		mes "Una noche, 2 mercaderes asaltaron una carabana independiente y robaron el carro más importante, lo escondieron en Rachel creyendo que nadie los descubriría...";
		next;
		mes "[^FF0000" + strcharinfo(0) + "^000000]";
		mes "Pero tuve suerte y descubrí un mercader encubierto en Rachel, así que fui y...";
		next;
	} else {
		mes "Cuando llegaron los vendedores independientes, los mercaderes de Alberta fueron a darles la bienvenida!";
		next;
		mes "[^FF0000" + strcharinfo(0) + "^000000]";
		mes "Fue una hermosa fiesta, pero a mitad de la noche uno de los carros más preciados de los Mercaderes de Alberta fue robado.";
		next;
		mes "[^FF0000" + strcharinfo(0) + "^000000]";
		mes "Salí a investigar y descubrí que el ladrón estaba oculto en Rachel, entonces fui y...";
		next;
	}
	set DQ1_Status, DQ1_Status | 65536;	// Al fin, la quest terminada.
	mes "[..........]";
	mes "Y así terminas de contar al Embajador todas las aventuras que tuviste investigando este caso...";
	next;
	mes "[^0000FFEmbajador^000000]";
	mes "Eres increible " + strcharinfo(0) + ", hiciste un trabajo extraordinario, ahora podré arreglar definitivamente este problema.";
	next;
	mes "[^0000FFEmbajador^000000]";
	mes "Ve a hablar con tus amigos, tal vez quieran escuchar la noticia de primera fuente.";
	close;
OnInit:
	setarray .Blabla$[0],	"Que linda es mi ciudad... adoro el mar y el dinero... he he he.",
				"Que bella vista, aunque mis lentes no me dejen ver muy bien...",
				"Me hace falta algo de diversión, no he visto muchas Dancers en Alberta, ¿será que estoy quedando ciego?",
				"10 en las manos, 10 en los pies, cof, cof... muchos dedos para rascarme la nariz.",
				"¿Todo bien Trevon?, no cometas nuevamente el error de dejar pasar a alguien desconosido.",
				"¿Quien querrá hacerme daño?, no entiendo a los jóvenes de hoy... sniff...",
				"Cof cof... ayer vendimos 126 dagas y obtuvimos 31 millones de zeny... que bien!",
				"Cof cof... la semana pasada contratamos 48 nuevos mercaderes, espero nos traigan riqueza...",
				"Ahhhh, que grato es respirar este aire puro...",
				"¿Cómo se llamaba el muchacho que vino ayer Trevon?... bahhh, ya lo olvidé...",
				"Trevon, recuerda que Onasaki solo quiere que aprendas, no debes pelearte con él.",
				"Los barcos ya no son como antes, ahora resisten grandes tempestades...",
				"Que lástima que Jasmin haya sido transferida a Prontera, era una hermosa Kafra...",
				"Según mis cálculos, entre ventas e intereses hemos aumentado un 4% el último mes...",
				"Trevon, recuerda preguntar en Rachel, escuché rumores de que ahí podía estar el sospechoso.",
				"Jojojo, desde aquí puedo ver el mar y el bosque de Payon... grrr... debería llamarse Bosque de Alberta.",
				"Ohh, este trabajo a veces es agotador.",
				"¿Quien resultará ser el mejor mercader?",
				"......  ..... ... ........ mmm....",
				"Gatito, gatito... pssst.. gatiiitoooo...",
				"Cof cof... los vendedores independientes están aquí, entonces nosotros iremos a su país...";
OnTimer10000:
	if (!rand(3)) {
		npctalk .Blabla$[rand(getarraysize(.Blabla$))];
		emotion rand(34);
	}
	initnpctimer;
}

// Guardia #1 - Coordenadas y NPC ID por definir
alberta,142,85,4	script	Guardia Embajador#1	105,0,8{
	mes "[^0000FFGuardia Trevon^000000]";
	if (callfunc("DQ1_Contactos")) {
		mes "No te detendré, ve a hablar con el Embajador.";
	} else {
		mes "Mejor no intentes pasar o tendremos que darte una lección.";
	}
	close;
OnTouch:
	if (@DQ1_Entrada) end;
	if (@Guardia1) {
		set @Guardia1,0;
		end;
	}
	set @Guardia1,1;
	sleep2 100;
	unitwalk getcharid(3),138,85;
	mes "[^0000FFGuardia Trevon^000000]";
	mes "Lo siento!, no puedes hablar con el Embajador!";
	close2;
	set @Guardia1,0;
}

// Guardia #2 - Coordenadas y NPC ID por definir
alberta,137,87,4	script	Guardia Embajador#2	708,0,3{
	mes "[^0000FFGuardia Onasaki^000000]";
	mes "Por razones diversas, no se puede entrar en el castillo.";
	mes "Lo lamento.";
	close;
OnTouch:
	if (@Guardia1) {
		set @Guardia1,0;
		end;
	}
	if (callfunc("DQ1_Contactos")) end;
	mes "[^0000FFGuardia Komishi^000000]";
	mes "Al parecer no pusiste atención a mi compañero Komishi, mejor no sigas adelante.";
	close;
}

// Guardia #3 - Coordenadas y NPC ID por definir
alberta,137,75,3	script	Guardia Embajador#3	707,4,0{
	mes "[^0000FFGuardia Komishi^000000]";
	if (@DQ1_Entrada) {
		mes "Ya te dije que podías pasar, no me quites más tiempo por favor.";
		close;
	}
	mes "¡ Alto ! Tenemos orden expresa de no dejar pasar a nadie.";
	// Si el jugador tiene contactos, se le permite entrar a hablar con el Embajador
	if (!callfunc("DQ1_Contactos")) close;
	next;
	mes "[^0000FFGuardia Komishi^000000]";
	mes "Disculpe, necesito hablar con el Embajador, ¿me permitiría pasar?";
	next;
	mes "[^0000FFGuardia Komishi^000000]";
	mes "Mmm... puedes pasar, pero recuerda que ante cualquier sospecha te haré pedazos!";
	close2;
	// No necesitamos una variable que perdure en el tiempo, ya que tenemos la variable DQ1_Status con la que podemos volver a solicitar el permiso.
	set @DQ1_Entrada,1;
OnTouch:
	if (@Guardia1) {
		set @Guardia1,0;
		end;
	}
	if (callfunc("DQ1_Contactos")) end;
	mes "[^0000FFGuardia Komishi^000000]";
	mes "Si sigues adelante e intentas hablar con el Embajador, sufrirás el peso de la ley... ^FF0000y el de mi lanza.^000000";
	close;
}

// Mendigo
alberta,0,0,4	script	Mendigo#1	80,{
	// Si ya escuchó el rumor, no lo hacemos gastar dinero inutilmente
	if (DQ1_Status & 1) {
		mes "[^0000FFMendigo^000000]";
		if (sex) mes "Disculpa jovensita..."; else mes "Disculpa joven...";
		mes "Estoy comiendo una rica Manzana, te pido me disculpes por favor.";
		close;
	}
	mes "[^0000FFMendigo^000000]";
	mes "¡Hooooooo!";
	mes "Podrías...";
	mes "¿Darme una limosna por la paz de Rune Midgard?";
	next;
	switch(select("Claro, ten 50,000z","Claro, ten 30,000z","Claro, ten 10,000z","Claro, ten 5,000z","Mejor busca un trabajo!")) {
		case 1:set @DQZeny,50000;break;
		case 2:set @DQZeny,30000;break;
		case 3:set @DQZeny,10000;break;
		case 4:set @DQZeny,5000;break;
		case 5:set @DQZeny,0;
	}
	mes "[^0000FFMendigo^000000]";
	if (!@DQZeny) {
	 	mes "Aquellos que creen se salvarán.";
		mes "Cree en mi ...";
		close;
	}
	if (zeny < @DQZeny) {
	 	mes "Me encanta tu generosidad, aún no teniendo dinero me ofreces ayuda.";
		mes "Te esperaré aquí.";
		close;
	}
	set zeny, zeny - @DQZeny;
	// Si paga 50000, siempre escucha el rumor
	// Si paga menos, la probabilidad es mejor dependiendo del monto donado
	if (rand(@DQZeny) > 4000 || @DQZeny > 49999) set DQ1_Status, DQ1_Status | 1;
	mes "Que el ángel del Amor se pose sobre ti.";
	mes "Continúa rezando por la paz , y un día acabarás rodeado de amor...";
	// Aquí se determina si decir o no el rumor...
	if (DQ1_Status & 1) next; else close;
	mes "[^0000FFMendigo^000000]";
	mes "A propósito, sabías que llegó un grupo de comerciantes desde lejanas tierras?";
	next;
	mes "[^0000FFMendigo^000000]";
	mes "Cuentan los rumores que desean conseguir el permiso para vender en las ciudades, pero los Comerciantes de Alberta no están muy contentos.";
	next;
	mes "[^0000FFMendigo^000000]";
	mes "Si eres alguien influyente, tal vez puedas apoyar a los Comerciantes de Alberta o a los Independientes, según creas más justo.";
	next;
	mes "[^0000FFMendigo^000000]";
	mes "Una persona que lo hizo me comentó que obtuvo grandes beneficios, solo debes búscar al líder de alguno de los Grupos.";
	next;
	mes "[^0000FFMendigo^000000]";
	mes "Hasta pronto y que Dios de Bendiga.";
	close;
}

// Limpia Botas
prontera,0,0,4	script	Limpia Botas#1	80,{
	mes "[^0000FFLimpia Botas^000000]";
	if (DQ1_Status & 4) {
		mes "¿A que te sientes mucho mejor con unos zapatos brillantes?";
		mes "¡ No dejan de ensuciarse con tanta gente por las calles !";
		close;
	}
	mes "¡ Tienes los zapatos sucísimos !";
	mes "¿Te los limpio por 10.000 zenys?";
	next;
	// Cuando hay un solo menú de seguir o cancelar en un NPC, el ideal es usar este esquema,
	// cuando son 2 o más, el ideal es usar goto <etiqueta> como por ejemplo: goto l_Salir;
	if (select("Limpiar","Cancelar") == 2) {
		emotion e_pif;
		mes "[^0000FFLimpia Botas^000000]";
		mes "Oye ...";
		mes "Con unos zapatos tan sucios nunca estarás en la elite.";
		close;
	}
	// Comprobamos que tenga dinero suficiente para pagar
	if (zeny < 10000) {
		emotion e_sob;
		mes "[^0000FFLimpia Botas^000000]";
		mes "Es una pena, no tienes el dinero para pagar mis servicios, pero no es mucho dinero, se que puedes reunirlo.";
		close;
	}
	// Cobramos el servicio
	set zeny, zeny - 10000;
	// Marcamos el flag 4, correspondiente a esta mini-quest
	set DQ1_Status, DQ1_Status | 4;
	// Limpia los zapatos
	emotion e_gg;
	mes "[^0000FFLimpia Botas^000000]";
	mes "¡Hurra!";
	mes "¡Los voy a dejar relucientes!";
	next;
	mes "[^FF0000" + strcharinfo(0) + "^000000]";
	mes "^FF0000Pensamiento: Impresionante lo bien que trabaja este hombre, está dejándolos brillantes...";
	next;
	mes "[^0000FFLimpia Botas^000000]";
	mes "¡He He He!";
	mes "¿Ves?";
	mes "¡Ahora relucen.";
	mes "¡Si se te vuelven a ensuciar te los vuelvo a limpiar!";
	close;
}

// Letrero - Publicidad Pitonisa
prontera,0,0,4	script	Letrero#1	99,{
	mes "[Letrero]";
	mes "¿Qué te depara el destino?";
	mes "Entra en mi local y descúbrelo.";
	mes "Pitonisa Fanadi.";
	close;
}

// Pitonisa Fanadi
prontera,0,0,4	script	Pitonisa#1	99,{
	mes "[Pitonisa]";
	if (!DQ1_Status & 4) {
		mes "OYE TÚ!!!";
		mes "Que falta de respeto venir aquí con esos zapatos tan sucios, que el destino se apiade de tu alma!";
		close2;
		// El jugador perderá un porcentaje de HP que podría significarle la muerte, dependerá de su destino ^^
		percentheal -rand(98,100),0;
		end;
	}
	if (DQ1_Status & 8) {
		mes "El destino no siempre tiene la razón...";
		mes "Lucha siempre por tus sueños!";
		close;
	}
	mes "¡ Ha Ha Ha !";
	mes "Bienvenido seáis al lugar donde el pasado conoce a su futuro.";
	next;
	mes "[Pitonisa]";
	mes "Os echaré la buenaventura sobre la faceta del destino que deseéis.";
	mes "¡Abrid la puerta del futuro por 10,000 zenys! ¿ Os interesa?";
	next;
	if (select("Si","No, gracias") == 2) goto l_Salir;
	if (zeny < 10000) {
		mes "[Pitonisa]";
		mes "Oh, mi bola de cristal me advierte que pretendes usar mis servicios sin pagar...";
		next;
		mes "[Pitonisa]";
		mes "El destino no perdonará semejante actitud...";
		close2;
		// El jugador perderá un porcentaje de HP que podría significarle la muerte, dependerá de su destino ^^
		percentheal -rand(98,100),0;
		end;
	}
	mes "[Pitonisa]";
	mes "De acuerdo. Elegid la puerta que más curiosidad os produzca...";
	next;
	switch (select("Trabajo (10k)","Amor (10k)","Salir")) {
		case 1:
			mes "[Pitonisa]";
			mes "Dejadme ver , pues ...";
			mes "Os haré saber la misión que el destino os ha asignado ...";
			mes "¡Habla , Destino!";
			next;
			mes "[Pitonisa]";
			mes "Sinsalabín , Chisgarabís";
			mes "Chisgarabís , Sinsalabín";
			mes " ";
			mes "Babaaaaaaaam ...";
			next;
			mes "[Pitonisa]";
			mes "' Tendrás que encontrar la clave que se esconde en el Muñeco '";
			next;
			// Salto fuera del switch para continuar
			break;
		case 2:
			mes "[Pitonisa]";
			mes "¡Habla Destino!";
			next;
			mes "[Pitonisa]";
			mes "Sinsalabín , Chisgarabís";
			mes "Chisgarabís , Sinsalabín";
			mes " ";
			mes "Babaaaaaaaam ...";
			next;
			mes "[Pitonisa]";
			mes "¡LO VEO!";
			next;
			mes "[Pitonisa]";
			mes "Encontrareis una persona que pierde algo y os encontrareis pronto con ella....";
			mes "Id al lugar del que habéis contemplado un atisbo.";
			next;
			break;
		default:
			goto l_Salir;
	}
	// Marco el Flag 8, que me indica que ya habló con la Pitonisa
	set DQ1_Status, DQ1_Status | 8;
	mes "[Pitonisa]";
	mes "¿Qué os ha parecido la experiencia?";
	mes "Volved aquí cuando os perdáis en el inexorable y espinoso camino de la vida ...";
	close;
l_Salir:
	mes "[Pitonisa]";
	mes "Jo , jo , jo ... Veo que teneís miedo de descubrir lo que os aguarda ...";
	next;
	mes "[Pitonisa]";
	mes "Como deseéis ... Volved cuando esteís atascado en el largo camino de la vida ...";
	close;
}

// Juego de los 3 Cubos
prt_in,23,73,5	script	Juego de Cubos#1	99,{
	mes "[Yoshi Li]";
	mes "Hola " + strcharinfo(0) + ", ¿quieres jugar a los 3 cubos conmigo?";
	next;
l_Inicio:
	switch(select("^0000FFInstrucciones^000000","^C0C0C0Jugar (5,000z)^FF0000","^FF0000Salir^000000")) {
		case 1:
			mes "[Yoshi Li]";
			mes "Pondré la bola bajo uno de estos 3 cubos, luego comenzaré a cambiarlos de lugar para intentar confundirte...";
			next;
			mes "[Yoshi Li]";
			mes "Cuando pare debes decirme en que Cubo se encuentra la Bola, si aciertas te pagaré el doble de tu dinero.";
			next;
			mes "[Yoshi Li]";
			mes "Ten cuidado, tienes menos de 1 segundo para observar cada movimiento de los cubos, si te pasas perderás tu dinero.";
			next;
			goto l_Inicio;
		case 3: close;
	}
	if (zeny < 5000) {
		mes "[Yoshi Li]";
		mes "Ve y reune 5,000z, no es mucho pedir por un poco de sana entretención, ¿no crees " + strcharinfo(0) + "?";
		close;
	}
	set zeny, zeny - 5000;
	mes "[Yoshi Li]";
	mes "Muy bien, recuerda avanzar rápidamente pulsando el botón ^FF0000<Siguiente>^000000 para no perder por tiempo.";
	next;
	mes "[Yoshi Li]";
	mes "Debes tardar menos de 1 segundo (promedio) en mirar cada movimiento, de lo contrario perderás.";
	next;
	mes "[Yoshi Li]";
	mes "¿Todo listo para comenzar?";
	next;
	mes "[^FF0000" + strcharinfo(0) + "^000000]";
	mes "^FF0000Ehm... si, eso creo, no me lo hagas muy difícil por favor...^000000";
	next;
	mes "[Yoshi Li]";
	mes "Excelente, cuando pulses Siguiente comenzará el tiempo, pone atención!";
	next;
	announce "Ha comenzado el tiempo " + strcharinfo(0) + ", apresúrate y no pierdas de vista el Cubo Premiado!",3;
	set @Pasos, rand(15,25);	// Cuantas veces cambiaremos la posición de los Cubos
	set @LT, gettimetick(2);	// Tiempo de inicio
	set @PI, rand(3);		// Posición actual del cubo premiado (0 al 2)
	set @TP, 0;			// En esta variable contaremos los movimientos realizados
	while (@TP < @Pasos) {
		set @TP, @TP + 1;
		mes "[Mezclando...]";
		// Entra en la siguiente lógica de posicionamiento solo a partir del segundo movimiento
		if (@TP > 1) {
			set @D1, rand(3);		// Selecciona 1 cubo al azar para iniciar el movimiento (0 al 2)
			set @D2, rand(3);		// Selecciona el cubo destino para terminar el movimiento (0 al 2)
			// Si el cubo 1 y 2 fueran el mismo, escoge el próximo o el anterior
			if (@D2 == @D1) {
				if (rand(2)) set @D2, @D2 + 1; else set @D2, @D2 - 1;
			}
			// Controla si se pasa de 0 o 2
			if (@D2 < 0) set @D2, 2;
			if (@D2 > 2) set @D2, 0;
			// Señala los cubos que se moverán
			if (@D1 + @D2 == 1) mes "^FFFFFFooo^0000FF¤^FFFFFFooooooo^0000FF¤^000000";
			if (@D1 + @D2 == 2) mes "^FFFFFFooo^0000FF¤^FFFFFFooooooooooooooo^0000FF¤^000000";
			if (@D1 + @D2 == 3) mes "^FFFFFFooooooooooo^0000FF¤^FFFFFFooooooo^0000FF¤^000000";
			// Si se movió el cubo donde estaba la bola, actualizamos su nueva posición
			if (@PI == @D1) set @PI, @D2; else if (@PI == @D2) set @PI, @D1;
		}
		// Dibuja los cubos
		mes "^FFFFFFo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFo";
		mes "^FFFFFFo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFo";
		mes "^FFFFFFo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFo";
		mes "^FF0000ooooooo^FFFFFFo^FF0000ooooooo^FFFFFFo^FF0000ooooooo^000000";
		// Muestra la posición del cubo premiado la primera vez
		if (@TP == 1) {
			switch(@PI) {
				case 0:mes "^FFFFFFooo^FF0000o^000000";break;
				case 1:mes "^FFFFFFoooooooooooo^FF0000o^000000";break;
				case 2:mes "^FFFFFFooooooooooooooooooo^FF0000o^000000";
			}
		} else {
			// Ponemos un sonido que simule el arrastrar los cubos...
			soundeffect "amistr_h_attack2.wav",0;
		}
		next;
	}
	set @CT, gettimetick(2);
	set @LT, (@CT - @LT) / @TP;
	if (@LT > 0) {
		mes "[Yoshi Li]";
		mes "Oh, lo siento, tardaste demasiado tiempo en observar los Cubos.";
		next;
		goto l_Salir;
	}
	mes "[Yoshi Li]";
	mes "Bien, ¿Bajo que Cubo se encuentra la Bola?";
	next;
	mes "[Yoshi Li]";
	mes "^FFFFFFo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFo";
	mes "^FFFFFFo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFo";
	mes "^FFFFFFo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFooo^FF0000ooooo^FFFFFFo";
	mes "^FF0000ooooooo^FFFFFFo^FF0000ooooooo^FFFFFFo^FF0000ooooooo";
	mes "^FFFFFFooo^0000FF1^FFFFFFooooooo^0000FF2^FFFFFFooooooo^0000FF3^000000";
	next;
	if (select("Cubo 1","Cubo 2","Cubo 3") - 1 == @PI) {
		if (!DQ1_Status&16) set DQ1_Status, DQ1_Status | 16;	// Recuerdo que el jugador ganó este juego alguna vez
		mes "[Yoshi Li]";
		set zeny, zeny + 10000;
		mes "Así es, lo lograste, toma tus 10,000z";
		close;
	}
	mes "[Yoshi Li]";
	mes "Lo siento, la Bola estaba en el Cubo " + (@PI + 1);
	close;
l_Salir:
	mes "[Yoshi Li]";
	mes "Es una pena que hayas perdido tus 5,000z, pero no pierdas las esperanzas, sigue intentándolo.";
	close;
}

// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
// o Funciones
// o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\

// Retorna 2 si el jugador consiguí suficientes contactos, 1 si no ha conseguido suficientes y 0 si no ha conseguido ninguno
function	script	DQ1_Contactos	{
	// Limpio la variable para comenzar a contar los contactos logrados
	set @DQ1_TotConta,0;
	if (DQ1_Status&16) set @DQ1_TotConta, @DQ1_TotConta + 1;
	if (DQ1_Status&32) set @DQ1_TotConta, @DQ1_TotConta + 1;
	if (DQ1_Status&64) set @DQ1_TotConta, @DQ1_TotConta + 1;
	if (DQ1_Status&128) set @DQ1_TotConta, @DQ1_TotConta + 1;
	if (DQ1_Status&256) set @DQ1_TotConta, @DQ1_TotConta + 1;
	if (DQ1_Status&512) set @DQ1_TotConta, @DQ1_TotConta + 1;
	if (DQ1_Status&1024) set @DQ1_TotConta, @DQ1_TotConta + 1;
	if (DQ1_Status&2048) set @DQ1_TotConta, @DQ1_TotConta + 1;
	if (DQ1_Status&4096) set @DQ1_TotConta, @DQ1_TotConta + 1;
	if (DQ1_Status&8192) set @DQ1_TotConta, @DQ1_TotConta + 1;
	
	// Si el jugador logró $@DQ1_ReqContact o más contactos, le dejamos hablar con el Embajador con el poder de convencerlo
	// De este modo los jugadores pueden escojer los contactos que prefieran para lograr su objetivo
	// Si quieres que sea más difícil, cambia el valor de la variable $@DQ1_ReqContact en el sector de configuración (Arriba)
	if (@DQ1_TotConta >= $@DQ1_ReqContact) return 2;
	
	// Si el jugador logró algún contacto, le permitimos hablar con el Embajador, pero este no les tomará en cuenta
	if (@DQ1_TotConta) return 1;
	
	// Si no ha logrado contactos, no se le otorga el permiso de hablar con el Embajador
	return 0;
}

// En proceso...