Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...

[Mission RP] La revanche de l'empereur


jade9477

Messages recommandés

Centre de Téléchargement

Hidden Content

    Give reaction to this post to see the hidden content.
( Interne )

Bonjour à tous!

 

La quête active une nouvelle quête pour vos joueurs niveau 90 et plus. Vous devez aller voir Octavio puis Uriel puis tuer le Minotaure.

Le RP est travaillé.

 

Partie Serveur :

 

quest revanche begin
   state start begin 
       when 20041.chat."Chez Octavio!" begin
           say("")
           say_title(""..mob_name(20041).."")
           say("Salut toi!")
           say("Comment ça va?*Hips*")
           say("Ca te dirais d'aller boire un verre chez Octavio ?")
           say("*Hips*")
           say("")
           wait()
           say("")
           say_title(""..mob_name(20041).."")
           say("Non enfaite je devrais pas y retourner")
           say("Vu la soirée que j'ai eu hier")
           say("J'ai fini complétement torché!*Hips*")
           say("Mais bon j'en garde quand même quelque souvenirs")
           say("En parlant de souvenirs, j'ai fait une rencontre étrange hier")
           say("")
           wait()
           say("")
           say_title(""..mob_name(20041).."")
           say("Un gars se prenait pour le neveu de l'Empereur")
           say("Il devait être encore plus mal que moi!AhAhA")
           say("*Hips*")
           say("Enfin il croyait détenir la clé pour entrer dans le Palais")
           say("Oui,Oui, le Palais de L'empereur décédé ")
           say("")
           wait()
           say("")
           say_title(""..mob_name(20041).."")
           say("il me la d'ailleurs donnée, croyant que j'allais")
           say("trouver un Aventurier capable d'y aller")
           say("AhAhA!*Hips*")
           say("Moi,trouver un aventurier capable d'aller au Palais!")
           say("Elle est bien bonne!AhA!")
           say("Mais attends...")
           say("")
           wait()
           say("")
           say_title(""..mob_name(20041).."")
           say("Vous semblez assez puissant!")
           say("Seriez-vous capable de trouver le Palais?")
           say("Voulez-vous le trouver?")
           local s=select("Oui, Je le veux","Je m'y oppose")
           if 2==s then
               say_title(""..mob_name(20041).."")
               say("Je vous comprends, je ne le ferai pas non plus")
               say("Surtout qu'il parait que le Palais est gardé!")
               say("A bientôt pour une nouvelle beuverie!!")
               say("")
              
               return
           end
           if pc.get_level()  < 90 then
               say_title(""..mob_name(20041).."")
               say("Je suis désolé mais vous n’êtes pas assez fort pour cette quête!")
               say_reward("il faut être lvl 90 minimum")
               say("")
               
               return                
           elseif pc.get_level()  >= 90 then
               say_title(""..mob_name(20041).."")
               say("En voilà quelqu'un de courageux!!")
               say("Ou complètement fou!AhAhA!*Hips*")
               say("Maintenant nous avons un nouveau problème!")
               say("Il faut savoir que je ne suis pas prêt de vous donner")
               say("Cette maudite clé même si il y a une chance,")
               say("qu'elle ne serve a rien")
               say("Elle a quand même une valeur certaine à mes yeux")
               say("")
               wait()
               say("")
               say_title(""..mob_name(20041).."")
               say("Voyez-vous, je suis pret à vous la céder")
               say("mais pour 30.000.000 yangs")
               say("Cela est assez cher effectivement!")
               say("Mais imaginez si la clé fonctionne!*Hips*")
               say("Vous deviendrez le héros de votre empire")
               say("C'est à prendre ou à laisser!")
               say_title("Pour Avoir la clé il vous faut:")
               say_reward("30 000 000 Yangs.")
               local b=select("Allez j’achète!", "Je m'en passerai!")
               if 2==b then
                   say("Ah bon? Vous n'en voulez vraiment pas?")
                   local a=select("si","non")
                   if 2==a then
                       say("")
                       say_title(""..mob_name(20041).."")
                       say("Tant pis pour vous, vous n'aurez pas de récompenses")
                       say("AhAhAhAhA!*Hips*")
                       say("")
                      
                       return
                   end
                   
                   say_title(""..mob_name(20041).."")
                   say("vous êtes donc prêt à dépenser 30millions pour cette clé?")
                   local c=select("Oui!","Enfaite non!")
                   if 2==c then
                       say("")
                       say_title(""..mob_name(20041).."")
                       say("Tant pis pour vous, vous n'aurez pas de récompense")
                       say("AhAhAhAhA!*Hips*")
                       say("")
                       
                       return
                   end
                   if pc.get_gold()>=30000000 then
                       pc.changemoney(-30000000)
                       pc.give_item2("30305", 1)
                       say_title(""..mob_name(20041).."")
                       say("Vous voilà donc pauvre, mais avec un clé du Palais!")
                       say("Bonne chance pour le trouver!AhAhAhA, *Hips*!")
                       say("Si j'étais vous j'irais voir Uriel")
                       say("pour avoir des renseignements")
                       say("Bonne chance")
                       set_state(find_uriel)
                       return
                   end
                   
                   say_title(""..mob_name(20041).."")
                   say("Désolé, vous êtes trop pauvre pour l'acheter.")
                   say("C'est bête quand même!AhAhAhA, *Hips*!")
                   say("Si j'étais vous j'irais me faire de l'argent^^")
                   say("Bonne chance")
                   return    
               end    
               if pc.get_gold()>=30000000 then
                   pc.changemoney(-30000000)
                   pc.give_item2("30305", 1)
                   say_title(""..mob_name(20041).."")
                   say("Vous voilà donc pauvre, mais avec un clé du Palais!")
                   say("Bonne chance pour le trouver!AhAhAhA, *Hips*!")
                   say("Si j'étais vous j'irais voir Uriel!")
                   say("pour avoir des renseignements")
                   say("Bonne chance")
                   set_state(find_uriel)
                   return
               end                                   
               
               say_title(""..mob_name(20041).."")
               say("Vous n'avez pas assez d'argent pour")
               say("avoir la clé du Palais j'en ai bien peur!")
               say("")
               return
           end
       end
   end

   state find_uriel begin
       when letter begin
           send_letter("Chercher Uriel!")    
       end
       
       when info or button begin
           say(locale.NOTICE_COLOR.."Chercher Uriel"..locale.NORMAL_COLOR)
           say("Vous possédez la cle du Palais de l'Empereur!")
           say("L'alcoolique vous a conseillé d'aller trouver Uriel")
           say("Pour avoir de plus amples informations")
           say("")
       end
       
       when 20011.chat."Le Palais de l'Empereur!" begin
           say("")
           say_title(""..mob_name(20011).."")
           say("Quoi!!! Que me voulez-vous?")
           say("")
           say("Vous voulez des informations sur le Palais")
           say("de l'Empereur?")
           local j=select("Exactement","Qu'en ferais-je?")
           if 2==j then
               say_title(""..mob_name(20011).."")
               say("Exactement, à quoi cela vous servirait?")
               say("A RIEN du tout!!")
               say("Alors monsieur Au Revoir!")
               return
           end
           
           say("")
           say_title(""..mob_name(20011).."")
           say(" A quoi bon vous parler de cette triste époque?")
           say("Cela ne ramènerai pas l'Empereur,")
           say("ni sa magnifique fille d'ailleurs.   ")
           say("Enfin bon, si vous y tenez...")
           say("")
           wait()
           say("")
           say_title(""..mob_name(20011).."")
           say("Le Palais était magnifique,")
           say("entièrement fait d'or et d'ivoire, ")
           say("plus quelques grands cristaux bien sur.")
           say("L’Empereur se tenait droit sur son trône")
           say("qui était au centre du Palais")
           say("AAAAAaaaaahhhh...")
           say("")
           wait()
           say("")
           say_title(""..mob_name(20011).."")
           say("Si seulement je pouvais y retourner...")
           say(" Mais pour cela, il faudrait avoir la clé ")
           say("Pour pouvoir entrer a l'intérieur!")
           say("")
           wait()
           if pc.count_item(30305)>0 then
               say_title(string . format ("%s : ",pc.name))
               say("Dites voir, ça ne serais pas ça par hasard?")
               say_item_vnum(30305)
               say("")
               wait()
               say_title(""..mob_name(20011).."")
               say("Mais c'est donc l'alcoolique qui vous envoie?")
               say("Vous auriez du le dire plus tôt")
               say("enfin bon pressons, le Minotaure gagne en puissance")
               say("Chaque demi heure")
               say("")
               wait()
               say_title(""..mob_name(20011).."")
               say("Vous êtes sur d’être prêt à affronter")
               say("le Minotaure?")
               say("C'est la créature qui a tuer l'Empereur!")
               local w=select("Toujours prêt mon capi-chef!","Je vais y réfléchir")
               if 2==w then
                   say_title(""..mob_name(20011).."")
                   say("Tan pis pour l'empire!")
                   say("J’espère que votre réflexion ne sera pas trop longue")
                   say("et que la réponse sera positive!")
                   say("")
                   say_reward("faire un groupe peut-être utile pour cette quête!")
                   return
               end
               say_title(""..mob_name(20011).."")
               say("D'accord, j'ai quelques connaissances en téléportation")
               say(" Mais que cela ne s'ébruite pas je vous prie")
               say("Je peux vous téléporter jusqu'a l'intérieur du Palais")
               say("mais ensuite je ne pourrais plus rien pour vous!")
               say("")
               wait()
               pc.removeitem("30305", 1)
               pc.warp(900900,906000)
               set_state(kill_2609)
               return
           end
           say_title(""..mob_name(20011).."")
           say("Mais bon c'est le passé,")
           say("et je vous ai assez ennuyé avec mes histoires!")
           say("Je vous souhaite donc un bon retour chez vous!")
           say("")
           return
       end
   end
   
   state kill_2609 begin
       when letter begin
           send_letter("Tuer "..mob_name(2609).."")
           
       end

       when info or button begin
           say(locale.NOTICE_COLOR.."Tuer "..mob_name(2609)..""..locale.NORMAL_COLOR)
           say("Vous voici dans le Palais de l'Empereur!")
           say("Nettoyez le de tous ces animaux")
           say("Pour que notre Empereur soit enfin vengé!")
           say("")
       end
       
       when 2609.kill begin
           set_state(recompense)
       end
   end

   state recompense begin
       when letter begin
           local v = find_npc_by_vnum(20011)

           if v != 0 then
               target.vid("__TARGET__",v,"Felicitation")
           end
           
           send_letter("Vous avez tué "..mob_name(2609).." ")
       
       end
       
       
       
       when info or button begin
           say_title("Félicitation!")
           ---
           say("Vous avez tué "..mob_name(2609).."")
           say("L'Empereur est vengé!")
           say("Allez donc voir Uriel pour le prévenir! ")
           say("Bravo à Vous!")
           say("")
           wait()
       local empire = pc.get_empire()
           if empire == 1 then
               pc.warp(474300,954800)
           elseif empire == 2 then
               pc.warp(63800,166400)
           elseif empire == 3 then
               pc.warp(959900,269200)
           end
           send_letter("Aller Voir Uriel!")
       end
       
      when info or button begin
           say_title("Félicitation!")
           ---
           say("Allez vite voir Uriel")
           say("Vous avez vengé l'Empereur!")
           say("Allez donc voir Uriel pour le prévenir! ")
           say("Allez chercher votre récompense!")
           say("")
       end    

       
       when __TARGET__.target.click or
           20011.chat."Assassinat du Minotaure"begin
           target.delete("__TARGET__")

           say("")
           say_title(""..mob_name(20011).."")
           say("Vous voilà de retour!")
           say("et en un seul morceau")
           say("J'en déduis que le cadavre du Minotaure,")
           say("repose désormais dans le Palais de L'Empereur!")
           say("Je suppose que vous désirez quelques explications?")
           say("me concernant moi et mes connaissances, non?")
           local t=select("Oui!!!","Non merci")
           if 2==t then
               say("")
               say_title(string . format ("%s : ",pc.name))
               say("Je tue les monstres et on me paie")
               say("pour cela, on ne me paie pas")
               say("pour que je réflechisse au fait que vous")
               say("aviez l'air d'être proche de l'Empereur!")
               say("")
               wait()
               say_title(""..mob_name(20011).."")
               say("D'accord, c'est çaa de moins à faire!")
               say("D'ailleurs, voici votre récompense:")
               say("")
               say_reward("Pour cette quête, vous recevez:")
               say_reward("15 million de yangs")
               say_reward("1 milliard d'exp")
               clear_letter()
               set_state(__COMPLETE__)
               pc.give_exp2(1000000000)
               set_quest_state("levelup","run")
               pc.change_money(15000000)
               
               if pc.job==3 then       
                   pc.give_item2(07190)
                   say_reward("Eventail Démoniaque+0")
                   return
               end
               if pc.job==6 then       
                   pc.give_item2(00200)
                   say_reward("Lame tranchante+0")
                   return
               end 
               if pc.job==1 then  
                   pc.give_item2(04040)
                   say_reward("Couteaux sans âme +0")
                   return
               end
               if pc.job==0 then
                   pc.give_item2(00270)
                   say_reward("Epee de Sirius+0")
                   return
               end
               if pc.job==4 then
                   pc.give_item2(03180)
                   say_reward("Tueuse de Dragon Bleu +0")
                   return
               end
               if pc.job==2 then
                   pc.give_item2(00280)
                   say_reward("Epée Sacrée+0")
                   return
               end
               if pc.job==5 then
                   pc.give_item2(02160)
                   say_reward("Arc Diabolique Géant+0")
                   return
               end
           end    
           
           say("")
           say_title(string . format ("%s : ",pc.name))
           say("")
           say("Effectivement, certains détails me troublent")
           say("Comment connaissiez-cous l'Empereur?")
           say("Et comment se fait-il que vous soyez aussi proche?")
           say("")
           wait()
           say_title(""..mob_name(20011).."")
           say("Les questions ne forment qu'une seule réponse...")
           say("Voyez-vous, l'Empereur est mort 50 ans auparavant,")
           say("et j'ai en ce moment 73 ans.")
           say("La fille de l'Empereur était donc princesse,")
           say("La princesse Akiko, et elle avait,elle,21 ans")
           say("Au moment du massacre.")
           wait()
           say("Et oui, j'étais l'amant de la princesse,")
           say("J'étais donc proche de l'Empereur, sans pour autant")
           say("etre un heritier.")
           say("Le jour de l'attaque du Minotaure,")
           say("Je n'étais pas au Palais, j'étais entrain")
           say("d'apprendre les délices de la téléportation!")
           wait()
           say("A la fin de la leçon, je me suis téléporté, ")
           say("directement dans le Palais, pour leur montrer")
           say("mes compétences, mais un mort ne voit plus rien!")
           say("j'ai vue leurs cadavre a tous, toute la famille")
           say("impériale; puis je l'ai vue...")
           say("Le Minotaure!")
           wait()
           say("Il était entrain de dévorer la princesse,")
           say("Ma princesse!")
           say("J'ai décidé de partir, mais avant cela,")
           say(" j'ai juré de trouver son futur assassin")
           say("dans le but de venger la famille impériale.")
           say("Et aujourd'hui c'est fait!Et cela grâce à vous!")
           say("Vous ne savez pas ce que vous venez de réaliser!")
           wait()
           say("Le Dieu dragon va pouvoir m'accepter à ma mort!")
           say("Malheuresement, la fin du Minotaure ne signifie pas")
           say("que la guerre entre les 3 empires se termine")
           say("les pseudos Empereur de ces empire ne valent rien")
           say("comparé à l'ancien Empereur, ils préferent écraser")
           say(" les autres plutôt que de leur faire la paix!")
           say("Mais bon, ce que vous avez fait est une grande chose!")
           say("Votre nom sera célèbre!")
           wait()
           say("")
           say_title(""..mob_name(20011).."")
           say("Bravo!")
           say_reward("Pour cette quête, vous recevez:")
           say_reward("15 million de yangs")
           say_reward("1 milliard d'exp")        
           clear_letter()
           set_state(__COMPLETE__)
           pc.give_exp2(1000000000)
           set_quest_state("levelup","run")
           pc.change_money(15000000)

           if pc.job==3 then       
               pc.give_item2(07190)
               say_reward("Eventail Démoniaque+0")
               return
       end
           if pc.job==6 then       
               pc.give_item2(00200)
               say_reward("Lame tranchante+0")
               return
           end        
           if pc.job==1 then  
               pc.give_item2(04040)
               say_reward("Couteaux sans âme +0")
               return
           end   
           if pc.job==0 then
               pc.give_item2(00270)
               say_reward("Epée de Sirius+0")
               return
           end    
           if pc.job==4 then
               pc.give_item2(03180)
               say_reward("Tueuse de Dragon Bleu +0")
               return
           end    
           if pc.job==2 then
               pc.give_item2(00280)
               say_reward("Epee Sacrée+0")
               return
           end    
           if pc.job==5 then
               pc.give_item2(02160)
               say_reward("Arc Diabolique Géant+0")
               return
           end
       end    
   end                                
   state __GIVEUP__   begin
   end
   state __COMPLETE__   begin
   end 
