Non ce n'est pas si compliqué que ca... la regle de base est de bien comprendre qu'on ne doit pas mélanger different types de variables... si tu declares une variable de type
object, alors tu dois lui fournir un
object, et pas autre chose.. c'est aussi simple que ca !
Maintenant si toi tu as seulement le tag de ton objet, mais pas l'objet lui meme, tu doit te debrouiller pour trouver une fonction qui te permet de retrouver l'objet grace au tag.
Par exemple, regardons ce machin incompréhensible qu'est la definition de la fonction GetObjectByTag() :
object GetObjectByTag(string sTag, int nNth=0)
A priori, c'est du charabia... regardons-y de plus pres....
La premiere chose, avant meme le nom de la fonction :
object
Cela signifie que la fonction GetObjectbyTag() nous retourne un objet... ou, si tu preferes, la fonction va effectuer un 'calcul', et nous sortira en resultat une variable de type
object
Concretement cela veux dire que tu peux definir une variable
object de la maniere suivante :
La variable oMachin est une variable de type object.
Comme la fonction GetItemByTag() donne en resultat un
object tu as tout a fait le droit d'écrire :
oMachin = GetItemByTag("TagDunObjet");
par contre tu n'as pas le droit d'ecrire :
Pourquoi ?
Parce que "TagDunObjet" est du type
string, autrement dit, c'est une chaine de caracteres (une suite de lettres) et non pas un objet. oMachin est un
object, donc ne peut etre égal a un
string...
Passons a la suite de la definition....
Viens le nom de la fonction elle meme, puis une parenthese.
Ce qui se trouve entre parenthese s'appelle les 'parametres' : ce sont les données que l'on donne a la fonction afin qu'elle nous calcule un resultat.
Voyons donc le premier parametre :
string sTag
Ceci nous indique que la fonction demande une variable de type
string afin de fonctionner... ca tombe bien, notre tag est de ce type la justement... (le 'sTag' qui suit est purement indicatif, mais permet de savoir justement que la fonction s'attend a recevoir le tag d'un objet en parametre...)
Donc résumons :
Voila une fonction qui, si on lui passe un
string en parametre (le tag d'un objet) va nous permettre de retrouver l'
object qui lui correspond...
Il existe encore plein d'autres types de variables utilisables, chacune utile dans certains cas de figures :
en voici une liste (non exhaustive, seulement les plus courants):
int (nombre entier)
float (nombre a virgule)
location (la position d'un objet)
object (un objet: un joueur, un placeable, un monstre, etc...)
effect (un effet graphique ou magique capable d'affecter une creature ou un joueur)
string (une chaine de caractere... autrement dit, une suite de lettres)
.....
L'important est de se rappeler que chaque type de variable a une utilisation precise, que l'on ne doit pas les melanger, et qu'il existe souvent des fonction qui permettent de 'traduire' un type de variable vers un autre type.
Voila, j'ai essayé d'etre le plus clair possible... mais faire clairement une difference entre les divers types de variables existant est imperatif pour arriver a faire quoi que ce soit en script (ou dans n'importe quel langage de programmation d'ailleur...)