Jump to content
×
×
  • Create New...
  • 0

Instance Beran


Twicall
 Share

Question

Voilà j'ai cette quête et je ne comprend rien ... On est téléporté tout vas bien, mais ni beran ni metin ne sont la, il n'y a qu'un pnj au milieu de la map, je n'arrive pas a trouver l'erreur ... J'implore votre aide ...

 

Voila la quête :

 

quest skipia_boss begin
state start begin

when 30121.chat."Êtes-vous un fantôme ?" begin
---                                                   l
say_title(""..mob_name(30121).." :")
say("Qu'est-ce que vous croyez ? Je suis un fantôme")
say("enfermé dans la roche depuis des millénaires...")

local a=select("Qui êtes-vous ?","Connaissez-vous l'histoire de la grotte ?", "Les trois Dieux", "La Rupture", "Les conséquences", "Le combat", "J'en ai assez entendu.")

if 1==a then
---                                                   l
say_title(""..mob_name(30121).." :")
say("Je me nomme Akuma. On dit qu'autrefois, j'étais")
say("l'un des plus grands guerriers de mon époque.")
say("Moi-même, je l'ai cru ! Mais regardez-moi ...")
say("Regardez ce qu'il reste de moi après avoir")
say("trouvé cette fameuse grotte ... et y avoir été ")
say("terrassé.")

elseif 2==a then
---                                                   l
say_title(""..mob_name(30121).." :")
say("Oh oui, je sais bien ce qu'il s'est passé à ")
say("l'époque. Tout au long de ma vie, j'ai fait des")
say("recherches sur la grotte et comment la trouver.")
say("Et après ma mort, j'ai eu largement le temps de")
say("compléter mes connaissances. Demandez-moi")
say("simplement ce qui vous intéresse !")

elseif 3==a then
---                                                   l
say_title(""..mob_name(30121).." :")
say("Aucun texte.")

elseif 4==a then
---                                                   l
say_title(""..mob_name(30121).." :")
say("Aucun texte.")

elseif 5==a then
---                                                   l
say_title(""..mob_name(30121).." :")
say("Aucun texte.")

elseif 6==a then
---                                                   l
say_title(""..mob_name(30121).." :")
say("Aucun texte.")

elseif 7==a then
---                                                   l
say_title(""..mob_name(30121).." :")
say("Merci de m'avoir écouté, les derniers")
say("millénaires ont été un peu ennuyeux ...")
end
end

when 30121.chat."Qu'est ce que c'est que ce portail ?" with pc.get_map_index() == 74 begin
---                                                   l
say_title(""..mob_name(30121).." :")
say("Ce portail mène dans l'antre du dragon")
say("ténébreux, Beran-Setaou le Dieu déchu. Il est")
say("complètement inactif depuis quelques temps ...")
say("Je suppose qu'il dort pour régénérer ses forces.")
end

when 30121.chat."Informations sur Beran-Setaou" with pc.get_map_index() == 208 or pc.get_map_index() >= 750000 and pc.get_map_index() < 751000 begin
say_title(""..mob_name(30121).." :")
say("")
say("Tout ce que je peux vous dire,")
say("c'est qu'il est très féroce.")
say("")
say("Pour ce qui est de ses points faibles,")
say("j'en connais un peu plus...")
say("")
say("Je sais par exemple qu'il est entouré de pierres")
say("méléfiques et qu'une fois détruites, il s'affaiblit.")
say("")
end

