Jump to content

Quest:Matar x mob para conseguir caballo


MesterLum

Mensajes recomendados

Hola zone... pues estaba con mi gay-sensei @TiiCo y pues me dijo que hisiera una practica de lo que me enseño y decidi hacer una de caballo.. consta en siertos niveles hacer la micion por asi decirlo del caballo , pero se tiene que mejorar como el oficial la diferencia esque estos solo son 3 niveles de caballo que son inicial , armado , militar.. tambien que requiere de pasar la 1ra para avansar al 2do caballo y asi constante.. y pues asi quedo
 
PD: TiiCo me corrigio algunas cosas que yo avia acomodado mal
quest nueva_caballo beginstate start beginwhen login with pc.get_level() > 1 beginlocal s = find_npc_by_vnum(20349)if s != 0 thentarget.vid("__TARGET__", s, "Consigue tu caballo inicial")endendwhen __TARGET__.target.click or 20349.chat."Consigue tu caballo inicial" with pc.get_level() > 1 begintarget.delete("__TARGET__")say_title("Chico del establo:")say("Con esta funcion te permitire")say("Subir de nivel tu caballo")say("Pero tienes que matar 20 perros")say("Despues de subirlo podras cabalgar")say("Saludos.")say("")locale temo = select ("Si lo quiero" , "Salir")if temo == 2 then return endtimer("tiempo", 1200)pc.setqf("perros", 20)            q.set_counter("Perros Salvajes", 20)endwhen 101.kill beginlocal s = pc.getqf("perros")if s <= 20 thenpc.setqf("perros", s)q.set_counter("Perros Salvajes", s)end                if s == 0 thensay_title("".. pc.get_name() ..":")say("Felizidades as conseguido matar los perros")say("En el tiempo estimado...")say("Tu premio:")say_reward("Caballo principiante")horse.set_level(1)horse.summon()set_state(seguir)endendwhen tiempo.timer beginsay_title("Fracasaste la micion")say("Lo siento pero as fracasado")say("Intenta de nuevo :c")endendstate seguir beginwhen login with pc.get_level() > 25 beginlocal s = find_npc_by_vnum(20349)if s != 0 thentarget.vid("__TARGET__", s, "Consigue tu caballo armado")endendwhen __TARGET__.target.click or 20349.chat."Consigue tu caballo armado" with pc.get_level() > 25 begintarget.delete("__TARGET__")say_title("Chico del establo:")say("Con esta funcion te permitire")say("Subir de nivel tu caballo")say("Pero tienes que matar 20 perros")say("Despues de subirlo podras cabalgar")say("Saludos.")say("")locale temo1 = select ("Si lo quiero" , "Salir")if temo == 2 then return endtimer("tiempo1", 1200)q.set_counter("Perros Salvajes", 20)pc.setqf("perros1", 20)endwhen 101.kill beginlocal d = pc.getqf("perros1")if d <= 20 thenpc.setqf("perros1", d)q.set_counter("Perros Salvajes", d)endif d == 0 thensay_title("".. pc.get_name() ..":")say("Felizidades as conseguido matar los perros")say("En el tiempo estimado...")say("Tu premio:")say_reward("Caballo principiante")horse.set_level(11)horse.summon()set_state(siguiendo)endendwhen tiempo1.timer beginsay_title("Fracasaste la micion")say("Lo siento pero as fracasado")say("Intenta de nuevo :c")endendstate siguiendo beginwhen login with pc.get_level() > 50 beginlocal s = find_npc_by_vnum(20349)if s != 0 thentarget.vid("__TARGET__", s, "Consigue tu caballo militar")endendwhen __TARGET__.target.click or 20349.chat."Consigue tu caballo militar" with pc.get_level() > 50 begintarget.delete("__TARGET__")say_title("Chico del establo:")say("Con esta funcion te permitire")say("Subir de nivel tu caballo")say("Pero tienes que matar 20 perros")say("Despues de subirlo podras cabalgar")say("Saludos.")say("")locale temo1 = select ("Si lo quiero" , "Salir")if temo == 2 then return endtimer("tiempo2", 1200)q.set_counter("Perros Salvajes", 20)pc.setqf("perros2", 20)endwhen 101.kill beginlocal a = pc.getqf("perros2")if a <= 20 thenpc.setqf("perros2", a)q.set_counter("Perros Salvajes", a)endif a == 0 thensay_title("".. pc.get_name() ..":")say("Felizidades as conseguido matar los perros")say("En el tiempo estimado...")say("Tu premio:")say_reward("Caballo principiante")horse.set_level(21)horse.summon()set_state(completada)endendwhen tiempo2.timer beginsay_title("Fracasaste la micion")say("Lo siento pero as fracasado")say("Intenta de nuevo :c")endendstate completada beginendend
 
