Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 Erreur "Unknown token"

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2440

Date d'inscription : 01/08/2006


MessageSujet: Erreur "Unknown token"   Lun 23 Avr 2012 - 22:35

Parmi les erreurs fréquemment rencontrées lors de la compilation du code AGS se trouve celle du Unknown token. Le but de ce sujet est de dresser une liste rapide des différentes sources possible de ce problème.
L'idéal serait de la mettre à jour selon nos découvertes et suggestions éventuelles.

Explications générales
Spoiler:
 

Liste des causes possibles
  • Faute de frappe
    La cause la plus fréquente est certainement une faute de frappe. En effet, il suffit d'une lettre en trop ou en moins, de deux lettres inversées ou même d'une inversion minuscule/majuscule et le compilateur d'AGS, qui n'est qu'une machine sans cervelle, ne va plus comprendre ce à quoi vous faites référence.
    Solution : vérifier que vous n'avez pas simplement fait une faute de frappe, et corrigez-la le cas échéant.

  • Variable localement inaccessible
    Cette erreur peut aussi être causée par une confusion dans la portée des variables. En effet, chaque variable est déclarée (créée) quelque part et cela va déterminer à partir d'où elle est accessible.
    Vous avez donc peut-être essayé d'utiliser le nom d'une variable qui est déclarée à l'intérieur d'une (autre) fonction, plus loin dans le script ou dans un autre script sans qu'elle ait été importée auparavant.
    Solutions : déclarer la variable plus haut/hors de la fonction/l'importer, ou vous arranger pour passer la valeur qui vous intéresse en paramètre de la fonction le cas échéant.
    Voir aussi : La position du header où vous importez vos variables

  • Fonction localement inaccessible
    Ce problème est exactement le même que le précédent, à ceci près que cette fois il est question de déclaration de fonctions : il ne sera donc pas question d'une fonction déclarée à l'intérieur d'une autre fonction.
    En revanche il est possible que vous tentiez d'appeler une fonction qui est déclarée plus bas dans le script, ou qui appartient à un autre script et que vous n'avez pas importée auparavant.
    Solution : déclarer la fonction plus haut dans le script (nécessairement avant l'endroit où vous y faites appel) / importer la fonction dans les en-têtes de vos scripts.
    Voir aussi : La position du header où vous importez vos variables

  • Nom d'objet hors de la pièce
    Une cause pas si rare et difficile à identifier au début est l'utilisation d'un nom de script d'objet (par exemple oPorte) dans un script qui n'est pas celui correspondant à la pièce dans laquelle se trouve l'objet.
    En effet, chaque objet est local à sa pièce et vous pouvez très bien appeler deux portes qui se trouvent dans des pièces différentes par le même nom oPorte par exemple. Du coup, cette expression réfère bien à l'objet en question dans le script de la pièce correspondante, mais n'est aucunement référencé depuis les autres scripts (script global, module, pièce où il n'existe pas d'objet portant ce nom).
    Solution : utiliser le tableau object à la place si vous êtes dans le script global ou un module et vérifiez la pièce où se trouve le joueur (avec la propriété player.Room) avant d'utiliser object[N]. Ce tableau étant local lui aussi, vous ne pouvez pas accéder aux objets se trouvant dans une autre pièce que celle où se trouve actuellement le joueur.

  • Copier-coller aveugle
    Si vous copiez-collez aveuglément un code, chacun des causes précédentes est potentiellement présente.
    Si vous l'avez copié depuis Internet ou autre, vérifiez qu'il ne contient pas des noms de variables, de personnages, d'objets, etc. qui ne sont là qu'à titre d'exemple.
    Solution : remplacez les expressions d'exemple par ce qui leur correspond dans votre projet.
    Il est également possible que vous ayez copié-collé tout ou partie d'un script faisant référence à des variables/fonctions/objets/etc. vers un autre script où ces variables/fonctions/objets/etc. ne sont pas accessibles.
    Solution : trouvez ce qui est accessible dans le script d'origine et déclarez-le si possible dans le script de destination.


Dernière mise à jour : mardi 24 avril

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Godzillu
Grand Cliqueur Royal
Grand Cliqueur Royal


Nombre de messages : 1515

Date d'inscription : 11/03/2007


MessageSujet: Re: Erreur "Unknown token"   Mar 24 Avr 2012 - 8:50

Excellente initiative! Merci Kitai clin d\\\\'oeil

_________________
Ma vie, mon oeuvre au jour semestre à la semaine le jour semestre la semaine : http://godzillu.blogspot.fr/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://godzillu.blogspot.fr/
 
Erreur "Unknown token"
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Erreur "Unknown token"
» calcul du coup d'un token (lien)
» Token... quelques explications bienvenues !
» [Résolu][Bug] Blocage Token BluePrint
» Erreur 131 : Signature string (1) in signaturefile file does

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Trucs & Astuces, Tutoriaux-
Sauter vers: