Jump to content
LeyendasMt2

[PETICION]Canjear puntos

Recommended Posts

Hola buenas tengo una quest que suma muertes y se me ocurrio hacerla tipo el sistema de logros de keko, osea por X muertes te den un premio. Dejo la quest para ver si me podeis ayudar ^^

 

quest Ranking_de_Kills begin
state start begin
when login or levelup with pc.get_level() > 1 begin
set_state("pannello")
end
end
state pannello begin
when kill with npc.is_pc() begin
pc.setqf("conta_kills", pc.getqf("conta_kills")+1)
end
when letter begin
send_letter("Ranking de Kills")
end
when button or info begin
say_title("Ranking de Kills")
say("")
say("Hola "..pc.get_name().."")
say("Aqui podrás ver cuántos jugadores has matado")
say("En tu carrera en el NOMBRE DEL SERVIDOR!")
wait()
say("Tienes un total de:")
say_reward("".. pc.getqf("conta_kills") .." Kills")
say("")
say("Divierte te!")
end

Share this post


Link to post
Share on other sites

Hola buenas tengo una quest que suma muertes y se me ocurrio hacerla tipo el sistema de logros de keko, osea por X muertes te den un premio. Dejo la quest para ver si me podeis ayudar ^^

 

quest Ranking_de_Kills begin
state start begin
when login or levelup with pc.get_level() > 1 begin
set_state("pannello")
end
end
state pannello begin
when kill with npc.is_pc() begin
pc.setqf("conta_kills", pc.getqf("conta_kills")+1)
if pc.getqf("conta_kills") == 1 then
pc.give_item2("id_item", cantidad)
Y así...

Share this post


Link to post
Share on other sites

Gracias pacificador pero eso no es lo que quiero , tu pones alli que cuando tengas X puntos te de premio directamente. Tal vez me exprese mal, lo que quiero decir es que los puntos se acumulen y haya una tienda tipo como la que puse keko en su sistema de logros, a lo mejor tengo 20 puntos acumulados y quiero canjear 5 por un objeto , nose si me explico :okay:

Share this post


Link to post
Share on other sites

Gracias pacificador pero eso no es lo que quiero , tu pones alli que cuando tengas X puntos te de premio directamente. Tal vez me exprese mal, lo que quiero decir es que los puntos se acumulen y haya una tienda tipo como la que puse keko en su sistema de logros, a lo mejor tengo 20 puntos acumulados y quiero canjear 5 por un objeto , nose si me explico :okay:

 

Ala ya me has jodido xD, eso ya no lo sé, aunque supongo que necesitas el Sistema de Logros, en si :P

Share this post


Link to post
Share on other sites

La verdad no lo veo muy dificil, pero no manejo muy bien el tema de los qf y tal.

 

No sé tanto de qf como para hacer algo así. (al menos lo veo así, pero veremos si keko, o Noa, o Raul, o algún quester te ayuda y te hace la quest, así también aprendo ^^)

Share this post


Link to post
Share on other sites

yo pienso que es asi, pero me da error xD . Los canjes son una copia del sistema de logros de keko.

 

