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

Quête qui se lance pas


rose1

Question

Bonsoir,

 

J'ai un petit soucis avec une quête et comme ça fait un bon moment que je bloque dessus je préfère demander avant que je pète tout :P

 

Alors pour ce que je veux c'est vraiment toute simple, une quête qui s'active ou nous envoie un parcho de quête avec dedans un petit message destiné à informer le joueur lorsqu'il up lvl X, donc voilà la quête en question :

 

quest xxxxx begin
state start begin
	when login or levelup with pc.get_level >= X begin 
		send_letter("xxxxxxxx")
	end
	when button or info begin
		---
		say_title("x")
		say("x")
		say("x")
		say("x")
		say("x")
		say("x")
		say("")
		say("x")
		say("x")
       end
end
end

 

Donc lors de la compilation des quêtes tout va bien et quand je me co rien ne se passe, j'ai beau passer et repasser le lvl X 10 fois rien n'apparait, donc je vais voir le syserr du serveur et voilà ce que j'ai :

 

SYSERR: Jun 29 02:41:02 :: RunState: LUA_ERROR: [string "xxxxx"]:1: attempt to compare number with function

SYSERR: Jun 29 02:41:02 :: WriteRunningStateToSyserr: LUA_ERROR: quest xxxxx.start click

 

qui fait surement référence à :

 

quest xxxxx begin

 

Bref je comprend vraiment pas d'où vient le problème vu que pour moi à la ligne 1 il y a aucune erreur... Donc je suis perdu.

 

Pour info le fichier est bien un fichier.quest rédigé en LUA.

 

Merci de m'éclairer.

Lien vers le commentaire
Partager sur d’autres sites

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

Meilleurs contributeurs dans cette question

Jours populaires

Meilleurs contributeurs dans cette question

Messages recommandés

  • 0

Les chiffres 1: etc sa montre pas où est l'erreur

 

Je pense que il ne reconnait pas un code dans ta quête

Perso la quête, aucune erreur sur VPC mais je sais pas trop si elle marche IG, comment je vérifie sa ?

 

T'es sur quel files ? Car il reconnait pas un symbole sur le tien je crois

 

Et, tu veux que la quête s'ouvre devant le joueur ou bien comme la quête biologiste par exemple, elle apparait à gauche ? Car si c'est sa, j'ai réussi, remplace le with pc.get_level par with pc.level

 

Et ta quête, elle apparait pas à gauche in game, mais elle apparait dans " Mission ", mais elle ne s'ouvre pas et elle me sort un message d'erreur sur VPC qu'à la fin, donc oui remplace le

 with pc.get_level 

par

 with pc.level 

 

En plus ta quête ma crash è_é

 

Voila ta quête, rien de difficil, elle fonctionne que tu sois level 10 ou 15 ou 20 ou 90, tant que tu as dépasser le level 2 ( le chiffre que j'ai choisi ), la quête apparait à gauche et s'ouvre

 

 quest xxxxx begin
   state start begin
       when login or levelup with pc.level >= 2 begin 
           send_letter("xxxxxxxx")
       end
       when button or info begin
           ---
           say_title("x")
           say("x")
           say("x")
           say("x")
           say("x")
           say("x")
           say("")
           say("x")
           say("x")
       end
   end
end

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Bon alors dans l'ordre :

 

Déjà je suis sous files 2012 (ou 2011 améliorés si vous préférez)

 

Le nom de la quête a rien à voir car j'ai changé pas mal de fois et j'ai mis AUCUN caractère spéciaux, même pas un simple accent.

 

Sinon gagil je vois pas pourquoi mettre 4 end à la fin étant donné que toutes mes conditions sont suivis d'un end donc je vois pas pourquoi je devrai en mettre un de plus :S

 

Après pour la fonction pc.level vais tester ça mais bon pas sûr que j'obtienne le résultat voulu avec ^^

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Développeur

Vous avez tous faux, le problème vient d'ici:

 

when login or levelup with pc.get_level >= X begin

 

Tu cherches à faire une instruction when avec pour comparatif login/levelupqui est une fonction, ou une valeur "pc.get_level() >= X" (dont tu as oublié les parenthèses)... Et ça ne peut pas marcher puisqu'on ne peut pas comparer une fonction avec une valeur.

Essaie de trouver une meilleure méthode.

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Retraité

Tu devrais mettre un second state.

 

quest xxxxxx begin
state start begin
	when login with pc.level >= 2 begin
		set_state(nom_du_state)
	end
end

state nom_du_state begin //( celui entre les parenthèses en haut )
	when letter begin
		send_letter("xxxxxxxxxxxxxxxxx")
	end

	when button or info begin
		say_title("")
		say("")
		say("")
		say("")
		set_state(__complete)
	end
end

state __complete begin
end
end

Pas top comme quête car le joueur sait quand il up :huh:

Offre leurs un item ou quelque chose.

 

EDIT : Je n'avais pas vu ton message Sparkk :D les state reste une bonne alternative.

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

C'est pas une info disant qu'on up mais plutôt informé d'un événement qui se produit ou devient accessible qu'à un certain lvl fin bref.

 

J'avais test la solution d'antok mais malheureusement la quête s'active à tout lvl même 1 ><

 

Surement parce que elle est déjà activé et elle veut pas partir le problème c'est que sur navicat la quest apparait pas (super pratique...), bon bah vais voir ça alors.

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Tu devrais mettre un second state.

 

quest xxxxxx begin
state start begin
	when login with pc.level >= 2 begin
		set_state(nom_du_state)
	end
end

state nom_du_state begin //( celui entre les parenthèses en haut )
	when letter begin
		send_letter("xxxxxxxxxxxxxxxxx")
	end

	when button or info begin
		say_title("")
		say("")
		say("")
		say("")
		set_state(__complete)
	end
end

state __complete begin
end
end

Pas top comme quête car le joueur sait quand il up :huh:

Offre leurs un item ou quelque chose.

 

EDIT : Je n'avais pas vu ton message Sparkk :D les state reste une bonne alternative.

 

La quete biolo modifié quoi ^^

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Le problème c'est qu'elle revient tout les lvl et seulement quand on se connecte.

 

Moi faudrait qu'elle se déclenche une seule fois quand on up 120 ou bien alors qu'elle s'active uniquement quand on a le lvl donné et au prochain elle revient plus x)

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Test sa si sa marche pas je peut pas t'aidé :x

quest XXX begin
state start begin
when login or levelup with pc.level >= X begin
set_state(information)

when button or info begin
--- l
say_title("XXXX")
say("XXX ")
say("XXX")
say("XXX")
say("XXX")
say("XXX")
end
end
end[/Code]

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Malheureusement il en existe aucune qui y ressemble de prêt comme de loin, fin à ma connaissance il existe pas de quête qui apparait à un lvl X et qui revient plus lorsque notre lvl est égal à X+x

Lien vers le commentaire
Partager sur d’autres sites

  • 0

quest xxxxx begin
   state start begin
       when login or levelup with pc.get_level() >= X begin 
           send_letter("xxxxxxxx")
       end
       when button or info begin
           ---
           say_title("x")
           say("x")
           say("x")
           say("x")
           say("x")
           say("x")
           say("")
           say("x")
           say("x")
           set_state(__complete)
       end
   end
   state __complete begin
   end
end

Lien vers le commentaire
Partager sur d’autres sites

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


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.