Guest User

Beran Seataou par Loïc, d.unique par Galet & Gurgarath

a guest
Jan 14th, 2016
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.57 KB | None | 0 0
  1. ---------------------------
  2. -- Metin 2 - Grotte de l'Exil - Beran-Setaou
  3. -- By Dj o0O Loic O0o ©
  4. -- Changement de quelqes fonctions (spawn de beran) par Galet & Gurgarath
  5. -- Toute copie non autorisée est interdite !
  6. ---------------------------
  7. quest skipia_boss_donjon begin
  8.     state start begin
  9.  
  10.         when 30121.chat."Combattre Beran-Setaou." begin
  11.             ---                                                l
  12.             say_title(""..mob_name(30121).." :")
  13.             say("Pour entrer dans le Temple de Beran-Setaou, j'ai")
  14.             say("besoin de 3 "..item_name(30179))
  15.             say_item_vnum(30179)
  16.             say("Avez-vous 3 "..item_name(30179).."?")
  17.  
  18.             local s = select("Oui", "Non")
  19.  
  20.             if 2==s then
  21.                 return
  22.  
  23.             elseif 1==s then
  24.                 if pc.count_item(30179) >= 3 then
  25.                     ---                                                l
  26.                     say_title(""..mob_name(30121).." :")
  27.                     say("Vous avez les 3 clés en spirale, je vous envoie")
  28.                     say("dans le Temple de Beran-Setaou, faite très")
  29.                     say("attention ! ")
  30.                     wait()
  31.                     pc.remove_item(30179, 3)
  32.                     d.join(75)
  33.                     d.spawn_mob(IDDELAMETIN, x, y, 20, true, 1) -- Spawn de la metin
  34.                     d.set_unique("beran", d.spawn_mob(2493, 183, 173, 20, true, 1)) -- Mise en place du mob unique, beran
  35.                     d.unique_set_maxhp("beran", 5000000) -- Définir (enfin, redéfinir) le max_hp du beran, sur un mob_proto aléatoire "5000000" (comme c'est non testé, aucune idée si c'est nécéssaire)
  36.                     d.unique_set_hp("beran", 5000000) -- Rebelotte avec les pv normaux, afin de faire un effet de pourcentage
  37.                     notice_all("Le groupe de "..pc.name.." tente d'affronter le Beran-Setaou.")
  38.                 else
  39.                     ---                                                l
  40.                     say_title(""..mob_name(30121).." :")
  41.                     say("Vous avez "..pc.count_item(30179).." "..item_name(30179).." sur 3.")
  42.                     sammeln = 3 - pc.count_item(30179)
  43.                     say("Il vous manque encore "..sammeln.." "..item_name(30179)..".")
  44.                     say_item_vnum(30179)
  45.                     say("Revenez quand vous les aurez toutes.")
  46.                 end
  47.             end
  48.         end
  49.  
  50.         when kill with npc.get_race() == IDDELAMETIN and not d.is_unique_dead("beran") begin -- La formule de déclaration du kill via le trigger "kill" est préférable dans les files sans correction (sources) de la double détente, du coup cette version est fonctionnelle et privilégiée pour que ça fonctionne chez le plus de monde. Vérification que le mob tué n'est pas le mob unique et application du reste
  51.             d.spawn_mob(IDDELAMETIN, x, y, 20, true, 1) -- Seconde metin, remplaçant la précédente
  52.             d.unique_set_hp("beran", (d.unique_get_hp_perc("beran")-10)) -- Beran subit une perte de Pv de 10% (en toute logique) (si ça ne fonctionne pas, essayez la commande plus bas)
  53.             --d.unique_set_hp("beran", math.max(1, (d.unique_get_hp_perc("beran")-10))*10000)
  54.         end
  55.  
  56.         when 30121.chat."Qu'est ce que c'est que ce portail ?" with pc.get_map_index() == 73 begin
  57.             ---                                                l
  58.             say_title(""..mob_name(30121).." :")
  59.             say("Ce portail mène dans l'antre du dragon")
  60.             say("ténébreux, Beran-Setaou le Dieu déchu. Il est")
  61.             say("complètement inactif depuis quelques temps ... Je")
  62.             say("suppose qu'il dort pour régénérer ses forces.")
  63.         end
  64.  
  65.         when login with pc.get_map_index() >= 750000 and pc.get_map_index() < 760000 begin
  66.             d.notice("Bienvenue à l'instance de Beran Setaou")
  67.             d.notice("Vous avez 30 minutes pour le vaincre")
  68.             clear_server_timer("timerberan", d.get_map_index())
  69.             clear_server_timer("tpberan", d.get_map_index())
  70.             clear_server_timer("temple_end", d.get_map_index())
  71.             server_timer("timerberan", 1800, d.get_map_index())
  72.             d.setf("instanceberan", 0)
  73.         end
  74.  
  75.         when tpberan.server_timer with pc.get_map_index() >= 750000 and pc.get_map_index() < 760000 begin
  76.             d.exit_all()
  77.         end
  78.  
  79.         when logout with pc.get_map_index() >= 750000 and pc.get_map_index() < 760000 begin
  80.                 warp_to_village()
  81.         end
  82.  
  83.  
  84.  
  85.         when kill with npc.get_race() == 2493 and pc.get_map_index() >= 750000 and pc.get_map_index() < 760000 begin
  86.             notice_all("Félicitations ! "..pc.name.." a terrassé le dragon bleu !")
  87.             ---                                                l
  88.             say("Félicitations ! Beran-Setaou est vaincu ! Vous")
  89.             say("allez être téléporté devant le Temple dans 60")
  90.             say("secondes.")
  91.             d.setf("instanceberan", 1)
  92.             kill_all_in_map(75)
  93.             server_timer("temple_end", 60, d.get_map_index())
  94.         end
  95.  
  96.         when temple_end.server_timer begin
  97.             d.exit_all()
  98.         end
  99.  
  100.  
  101.         when timerberan.server_timer with pc.get_map_index() >= 750000 and pc.get_map_index() < 760000 begin
  102.             notice_all(""..pc.get_name().." et son équipe n'ont pas vaincu Beran")
  103.             server_timer("tpberan", 30, d.get_map_index())
  104.             d.notice("Fin de l'instance, vous avez échoué !")
  105.         end
  106.  
  107.     end
  108. end
Advertisement
Add Comment
Please, Sign In to add comment