Ceci est une ancienne révision du document !
Dans le fichier principal du script global, certaines fonctions sont automatiquement ajoutées
lorsque vous créez un jeu. Ce sont les événements globaux, dont les fonctions sont appelées
lorsqu'un événement particulier survient. Il y a aussi certains autres événements dont vous
pouvez ajouter les fonctions si vous le voulez.
Les fonctions possibles sont :
dialog_request (int parametre)Appelée lorsqu'une ligne “run-script” d'un script de dialogue est exécutée. PARAMETRE correspond au nombre qui suit “run-script” sur la ligne qui a appelé la fonction.
game_start ()Appelée au démarrage du jeu, avant que la première pièce ne soit chargée. Vous pouvez l'utiliser pour définir les positions de départ des personnages, pour (dés)activer des GUIs, …
interface_click (int interface, int bouton)(Désormais oboslète) Appelée lorsque le joueur clique sur un bouton d'un GUI dont l'action est définie comme “Run script”. INTERFACE est le numéro du GUI cliqué. BOUTON est le numéro du bouton dans ce GUI.
on_event (EventType evenement, int DATA)Appelée lorsque certains événements du jeu surviennent. La valeur de DATA dépend de l'événement. Ceci vous permet de vérifier ou de mettre à jour des choses chaque fois qu'un joueur fait quelque chose, indépendamment de la pièce où il se trouve. Les valeurs possibles pour EVENEMENT sont :
eEventEnterRoomBeforeFadein appelé juste avant l'événement Player Enters Room ("Joueur Entre dans la Pièce") DATA = numéro de la nouvelle pièce eEventLeaveRoom appelé juste après l'événement Player Leaves Room ("Joueur Quitte la Pièce") DATA = numéro de la pièce quittée eEventGotScore appelé lorsque le score du joueur change DATA = nombre de points obtenus eEventGUIMouseDown appelé lorsqu'un bouton de souris est pressé sur un GUI DATA = numéro du GUI eEventGUIMouseUp appelé lorsqu'un bouton de souris est relâché sur un GUI DATA = numéro du GUI eEventAddInventory appelé lorsque le joueur obtient un nouvel objet d'inventaire DATA = numéro de l'objet d'inventaire obtenu eEventLoseInventory appelé lorsque le joueur perd un objet d'inventaire DATA = numéro de l'objet d'inventaire perdu eEventRestoreGame appelé juste après le chargement d'une partie sauvegardée DATA = numéro du bloc de sauvegarde
on_key_press (eKeyCode touche)Appelée lorsque l'utilisateur appuie sur une touche. TOUCHE correspond à la valeur ASCII de la touche. La liste des valeurs est dressée dans cette section.
NOTE : Cet événement peut aussi être géré par les scripts individuels de pièce.
Si vous ajoutez la définitions de cette fonction à vos script de pièce de la même façon que dans
le script global, le script de la pièce sera déclenché avant et interceptera la pression de touche en premier,
puis décidera de la passer au script global ou non. Consulter la fonction ClaimEvent pour plus de détails.
on_mouse_click (MouseButton bouton)Appelée lorsque le joueur clique avec un bouton de la souris. BOUTON vaut soit LEFT soit RIGHT soit MIDDLE, selon le bouton qui a servi au clic. Les variables globales “mouse.x” et “mouse.y” contiennent la position de la souris.
NOTE : Cet événement peut aussi être géré par les scripts individuels de pièce.
Si vous ajoutez la définition de cette fonction à vos script de pièce de la même façon que dans
le script global, le script de la pièce sera déclenché avant et interceptera le clic en premier,
puis décidera de le passer au script global ou non. Consulter la fonction ClaimEvent pour plus de détails.
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 (par exemple, un discours ou une cutscene) est en cours. Vous ne pouvez pas appeler de fonction bloquante dans cette fonction.
unhandled_event (int quoi, int type)Appelée lorsqu'un événements est déclenché, mais qu'il n'est pas proposé d'y associer une fonction dans la liste des événements (Event list). Cela peut être utile pour afficher un type de message par défaut comme “Je ne peux pas faire ça”. Les valeurs de QUOI et de TYPE vous renseignent sur ce que le joueur a fait.
QUOI | TYPE | Description |
---|---|---|
1 | 1 | Regarder une zone interactive (hotspot) |
1 | 2 | Interagir avec une zone interactive (hotspot) |
1 | 3 | Utiliser un objet d'inventaire sur une zone interactive (hotspot) |
1 | 4 | Parler à une zone interactive (hotspot) |
1 | 7 | Ramasser une zone interactive (hotspot) |
1 | 8 | Cursor Mode 8 sur une zone interactive (hotspot) |
1 | 9 | Cursor Mode 9 sur une zone interactive (hotspot) |
2 | 0 | Regarder un objet |
2 | 1 | Interagir avec un objet |
2 | 2 | Parler à un objet |
2 | 3 | Utiliser un objet d'inventaire sur un objet |
2 | 5 | Ramasser un objet |
2 | 6 | Cursor Mode 8 sur un objet |
2 | 7 | Cursor Mode 9 sur un objet |
3 | 0 | Regarder un personnage |
3 | 1 | Interagir avec un personnage |
3 | 2 | Parler à un personnage |
3 | 3 | Utiliser un objet d'inventaire sur un personnage |
3 | 5 | Ramasser un personnage |
3 | 6 | Cursor Mode 8 sur un personnage |
3 | 7 | Cursor Mode 9 sur un personnage |
4 | 1 | Regarder rien (c-à-d aucune zone interactive) |
4 | 2 | Interagir avec rien |
4 | 3 | Utiliser un objet d'inventaire sur rien |
4 | 4 | Parler à rien |
5 | 0 | Regarder un objet d'inventaire |
5 | 1 | Interagir avec un objet d'inventaire (actuellement impossible) |
5 | 2 | Parler à un objet d'inventaire |
5 | 3 | Utiliser un objet d'inventaire sur un autre |
5 | 4 | Autre clic sur un objet d'inventaire |
Notez que l'événement “Character stands on hotspot” (”Le personnage est sur une zone interactive”) n'est pas concerné par cette fonction,
et qu'elle ne sera pas déclenchée si un événement “Any click” (”N'importe quel clic”) est défini.
Cette fonction n'est pas déclenchée si le joueur ne clique sur rien (hotspot 0).