Jump to content
Kryzz

Petición especial ^^

Recommended Posts

Bueno Metin2Zone, yo me había despedido... Pero como ya termine mis estudios y tengo vacaciones, decidí volver :DD!

Entonces vengo con un pedido especial una quest para un desafió, es algo cortilla, no la hago yo ya que no tengo tiempo.

La quest:

Se trata de un NPC respectivamente con el vnum 2943, que te lleve a la sala del dragon coordenadas(178000,1220500).También que te pida estar en un grupo de 6 personas, cuando los lleve se active un timer de 20 minutos, el cual diga en un anuncio: "Destruyan los 8 huevos de Setau antes de 20 minutos para invocarlo." El vnum de los huevos son 8208, les dejo las coordenadas de donde deben ubicarse:

Huevos:

1° 215,205

2° 219,169

3° 219,135

4° 188,135

5° 146,135

6° 143,173

7° 146,204

8° 185,212

 

Luego de destruirlos el timer se desactive y aparezca Beran Setau, en general de ese mapa diga "Haz enfadado a Beran-Setau ahora destruye lo!

Luego de matarlo de una recompensa y los mande a su city.

En general diga: "El grupo de x ah derrotado a Beran-Setau"

 

PD:Si pueden hacer que puedan ir varios grupos a la vez y no se encuentren.

Muchísimas Gracias!

Share this post


Link to post
Share on other sites

Aqui tienes ^^

 

quest dragonick begin
state start begin

when 2493.chat."El Dragon Azul" begin

  say_title("Dragon Azul")
  say("")
  say("Hola joven guerrero, he oido que eres valiente")
  say("como para enfrentarte al poderoso dragon azul")
  say("si es lo que quieres te llevare junto a el")
  say("")
  say("Pero ten cuidado, es tremendamente peligroso")
  say("y ha acabado con las vidas de muchos guerreros.")
  say("")

local drag = select ("Quiero ir!"  , "Paso")

  if drag == 1 then

   pc.warp(178000,1220500)
  
  end
end

when login with pc.get_map_index() == indexsaladrago and game.get_event_flag("huevos") == 0 begin

  game.set_event_flag("huevos", 1)
  notice_in_map("Acabad con todos los huevos en menos de 20min")
  timer("matahuevos", 60*20)

local huevos = {

  {215,205},
  {219,169},
  {219,135},
  {188,135},
  {146,135},
  {143,173},
  {146,204},
  {185,212}

}

  for i=1, 8 do

   mob.spawn(8208, huevos[i][1], huevos[i][2], 1)
  
  end
end

when matahuevos.timer begin

  chat("Lo siento pero habeis fallado destruyendo los huevos")
  game.set_event_flag("fallohuevos", 1)
  game.get_event_flag("huevos", 0)

end
when 8208.kill with pc.get_map_index() == indexsaladrago begin

  game.set_event_flag("huevosdrago", game.get_event_flag("huevosdrago") + 1)

   if game.get_event_flag("fallohuevos") == 1 then
  
	chat("Lo siento se te ha acabado el tiempo")
	warp_to_village()
	return
	end

   if game.get_event_flag("huevosdrago") == 8 then
  
	notice_in_map("Habeis enfadado a Beran-Setau ahora tendreis que acabar con el!")
	mob.spawn(iddrago, cordesx, cordesy, 1)
	return
	end
  
   notice_in_map("Todavia quedan "..game.get_event_flag("huevosdrago").." huevos por destruir")
end

when iddrago.kill begin

  pc.give_item2("iditem", cantidad) -- recompensas que queras
  pc.give_item2("iditem", cantidad)
  pc.give_item2("iditem", cantidad)
  pc.give_item2("iditem", cantidad)
  game.get_event_flag("huevos", 0)
  notice_all("El grupo de "..pc.get_name().." ha acabado con el Dragon Azul")

  end
end
end

He intentado hacerla lo mas parecido posible a tu idea, aunque al no poder hacer una dungeon (porque para activarla se llevaria a toda la gente que estuviera en atlantea o donde sea que pongas el npc) he tenido que tirar de game.flags.

 

No la probe, cualquier problema que de la mision dilo ^^

Share this post


Link to post
Share on other sites

Aqui tienes ^^

 

quest dragonick begin
state start begin

