LeyendasMt2 Posted February 19, 2013 Report Share Posted February 19, 2013 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 =) Link to comment Share on other sites More sharing options...
PACI Posted February 19, 2013 Report Share Posted February 19, 2013 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 LeyendasMt2 1 Link to comment Share on other sites More sharing options...
Dextrok Posted February 19, 2013 Report Share Posted February 19, 2013 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 LeyendasMt2 1 Link to comment Share on other sites More sharing options...
KeKo Posted February 20, 2013 Report Share Posted February 20, 2013 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. LeyendasMt2 1 Link to comment Share on other sites More sharing options...
LeyendasMt2 Posted February 20, 2013 Author Report Share Posted February 20, 2013 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? Link to comment Share on other sites More sharing options...
LeyendasMt2 Posted February 20, 2013 Author Report Share Posted February 20, 2013 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 Link to comment Share on other sites More sharing options...
Dextrok Posted February 20, 2013 Report Share Posted February 20, 2013 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 Link to comment Share on other sites More sharing options...
KeKo Posted February 20, 2013 Report Share Posted February 20, 2013 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 Link to comment Share on other sites More sharing options...
Dextrok Posted February 20, 2013 Report Share Posted February 20, 2013 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 Link to comment Share on other sites More sharing options...
KeKo Posted February 20, 2013 Report Share Posted February 20, 2013 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 Dextrok 1 Link to comment Share on other sites More sharing options...
LeyendasMt2 Posted February 20, 2013 Author Report Share Posted February 20, 2013 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 Link to comment Share on other sites More sharing options...
KeKo Posted February 20, 2013 Report Share Posted February 20, 2013 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 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 Link to comment Share on other sites More sharing options...
LeyendasMt2 Posted February 20, 2013 Author Report Share Posted February 20, 2013 Funciona perfecto , que crack eres! Link to comment Share on other sites More sharing options...
Recommended Posts