TESCS : AiWander

De Wiwiki
Révision datée du 30 octobre 2010 à 07:26 par Infomase (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

AiWander fait errer aléatoirement le PNJ, avec une portée définie.

Syntaxe

La syntaxe correcte pour cette fonction est :

id_appelant->AiWander, portee, duree, temps, idle1, idle2, idle3, idle4, idle5, idle6, idle7, idle8, idle9

id_appelant représente l'ID de l'acteur que la fonction fera errer. portee représente le rayon (en unités de jeu) d'un cercle imaginaire à l'intérieur duquel le PNJ errera. duree représente le temps, en heures, durant lequel le PNJ errera ainsi. temps, quant à lui, représente la durée d'attente du PNJ à chaque "noeud" de la pathgrid. Enfin, les idleX sont la probabilité que l'Idle n°X soit joué lors d'un arrêt à un noeud de la pathgrid.

Exemple d'utilisation

Voici un exemple d'utilisation : le PNJ persononjoueur errera pendant une journée entière autour de sa position.

Begin persoErrant

Short doOnce

If ( doOnce == 0 )
 persononjoueur->AiWander, 256, 24, 2, 10, 11, 12, 13, 14, 15, 5, 11, 9
 set doOnce to 1
Endif

End

Ce script fera errer le persononjoueur dans un rayon de 256 unités, pendant 24 heures (IG) avec un arrêt de 2 minutes (IG) à chaque noeud de la pathgrid.


Notes :

  • IdleX : il s'agit des différentes probabilités pour que l'animation IdleX soit jouée. Les animations Idle correspondent à celles-ci :

- idle1 : Rester immobile
- idle2 : Basculer son poids d'une jambe sur l'autre
- idle3 : Regarder derrière
- idle4 : Se gratter la tête/secouer la tête
- idle5 : Replace le vêtement au niveau de l'épaule (Homme), Main sur la hanche (Femme)
- idle6 : Bailler et s'étirer
- idle7 : Regarder ses mains, scruter les alentours
- idle8 : Placer une main sur la poitrine, comme avec un infarctus
- idle9 : Se gratter la tête (Khajiite), Agripper son arme/se toucher la tête (Autres)
N'oubliez pas que la somme des pourcentages des IdleX doit donner 100, sinon la fonction bug à la compilation. Si vous ne savez pas où répartir les points manquants, mettez-les dans idle1, c'est passe-partout.

  • N'oubliez pas le doOnce, ou toute autre condition permettant à la fonction de ne se répéter qu'une fois. Mieux vaut éviter qu'elle tourne en continu, sinon elle s'appliquera indéfiniment.

Voir également