end
 

quête appelée revanche.quest

A ajouter dans hongkong_list de plus voici mon fichier avec les mobs dans le palais, pour que le minotaure y soit (si problème de texture, je vous conseille de prendre le magnifique client que kravorky a fait)

La suite est à mettre dans le dossier kaiser palast de usr/rain/channel/share_data/locale/hongkong/map

A mettre dans boss.txt

 

m    121    134    1    1    0    0    1800s    100    1    2609
A mettre dans regen.txt

 

m    110    158    1    1    0    0    1800s    100    1    2610
m    130    159    1    1    0    0    1800s    100    1    2610
m    132    145    1    1    0    0    1800s    100    1    2610
m    112    145    1    1    0    0    1800s    100    1    2610
Les récompensed sont des récompensed de serveur like, mais libre à vous de modifier!

Maintenant la partie avec la boite du boss:

Vous allez dans mob_drop_item (hongkong)

et vous ajoutez ceci a la fin:

 

Group    Minotaure                
{                    
   type    limit            
   mob    2609            
   level_limit    90            
   1    50062    1    100    
       
}
le minotaure droppera donc la boite à partir du lvl 90

ensuite les drop de la boite:

 

allez dans special_drop_group

ajoutez ce code:

Group    Minotaure                
{                    
   Vnum    50062            
   1    11971    1    10
   2    11972    1    10
   3    11973    1    10
   4    11974    1    10
   5    183    1    10    
   6    184    1    10
   7    3163    1    10
   8    3164    1    10
   9    1133    1    10
   10    1134    1    10
   11    5123    1    10
   12    5124    1    10
   13    2173    1    10
   14    2174    1    10
}
 