when 30121.chat."Combattre Beran-Setaou" begin 
say_title(""..mob_name(30121).." :")
say("Pour entrer dans le Temple de Beran-Setaou, j'ai")
say("besoin d'une "..item_name(30179).." pour chaque personne.")
say_item_vnum(30179)
if party.is_leader() then
local count = party.get_near_count()
if count <= 1 then
say_reward("Les membres de votre groupe doivent être")
say_reward(" à coté de vous.")
end
if count < 2 then
say_reward("Vous devez être au moins 4.")
return
end
say_reward(" Il y a "..(count-1).." membres de votre groupe ")
say_reward(" à vos cotés. Ils seront téléportés avec vous. ")
say_reward(" Il faudra donc que vous me donniez: ")
say_reward(" "..(count*3).." clés en spirale .")
say("")
local choix2=select("Ok !","Annuler")
if choix2 == 1 then
if pc.count_item(30179) >= (count*3) then
say_title(""..mob_name(30121).." :")
say("")
say("Très bien vous avez toutes les clés !")
say("Etes vous prêts à y aller ?")
say("")
local choix2=select("Oui !","Non")
if choix2 == 1 then
if (count) == party.get_near_count() then
pc.remove_item(30179, count*3)
-- HOF
d.join(208)
d.spawn_mob(30121, 155, 172, 0, 0, 7)
elseif count < party.get_near_count() then
say_title(""..mob_name(30121).." :")
say("")
say("Il semble y avoir un problème avec votre groupe..")
say("Je n'ai pas assez de clés pour tout le monde !")
say("")
return
elseif count > party.get_near_count() then
say_title(""..mob_name(30121).." :")
say("")
say("Il semble y avoir un problème avec votre groupe..")
say("J'ai trop de clés !")
say("")
return
end
else
say_title(""..mob_name(30121).." :")
say("")
say("N'hésitez pas à revenir.")
say("")
return
end
else
say_title(""..mob_name(30121).." :")
say("")
say("Je suis désolé, il vous manque "..((count*3)-pc.count_item(30179)).." clés.")
say("Demandez aux membres de votre groupe")
say("de vous en donner.")
say("")
return
end
else
say_title(""..mob_name(30121).." :")
say("")
say("N'hésitez pas à revenir.")
say("")
return
end
elseif party.is_party() then
say_reward("Seul le leader du groupe peut commencer l'instance !")
say("")
return
else
say_reward("Vous devez être membre d'un groupe !")
say("")
return
end
end

when 30121.chat."Revenir au portail" with pc.get_map_index() == 74 begin
say_title(""..mob_name(30121).." :")
say("")
say("Souhaitez vous revenir au portail du second étage ?")
say("")
local a = select("Oui", "Non")
if a == 1 then
pc.warp(241300, 1275400)
end
end

when 30121.chat."Sortir d'ici" with pc.get_map_index() == 73 begin
say_title(""..mob_name(30121).." :")
say("")
say("Vous souhaitez sortir ?")
say("")
local a = select("Oui", "Non")
if a == 1 then
say_title(""..mob_name(30121).." :")
say("")
say("A bientôt !")
wait()
pc.warp(241300, 1275400)
end
end

when 30121.chat."Abandonner l'instance." with pc.get_map_index() >= 750000 and pc.get_map_index() < 751000 begin
say_title(""..mob_name(30121).." :")
say("")
say("Beran-Setaou est trop fort pour vous ?")
say("Vous souhaitez abandonner ?")
say("")
local a = select("Oui", "Non")
if a == 1 then
if locale.Leader_Beran == pc.get_name() then
say_title(""..mob_name(30121).." :")
say("")
say("Vous êtes le chef du groupe.")
say("Si vous décidez de quitter l'instance,")
say("tout le monde sera redirigé.")
say("")
local b = select("Abandonner", "Annuler")
if b == 1 then
locale.Leader_Beran = ""
d.notice("Le chef a abandonné !")
d.notice("Repliez vous !")
d.exit_all()
end
else
say_title(""..mob_name(30121).." :")
say("")
say("Attention !")
say("Si vous décidez de quitter l'instance,")
say("vous ne pourrez pas revenir.")
say("")
local b = select("Abandonner", "Annuler")
if b == 1 then
pc.warp(241300, 1275400)
end
end
end
end