when 2493.chat."El Dragon Azul" begin

  say_title("Dragon Azul")
  say("")
  say("Hola joven guerrero, he oido que eres valiente")
  say("como para enfrentarte al poderoso dragon azul")
  say("si es lo que quieres te llevare junto a el")
  say("")
  say("Pero ten cuidado, es tremendamente peligroso")
  say("y ha acabado con las vidas de muchos guerreros.")
  say("")

local drag = select ("Quiero ir!"  , "Paso")

  if drag == 1 then

   pc.warp(178000,1220500)
  
  end
end

when login with pc.get_map_index() == indexsaladrago and game.get_event_flag("huevos") == 0 begin

  game.set_event_flag("huevos", 1)
  notice_in_map("Acabad con todos los huevos en menos de 20min")
  timer("matahuevos", 60*20)

local huevos = {

  {215,205},
  {219,169},
  {219,135},
  {188,135},
  {146,135},
  {143,173},
  {146,204},
  {185,212}

}

  for i=1, 8 do

   mob.spawn(8208, huevos[i][1], huevos[i][2], 1)
  
  end
end

when matahuevos.timer begin

  chat("Lo siento pero habeis fallado destruyendo los huevos")
  game.set_event_flag("fallohuevos", 1)
  game.get_event_flag("huevos", 0)

end
when 8208.kill with pc.get_map_index() == indexsaladrago begin

  game.set_event_flag("huevosdrago", game.get_event_flag("huevosdrago") + 1)

   if game.get_event_flag("fallohuevos") == 1 then
  
	chat("Lo siento se te ha acabado el tiempo")
	warp_to_village()
	return
	end

   if game.get_event_flag("huevosdrago") == 8 then
  
	notice_in_map("Habeis enfadado a Beran-Setau ahora tendreis que acabar con el!")
	mob.spawn(iddrago, cordesx, cordesy, 1)
	return
	end
  
   notice_in_map("Todavia quedan "..game.get_event_flag("huevosdrago").." huevos por destruir")
end

when iddrago.kill begin

  pc.give_item2("iditem", cantidad) -- recompensas que queras
  pc.give_item2("iditem", cantidad)
  pc.give_item2("iditem", cantidad)
  pc.give_item2("iditem", cantidad)
  game.get_event_flag("huevos", 0)
  notice_all("El grupo de "..pc.get_name().." ha acabado con el Dragon Azul")

  end
end
end

He intentado hacerla lo mas parecido posible a tu idea, aunque al no poder hacer una dungeon (porque para activarla se llevaria a toda la gente que estuviera en atlantea o donde sea que pongas el npc) he tenido que tirar de game.flags.

 

No la probe, cualquier problema que de la mision dilo ^^

 

Se te pasó el elseif 2 == then

local drag = select ("Quiero ir!"  , "Paso")
elseif drag == 2 then
return
end
  if drag == 1 then
   pc.warp(178000,1220500)

  end
end

xd

 

Un saludo

 

PD: Una pregunta

mob.spawn(iddrago, cordesx, cordesy, 1)
Ese coordes x e y , que es del mapa o de cercanía al jugador¿

Share this post


Link to post
Share on other sites

Gracias keko, maestro me salvaste :3!

PD: Cualquier problema te lo mando e,é

 

Problemas:

-Al llevar la primera vez al personaje funciona todo correctamente, menos el contador de huevo, ya que al matar uno dice: "Haz acabdo con un huevo te quedan 0" siendo que aun me quedan 8. Lo otro al terminar de matar al dragón da una recompensa, lo que quiero es que la de a todo el grupo, no solo al lider. Luego al inicio de la quest no esta el limite de integrantes.

Si quieres para activarla duplico el mapa de atlantea.

Cambien los gameflag no sirve, ya que probe y el otro pj entraba correctamente.

Lo que quiero es que diga que la sala en este momento esta ocupada, por favor vuelva mas tarde.

Luego si fallan la misión diga por general el grupo de x persona ah fallado en su intento de matar al dragón.

​Así los demás podrían entrar a la sala.

Bueno esos problemas son todos los que encontré muchas gracias keko, espero la solución ^^.

Share this post


Link to post
Share on other sites

Sema, con todo mi cariño te dedico un facepalm por decirme lo del elseif xd Creo que ya lo tengo dicho en algun post pero para hacer un select que salga del menu no hay que poner nada, si no pones el elseif y el return es exactamente lo mismo que si lo pones ^^

 