la boite droppera donc des armes 75 +3 ou +4, et des armures d'empereur!

 

Partie Client:

 

Pour cette quête, il vous faudra ajouter la boîte du minotaure et la clé du Palais!

il faut donc aller dans le item_list (locale>fr) et rajoutez cette ligne la :

50062    ETC    icon/item/50034.tga    d:/ymir work/item/etc/q_box.gr2
et celle-ci
30305    ETC    season1/icon/item/30304.tga
ensuite ouvrez le item_desk

ajoutez cette ligne la :

30305    Clé du Palais de L'Empereur. La clé qui permet d'entrer dans le Palais. Mais attention celui-ci n'est peut-etre pas vide.
et celle-ci:
50062    Boîte Du Minotaure    La boîte du Grand Minotaure. Il y a quelque chose de précieux dans la boîte.
Voilà pour la partie client!

 

Partie Database

 

Alors là pas très compliqué,

Vous ouvrez la table item_proto, vous trouvez l'id d'une boite boss (50070 par exemple), vous ajoutez une ligne et vous recopiez la meme chose qu'en 50070,en mettant 50062 comme id (pour la boite du Minotaure)

 

Ensuite vous chercher l'id d'une clé (30304 par exemple), vous ajoutez une ligne, puis

Vous recopiez la meme chose qu'en 30304, en mettant en id 30305 (pour la clé du palais)

 

Si des question se posent venez posté, j'essayerai d'y répondre!

Je crois que c'est tout pour le moment!

A venir: la possibilité après avoir fait cette quête de la refaire une fois par jour sans les récompense de la fin!

 

Je crois que c'est tout, quelconque problème, je serai la pour les question!

Petite précision, avant de mettre les id 50062 et 30305, vérifié bien qu'aucun autre item ne possède déjà cette id! Merci d'avance

 

Si vous ne savez pas implanter une quête, suivez ce tutoriel : Implanter une quête

 

 

Tutoriel corrigé par -Walkyrie-.

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 3
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

  • 3 mois après...


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 37
    2. 21

      Metin2 en 2020 peut-on en parler?

    3. 0

      METIN2Project

    4. 3

      Ressources - UnPack - Metin2 Client - Officiel

    5. 0

      Barre des tâches d'argent étendue

    6. 16

      Redémarrage automatique des channels

    7. 16

      Multi Logo GM / SGM / GA

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.