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

Petit problème de quest


stan-online

Question

Salut,

 

Voilà, je vous explique,

Nous avons coder une quest principale avec mon codeur (Enfin il l'a coder pour tous dire :D)

 

Voilà, donc en gros le principe c'est que le joueur court de partout...

Mal heureusement, nous n'avons pas réussit a la mettre, nous avons la première quest qui marche très bien sauf que la deuxième qui est 5 niveau plus loin ne marche pas.

Je vient de remarquer sa sur Putty après mon sh make.sh

 

syntax error : [string "parler_forgeronpc . level >= 75"]:4: `)' expected near `pc'

quete_principale2.quest:79:Abort trap (core dumped)

 

Voilà j'ai plus trop d'indication a donner :P Si vous en voulez je vous les fournirais

 

Cordialement, Stan

Lien vers le commentaire
Partager sur d’autres sites

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

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

12 réponses à cette question

Messages recommandés

  • 0

La quête est celle la :

 

quest analyse_anneau begin
state run begin
	when login or levelup with pc.get_level >= 75 begin
		local v = find_npc_by_vnum(20095)
			if v != 0 then
				target.vid("__TARGET__", v, "L'analyse de l'anneau mystérieux")
			end
		send_letter(" L'analyse de l'anneau mystérieux ")
       end
	when button or info begin

           say_title(" L'analyse de l'anneau mystérieux ")

           say("")
           say(" Le vieux sage du village a fini son analyse, ")
           say(" il solicite ta présence au plus vite !")
           say("")
       end
	when __TARGET__.target.click or 20095.chat." L'analyse de l'anneau mystérieux "  with pc.level >= 75 begin

           target.delete("__TARGET__")             
           say_title(" Vieux sage : ")            
           say("")
           say("Bonjour jeune aventurier,")
           say("l'analyse de l'anneau est concluante, ")
           say("j'ai découvert qui était son possesseur grâce à la gravure ")
		say("inscrite dans le métal précieux.")
           say("")
           wait()
           say("Cet anneau appartenait donc au grand ")
           say("Esprit d'arbre géant! Il a enfermé toute sa puissance démoniaque ")
           say("à l'intérieur !")
		say("Dès lors, tu es le seul capable de renverser la force ")
		say("contenue dans cet anneau, afin d'éviter au monde de terribles ")
		say("jours ! ")
		say("Car cette puissance pourrait se déverser sur l'empire des ")
		say("trois royaumes, et le détruire à jamais! ")
		wait()
		say("Je te demande donc d'aller voir le forgeron, pour qu'il t'explique")
		say("comment modifier la puissance contenue dans l'anneau...")
           clear_letter()
           setstate(parler_forgeron)
       end     
end

state parler_forgeron begin
	when login or levelup with pc.level >= 75 and complete_quest_state(run) begin
		local v = find_npc_by_vnum(20016)
			if v != 0 then
				target.vid("__TARGET__", v, "Parler au forgeron")
			end
		send_letter(" Parler au forgeron ")
       end
	when button or info begin

           say_title(" Parler au forgeron ")

           say("")
           say(" Le vieux sage vous envoi auprès du forgeron ")
           say(" afin d'obtenir les informations nécessaire ")
           say(" pour détruire la puissance démoniaque de l'anneau.")
		say("")
       end
	when __TARGET__.target.click or 20016.chat." L'analyse de l'anneau mystérieux " with pc.level >= 75 begin
		target.delete("__TARGET__")             
           say_title(" Forgeron : ")            
           say("")
           say("Salut l'ami,")
           say("Que me vaut l'honneur de ta présence? ")
		wait()
		say("Wouaw, comment cela est-ce possible?!")
		wait()
		say("Bref, je vais renverser la puissance")
		say("de l'anneau, mais pour cela")
		say(" j'aurai besoin de 3 perles rouges")
		say("")
		clear_letter()
		setstate(ramener_perles)
	end
end

state ramener_perles begin
	when login or levelup with pc.level >= 75 and complete_quest_state(parler_forgeron) begin
		send_letter (" Amener les perles au forgeron ")
	end
	when button or info begin 
		say_title(" Amener les perles au forgeron ")
		say("")
		say(" Le forgeron aurait besoin de 3 perles rouges ")
		say(" pour t'aider à changer la puissance de l'anneau du Roi Flamme ")
		say("")
	end
	when 20016.chat."Amener les perles !" with pc.count_item(27994) >=3 begin
		say_title(" Forgeron : ")
		say("Parfait, attendez que je fasse le nécessaire...")
		wait()
		say("...")
		say("...")
		wait()
		say("Et voila, j'ai fini la modification de l'anneau!")
		say("Mais ce n'est pas pour autant terminé, aller donc voir")
		say(" le vieux sage, afin qu'il vous explique la procédure ")
		say("à suivre pour inverser définitivement la puissance détenue")
		say("par l'anneau. Dites lui bien que je l'ai amélioré de façon")
		say(" à ce qu'il ne soit plus résitant aux forces magiques")
		clear_letter()
		setstate(parler_sage)
	end
end

state parler_sage begin
	when login or levelup with pc.level >= 75 and complete_quest_state(ramener_perles) begin
		local v = find_npc_by_vnum(20095)
			if v != 0 then
				target.vid("__TARGET__", v, "Aller voir le sage")
			end
		send_letter(" Aller voir le sage ")
       end
	when button or info begin

           say_title(" Aller voir le sage ")

           say("")
           say(" Le forgeron a effectué une modification ")
           say(" importante sur l'anneau, qui le rend sensible ")
           say(" aux forces magiques ! ")
		say(" Vous devez donc aller voir le vieux sage afin")
		say(" qu'il vous donne la procédure à suivre pour la suite")
       end
	when __TARGET__.target.click or 20095.chat." Aller voir le sage "  with pc.level >= 75 begin

           target.delete("__TARGET__")             
           say_title(" Vieux sage : ")            
           say("")
           say("Eh bien quand est-il avec cet anneau?")
		wait()
		say("...")
		wait()
		say("Je vois.")
		say("Il vous faudra être plus puissant pour la suite des évènements")
		say("Je te ferai appeler au moment venu")
           pc.give_exp2(54800000)
           pc.change_money(550000)
           clear_letter()
		set_quest_state("tuer_le_boss", "run")
           setstate(__complete)
       end
   end

   state __complete begin

   end
end

 

Donc la quête se déroule en plusieurs parties, la premiere fonctionnant parfaitement, et celle la ne se déclenchant jamais :/

C'est assez frustrant, en espérant trouver une solution.

 

 

Cordialement.

 

Edit: Dans la quête donnée ici j'ai changé tout les pc.level par pc.get_level

Lien vers le commentaire
Partager sur d’autres sites

  • 0

non c'est pas un problème, quand il n'y était la quête ne fonctionnait pas, et il sert a activer le parchemin quand le state précédent est terminer.

 

EDIT: et puis dans la premiere partie de la quete, le "complete_quest_state(x)" fonctionne parfaitement

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Retraité

Cette quête ne se lance pas ?

Dans ce cas j'irais jusqu'à penser que le problème vient de la quête précédente.

As-tu mis : set_quest_state("quete_principale2", "run") avant de terminer ta première quête avec le state complete ?

 

Et en passant, le complete_quest_state(x) est inutile :P

You can't be immortal,
But you can make people remember
you for thousands of years...

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Non le complete_quest_state ne l'est pas, dans la premiere partie avant que je le mette le parchemin n'apparaissait pas forcement, et maintenant si :)