when login with pc.get_map_index() >= 750000 and pc.get_map_index() < 751000 begin
-- HOF
add_group_list("id_Beran",pc.getqf("id_Beran"),pc.get_name())
-- FIN HOF
if d.getf("start")==0 or d.getf("start")==2 then
if locale.Leader_Beran == pc.get_name() then
d.setf("start", get_global_time())
notice_all("Le groupe de ".. locale.Leader_Beran .." s'est engagé dans la bataille contre Beran-Setaou !")
local vid = d.spawn_mob(2493, 92, 167)
d.set_unique("Beran", vid)
d.set_regen_file("data/dungeon/dragon_lair/mob.txt")
d.regen_file("data/dungeon/dragon_lair/stone.txt")
timer("ECHEC_SKIPIA", 60*60)
d.setf("DEF_BERAN", 100)
d.setf("HP_MAX_BERAN", 100)
d.setf("HP_REGEN_BERAN", 2)
else
d.notice("En attente du leader du groupe...")
if d.getf("start")==0 then
d.setf("start", 2)
timer("LEADER_SKIPIA", 15)
end
end
elseif d.getf("start")==3 then
d.notice("Le chef du groupe ne s'est pas présenté !")
d.notice("Fin du donjon.")
d.exit_all()
end
end

when REUSSITE_SKIPIA.timer begin
locale.Leader_Beran = ""
d.exit_all()
end

when ECHEC_SKIPIA.timer begin
locale.Leader_Beran = ""
d.notice("Vous n'avez pas réussi à tuer Beran-Setaou !")
d.notice("Fin du donjon.")
d.exit_all()
end

when LEADER_SKIPIA.timer begin
if d.getf("start")==2 then
d.setf("start", 3)
locale.Leader_Beran = ""
d.notice("Le chef du groupe ne s'est pas présenté !")
d.notice("Fin du donjon.")
d.exit_all()
end
end

when logout with locale.Leader_Beran == pc.get_name() and pc.get_map_index() >= 750000 and pc.get_map_index() < 751000 begin
locale.Leader_Beran = ""
d.notice("Le chef du groupe s'est déconnecté.")
d.exit_all()
end

when kill with pc.get_map_index() >= 750000 and pc.get_map_index() < 751000 begin
local race = npc.get_race()
if race == 8031 or race == 8032 or race == 8033 or race == 8034 then
if d.getf("StoneBreak") >= get_global_time() then
d.setf("StoneBreak", 0)
if race == 8031 then
if d.getf("HP_MAX_BERAN_KILL") == 0 then
d.setf("HP_MAX_BERAN", d.getf("HP_MAX_BERAN")-20)
else
d.setf("HP_MAX_BERAN", d.getf("HP_MAX_BERAN")-30)
end
d.setf("HP_MAX_BERAN_KILL", 1)
d.unique_set_maxhp("Beran", (3000000/100)*d.getf("HP_MAX_BERAN"))
d.notice("Les points de vie max de Beran-Setaou sont réduits de "..(100-d.getf("HP_MAX_BERAN")).."%")
elseif race == 8033 then
if d.getf("DEF_BERAN_KILL") == 0 then
d.setf("DEF_BERAN", d.getf("DEF_BERAN")-20)
else
d.setf("DEF_BERAN", d.getf("DEF_BERAN")-30)
end
d.setf("DEF_BERAN_KILL", 1)
d.unique_set_def_grade("Beran", (500/100)*d.getf("DEF_BERAN"))
d.notice("La défense de Beran-Setaou est réduite de "..(100-d.getf("DEF_BERAN")).."%")
elseif race == 8034 then
if d.getf("ALL_BERAN_KILL") == 0 then
d.setf("DEF_BERAN", d.getf("DEF_BERAN")-10)
d.setf("HP_MAX_BERAN", d.getf("HP_MAX_BERAN")-10)
else
d.setf("DEF_BERAN", d.getf("DEF_BERAN")-15)
d.setf("HP_MAX_BERAN", d.getf("HP_MAX_BERAN")-15)
end
d.setf("ALL_BERAN_KILL", 1)
d.unique_set_def_grade("Beran", (500/100)*d.getf("DEF_BERAN"))
d.notice("La défense de Beran-Setaou est réduite de "..(100-d.getf("DEF_BERAN")).."%")
d.unique_set_maxhp("Beran", (10000000/100)*d.getf("HP_MAX_BERAN"))
d.notice("Les points de vie max de Beran-Setaou sont réduits de "..(100-d.getf("HP_MAX_BERAN")).."%")
elseif race == 8032 then
if d.getf("HP_REGEN_BERAN") == 2 then
d.setf("HP_REGEN_BERAN", 1)
d.notice("La régénération automatique de vie de Beran-Sateon a été réduite.")
else
d.setf("HP_REGEN_BERAN", 0)
d.notice("La régénération automatique de vie de Beran-Sateon a été retirée.")
end
end
else
local Spawn = {131, 206 , 53 , 128}
local X = number(Spawn[3], Spawn[1])
local Y = number(Spawn[4], Spawn[2])
d.notice("La prochaine pierre que vous détruirez dans les 20 secondes diparaîtra !")
d.setf("StoneBreak", (get_global_time()+20))
d.spawn_mob(race, X, Y)
end
elseif race == 2497 then
cleartimer("ECHEC_SKIPIA")
d.clear_regen()
d.kill_all()
local TIME = get_global_time()-d.getf("start")
notice_all("Le groupe de ".. locale.Leader_Beran .." a terrassé Beran-Setaou en "..TIME.." secondes !")
d.notice("Félicitations ! Vous avez vaincue Beran-Setaou !")
d.notice("Vous avez mis: "..TIME.." secondes.")
if TIME <= 300 then
d.notice("C'est un temps remarquable !")
elseif TIME > 300 and TIME <= 600 then
d.notice("C'est un très bon temps !")
elseif TIME > 600 and TIME <= 1200 then
d.notice("C'est un bon temps !")
elseif TIME > 1200 and TIME <= 2400 then
d.notice("C'est un temps correct.")
else
d.notice("On peut tout de même faire mieux !")
end

