Référence des événements dans le script
Dans votre fichier principal contenant le script global se trouvent certaines
fonctions qui sont automatiquement ajoutées lorsque vous créez un jeu.
Celles-ci correspondent à des "événements", et sont appelées lorsqu'un événement
particulier intervient. Il existe également d'autres événements que vous pouvez
ajouter si vous le désirez.
Les fonctions disponibles de ce type sont :
- dialog_request (int paramerte)
-
Appelée lorsqu'une ligne "run-script" dans un script de dialogue est atteinte.
PARAMETRE est la valeur suivant le texte "run-script" sur la ligne du script
de dialogue.
- game_start ()
-
Appelée au début du jeu, avant que la première pièce ne soit chargée.
Vous pouvez utiliser cette fonction pour définir les positions initiales
des personnages, et/ou activer/désactiver des interfaces.
- interface_click (int interface, int bouton)
-
Appelée lorsque le joueur clique sur un bouton dans une interface, auquel est
associée l'action "Run script". INTERFACE est le numéro du GUI sur lequel a cliqué
le joueur. BOUTON est le numéro du bouton dans le GUI.
- on_event (EventType event, int data)
-
Appelée lorsque certains événements surviennent dans le jeu. La valeur de DATA
dépend de l'événement à l'origine de l'appel. Ceci vous permet d'effectuer des vérifications
ou de mettre à jour certaines choses chaque fois que le joueur agit d'une certaine manière,
indépendamment de la pièce dans laquelle il se trouve.
Les valeurs possibles de EVENT sont :
eEventEnterRoomBeforeFadein
appelée juste avant que l'événement Player Enters Room (Joueur Entre dans la Pièce) ne soit lancé.
DATA = numéro de la nouvelle pièce
eEventLeaveRoom
appelée juste après que l'événement Player Leaves Room (Joueur Quitte la Pièce) a été lancé.
DATA = numéro de la pièce quittée
eEventGotScore
appelée lorsque le score du joueur change
DATA = nombre de points obtenus
eEventGUIMouseDown
appelée lorsqu'un bouton de la souris est pressé dans un GUI
DATA = numéro du GUI
eEventGUIMouseUp
appelée lorsqu'un bouton de la souris est relâché dans un GUI
DATA = numéro du GUI
eEventAddInventory
appelée lorsque le joueur obtient un nouvel objet d'inventaire
DATA = numéro de l'objet d'inventaire ajouté
eEventLoseInventory
appelée lorsque le joueur perd un objet d'inventaire
DATA = numéro de l'objet d'inventaire perdu
eEventRestoreGame
appelée lorsqu'une partie a été chargée depuis une sauvegarde
DATA = numéro de l'emplacement de sauvegarde
- on_key_press (int numerotouche)
-
Appelée lorsqu'une touche est pressée sur le clavier. NUMEROTOUCHE contient al valeur
ASCII de la touche. Une liste de ces valeurs se trouve dans cette section.
- on_mouse_click (MouseButton bouton)
-
Appelée lorsque le joueur clique sur un bouton de la souris. BOUTON peut être
eMouseLeft (Gauche), eMouseRight (Droit) ou eMouseMiddle (Milieu), selon le bouton pressé.
La position de la souris peut être récupérée grâce aux variables "mouse.x" et "mouse.y".
Si l'option 'Handle inventory clicks in script' ('Gérer les clics sur les objets d'inventaires
dans le script') est activée, cette fonction sera aussi appelée avec eMouseLeftInv (clic gauche
sur un objet d'inventaire) et eMouseRightInv (de même, pour un clic droit cette fois).
Si l'option 'Enable mouse wheel support' ('Activer le support de la molette'), cette fonction
sera également appelée avec eMouseWheelNorth et eMouseWheelSouth, qui indiquent que l'utilisateur
déplace la molette de la souris vers le haut/nord ou vert le sud/bas, respectivement.
- repeatedly_execute()
-
Appelée à chaque cycle de jeu (normalement, 40 fois par seconde).
- repeatedly_execute_always()
-
Appelée à chaque cycle de jeu, même lorsqu'une routine bloquante (comme du discours ou une cinématique)
est en exécution. Vous ne pouvez pas appeler une fonction bloquante à l'intérieur de cette fonction.
Vous pouvez placer une fonction repeatedly_execute_always et dans votre script global, et dans tout script
de pièce où vous en avez besoin.
- unhandled_event (int what, int type)
-
Appelée lorsqu'une interaction survient, mais qu'aucune réaction n'est associée
dans la fenêtre d'interactions. Ceci peut être utile pour afficher un message
type "Je ne peux pas faire ça". Les valeurs de WHAT et de TYPE vous renseignent
sur ce que le joueur a fait.
Les valeurs possibles sont listées ici :
WHAT TYPE Description
1 1 Regarder le hotspot
1 2 Interaction avec le hotspot
1 3 Utiliser un objet d'inventaire sur le hotspot
1 4 Parler au hotspot
1 7 Ramasser le hotspot
1 8 Mode de Curseur 8 sur le hotspot
1 9 Mode de Curseur 9 sur le hotspot
2 0 Regarder l'objet
2 1 Interaction avec l'objet
2 2 Parler à l'objet
2 3 Utiliser un objet d'inventaire sur l'objet
2 5 Ramasser l'objet
2 6 Mode de Curseur 8 sur le hotspot
2 7 Mode de Curseur 9 sur le hotspot
3 0 Regarder le personnage
3 1 Interaction avec le personnage
3 2 Parler au personnage
3 3 Utiliser un objet d'inventairesur le personnage
3 5 Ramasser le personnage
3 6 Mode de Curseur 8 sur le personnage
3 7 Mode de Curseur 9 sur le personnage
4 1 Regarder le vide (aucun élément interactif)
4 2 Interaction avec le vide
4 3 Utiliser un objet d'inventaire dans le vide
4 4 Parler dans le vide
5 0 Regarder un l'objet d'inventaire
5 1 Interaction avec l'objet d'inventaire (impossible pour le moment)
5 2 Parler à l'objet d'inventaire
5 3 Utiliser un objet d'inventaire sur un autre
5 4 Autre clic sur l'objet d'inventaire
Notez que l'événement "Personnage se trouve sur le hotspot" n'appelle pas cette fonction,
et que celle-ci ne sera pas appelée non plus si une interaction "Any click" ("Tout clic" est définie.
Cette fonction n'est appelée lorsque le joueur ne clique sur rien (hotspot 0).
Les événements on_key_press et on_mouse_click peuvent également être gérés dans des scripts
de pièce individuels. Si vous ajoutez leurs définitions de fonction à votre script de pièce de la même façon
qu'elles le sont dans le script global, le script de la pièce peut intercepter l'événement avant le script
global, et ainsi décider si ce dernier doit ou non considérer l'événement. Voyez la fonction
ClaimEvent pour plus de détails.