Ese coordes x e y , que es del mapa o de cercanía al jugador¿

 

Son cordes en el mapa.

Share this post


Link to post
Share on other sites

:O Eso no lo sabia yo xd

 

Pos ya si xd nunca veras una quest mia con un elseif pa cerrar un diálogo.

 

Gracias keko, maestro me salvaste :3!

PD: Cualquier problema te lo mando e,é

 

Problemas:

-Al llevar la primera vez al personaje funciona todo correctamente, menos el contador de huevo, ya que al matar uno dice: "Haz acabdo con un huevo te quedan 0" siendo que aun me quedan 8. Lo otro al terminar de matar al dragón da una recompensa, lo que quiero es que la de a todo el grupo, no solo al lider. Luego al inicio de la quest no esta el limite de integrantes.

Si quieres para activarla duplico el mapa de atlantea.

Cambien los gameflag no sirve, ya que probe y el otro pj entraba correctamente.

Lo que quiero es que diga que la sala en este momento esta ocupada, por favor vuelva mas tarde.

Luego si fallan la misión diga por general el grupo de x persona ah fallado en su intento de matar al dragón.

​Así los demás podrían entrar a la sala.

Bueno esos problemas son todos los que encontré muchas gracias keko, espero la solución ^^.

 

Me han liado hoy, pero mañana te la hago en forma de dungeon y así le puedo poner esos detalles que sin dungeon no podia ^^

Share this post


Link to post
Share on other sites

Aqui va la quest en forma de dungeon:

 

quest dragonick begin
state start begin

when 2493.chat."El Dragon Azul" begin

  say_title("Dragon Azul")
  say("")
  say("Hola joven guerrero, he oido que eres valiente")
  say("como para enfrentarte al poderoso dragon azul")
  say("si es lo que quieres te llevare junto a el")
  say("")
  say("Pero ten cuidado, es tremendamente peligroso")
  say("y ha acabado con las vidas de muchos guerreros.")
  say("")

local drag = select ("Quiero ir!"  , "Paso")

  if drag == 1 then
 
   if game.get_event_flag("gente") == 1 then
  
    say_title("Dragon Azul")
    say("")
    say("Lo siento pero ya hay un grupo luchando contra el Dragon Azul")
    say("")
    return
    end
  
	 timer("comienzohue", 5)
	 timer("matahuevos", 60*20)
	 game.set_event_flag("gente", 1)
  
  end
end


when comienzohue.timer begin

  d.new_jump_all(indexmapa,1780,12205)
  d.setf("huevos", 8)
  notice_in_map("Acabad con todos los huevos en menos de 20min")
 
local huevos = {
 
  {215,205},
  {219,169},
  {219,135},
  {188,135},
  {146,135},
  {143,173},
  {146,204},
  {185,212}
 
}

  for i=1, 8 do
 
   mob.spawn(8208, huevos[i][1], huevos[i][2], 1)
  
  end
end

when matahuevos.timer begin

  notice_all("El grupo de "..pc.get_name().." no ha sido capaz de acabar con el Dragon Azul")
  d.exit_all()
  game.set_event_flag("gente", 0)
 
end
when 8208.kill with pc.get_map_index() == indexsaladrago begin

  d.setf("huevos", d.getf("huevos") - 1)
 
   if d.getf("huevos") == 0 then
  
    d.notice("Habeis enfadado a Beran-Setau ahora tendreis que acabar con el!")
    d.spawn_mob(iddrago, cordesx, cordesy)
    return
    end
   
   d.notice("Todavia quedan "..game.get_event_flag("huevosdrago").." huevos por destruir")
end

when iddrago.kill begin

  game.drop_item("iditem", cantidad) -- recompensas que queras pa que caigan al suelo
  game.drop_item("iditem", cantidad)
  game.drop_item("iditem", cantidad)
  game.drop_item("iditem", cantidad)
  notice_all("El grupo de "..pc.get_name().." ha acabado con el Dragon Azul")
  game.set_event_flag("gente", 0)
 
  end
end
end

Share this post


Link to post
Share on other sites

Keko la quest se me quedo bugueada ya que no termina nuca :S, otra cosa cual era la query de borrar una quest?

PD: Arregle algo, pero falta que me cuente los huevos que mato y apareza beran, porque lo tengo que invocar para que termine la quest :c

 