quest Ranking_de_Kills begin
state start begin
when login or levelup with pc.get_level() > 1 begin
set_state("pannello")
end
end
state pannello begin
when kill with npc.is_pc() begin
pc.setqf("conta_kills", pc.getqf("conta_kills")+1)
end
when letter begin
send_letter("Ranking de Kills")
end
when button or info begin
say_title("Ranking de Kills")
say("")
say("Hola "..pc.get_name().."")
say("Aqui podrás ver cuántos jugadores has matado")
say("En tu carrera en el NOMBRE DEL SERVIDOR!")
wait()
say("Tienes un total de:")
say_reward("".. pc.getqf("conta_kills") .." Kills")
say("")
say("Divierte te!")
end
--Canjeo--
when 40001.use begin
say_title ( "Canjea tus puntos logro" )
local conta_kills = pc . getqf ( "conta_kills" )
local p = select ( "Caballo armado - 5 puntos" , "Caballo militar - 30 puntos" , "Bonus mediohumanos +20% por 30min - 50 puntos" , "Bonus HP +5000 por 30min - 60 puntos" , "Armadura divina - 400 logros" , "Mascota de ataque - 30 puntos" , "Mas" )
if p == 1 then
if pc . getqf ( "conta_kills" ) <= 4 then
say ( "Lo siento necesitas mas puntos" )
return
end
local conta_kills = pc . getqf ( "conta_kills" )
pc . setqf ( "conta_kills" , conta_kills - 5 )
say ( "Has recibido un caballo armado" )
horse . set_level ( "11" )
horse . unsummon ( )
horse . summon ( )
pc . give_item2 ( "50052" , 1 )
return
elseif p == 2 then
if pc . getqf ( "conta_kills" ) <= 29 then
say ( "Lo siento necesitas mas puntos" )
return
end
local conta_kills = pc . getqf ( "conta_kills" )
pc . setqf ( "conta_kills" , conta_kills - 30 )
say ( "Has recibido un caballo militar" )
horse . set_level ( "21" )
horse . unsummon ( )
horse . summon ( )
pc . give_item2 ( "50053" , 1 )
return
elseif p == 3 then
if pc . getqf ( "conta_kills" ) <= 49 then
say ( "Lo siento necesitas mas puntos" )
return
end
local conta_kills = pc . getqf ( "conta_kills" )
pc . setqf ( "conta_kills" , conta_kills - 50 )
say ( "Has recibido 20% fuerza contra mediohumanos por 30min" )
affect . add_collect ( apply . ATTBONUS_HUMAN , 20 , 60 * 30 )
return
elseif p == 4 then
if pc . getqf ( "conta_kills" ) <= 59 then
say ( "Lo siento necesitas mas puntos" )
return
end
local conta_kills = pc . getqf ( "conta_kills" )
pc . setqf ( "conta_kills" , conta_kills - 60 )
say ( "Has recibido 5000hp por 30min" )
affect . add_collect ( apply . MAX_HP , 5000 , 60 * 30 )
return
elseif p == 5 then
if pc. getqf ( "conta_kills" ) <= 399 then
say ( "Lo siento necesitas mas puntos" )
return
end
local conta_kills = pc . getqf ( "conta_kills" )
pc . setqf ( "conta_kills" , conta_kills - 399 )
local armor = select ( "Armd. divina (G)" , "Armd. divina (N)" , "Armd. divina (S)" , "Armd. divina (C)" )
if armor == 1 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "42080" , 1 )
return
elseif armor == 2 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "44080" , 1 )
return
elseif armor == 3 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "46080" , 1 )
return
elseif armor == 4 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "48080" , 1 )
return
end
elseif p == 6 then
if pc . getqf ( "conta_kills" ) <= 29 then
say ( "Lo siento necesitas mas puntos" )
return
end
local conta_kills = pc . getqf ( "conta_kills" )
pc . setqf ( "conta_kills" , conta_kills - 29 )
say ( "Has recibido la mascota de ataque" )
pc . give_item2 ( "30312" , 1 )
return
elseif p == 7 then
local p2 = select ( "Leon Blanco - 40 puntos" , "Anillo experiencia - 5 puntos" , "Fuerza monstruo +20% 30min - 15 puntos" , "Velocidad movimiento +25% 30min - 10 puntos" , "Mascota de defensa - 25 puntos" , "Cuantos logros tengo?" , "Cerrar" )
if p2 == 1 then
if pc . getqf ( "conta_kills" ) <= 39 then
say ( "Lo siento necesitas mas puntos" )
return
end
local conta_kills = pc . getqf ( "conta_kills" )
pc . setqf ( "conta_kills" , conta_kills - 40 )
say ( "Has recibido un leon blanco disfrtualo, no se acaba" )
pc . give_item2 ( "50110" , 1 )
return
elseif p2 == 2 then
if pc . getqf ( "conta_kills" ) <= 4 then
say ( "Lo siento necesitas mas puntos" )
return
end
local conta_kills = pc . getqf ( "conta_kills" )
pc . setqf ( "conta_kills" , conta_kills - 5 )
say ( "Disfruta de un anillo de experiencia" )
pc . give_item2 ( "71015" , 1 )
return
elseif p2 == 3 then
if pc . getqf ( "conta_kills" ) <= 14 then
say ( "Lo siento necesitas mas puntos" )
return
end
local conta_kills = pc . getqf ( "conta_kills" )
pc . setqf ( "conta_kills" , conta_kills - 15 )
say ( "Has recibido 20% fuerza monstruo por 30min" )
affect . add_collect ( apply . ATTBONUS_MONSTER , 20 , 60 * 30 )
return
elseif p2 == 4 then
if pc . getqf ( "conta_kills" ) <= 9 then
say ( "Lo siento necesitas mas puntos" )
return
end
local conta_kills = pc . getqf ( "conta_kills" )
pc . setqf ( "conta_kills" , conta_kills - 10 )
say ( "Has recibido 25% velo.movimiento por 30min" )
affect . add_collect ( apply . MOV_SPEED , 25 , 60 * 30 )
return
elseif p2 == 5 then
if pc . getqf ( "conta_kills" ) <= 24 then
say ( "Lo siento necesitas mas puntos" )
return
end
local conta_kills = pc . getqf ( "conta_kills" )
pc . setqf ( "conta_kills" , conta_kills - 25 )
say ( "Has recibido la mascota de defensa" )
pc . give_item2 ( "71124" , 1 )
return
end
end

