Différences entre les versions de « TESCS2 : Objets References et Scripts »
Aller à la navigation
Aller à la recherche
m (Précisions diverses) |
m (Nettoyage) |
||
Ligne 29 : | Ligne 29 : | ||
** pnjREF.[[TESCS2 : GetIsReference|GetIsReference]] AntusOdiil01 ; là je teste s'il s'agit bien d'AntusOdiil01, l'original, pas le clône que j'aurais pu créer par ailleurs. Cela ne marche que pour les références persistantes, pas pour une patate... sauf si elle est spéciale (objet de quête par exemple) et persistante, et qu'elle a un Editor ID renseigné. En ce cas, il est préférable de créer un objet de base "PotatoMagic" par exemple... cela permet de lui affecter un script et d'autres choses, sans affecter le Potato de base d'origine... | ** pnjREF.[[TESCS2 : GetIsReference|GetIsReference]] AntusOdiil01 ; là je teste s'il s'agit bien d'AntusOdiil01, l'original, pas le clône que j'aurais pu créer par ailleurs. Cela ne marche que pour les références persistantes, pas pour une patate... sauf si elle est spéciale (objet de quête par exemple) et persistante, et qu'elle a un Editor ID renseigné. En ce cas, il est préférable de créer un objet de base "PotatoMagic" par exemple... cela permet de lui affecter un script et d'autres choses, sans affecter le Potato de base d'origine... | ||
'''En effet, une règle TRES importante pour vos mods et éviter les ennuis : ne pas modifier les objets d'origine du jeu, encore moins les supprimer... ajoutez vos objets de bases et les références nouvelles sur elles. A moins d'être très sûrs de ce que vous faites, que les conséquences soient voulues, pesées et... testées'''. | '''En effet, une règle TRES importante pour vos mods et éviter les ennuis : ne pas modifier les objets d'origine du jeu, encore moins les supprimer... ajoutez vos objets de bases et les références nouvelles sur elles. A moins d'être très sûrs de ce que vous faites, que les conséquences soient voulues, pesées et... testées'''. | ||
== Voir également == | == Voir également == |
Version du 23 septembre 2008 à 20:43
Types d'objets, Objets de base et References
Voyez l'image ci-dessous pour comprendre ce que sont ces concepts, et aidez vous des explications qui suivent :
Type d'objet et objet de base
C'est dans l'object window.
- Le sous-type d'objet sélectionné est NPC/Imperial/Male dans la catégorie (hard) Actors
- La liste des objets de base affichés dans la colonne Editor ID est celle du sous-type d'objets NPC/Imperial/Male
- L'objet de base sélectionné est AntusOdiil. AntusOdiil n'est pas une reference. Le compteur dans la colonne count indique qu'il existe UNE référence de cet objet dans le monde. Comme tout machin" ou objet informatique dans le TESCS, un objet de base a deux identifiants :
- L'Editor ID, mnémonique, sans espaces, pratique pour les scripts sources (avant compilation...). Certains objets n'ont pas d'Editor ID, en particulier les references sans intérêt (non persistantes, ou qui n'apparaissent pas dans les scripts ou les conditions)
- Le Form ID, situé dans la petite colonne étroite d'à coté de l'Editor Id, qu'il faut élargir pour voir le contenu. C'est un nombre hexadécimal dont les deux premiers chiffres sont le n° de fichier. 00 pour Oblivion.esm, 01 à nn pour les mods esm ou esp, FF pour les sauvegardes ess. Tous les objets (au sens informatique) ont un form ID. C'est lui qu'il faut utiliser dans la console (touche ² dans le jeu).
- Par un clic droit (popup) suivi de Use Info s'affiche l'information sur la liste des références Used in this Cell. Vous savez ainsi où se trouvent les references de AntusOdiil. Il n'y en a en effet qu'une seule.
Reference
- Double cliquez sur la ligne Tamriel... sous Used in this Cell. Cette ligne représente le lien de l'objet de base vers une référence dans le monde. La référence de AntusOdiil s'affiche dans la fenêtre de rendu, et la fenêtre CellView se trouve renseignée de toutes les références qu'elle contient.
- Double cliquez sur le personnage dans la fenêtre de rendu (Touche A pour éclairer, c'est mieux...) la fenêtre Reference s'affiche.
- L'Editor ID de cette référence est AntusOdiil01. C'est cette référence qu'il faut utiliser pour appeler une fonction dans un script de quête par exemple :
- AntusOdiil01.GetDetected player
- Le Form ID de cette référence est 00028BE3. C'est cet ID qu'il faut utiliser pour certaines fonctions dans la console par exemple :
- player.StartCombat 00028BE3
- AntusOdiil01 est également présent dans la liste des Editor ID de la fenêtre CellView.
- Vous pouvez constater que AntusOdiil01 est une référence persistante. C'est le cas de tous les acteurs. Ce n'est pas le cas de tous les objets. Les containers, les objets DANS les containers ou inventaires de PNJ sont persistants, pas les objets posés sur le sol : ils sont déchargés après quelques temps d'inutilisation avec la cellule quand le PC n'est pas là.
Pour vos scripts
- Deux fonctions de script utiles :
- pnjREF.GetIsID AntusOdiil ; teste si la variable appelante contient une référence à l'objet de base AntusOdiil. C'est pratique s'il importe peu de s'adresser à Antus ou a un clône... ou pour les objets génériques : ingrREF.GetIsID Potato ; cet objet est-il une pomme de terre.
- pnjREF.GetIsReference AntusOdiil01 ; là je teste s'il s'agit bien d'AntusOdiil01, l'original, pas le clône que j'aurais pu créer par ailleurs. Cela ne marche que pour les références persistantes, pas pour une patate... sauf si elle est spéciale (objet de quête par exemple) et persistante, et qu'elle a un Editor ID renseigné. En ce cas, il est préférable de créer un objet de base "PotatoMagic" par exemple... cela permet de lui affecter un script et d'autres choses, sans affecter le Potato de base d'origine...
En effet, une règle TRES importante pour vos mods et éviter les ennuis : ne pas modifier les objets d'origine du jeu, encore moins les supprimer... ajoutez vos objets de bases et les références nouvelles sur elles. A moins d'être très sûrs de ce que vous faites, que les conséquences soient voulues, pesées et... testées.