Quest: [El mapa lo duplicare e.e]

Como con las funciones de las dungeon no funcionaba correctamente debi sacarselas :c]

Por lo menos ahora funciona(Exepto por la parte que dice te quedan x huevos ya que empiezo y me dice me quedan 8 y en realidad me falta 7[Keko arreglame eso :3]):

quest dragon begin
state start begin[/i][/b]
[b][i]when 2943.chat."Sala del Dragon Azul" begin[/i][/b]
[b][i]  say_title("Dragon Azul")
 say("")
 say("Hola joven guerrero, he oido que eres valiente")
 say("como para enfrentarte al poderoso dragon azul")
 say("si es lo que quieres te llevare junto a el")
 say("")
 say("Pero ten cuidado, es tremendamente peligroso")
 say("y ha acabado con las vidas de muchos guerreros.")
 say("")[/i][/b]
[b][i]local drag = select ("Quiero ir!"  , "Paso")[/i][/b]
[b][i]  if drag == 1 then

  if game.get_event_flag("gente") == 1 then

say_title("Dragon Azul")
say("")
say("Lo siento pero ya hay un grupo luchando contra el Dragon Azul")
say("")
return
end

	 timer("comienzohue", 5)
	 timer("matahuevos", 60*20)
	 game.set_event_flag("gente", 1)

 end
end[/i][/b]

[b][i]when comienzohue.timer begin[/i][/b]
[b][i]  game.set_event_flag("huevos", 8)
 d.setf("huevos", 8)
 notice_in_map("Acabad con todos los huevos en menos de 20min")

local huevos = {

 {215,205},
 {219,169},
 {219,135},
 {188,135},
 {146,135},
 {143,173},
 {146,204},
 {185,212}

}[/i][/b]
[b][i]  for i=1, 8 do

  mob.spawn(8208, huevos[i][1], huevos[i][2], 1)

 end
end[/i][/b]
[b][i]when matahuevos.timer begin[/i][/b]
[b][i]  notice_all("El grupo de "..pc.get_name().." no ha sido capaz de acabar con el Dragon Azul")
 d.exit_all()
 game.set_event_flag("gente", 0)

end
when 8208.kill with pc.get_map_index() == 73 begin[/i][/b]
[b][i]  game.set_event_flag("huevos", game.get_event_flag("huevos") - 1)

  if game.get_event_flag("huevos") == 0 then

notice_in_map("Habeis enfadado a Beran-Setau ahora tendreis que acabar con el!")
mob.spawn(2493, 183, 172, 1)
return
end

  notice_in_map("Todavia quedan "..game.get_event_flag("huevos").." huevos por destruir")
end[/i][/b]
[b][i]when 2493.kill begin[/i][/b]
[b][i]  game.drop_item("71129", 8) -- recompensas que queras pa que caigan al suelo
 game.drop_item("71123", 8)
 notice_all("El grupo de "..pc.get_name().." ha acabado con el Dragon Azul")
 game.set_event_flag("gente", 0)

 end
end
end

Share this post


Link to post
Share on other sites

Keko la quest se me quedo bugueada ya que no termina nuca :S, otra cosa cual era la query de borrar una quest?

PD: Arregle algo, pero falta que me cuente los huevos que mato y apareza beran, porque lo tengo que invocar para que termine la quest :c

 

Quest: [El mapa lo duplicare e.e]

Como con las funciones de las dungeon no funcionaba correctamente debi sacarselas :c]

Por lo menos ahora funciona(Exepto por la parte que dice te quedan x huevos ya que empiezo y me dice me quedan 8 y en realidad me falta 7[Keko arreglame eso :3]):

 

Nicks esa quest sin usar comandos de dungeon no va, por algo se llaman dungeons -.-

 

Respecto a lo de que no tene fin no se a que refieres, pero si es cuando vuelve a dejar que entre otro grupo es a los 20min o matar al drago. Respecto a los huevos es normal, yo tenia hecho un contador con dungeon, pero lo has cambiado al del game.flag (aunque viendo como está escrito deberia ir bien).

 

Si queres borrar los restos de una quest vas al ftp y buscas en los npcs/mobs a los que le afecte y borras los archivos nombrequest.script .arg. when y borras tambien los timer que le afecten y los login/logout etc que estan en notarget.

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