[NPC] El reto de los demonios funcionando

Topic created · 11 Mensajes · 1513 Visitas
  • Hola a todos, hoy me dio por ver que hace milenios había posteado un npc que cuando hablabas con él te invocaba unos jefes y si los vencias te daba un premio. Por supuesto de aquella no tenia ni idea de hacer quests y no funcionaba :mem11: , así que hoy me dio por volver a hacerlo, pero esta vez funciona claro _xD_

    El funcionamiento es sencillo, tu hablas con el npc y estes donde estes te invocará el jefe que tú le digas, cuando mates a los 6 jefes (cuando matas a uno de los que cuentan te sale un mensaje en la barra de chat) te invoca el último jefe que es el que te da el premio.

    Sé que es una tonteria pero me da pena que cuando lo hice por primera vez alguien haya podido quedar con las ganas, así que ahora que si que sabía hacerlo bien pos lo hice :mem2: .

    Aqui teneis unas foticos:






    Y aquí la quest en sí, como suponeis podeis editarla todo lo que querais, aunque no taria de más que digais que lo hice yo si lo usasis xd. Como toda quest la meteis en /home/game/quest (o la ruta en la que tengais vuestra carpeta quest) y luego la cargais cn el comando ./qc retodemonios.quest. Os dejo adjunta la quest tmbn ya creado el archivo .quest por si os da pereza hacerlo vosotros.

    *El mob que le puse de id 2608 es el dragon de fuego de hdlgp que quedaba bien como jefe del npc y mola verlo, pero vosotros ponerle el que querais xd

    *Actualización: Añadí que cuando hablas cn el npc te dice cuantos jefes llevas matados.

    quest retodemonios begin
    state start begin
    
    	  when 20095.chat."El reto de los demonios" begin
    
    		    say_title("El reto de los demonios")
    		    say("")
    		    say("Veo que estas preparado para afrontarlo")
    		    say("Elige a tu adversario")
    		    say("Y preparate para la lucha")
    		    say("Hay que acabar con 6 jefes")
    		    say("pero solo aquellos que te salga un mensaje")
    		    say("al acabar con ellos sol validos.")
    		    say("Descubre el reto final al acabar con el sexto")
                        say_reward("LLevas "..pc.getqf("retodemonio").." jefes matados")
    		    say_reward( "NPC by KeKo!" )
    
    	  local s = select ( "Reaper", "Reina arana", "Rey demonio", "Nueve colas", "Rey arana", "Comandante Zin", "Cerrar" )
    	  local coor_x = pc.get_local_x()
    	  local coor_y = pc.get_local_y()
    	  local cor_x = math.random(0,10)
    	  local cor_y = math.random(0,10)
    
    		    if s == 1 then 
    		    mob.spawn(1093, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    
    		    elseif s == 2 then 
    		    mob.spawn(2092, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    
    		    elseif s == 3 then 
    		    mob.spawn(1092, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    	
    		    elseif s == 4 then 
    		    mob.spawn(1901, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    
    		    elseif s == 5 then 
    		    mob.spawn(2091, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    
    		    elseif s == 6 then 
    		    mob.spawn(2494, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    
    		    elseif s == 7 then
    		    return
    
    	  end
    
    		  end
    
    	  when 1901.kill or 2494.kil or 2092.kill with pc.getqf("jefesdem") == 2 begin
    
    	      if pc.getqf("jefesdem") > 1 then
    
    		    pc.setqf("retodemonio", pc.getqf("retodemonio") + 1)
    		    chat("Has acabado con uno de los jefes")
    
    	      if pc.getqf("retodemonio") > 5 then
    
    		    local coor_x = pc.get_local_x()
    		    local coor_y = pc.get_local_y()
    		    local cor_x = math.random(0,10)
    		    local cor_y = math.random(0,10)
    		    mob.spawn(2608, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefereto", 2)
    		    pc.setqf("retodemonio", pc.getqf("retodemonio") - 6)
    		    chat("Acaba con el dragon azul")
    
    		   end
    			end
    			    end
    
    
    	  when 2608.kill begin
    
    	      if pc.getqf("jefereto") > 1 then
    
    		    say("Has superado el reto de los demonios")
    		    say("puedes descansar ya que te has ganado tu premio")
    		    say("al exterminar a todos esos jefes.")
    		    say_reward("Has ganado 100kk")
    		    say_reward("Has ganado 5kk de exp")
    		    pc.change_gold(100000000)
    		    pc.give_exp2(50000000)
    		    notice_all ("El jugador "..pc.get_name().." ha superado el reto de los demonios")
    		    pc.setqf("jefereto", pc.getqf("jefereto") - 2)
    
    	  end
    	      end
    
          end
     end
    

    [licencia][/licencia]

  • OMG impresionante 😄 pero me haces un favor? :wiii: :wiii: esque soy un poco :-n00b en esto :icon_cool: entonces me podes explicar como implementarlo o me pasas una guia me haces el favor :want: :want:

  • Como digo en el post solo tienes que meter la quest desde el filezilla/wincsp en tu carpeta quest (/home/game/quest). Luego vas desde el vpc o vbox o putty y pones cd /home/game/quest le das a enter y pones ./qc retodemonios.quest.

    Cualquier duda decirme, aunque ahora me voi pa cama mañana os contesto 🙂

  • @kekoroto said:

    Hola a todos, hoy me dio por ver que hace milenios había posteado un npc que cuando hablabas con él te invocaba unos jefes y si los vencias te daba un premio. Por supuesto de aquella no tenia ni idea de hacer quests y no funcionaba :mem11: , así que hoy me dio por volver a hacerlo, pero esta vez funciona claro _xD_

    El funcionamiento es sencillo, tu hablas con el npc y estes donde estes te invocará el jefe que tú le digas, cuando mates a los 6 jefes (cuando matas a uno de los que cuentan te sale un mensaje en la barra de chat) te invoca el último jefe que es el que te da el premio.

    Sé que es una tonteria pero me da pena que cuando lo hice por primera vez alguien haya podido quedar con las ganas, así que ahora que si que sabía hacerlo bien pos lo hice :mem2: .

    Aqui teneis unas foticos:






    Y aquí la quest en sí, como suponeis podeis editarla todo lo que querais, aunque no taria de más que digais que lo hice yo si lo usasis xd. Como toda quest la meteis en /home/game/quest (o la ruta en la que tengais vuestra carpeta quest) y luego la cargais cn el comando ./qc retodemonios.quest. Os dejo adjunta la quest tmbn ya creado el archivo .quest por si os da pereza hacerlo vosotros.

    *El mob que le puse de id 2608 es el dragon de fuego de hdlgp que quedaba bien como jefe del npc y mola verlo, pero vosotros ponerle el que querais xd

    quest retodemonios begin
    state start begin
    
    	  when 20095.chat."El reto de los demonios" begin
    
    		    say_title("El reto de los demonios")
    		    say("")
    		    say("Veo que estas preparado para afrontarlo")
    		    say("Elige a tu adversario")
    		    say("Y preparate para la lucha")
    		    say("Hay que acabar con 6 jefes")
    		    say("pero solo aquellos que te salga un mensaje")
    		    say("al acabar con ellos sol validos.")
    		    say("Descubre el reto final al acabar con el sexto")
    		    say_reward( "NPC by KeKo!" )
    
    	  local s = select ( "Reaper", "Reina arana", "Rey demonio", "Nueve colas", "Rey arana", "Comandante Zin", "Cerrar" )
    	  local coor_x = pc.get_local_x()
    	  local coor_y = pc.get_local_y()
    	  local cor_x = math.random(0,10)
    	  local cor_y = math.random(0,10)
    
    		    if s == 1 then 
    		    mob.spawn(1093, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    
    		    elseif s == 2 then 
    		    mob.spawn(2092, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    
    		    elseif s == 3 then 
    		    mob.spawn(1092, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    	
    		    elseif s == 4 then 
    		    mob.spawn(1901, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    
    		    elseif s == 5 then 
    		    mob.spawn(2091, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    
    		    elseif s == 6 then 
    		    mob.spawn(2494, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefesdem", 2)
    
    		    elseif s == 7 then
    		    return
    
    	  end
    
    		  end
    
    	  when 1901.kill or 2494.kil or 2092.kill with pc.getqf("jefesdem") == 2 begin
    
    	      if pc.getqf("jefesdem") > 1 then
    
    		    pc.setqf("retodemonio", pc.getqf("retodemonio") + 1)
    		    chat("Has acabado con uno de los jefes")
    
    	      if pc.getqf("retodemonio") > 5 then
    
    		    local coor_x = pc.get_local_x()
    		    local coor_y = pc.get_local_y()
    		    local cor_x = math.random(0,10)
    		    local cor_y = math.random(0,10)
    		    mob.spawn(2608, coor_x + cor_x , coor_y + cor_y, 1)
    		    pc.setqf("jefereto", 2)
    		    pc.setqf("retodemonio", pc.getqf("retodemonio") - 6)
    		    chat("Acaba con el dragon azul")
    
    		   end
    			end
    			    end
    
    
    	  when 2608.kill begin
    
    	      if pc.getqf("jefereto") > 1 then
    
    		    say("Has superado el reto de los demonios")
    		    say("puedes descansar ya que te has ganado tu premio")
    		    say("al exterminar a todos esos jefes.")
    		    say_reward("Has ganado 100kk")
    		    say_reward("Has ganado 5kk de exp")
    		    pc.change_gold(100000000)
    		    pc.give_exp2(50000000)
    		    notice_all ("El jugador "..pc.get_name().." ha superado el reto de los demonios")
    		    pc.setqf("jefereto", pc.getqf("jefereto") - 2)
    
    	  end
    	      end
    
          end
     end
    

    [licencia][/licencia]

    mi pregunta es y si otro user mata esos dichos jefes que le suertan a alguien que pasa? :icon_cheesygrin:

  • Que gran trabajo chico , buscaba algo como esto y me ahorraste mucho trabajo :icon_razz:
    Gracias .

  • @metin2shino said:

    mi pregunta es y si otro user mata esos dichos jefes que le suertan a alguien que pasa? :icon_cheesygrin:

    Solo cuenta al que lo mata, pero esa duda me dio la idea de ponerle al npc cuando hablas con el ahora te dice cuantos jefes llevas para saber cuantos te quedan para llegar a los 6, y así ves si te contó o si no.

    @Poserun said:

    Que gran trabajo chico , buscaba algo como esto y me ahorraste mucho trabajo :icon_razz:
    Gracias .

    Muchas gracias, a mi con que a una sola persona le guste ya mereció la pena hacer el npc :wiii: , fijate en mi respuesta por si ya metiste la quest para actualizarla con lo de que te dice cuantos llevas.

  • @kekoroto said:

    @metin2shino said:

    mi pregunta es y si otro user mata esos dichos jefes que le suertan a alguien que pasa? :icon_cheesygrin:

    Solo cuenta al que lo mata, pero esa duda me dio la idea de ponerle al npc cuando hablas con el ahora te dice cuantos jefes llevas para saber cuantos te quedan para llegar a los 6, y así ves si te contó o si no.

    @Poserun said:

    Que gran trabajo chico , buscaba algo como esto y me ahorraste mucho trabajo :icon_razz:
    Gracias .

    Muchas gracias, a mi con que a una sola persona le guste ya mereció la pena hacer el npc :wiii: , fijate en mi respuesta por si ya metiste la quest para actualizarla con lo de que te dice cuantos llevas.

    mrk as eso pa implementarla en mi server anda pon cuantos jefes matas y asi se lleva la cuenta y no hay estafa por parte de los demas :z-z-z: :z-z-z: y te dejo mi +1 xd

  • @metin2shino said:

    mrk as eso pa implementarla en mi server anda pon cuantos jefes matas y asi se lleva la cuenta y no hay estafa por parte de los demas :z-z-z: :z-z-z: y te dejo mi +1 xd

    Tio ya lo habia hecho! xd fijate en mi ultima respuesta, es el comando:

    say_reward("LLevas "..pc.getqf("retodemonio").." jefes matados")
    

    que le agregue hoy a la quest ¬¬

  • Mujer gracias por la quest hay te dejo mi +1 eres todo un crack ya le ganaste a canario xd hahhah :icon_cool: :icon_cool:

  • **Muy bueno este NPC, hay te dejo +1. _xD_ **