Si tiene algun error diganmelo
 
 
PD2: Estoy aprendiendo y me gustan las criticas malas y buenas para mi mejoramiento
Enlace para comentar
Compartir en otros sitios

No la lei pero

with q.set_counter("perros2") == 0 begin

Sera

with q.get_counter("perros2") == 0 begin

Y

if temo == 2 then return endif temo == 1 then

Pa que poner el if temo == 1 then si ya has hecho la condicion de que eligas la primera opcion en la primera linea

if temo == 2 then return end

Quedaria solo asi y la funcion

 

Habra mas cosas pero como digo simplemente le di a la rueda del raton hacia abajo y vi esas dos.

Enlace para comentar
Compartir en otros sitios

Bueno, tienes varios errores:

quest NuevaCaballo begin	state start begin		local s = find_npc_by_vnum(20349)			if s != 0 then				target.vid("__TARGET__", s, "Consigue tu caballo inicial")			end		when __TARGET__.target.click or 20349.chat."Consigue tu caballo inicial" with pc.get_level() < 1 begin				target.delete("__TARGET__")				say_title("Chico del establo:")				say("Con esta funcion te permitire")				say("Subir de nivel tu caballo")				say("Pero tienes que matar 20 perros")				say("Despues de subirlo podras cabalgar")				say("Saludos.")				say("")		locale temo = select ("Si lo quiero" , "Salir")			if temo == 2 then return end			if temo == 1 then				timer("tiempo", 1200)				q.set_counter("perros", 20)			end		when 101.kill with q.set_counter("perros") == 0 begin				say_title("".. pc.get_name() ..":")				say("Felizidades as conseguido matar los perros")				say("En el tiempo estimado...")				say("Tu premio:")				say_reward("Caballo principiante")				horse.set_level(1)				horse.summon()				set_state(mester)		end		when tiempo.timer begin			say_title("Fracasaste la micion")			say("Lo siento pero as fracasado")			say("Intenta de nuevo :c")		end	state mester begin		local d = find_npc_by_vnum(20349)			if d != 0 then				target.vid("__TARGET__", d, "Consigue tu caballo armado")			end		when __TARGET__.target.click or 20349.chat."Consigue tu caballo armado" with pc.get_level() < 25 begin				target.delete("__TARGET__")				say_title("Chico del establo:")				say("Con esta funcion te permitire")				say("Subir de nivel tu caballo")				say("Pero tienes que matar 20 perros")				say("Despues de subirlo podras cabalgar")				say("Saludos.")				say("")		locale temo1 = select ("Si lo quiero" , "Salir")			if temo == 2 then return end			if temo == 1 then				timer("tiempo1", 1200)				q.set_counter("perros1", 20)			end				when 101.kill with q.set_counter("perros1") == 0 begin				say_title("".. pc.get_name() ..":")				say("Felizidades as conseguido matar los perros")				say("En el tiempo estimado...")				say("Tu premio:")				say_reward("Caballo principiante")				horse.set_level(11)				horse.summon()				set_state(mester1)		end		when tiempo1.timer begin			say_title("Fracasaste la micion")			say("Lo siento pero as fracasado")			say("Intenta de nuevo :c")				end	state mester1 begin		local a = find_npc_by_vnum(20349)			if a != 0 then				target.vid("__TARGET__", a, "Consigue tu caballo militar")			end		when __TARGET__.target.click or 20349.chat."Consigue tu caballo militar" with pc.get_level() < 50 begin			target.delete("__TARGET__")			say_title("Chico del establo:")			say("Con esta funcion te permitire")			say("Subir de nivel tu caballo")			say("Pero tienes que matar 20 perros")			say("Despues de subirlo podras cabalgar")			say("Saludos.")			say("")		locale temo1 = select ("Si lo quiero" , "Salir")		if temo == 2 then return end		if temo == 1 then			timer("tiempo2", 1200)			q.set_counter("perros2", 20)		end			when 101.kill with q.set_counter("perros2") == 0 begin			say_title("".. pc.get_name() ..":")			say("Felizidades as conseguido matar los perros")			say("En el tiempo estimado...")			say("Tu premio:")			say_reward("Caballo principiante")			horse.set_level(21)			horse.summon()			set_state(completada)		end			when tiempo2.timer begin		say_title("Fracasaste la micion")		say("Lo siento pero as fracasado")		say("Intenta de nuevo :c")		end	end	state completada begin	endend

