Jump to content
LeyendasMt2

Quest de matar X pjs para subir de lvl

Recommended Posts

Hola , alguien seria tan amable de indicarme como realizar una quest que por X muertes subes 1 lvl, y si no se pudiese subir exactamente 1 lvl , pues ke de X exp . Yo ahora mismo no tengo capacidades para hacerla , pero estoy estudiando las guias de keko ^^

 

muchas gracias al que colabore =)

Share this post


Link to post
Share on other sites

quest matar begin
state start begin
  when kill with npc.is_pc() begin
   pc.setqf("player", pc.getqf("player") +1)
   if pc.getqf("player") == X then
	pc.give_exp("cantidad")
   elseif pc.getqf("player") == X2 then
	pc.give_exp("cantidad2")
   end
  end
end
end
Algo así, supongo.

Creo que sabrás como editarlo '-'

Ala hasta mañana

Share this post


Link to post
Share on other sites


quest matanza begin

state start begin

pc.setqf("muertes", 20) --Aca se pone el numero de muertes necesarias

set_state(levelup)

end

state levelup begin

maximo = 250 --Se indica el nivel maximo

when kill with npc.is_pc() begin

if pc.get_level() < maximo begin

pc.setqf("muertes", pc.getqf("muertes") - 1)

if pc.getqf("muertes") == 0 then

pc.set_level(pc.get_level()+1)

chat("Has subido al nivel " .. pc.get_level())

set_state(start)

end

chat("Restan " .. pc.getqf("muertes") .. " para subir al siguiente nivel.")

else

chat("Ya eres el nivel maximo, no puedes seguir subiendo")

end

end

end

end

Share this post


Link to post
Share on other sites

Sinceramente Dextrok no le ni pies ni cabeza a tu quest, ya que no tiene sentido hacer un cambio de state en esa quest y aun x encima usas el comando pc.set_level que no existe ._.

 

Yo haria asi la quest:

 

quest muertes begin
state start begin
when kill with npc.is_pc() and pc.get_level() != lvlmaximo begin
pc.setqf("muertes", pc.getqf("muertes") + 1)
if pc.getqf("muertes") == cantidadmuertes then
local canti = pc.get_next_exp()
pc.give_exp2(canti)
pc.setqf("muertes", 0)
end
end
end
end

Donde lvlmaximo seria el lvl maximo del servidor para que puedan seguir matando pjs aunque sean ya el level tope y cantidadmuertes seria el numero de muertes que pida para subir de nivel.

Share this post


Link to post
Share on other sites

LA acabo de probar , funciona perfecto keko, gracias.

 

Ahora mi duda es.. quiero poner que por cada lvl pida ciertas muertes, osea por ejemplo, a lvl 200 pedira 100 muertes para subir al lvl 201. Luego al lvl 201 pedira 200 muertes por ejemplo y asi sucesivamente, crees que podrias mostrarme como hacerlo para estos 2 ejmplos? luego yo hago el resto ^^

Share this post


Link to post
Share on other sites

Ah, no sabía que el pc.set_level no existia sorry, es que nunca lo había probado, y lo tengo en mi lista de funciones, bueno pero por el lado del cambio de estado mi quest sigue necesitando eso, ya que va en un orden descendiente no ascendiente como el de ustedes. Acá te dejo la mejorada:

 

quest matanza begin
state start begin
  pc.setqf("muertes", 20) --Aca se pone el numero de muertes necesarias
  set_state(levelup)
end
state levelup begin
  maximo = 250 --Se indica el nivel maximo
  when kill with npc.is_pc() begin
   if pc.get_level() < maximo begin
    pc.setqf("muertes", pc.getqf("muertes") - 1)
    if pc.getqf("muertes") == 0 then
	 pc.give_exp2(pc.get_next_exp() + 100)
	 chat("Has subido al nivel " .. pc.get_level())
	 set_state(start)
    end
    chat("Restan " .. pc.getqf("muertes") .. " para subir al siguiente nivel.")
   else
    chat("Ya eres el nivel maximo, no puedes seguir subiendo")
   end
  end
end
end

Share this post


Link to post
Share on other sites

Gracias , a todos.

 

Keko, una duda, entonces tengo que saber cuanta exp pide para subir en cada lvl? En plan, saber cuanto pide del 200 al 201, algo asi no?

 

Eso lo hace el comando pc.get_next_level() como supongo que te habras dado cuenta xd

 

LA acabo de probar , funciona perfecto keko, gracias.

 

Ahora mi duda es.. quiero poner que por cada lvl pida ciertas muertes, osea por ejemplo, a lvl 200 pedira 100 muertes para subir al lvl 201. Luego al lvl 201 pedira 200 muertes por ejemplo y asi sucesivamente, crees que podrias mostrarme como hacerlo para estos 2 ejmplos? luego yo hago el resto ^^

 

Si quieres que pida determinadas muertes tendras que meter diferentes condiciones dentro del kill de este modo:

 

quest muertes begin
state start begin
when kill with npc.is_pc() and pc.get_level() != lvlmaximo begin
pc.setqf("muertes", pc.getqf("muertes") + 1)
if pc.getqf("muertes") == cantidadmuertes and pc.get_level() == 80 then
local canti = pc.get_next_exp()
pc.give_exp2(canti)
pc.setqf("muertes", 0)
end
if pc.getqf("muertes")== cantidad2 and pc.get_level() == 120 then
local canti = pc.get_next_exp()
pc.give_exp2(canti)
pc.setqf("muertes", 0)
end
if pc.getqf("muertes") == cantidad3 and pc.get_level() == nivelquequeras then
local canti = pc.get_next_exp()
pc.give_exp2(canti)
pc.setqf("muertes", 0)
end
end
end
end