Et oui j'ai bien mis le set_quest_state("analyse_anneau", "run")

Lien vers le commentaire
Partager sur d’autres sites

  • 0

C'est bon on as réussit a la faire marcher.

Maintenant, c'est possible que le PNJ parle entre les quest ? :)

Je m'explique : une fois qu'il as donner sa quest, il ne dit rien, comment le faire parler entre

Par exemple 'Va me chercher ce que je t'ai demander et tu auras ta récompense"

 

Cordialement,

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Retraité

Je n'ai pas compris là :huh:

Tu voudrais qu'il parle quand la quête est rendu ?

Entre deux actions ? Entre deux state plus généralement, non ?

Lorsque tu utilise le send_letter, la lettre s'ajoutant à la liste des quêtes te permet justement de savoir l'objectif de ta mission.

Enfin je n'ai pas bien cerné la chose :tounge:

You can't be immortal,
But you can make people remember
you for thousands of years...

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Retraité

Met donc une quête se lançant après la première quête ( avec le set run ) et permettant de lancer la second ( avec le state run begin ).

Cela te fera trois quêtes.

Dans ton cas, ta quête contiendra l'item à rechercher avec le pc.getqf.

C'est une petit quête mais bon, c'est toujours mieux que de le mettre à la fin de la première quête ou au début de la seconde.

 

Au final, ta première quête aura set_quest_state("quete_intermediaire", "run"), cette quete intermédiaire aura dont le state run begin et le set_quest_state("analyse_anneau", "run"). Pour finir ta seconde quete ( analyse_anneau ) aura sont state run begin.

 

Bref tu sais comment faire :tounge:

You can't be immortal,
But you can make people remember
you for thousands of years...

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 0

      Official 6&7 Attr bug ouverture de la fenêtre.

    2. 24

      Metin2 - Server Files 2014

    3. 0

      Problème description item Lycan Client side.(résolu)

    4. 0

      Associer une case pour un objet

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.