Différences entre les versions de « TESCS : AiTravel »

De Wiwiki
Aller à la navigation Aller à la recherche
(Ajout article)
 
m (Précision.)
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[Catégorie:TESCS : Liste des commandes de script|AiTravel]]
[[Catégorie:TESCS : Liste des commandes de script|AiTravel]]


Permet à la référence ''ref'' de se rendre aux points de coordonnées ''x y z'' dans la cell courante. Par conséquent ceci fonctionne aussi bien en extérieur qu'en intérieur puisque l'id de la cellule n'est pas mentionné.
Permet à l'acteur appelant de voyager jusqu'à un point, de coordonnées données, se trouvant dans la même cellule (qu'elle soit intérieure ou extérieure).


=== Syntaxe ===
===Syntaxe===
La syntaxe correcte pour cette fonction est :
''id_acteur'' -> '''AiTravel''', ''x'', ''y'', ''z''
''id_acteur'' voyagera alors vers le point de coordonnées ''x'', ''y'', ''z''.


===Exemple d'utilisation===
Voici un exemple d'utilisation : on fait voyager un marchand vers un lieu de la carte (bien sûr les coordonnées n'ont rien de véridique, elles ne sont dues qu'au hasard).
[[TESCS : Begin|Begin]] VoyageMarchand
[[TESCS : Short|Short]] doOnce
[[TESCS : If|If]] ( doOnce == 0 )
  marchand->'''AiTravel''', 6312, 4024, 1324
  [[TESCS : Set|set]] doOnce to 1
[[TESCS : Endif|Endif]]
[[TESCS : End|End]]
N'oubliez pas de mettre des conditions de telle façon que l'AiTravel ne soit exécuté qu'une fois.


      '''ref->AiTravel x y z'''
===Notes===
* ''AiTravel'' n'accepte pas les variables en argument, même avec Tribunal; cet écueil n'est surmontable qu'avec [http://morromods.wiwiland.net/spip.php?article897 MWSE] (voir la commande ''xAiTravel'')
* La présence ou non d'un pathgrid a un certain effet sur cette commande. Lorsqu'un pathgrid existe et permet à la référence en question de se rendre au point x y z, alors s'il n'y pas d'obstacle entre le PNJ et le point d'arrivée, le PNJ s'y rend en ligne droite en empruntant le chemin le plus court; sinon le PNJ se rend au point désiré en empruntant les lignes du pathgrid. S'il n'y a pas de pathgrid, la référence essaie toujours de se rendre au point x y z en ligne droite. S'il y a un obstacle entre le point de départ et le point d'arrivée, la référence aura alors tendance à warper, c'est à dire à disparaître lorsqu'elle rencontre l'obstacle pour réapparaître immédiatement au point x y z.
* S'il n'y a pas de difficulté majeure en intérieur, en extérieur le franchissement de bordure d'une cellule pose par contre de gros problèmes. Si l'on veut éviter à la référence de warper, il faut conduire par un AiTravel la référence jusqu'au début de la cellule voisine – mais pas plus loin - puis appeler un autre AiTravel. Cette procédure est délicate et nécessite des tests in-game soigneux.


=== Remarques ===
===Voir également===
 
''AiTravel'' n'accepte pas les variables en argument, même avec Tribunal; cet écueil n'est surmontable qu'avec MWSE (voir la commande ''xAiTravel'')
 
La présence ou non d'un pathgrid a un certain effet sur cette commande. Lorsqu'un pathgrid existe et permet à la référence en question de se rendre au point x y z, alors s'il n'y pas d'obstacle entre le PNJ et le point d'arrivée, le PNJ s'y rend en ligne droite en empruntant le chemin le plus court; sinon le PNJ se rend au point désiré en empruntant les lignes du pathgrid. S'il n'y a pas de pathgrid, la référence essaie toujours de se rendre au point x y z en ligne droite. S'il y a un obstacle entre le point de départ et le point d'arrivée, la référence aura alors tendance à warper, c'est à dire à disparaître lorsqu'elle rencontre l'obstacle pour réapparaître immédiatement au point x y z.
 
S'il n'y a pas de difficulté majeure en intérieur, en extérieur le franchissement de bordure d'une cellule pose par contre de gros problèmes. Si l'on veut éviter à la référence de warper, il faut conduire par un AiTravel la référence jusqu'au début de la cellule voisine – mais pas plus loin - puis appeler un autre AiTravel. Cette procédure est délicate et nécessite des tests in game soigneux.
 
 
===Voir également ===
* [[TESCS : Scripting]]
* [[TESCS : Scripting]]

Version actuelle datée du 25 octobre 2010 à 18:42


Permet à l'acteur appelant de voyager jusqu'à un point, de coordonnées données, se trouvant dans la même cellule (qu'elle soit intérieure ou extérieure).

Syntaxe

La syntaxe correcte pour cette fonction est :

id_acteur -> AiTravel, x, y, z

id_acteur voyagera alors vers le point de coordonnées x, y, z.

Exemple d'utilisation

Voici un exemple d'utilisation : on fait voyager un marchand vers un lieu de la carte (bien sûr les coordonnées n'ont rien de véridique, elles ne sont dues qu'au hasard).

Begin VoyageMarchand

Short doOnce

If ( doOnce == 0 )
 marchand->AiTravel, 6312, 4024, 1324
 set doOnce to 1
Endif

End

N'oubliez pas de mettre des conditions de telle façon que l'AiTravel ne soit exécuté qu'une fois.

Notes

  • AiTravel n'accepte pas les variables en argument, même avec Tribunal; cet écueil n'est surmontable qu'avec MWSE (voir la commande xAiTravel)
  • La présence ou non d'un pathgrid a un certain effet sur cette commande. Lorsqu'un pathgrid existe et permet à la référence en question de se rendre au point x y z, alors s'il n'y pas d'obstacle entre le PNJ et le point d'arrivée, le PNJ s'y rend en ligne droite en empruntant le chemin le plus court; sinon le PNJ se rend au point désiré en empruntant les lignes du pathgrid. S'il n'y a pas de pathgrid, la référence essaie toujours de se rendre au point x y z en ligne droite. S'il y a un obstacle entre le point de départ et le point d'arrivée, la référence aura alors tendance à warper, c'est à dire à disparaître lorsqu'elle rencontre l'obstacle pour réapparaître immédiatement au point x y z.
  • S'il n'y a pas de difficulté majeure en intérieur, en extérieur le franchissement de bordure d'une cellule pose par contre de gros problèmes. Si l'on veut éviter à la référence de warper, il faut conduire par un AiTravel la référence jusqu'au début de la cellule voisine – mais pas plus loin - puis appeler un autre AiTravel. Cette procédure est délicate et nécessite des tests in-game soigneux.

Voir également