Vous devez être connecté et donner une réaction ( Like ) au sujet pour débloquer les liens de téléchargements...
  • 0
Sign in to follow this  
Spaain

en cours Quete bonus xp d'empire

Question

Version des files : 2013

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

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

 

Description du problème : J'aimerais créer une quete qui permet a un joueur, a partir d'un item, de donner un bonus de 20% d'exp pendant 2h à tout son empire, mais je ne trouve pas comment faire

Comment reproduire le problème : /

Recherches et tests effectué : Cherché sur 2 tutos différents et parmis toute mes quetes quelles commandes utiliser pour créer cette quete.

Résultat des recherches et tests : Aucun :(

 

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.

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

Il faut utiliser cette fonction pour que le bonus s'applique uniquement a l'empire du joueur ? pc.get empire()

Et je sais pas comment faire pour que le temps et le bonus soit fixe. Je sais créer une quete avec menu, mais sans, je suis perdu :/

Share this post


Link to post
Share on other sites
  • 0

Salut, essaies de comprendre la quête du gardien déjà, elle est pas si compliquée, la quête que tu veux faire n'est pas compliquée (dans le sens ou y'a pas 36 menus).

J'essaierai de jeter un coup d'oeil cet après midi :)

Share this post


Link to post
Share on other sites
  • 0

Fastoche !

 

quest bonus_byplayer begin
state start begin
if pc.get_empire() == 1 then or if pc.get_empire() == 2 then or if pc.get_empire() == 3 then
when IDitem.use begin
say_title("Bonus de Royaume")
say("Je tiens a te feliciter pour ton tres grand")
say("investissement au sein de ton royaume.")
say("Souhaite tu reellement appliquer 20% d'xp")
say("supplementaire à ton royaume ?")
local a = select("Bien sur !", "Pas de suite")
if a == 2 then
return
end
if a == 1 then
say_reward("Voila 20% d'xp pour ton royaume !")
command("priv 0 4 20 120")
end
end
end

 

Ca devrait fonctionner mais je suis allé un peu vite une erreure est vite arrivée.

 

----------

EDIT

----------

 

Je m'aperçois que cette quête va attribué un bonus d'empire a tous les royaumes.

Si c'est le cas, essaie de virer la ligne :

 

if pc.get_empire() == 1 then or if pc.get_empire() == 2 then or if pc.get_empire() == 3 then

 

et modifie dans cette ligne :

command("priv 0 4 20 120")

 

Le chiffre 0 par 1, 2, ou 3.

Téléporte toi dans chacun des royaumes pour voir dans quels royaumes le bonus est appliqué.

Voila tout.

 

Reviens me faire un petit compte rendu, pour que je te donne la quête corrigée ;)

Share this post


Link to post
Share on other sites
  • 0

Merci, mais quand je compile les quest, j'ai cette erreur

bonus_byplayer.quest:3:expecting 'when' or 'function'
Abort trap (core dumped)

Share this post


Link to post
Share on other sites
  • 0

Toujours la même erreur :/

J'ai juste changé l'ordre en mettant

if pc.get_empire() == 1 then or if pc.get_empire() == 2 then or if pc.get_empire() == 3 then

Après

when IDitem.use begin

 

Mais maintenant j'ai une nouvelle erreur :

terminate called after throwing an instance of 'std::bad_alloc'
 what():  std::bad_alloc
Abort trap (core dumped)

Share this post


Link to post
Share on other sites
  • 0

Salut, pour cette erreur "terminate called blabla", c'est le mob_drop_item.txt qui a merdé, j'ai eu ce bug hier et en fait j'me suis aperçu que la moitié du fichier avait disparu.

 

Solution : Le remplacer par une sauvegarde si t'en a, ou remettre le mob_drop_item d'origine de tes files (en espérant que t'avais rien modif sinon tu te retape tout :/)

 

Regarde tout de même ton fichier avant de remplacer quoi que ce soit, j'ai cru comprendre que c'était soit ça soit le game.

Share this post


Link to post
Share on other sites
  • 0

J'ai vérifier, mon mob_drop_item.txt est identique a celui de ma sauvegarde, j'ai purtant jamais eu de problème avec :/ T'es sur que ça peut pas etre un problème avec la quete ?

Pareil pour le game, j'y ai pas touché... Je remet quand même celui d'origine ?

Share this post


Link to post
Share on other sites
  • 0

J'ai vu sur un forum que c'était soit le game soit mob_drop_item et effectivement moi c'était le mob donc après attend de voir si quelqu'un de plus expérimenté aurait connaissance de ce problème.

Share this post


Link to post
Share on other sites
  • 0

Bonsoir,

 

As-tu essayé d'enlever du locale_list la dernière quête que tu as ajouté (soit celle partagée ici j'imagine) pour voir si le problème était toujours présent ?

 

Si le problème disparaît, c'est que la quête partagée dans la discussion n'est pas fonctionnelle. Je t'incite à aller lire les tutoriels présents sur la création de quêtes qui, en plus de la pratique, pourront faire de toi le maître des quêtes sur metin2.

 

Sinon, c'est que le problème vient d'ailleurs, et dans ce cas-là, bonne chance pour le retrouver :angel:.

Share this post


Link to post
Share on other sites
  • 0

Oui, mon problème n'est plus la quand je l'enlève.

J'ai bien cherché comment la faire fonctionner, mais aucun moyen (pour moi en tout cas

Quelqu'un n'a pas une petite idée ? :(

Share this post


Link to post
Share on other sites
  • 0

Moi j'ai fais ca si sa peut t'aider.

 

quest bonus_exproyaume begin

state start begin

 

when ITEM.use begin

----"12345678901234567890123456789012345678901234567890"|

say_title("Bénédiction d'Expérience")

say("En cliquant dessus vous allez pouvoir donner")

say("a votre royaume la chance de posséder un bonus")

say("d'expérience de 30% pendant 1 heure.")

say("Voulez vous l'activer maintenant ?")

 

local e = select ("Empire Shinsoo", "Empire Chunjo", "Empire Jinno", "Fermer")

if 4 == e then

return

end

 

if 1 == e then

notice_all ("Shinsoo, "..pc.name.." a déclencher" )

notice_all ("Une Bénédiction d'Expérience de 30% pendant 1h " )

command("priv 1 4 30 60")

pc.remove_item(Item,1)

end

 

if 2 == e then

notice_all ("Chunjo, "..pc.name.." a déclencher" )

notice_all ("Une Bénédiction d'Expérience de 30% pendant 1h " )

command("priv 2 4 30 60")

pc.remove_item(Item,1)

end

 

if 3 == e then

notice_all ("Jinno, "..pc.name.." a déclencher" )

notice_all ("Une Bénédiction d'Expérience de 30% pendant 1h " )

command("priv 3 4 30 60")

pc.remove_item(Item,1)

end

end

end

end

 

Remplace le mot item par ton numero d'item

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this