ATTENTION : Les commandes GetGlobalInt et SetGobalInt qui sont présentées ci-après sont dépassées.
Référez-vous à cette page du manuel d'aide pour plus d'informations sur les variables globales.
(avertissement ajouté par Kitai le 3 juillet 2013) GetGlobalInt / SetGlobalInt : permet de configurer certaines valeurs pouvant être lu et modifiées d'une room à l'autre. SetGlobalInt est utilisé pour définir la valeur de la variable, et GetGlobalInt pour lire sa valeur.
Exemple : si votre personnage a parlé à Sam, et que cet événement a une importance à un autre moment du jeu, vous pourrez savoir si le personnage a parlé à Sam en créant une variable. Quand le joueur clique sur Sam en mode "Talk", après le dialogue, ajoutez
- Code:
-
SetGlobalInt(2, 1);
... ce qui signifie : la variable numéro 2 est définie pour l'action "a parlé avec Sam" ; 1 si oui, 0 si non. Ici vous avez entré 1, car le personnage vient de parler avec Sam.
Dans une autre room, mettons que vous voulez qu'un trésor n'apparaisse que si le personnage a parlé avec Sam (par exemple si celui-ci lui a révélé l'existence de cet objet). A l'événement "Player enters room", ajoutez le code :
- Code:
-
if (GetGlobalInt(2) == 1) {
oCoffre.Visible = true;
}
... ce qui signifie : si la variable 2 "a parlé avec Sam" est vraie (donc égale à 1), alors rendre l'objet Coffre visible. Sinon, le coffre restera invisible, tant que le personnage n'aura pas parlé avec Sam.
Vous pouvez définir jusqu'à 499 variables, et un nombre illimité de valeurs (pas forcément juste 1 ou 0, si vous devez tenir compte de plusieurs paramètres). Attention à bien vous rappeler quelle variable est attribuée à quel événement, afin de ne pas en utiliser une déjà attribuée.
Depuis la version 3 d'AGS, il est beaucoup plus simple d'utiliser les variables personnalisées !
GUI Visible : pour rendre les GUI inactifs / actifs.
Exemple :
- Code:
-
gGui1.Visible=false;
Display («Le jeu est en pause !»);
gGui1.Visible=true;);
... fait disparaître l'interface le temps que la phrase soit prononcée.
StarCutScene / EndCutScene : permet de programmer une cinématique, c'est-à-dire une animation pendant laquelle le joueur ne contrôle pas le personnage, et qu'il peut passer s'il l'a déjà vue. Voici les différentes façons de passer la cutscene (codes à écrire entre parenthèses) :
eSkipESCOnly : en appuyant sur ESC uniquement
eSkipAnyKey : en appuyant sur n'importe quelle touche
eSkipMouseClick : en cliquant avec la souris
eSkipAnyKeyOrMouseClick : en appuyant sur une touche ou en cliquant
eSkipESCOrRightButton : en appuyant sur ESC ou en faisant clic droit
Exemple :
- Code:
-
StartCutScene(eSkipAnyKeyOrMouseClick);
// programme de la scène;
EndCutScene();
... jouera la cinématique entre StartCutScene et EndCutScene. Le joueur peut la passer en appuyant sur n'importe quelle touche ou en cliquant, ce qui amènera le script à atteindre directement le EndCutScene (il ne faut donc pas oublier de le mettre à la fin !).
PauseGame / UnPauseGame : met le jeu en pause ou le fait revenir en mode normal.
Exemple :
- Code:
-
if (IsKeyPressed(32) == 1){
PauseGame ();
}
... mettra le jeu en pause si le joueur appuie sur Espace.
Wait : permet de mettre le jeu en pause durant un temps limité. Entre parenthèses, indiquez le temps souhaité, sachant qu'une valeur de 40 correspond à 1 seconde.
Exemple :
- Code:
-
cEgo.Walk(120, 140, eBlock, eWalkableAreas);
Wait(80);
cEgo.FaceLocation(200,100);
... fera avancer le personnage EGO jusqu'aux coordonnées 120/140, le fera attendre 2 secondes, puis le fera regarder en direction des coordonnées 200/100.
WaitKey : idem, mais le joueur peut accélérer le processus en appuyant sur une touche.
Exemple :
- Code:
-
WaitKey(200);
... met le jeu en pause pendant 5 secondes, ou moins si le joueur appuie sur une touche.
WaitMouseKey : idem, mais le joueur peut accélérer le processus en appuyant sur une touche ou en cliquant.