Asi deberia irte sin problemas ^^

 

Ah, no sabía que el pc.set_level no existia sorry, es que nunca lo había probado, y lo tengo en mi lista de funciones, bueno pero por el lado del cambio de estado mi quest sigue necesitando eso, ya que va en un orden descendiente no ascendiente como el de ustedes. Acá te dejo la mejorada:

 

Por mucho que vaya en orden descendiente sigo viendo totalmente innecesario un cambio de state , aparte que asignas el pc.setqf("muertes", 20) nada mas abrir la quest, no hay ninguna condicion que lo haga activarse ._.

 

Y vigila esto:

 

if pc.get_level() < maximo begin

Share this post


Link to post
Share on other sites

Bueno KeKo, pero es que hay varias formas para hacerlo, si no lo quieres hacer con un cambio de state, podrías hacerlo o con un game.get_event_flag(), o sino con otro pc.getqf(), o si tanto molesta el cambio de estado podría estar de esta forma:

 

quest matanza begin
state start begin
  when kill with npc.is_pc() begin
   local nivel_maximo = 250 --Se indica el nivel maximo
   local cantidad_muertes = 20 --Se indican la cantidad de muertes necesarias
   if pc.get_level() < nivel_maximo then
    if pc.getqf("muertes") == 0 then
	 pc.setqf("muertes", cantidad_muertes)
    else
	 pc.setqf("muertes", pc.getqf("muertes") - 1)
	 if pc.getqf("muertes") == 0 then
	  pc.give_exp2(pc.get_next_exp() + 100)
	  chat("Has subido al nivel " .. pc.get_level())
	  set_state(start)
	 end
	 chat("Restan " .. pc.getqf("muertes") .. " para subir al siguiente nivel.")
    end
   else
    chat("Ya eres el nivel maximo, no puedes seguir subiendo")
   end
  end
end
end

Share this post


Link to post
Share on other sites

Bueno KeKo, pero es que hay varias formas para hacerlo, si no lo quieres hacer con un cambio de state, podrías hacerlo o con un game.get_event_flag(), o sino con otro pc.getqf(), o si tanto molesta el cambio de estado podría estar de esta forma:

 

Sep, se que hay varias formas de hacerlo, simplemente te decia en las otras respuestas que se me hace raro usar un cambio de state ahi porque yo particularmente no lo veo necesario pero ni de lejos estoi criticando que lo uses ^^

Share this post


Link to post
Share on other sites

Perfecto , mis respetos keko , me funciono a la primera , este tipo de ayudas te hacen grande.

 

He mirado la quest de dextrok y me gusto tambien el tema del contador , porque con tu quest keko , no se ve cuantos puntos lleva, sino que sube de lvl cuando llega a esa cantidad de muertes, me encantaria que tuviera un contador que dijera cuantos restan para alcanzar la siguiente cantidad para subir de lvl, o sino un contador ke vaya sumando y por ejemplo cuando llegue a 100 muertes , subes de lvl y vuelva a 0.

 

perdon por ser tan pesado u.u

Share this post


Link to post
Share on other sites

Perfecto , mis respetos keko , me funciono a la primera , este tipo de ayudas te hacen grande.

 

He mirado la quest de dextrok y me gusto tambien el tema del contador , porque con tu quest keko , no se ve cuantos puntos lleva, sino que sube de lvl cuando llega a esa cantidad de muertes, me encantaria que tuviera un contador que dijera cuantos restan para alcanzar la siguiente cantidad para subir de lvl, o sino un contador ke vaya sumando y por ejemplo cuando llegue a 100 muertes , subes de lvl y vuelva a 0.

 

perdon por ser tan pesado u.u

 

Claro, sin problemas te lo hago. Solo hay un inconveniente: si usas la quest de diferentes cantidades segun el nivel no puedo ponerte cuantos quedan, solo cuantos llevas. Si usas la que siempre es la misma si que puede ser, te pongo las dos:

 

quest muertes begin
state start begin
when kill with npc.is_pc() and pc.get_level() != lvlmaximo begin
pc.setqf("muertes", pc.getqf("muertes") + 1)
chat("Llevas "..pc.getqf("muertes").." muertes")
if pc.getqf("muertes") == cantidadmuertes and pc.get_level() == 80 then
local canti = pc.get_next_exp()
pc.give_exp2(canti)
chat("Has subido de nivel, enhorabuena")
pc.setqf("muertes", 0)
end
if pc.getqf("muertes")== cantidad2 and pc.get_level() == 120 then
local canti = pc.get_next_exp()
pc.give_exp2(canti)
pc.setqf("muertes", 0)
chat("Has subido de nivel, enhorabuena")
end
if pc.getqf("muertes") == cantidad3 and pc.get_level() == nivelquequeras then
local canti = pc.get_next_exp()
pc.give_exp2(canti)
chat("Has subido de nivel, enhorabuena")
pc.setqf("muertes", 0)
end
end
end
end

quest muertes begin
state start begin
when kill with npc.is_pc() and pc.get_level() != lvlmaximo begin
pc.setqf("muertes", pc.getqf("muertes") + 1)
chat("Llevas "..pc.getqf("muertes").." muertes, te quedan todavia "..cantidad-pc.getqf("muertes").." para subir de nivel")
if pc.getqf("muertes") == cantidadmuertes then
local canti = pc.get_next_exp()
pc.give_exp2(canti)
chat("Has subido de nivel, enhorabuena")
pc.setqf("muertes", 0)
end
end
end
end

En la segunda tienes que ponerle donde dice:

 

"..cantidad-pc.getqf("muertes").."

El numero de muertes que pide pa subir de nivel donde dice cantidad ^^

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...