-- HOF
new_HOF("id_Beran",pc.getqf("id_Beran"),locale.Leader_Beran,TIME,"2497",pc.getqf("nbJoueurs"))
-- FIN HOF

d.notice("Vous allez être redirigé dans 30 secondes !")
timer("REUSSITE_SKIPIA", 30)
end
end
end
end

 

Version des files :

Domaine (Base de données, Core, etc.) :

Votre niveau (débutant, intermédiaire, avancé) :

 

Description du problème :

Comment reproduire le problème :

Recherches et tests effectué :

Résultat des recherches et tests :

 

Message d'erreur, capture d'écran :

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.[Message d'introduction]

 

Version des files :

Domaine (Base de données, Core, etc.) :

Votre niveau (débutant, intermédiaire, avancé) :

 

Description du problème :

Comment reproduire le problème :

Recherches et tests effectué :

Résultat des recherches et tests :

 

Message d'erreur, capture d'écran :

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

Link to comment
Share on other sites

  • Answers 1
  • Created
  • Last Reply

Top Posters For This Question

Top Posters For This Question

1 answer to this question

Recommended Posts

  • 0

Hello,

 

Pour ce qui est du spawn des metin et du Beran il faut les gérer directement dans ta quest. Pour le regen des mobs, ajoutes simplement les mobs dans ton regen.txt corresponant à la map.

 

Onyx.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



  • Flux d'Activité

    1. 0

      Serveur cheat 2.51

    2. 0

      Partage Atom Protocol Synchronizer 2.65

    3. 5

      Shiva.international serveur privé metin2 Oldschool Start 16.09.2022

    4. 1

      Antares2.to | modern Old-/Middleschool | START 07.10.22 | International Server

    5. 0

      Projet Genesis

    6. 5

      Shiva.international serveur privé metin2 Oldschool Start 16.09.2022

    7. 0

      Metin2 Champions - Accès anticipé

  • Recently Browsing

    • No registered users viewing this page.

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.