Share this post


Link to post
Share on other sites

Pos mira te explico como hacer un canje y así ya te puedes hacer tu la quest a tu gusto:

 

1 - Lo más importante es saber qué es lo que vamos a canjear? En tu caso la respuesta a esta pregunta es:

 

pc.setqf("conta_kills", pc.getqf("conta_kills")+1)

La quest te suma uno al qf llamado conta_kills cada vez que matas a un pj, así que lo que utilizaremos para canjear es el pc.getqf("conta_kills").

 

2 - Cómo lo canjeamos?

 

Bien para esto creamos nuestra tienda de canjes, en un item por ejemplo:

 

quest canjes begin
state start begin
when iditem.use begin
say_title("Tienda de Canjes")
say("")
say("Aqui cambiaras muertes por items")
say("")
end
end
end

Y le metemos las opciones de las cosas que queremos que te dea:

 

 

quest canjes begin
state start begin
when iditem.use begin
say_title("Tienda de Canjes")
say("")
say("Aqui cambiaras muertes por items")
say("que quieres conseguir?")
say("")
local canjes = select ("Item1", "Item2", "Item3", "Cerrar")
end
end
end

Vale, ahora vamos a hacer los cambios en si, empiezo con el primero para que veais:

 

 

quest canjes begin
state start begin
when iditem.use begin
say_title("Tienda de Canjes")
say("")
say("Aqui cambiaras muertes por items")
say("que quieres conseguir?")
say("")
local canjes = select ("Item1", "Item2", "Item3", "Cerrar")
if canjes == 1 then
say_title("Tienda de Canjes")
say("")
say("Este es el item que quieres?")
say_item_vnum("iditem1")
say("")
say("Su coste es de X puntos")
say("")
local seguir = select ("Lo quiero" , Paso")
end
end
end
end

Ahora vamos a hacer que la quest te de el item y a cambio de quite X muertes, hago solo el primero para que veais,

 

quest canjes begin
state start begin
when iditem.use begin
say_title("Tienda de Canjes")
say("")
say("Aqui cambiaras muertes por items")
say("que quieres conseguir?")
say("")
local canjes = select ("Item1", "Item2", "Item3", "Cerrar")
if canjes == 1 then
say_title("Tienda de Canjes")
say("")
say("Este es el item que quieres?")
say_item_vnum("iditem1")
say("")
say("Su coste es de X puntos")
say("")
local seguir = select ("Lo quiero" , Paso")
if seguir == 1 then
if pc.getqf("conta_kills") < X then
chat("Lo siento no tienes suficientes puntos para comprar este objeto")
return
end
pc.give_item2("iditem", cantidad) -- aqui damos el item
pc.setqf("conta_kills", pc.getqfI("conta_kills") - X) -- aqui quitamos los puntos que valga el item
end
end
end
end
end

Y esa seria la dinamica de una tienda de canjes, recordad que donde pone X ira la cantidad de puntos que pedira para hacer el canje y donde pone iditem pos ira la id del item que daremos a cambio de los puntos.

 

Y eso es todo, espero que os sirva esto mas que simplemente haber hecho esa quest concreta ^^

Share this post


Link to post
Share on other sites

 

Pos mira te explico como hacer un canje y así ya te puedes hacer tu la quest a tu gusto:

 

1 - Lo más importante es saber qué es lo que vamos a canjear? En tu caso la respuesta a esta pregunta es:

 

pc.setqf("conta_kills", pc.getqf("conta_kills")+1)

La quest te suma uno al qf llamado conta_kills cada vez que matas a un pj, así que lo que utilizaremos para canjear es el pc.getqf("conta_kills").

 

2 - Cómo lo canjeamos?

 

Bien para esto creamos nuestra tienda de canjes, en un item por ejemplo:

 

quest canjes begin
state start begin
when iditem.use begin
say_title("Tienda de Canjes")
say("")
say("Aqui cambiaras muertes por items")
say("")
end
end
end

Y le metemos las opciones de las cosas que queremos que te dea:

 

 

quest canjes begin
state start begin
when iditem.use begin
say_title("Tienda de Canjes")
say("")
say("Aqui cambiaras muertes por items")
say("que quieres conseguir?")
say("")
local canjes = select ("Item1", "Item2", "Item3", "Cerrar")
end
end
end

Vale, ahora vamos a hacer los cambios en si, empiezo con el primero para que veais:

 

 

quest canjes begin
state start begin
when iditem.use begin
say_title("Tienda de Canjes")
say("")
say("Aqui cambiaras muertes por items")
say("que quieres conseguir?")
say("")
local canjes = select ("Item1", "Item2", "Item3", "Cerrar")
if canjes == 1 then
say_title("Tienda de Canjes")
say("")
say("Este es el item que quieres?")
say_item_vnum("iditem1")
say("")
say("Su coste es de X puntos")
say("")
local seguir = select ("Lo quiero" , Paso")
end
end
end
end

Ahora vamos a hacer que la quest te de el item y a cambio de quite X muertes, hago solo el primero para que veais,

 

quest canjes begin
state start begin
when iditem.use begin
say_title("Tienda de Canjes")
say("")
say("Aqui cambiaras muertes por items")
say("que quieres conseguir?")
say("")
local canjes = select ("Item1", "Item2", "Item3", "Cerrar")
if canjes == 1 then
say_title("Tienda de Canjes")
say("")
say("Este es el item que quieres?")
say_item_vnum("iditem1")
say("")
say("Su coste es de X puntos")
say("")
local seguir = select ("Lo quiero" , Paso")
if seguir == 1 then
if pc.getqf("conta_kills") < X then
chat("Lo siento no tienes suficientes puntos para comprar este objeto")
return
end
pc.give_item2("iditem", cantidad) -- aqui damos el item
pc.setqf("conta_kills", pc.getqfI("conta_kills") - X) -- aqui quitamos los puntos que valga el item
end
end
end
end
end

Y esa seria la dinamica de una tienda de canjes, recordad que donde pone X ira la cantidad de puntos que pedira para hacer el canje y donde pone iditem pos ira la id del item que daremos a cambio de los puntos.

 

Y eso es todo, espero que os sirva esto mas que simplemente haber hecho esa quest concreta ^^

 

 

Al final es más fácil de lo que yo pensaba, pensé que tenia que hacer otro qf para retirar los puntos y ahi me bloquee xD, como siempre keko enseñando nos algo nuevo :P

Gracias.

Share this post


Link to post
Share on other sites

Al final es más fácil de lo que yo pensaba, pensé que tenia que hacer otro qf para retirar los puntos y ahi me bloquee xD, como siempre keko enseñando nos algo nuevo :P

Gracias.

 

:motherofgod: Esto es amor y lo demas son tonterias , te amo keko *-* Jajaja

 

jajaja no problem chicos, ya sabeis que siempre es un placer ayudaros en lo posible a todos :D

Share this post


Link to post
Share on other sites

keko una duda.. seguro que haciendo otra quest me seguiria conservando el qf conta_kills? osea tenerlo en otra quest distinta como tu me has puesto alli arriba , lo reconoceria igual?

 

Es una gran duda que no vi reflejada en el curso de qfs :P

Share this post


Link to post
Share on other sites

keko una duda.. seguro que haciendo otra quest me seguiria conservando el qf conta_kills? osea tenerlo en otra quest distinta como tu me has puesto alli arriba , lo reconoceria igual?

 

Es una gran duda que no vi reflejada en el curso de qfs :P

 

Um que yo sepa si

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...