Différences entre les versions de « TESCS2 : Begin »
(correction lien et cible unequip) |
(Précision sur scripts d'effet magique) |
||
Ligne 4 : | Ligne 4 : | ||
Toutes les commandes de script, à l'exception de la déclaration des variables doivent être dans des blocs définis par les commandes Begin … End. Toutefois, les [[TESCS2 : Types de script#Scripts de résultat (Result scripts)|Scripts de résultats]] ne sont pas concernés par les blocs. A chaque fois qu'un script s'exécute, chaque bloc est évalué pour voir si l'événement auquel il se rattache s'est réalisé. Dans le cas contraire, le script qu'il contient ne s'exécute pas. | Toutes les commandes de script, à l'exception de la déclaration des variables doivent être dans des blocs définis par les commandes Begin … End. Toutefois, les [[TESCS2 : Types de script#Scripts de résultat (Result scripts)|Scripts de résultats]] ne sont pas concernés par les blocs. A chaque fois qu'un script s'exécute, chaque bloc est évalué pour voir si l'événement auquel il se rattache s'est réalisé. Dans le cas contraire, le script qu'il contient ne s'exécute pas. | ||
Les [[TESCS2 : Types de script#Scripts d'effet magique|Scripts d'effet magique]] ne peuvent contenir que les blocs suivants : | |||
*[[TESCS2 : ScriptEffectStart|ScriptEffectStart]] | |||
*[[TESCS2 : ScriptEffectFinish|ScriptEffectFinish]] | |||
*[[TESCS2 : ScriptEffectUpdate|ScriptEffectUpdate]] | |||
==Exemple de bloc de script== | ==Exemple de bloc de script== | ||
Ligne 26 : | Ligne 31 : | ||
Set MaQuete.MouchardRef to GetRef | Set MaQuete.MouchardRef to GetRef | ||
; s'exécute à chaque fois que la référence appelante du script est alarmée par un crime commis par le PJ | ; s'exécute à chaque fois que la référence appelante du script est alarmée par un crime commis par le PJ | ||
; '''Attention :''' le bloc OnAlarm sans paramètre s'est | ; '''Attention :''' le bloc OnAlarm sans paramètre s'est exécuté également. | ||
end | end | ||
Version du 11 février 2007 à 12:36
Blocs de script
Toutes les commandes de script, à l'exception de la déclaration des variables doivent être dans des blocs définis par les commandes Begin … End. Toutefois, les Scripts de résultats ne sont pas concernés par les blocs. A chaque fois qu'un script s'exécute, chaque bloc est évalué pour voir si l'événement auquel il se rattache s'est réalisé. Dans le cas contraire, le script qu'il contient ne s'exécute pas.
Les Scripts d'effet magique ne peuvent contenir que les blocs suivants :
Exemple de bloc de script
Begin GameMode If DejaFait == 0 Set MaQuete.pnj1Ref to GetRef ; transmettre la référence vers le script de quête Set DejaFait to 1 ; pour ne faire qu'une fois EndIf If …/… etc. End
Blocs multiple du même type
Les blocs comportant des paramètres peuvent apparaître plusieurs fois dans un script, soit sans paramètre soit avec des paramètres différents. Par exemple ce script est valide :
begin OnAlarm Set MaQueteTemoinRef to GetRef ; s'exécute à chaque fois que la référence appelante du script est alarmée par un criminel quelconque end
begin OnAlarm player Set MaQuete.MouchardRef to GetRef ; s'exécute à chaque fois que la référence appelante du script est alarmée par un crime commis par le PJ ; Attention : le bloc OnAlarm sans paramètre s'est exécuté également. end
begin OnAlarm Bandit1Ref Set MaQuete.TemoinCrime1Ref to GetRef ; s'exécute à chaque fois que la référence appelante du script est alarmée par un crime commis par Bandit1Ref ; Attention : le bloc OnAlarm sans paramètre s'est exécuté également . End
Tableau des commandes de bloc
Les paramètres entre crochets [ ] sont optionnels, donc non obligatoires. Les (???) indiquent quelques questionnements à éclaircir.
Type de bloc | Paramètres | Description |
---|---|---|
GameMode | . | Ce bloc s'exécute à chaque fois, selon la Périodicité d'exécution du script, lorsque le jeu n'est pas en Mode Menu. La plupart des Scripts nommés utilisent ce type de bloc, sauf les Scripts d'effet magique. |
MenuMode | [MenuType] | S'exécute lorsque le jeu est en Mode Menu c'est à dire lorsqu'une fenêtre quelconque (de dialogue, d'inventaire…) est affichée, ou ce type de menu est affiché |
OnActivate | . | S'exécute une seule fois, à chaque fois que l'objet est activé, à la place de l'activation par défaut. |
OnActorEquip | ObjectID | S'exécute une seule fois, à chaque fois que l'acteur appelant équipe l'article (Item) spécifié. |
OnActorUnequip | ObjectID | S'exécute une seule fois, à chaque fois que l'acteur appelant déséquipe l'objet spécifié. |
OnAdd | [ContainerRefID] | S'exécute une seule fois, à chaque fois que l'article (Item) appelant est ajouté à un inventaire, ou cet inventaire. |
OnAlarm | CrimeType, [Criminel] | S'exécute une seule fois, à chaque fois que l'acteur appelant reçoit une alarme pour le crime spécifié, commis par un criminel (acteur), ou par ce criminel |
OnAlarmVictim | CrimeType, [Victime] | S'exécute une seule fois, à chaque fois que l'acteur appelant reçoit une alarme pour le crime spécifié, commis contre une victime (acteur), ou cette victime. |
OnDeath | [ActorID] | S'exécute une fois, lorsque l'acteur appelant est tué par un acteur, ou cet autre acteur. |
OnDrop | [ContainerRefID] | S'exécute une fois, lorsque l'objet (Item) est jeté hors d'un container, ou de ce container. |
OnEquip | [ActorID] | S'exécute une fois, lorsque l'objet (Item) est équipé par un acteur, ou cet acteur. |
OnHit | [ActorID] | S'exécute une fois, lorsque l'acteur appelant est frappé par un acteur, ou cet acteur. |
OnHitWith | [ObjectID] | S'exécute une fois, lorsque l'acteur appelant est frappé par une arme, ou cette arme. |
OnKnockout | [ActorID] ??? | S'exécute une fois, lorsque l'acteur appelant est mis KO par un acteur (, ou cet acteur ???). |
OnLoad | . | S'exécute une fois, lorsque l'objet 3D associé à l'objet appelant est chargé. |
OnMagicEffectHit | EffectID | S'exécute une fois, lorsque l'acteur cible est frappé par l'effet magique spécifié. |
OnMurder | [ActorID] | S'exécute une fois, lorsque l'acteur appelant est assassiné par un acteur, ou cet acteur. |
OnPackageChange | PackageID | S'exécute une fois, lorsque l'acteur appelant remplace ce package par un autre. |
OnPackageDone | PackageID | S'exécute une fois, lorsque l'acteur appelant termine ce package. |
OnPackageStart | PackageID | S'exécute une fois, lorsque l'acteur appelant démarre ce package. |
OnReset | . | S'exécute une fois, lorsque la cellule (cell) de l'objet appelant est réinitialisée (reset). |
OnSell | [SellerRefID] | S'exécute une fois, lorsque l'objet appelant (Item) est vendu par quelqu'un, ou par ce vendeur. |
OnStartCombat | [TargetActorID] | S'exécute une fois, lorsque l'acteur appelant commence un combat avec un acteur, ou cet acteur. |
OnTrigger | [TriggeringRefID] | S'exécute une fois, lorsque l'objet appelant entre en collision avec un objet, ou cet objet. |
OnTriggerActor | [TriggeringRefID] | S'exécute une fois, lorsque l'objet appelant entre en collision avec un acteur, ou cet acteur. |
OnTriggerMob | [TriggeringRefID] | S'exécute une fois, lorsque l'objet appelant entre en collision avec un objet mobile, ou cet objet mobile (acteur, flèche, projectile magique) |
OnUnequip | [ContainerRefID] | S'exécute une fois lorsque l'objet appelant est déséquipé par l'acteur (container ? ) indiqué. |
ScriptEffectStart | . | S'exécute une fois lors du lancement d'un effet magique (scripts d'effet uniquement). |
ScriptEffectFinish | . | S'exécute une fois lors de la fin d'un effet magique (scripts d'effet uniquement). |
ScriptEffectUpdate | . | S'exécute en continu pendant un effet magique (scripts d'effet uniquement). |