Empezando:

 

local s = find_npc_by_vnum(20349)			if s != 0 then				target.vid("__TARGET__", s, "Consigue tu caballo inicial")			end

No esta en ningún when.

 

El State START no lo cierras,

 

when __TARGET__.target.click or 20349.chat."Consigue tu caballo inicial" with pc.get_level() < 1 begin

¿pc.get_level() < 1?

Estás diciendo que solo podras conseguirlo cuando seas nivel menor de 1.

 

when 101.kill with q.set_counter("perros") == 0 begin				say_title("".. pc.get_name() ..":")				say("Felizidades as conseguido matar los perros")				say("En el tiempo estimado...")				say("Tu premio:")				say_reward("Caballo principiante")				horse.set_level(1)				horse.summon()				set_state(mester)		end

El contador no resta al matar al perro.

 

when tiempo.timer begin			say_title("Fracasaste la micion")			say("Lo siento pero as fracasado")			say("Intenta de nuevo :c")		end

El contador de tiempo debe llevar al state start, y en el state start no debe de estar la misión, sino nunca la terminará.

 

state mester begin		local d = find_npc_by_vnum(20349)			if d != 0 then				target.vid("__TARGET__", d, "Consigue tu caballo armado")			end

¿ d != 0, esto sirve de algo?

 

 

 

No miro más, pero al estar estructurada igual supongo que tendra los mismos fallos a lo largo de toda la quest.

 

Un saludo y espero que mi tiempo sirva para ayudarte.

 

 

Enlace para comentar
Compartir en otros sitios

Bueno, tienes varios errores:

 

state mester begin		local d = find_npc_by_vnum(20349)			if d != 0 then				target.vid("__TARGET__", d, "Consigue tu caballo armado")			end

¿ d != 0, esto sirve de algo?

 

 

 

No miro más, pero al estar estructurada igual supongo que tendra los mismos fallos a lo largo de toda la quest.

 

Un saludo y espero que mi tiempo sirva para ayudarte.

 

 

d != 0 then si que sirve pa algo, se pone despues de un find_npc_by_vnum para comprobar que no hayas puesto un 0 dentro del find_npc_by_vnum

Enlace para comentar
Compartir en otros sitios

  • 1 month later...

Unirse a la conversación

Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.

Guest
Responder a este tema...

×   Has pegado contenido con formato .   Eliminar formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incorporado automáticamente.   Mostrar un enlace en su lugar

×   Se ha restaurado el contenido anterior. .   Borrar editor

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

  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...