Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 ==> PRESENTATION GENERALE DU SCRIPT <==

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5433

Age : 39

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: ==> PRESENTATION GENERALE DU SCRIPT <==   Jeu 27 Avr 2006 - 19:39

Passons maintenant à la partie la plus délicate d'AGS, le script. Mais vous verrez qu'il est indispensable de passer par là si on veut créer de vrais jeux offrant de vraies possibilités !

Rassurez-vous, une fois qu'on a compris le principe, ce n'est pas si difficile que ça en a l'air !

Tout d'abord, qu'est-ce que le script ? Ce sont toutes les lignes de code utilisées par le programme pour lancer le jeu.
Chaque panneau de gestion possède son propre script, vous ne serez donc pas, la plupart du temps, noyé dans une liste innombrable de lignes de code où vous ne saurez pas où entrer précisément votre programmation. AGS vous permet, en général, d'accéder directement à l'endroit du script où vous pourrez entrer vos propres lignes de code. De même, si vous souhaitez entrer des lignes de code lorsque vous êtes dans un panneau d'interaction, il vous suffit simplement de choisir l'action voulue pour ouvrir automatiquement une page blanche, à l'endroit qui correspond au script concernant uniquement cet événement.

Il existe des codes pour tous les éléments du jeu, afin de configurer les personnages, les objets, les rooms, les GUI, le déroulement du jeu, etc. Le tout est de savoir à quel moment exactement vous voulez que ces lignes de code soient lancées...


Dernière édition par Shai-la le Lun 20 Avr 2009 - 14:52, édité 3 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5433

Age : 39

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: ==> PRESENTATION GENERALE DU SCRIPT <==   Jeu 27 Avr 2006 - 20:26

LES ELEMENTS DE BASE A SAVOIR


- Dans un script, les textes affichés après // sont des commentaires : ce n'est pas pris en compte par AGS, mais vous permet de mettre des descriptions pour mieux vous retrouver.

Exemple :
Code:
// script for hotspot1: LOOK AT HOTSPOT

... signifie que tout ce qui est situé après cette ligne sont les événements qui se produisent si le joueur clique sur le hotspot 1 de la room avec la souris en mode Look at.


- Chaque fonction possède une liste de paramètres entre parenthèses qui vous permettent de configurer précisément la manière dont elle va s'exécuter, par exemple en entrant des chiffres, du texte (toujours entre guillemets), le nom de code d'un élément, etc. De plus, chaque fonction doit être terminée par un point-virgule pour être bien pris en compte.

Exemple :
Code:
Display("Hello from the script.");

... affichera la texte entre guillemets à l'écran.


- Vous pouvez créer des variables afin de permettre au jeu d'avoir plusieurs éléments en mémoire, qui peuvent être réutilisés. Utile par exemple pour comptabiliser certaines actions, ou lancer certains événements si la variable a une certaine valeur...

Exemple : vous souhaitez créer un compteur pour votre jeu. Tout d'abord déterminez le nom et la valeur initiale de votre variable en entrant la ligne de code ci-dessous :
Code:
int mon_compteur = 0;
Vous pouvez ensuite ajoutez ou soustraire des sommes à la valeur actuelle de votre variable, en remplaçant le = par += ou -= :
Code:
mon_compteur += 3;
... ajoute 3 à la valeur actuelle de mon_compteur.

Vous pouvez comparer des variables, en utilisant notamment la fonction «if... else».

Exemple :
Code:
if (mon_compteur == 5) {
Display («Le compteur a atteint 5 !»);
}
... signifie que le message «Le compteur a atteint 5!» sera affiché si la variable mon_compteur est égale à 5. Vous pouvez bien sûr remplacer le code Display («... par n'importe quelle autre fonction.

Vous pouvez comparer des variables en utilisant :
* == pour comparer deux variables, et procéder si elles sont égales (attention à bien entrer DEUX FOIS le = ; quand on n'entre qu'une fois un =, c'est pour modifier la valeur d'une variable)
* != pour comparer deux variables, et procéder si elles ne sont PAS égales
* < pour comparer deux variables, et procéder si la première est inférieure à la deuxième
* > pour comparer deux variables, et procéder si la première est supérieure à la deuxième
* <= pour comparer deux variables, et procéder si la première est inférieure ou égale à la deuxième
* >= pour comparer deux variables, et procéder si la première est supérieure ou égale à la deuxième

Exemple d'utilisation d'une variable : pour afficher un texte différent chaque fois que le joueur regarde un hotspot, s'il le regarde plusieurs fois de suite. Il faut donc entrer des lignes de code de cette manière :
Code:
// script for hotspot1: LOOK AT HOTSPOT
 if (mon_compteur == 0) {
 Display("Vous voyez une bibliotheque.");
}
if (mon_compteur == 1) {
 Display("En regardant de plus pres, vous voyez une bande dessinee intitulee Dread Mac Farlane.");
}
 if (mon_compteur == 2) {
 Display("Il y a aussi deux tomes du Donjon de Naheulbeuk.");
 }
 if (mon_compteur == 3) {
 Display("Rien d'autre d'interessant.");
}
 if (mon_compteur < 3) {
 my_counter += 1;
 }
Notez que la dernière ligne ajoute automatiquement 1 au compteur tant que celui-ci est inférieur à 3, permettant donc de passer à la ligne de texte suivante chaque fois que le joueur regardera le hotspot.

Ces variables ne sont valables que pour le script correspond à une room en particulier. Si vous souhaitez utiliser des variables qui peuvent être lues d'une room à l'autre (par exemple, pour déterminer si le joueur a parlé à un personnage dans une room avant de faire une certaine action dans une autre room, etc), vous devrez utiliser la fonction SetGlobalInt (voir plus loin).

Vous pouvez également remplacer la valeur chiffrée d'une variable par un code qui détermine une valeur. Par exemple, la fonction IsGamePaused() retourne la valeur 1 si le jeu est en pause, ou 0 s'il ne l'est pas. En entrant donc :
Code:
mon_compteur = IsGamePaused();
... vous donnez la possibilité au compteur d'être égal à 0 ou 1 selon que le jeu est en pause ou non.


- Quand vous quittez l'écran de script, acceptez de le sauvegarder, mais n'oubliez pas de sauvegarder aussi le jeu pour qu'il soit pris en compte.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5433

Age : 39

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: ==> PRESENTATION GENERALE DU SCRIPT <==   Ven 28 Avr 2006 - 11:56

Autre chose d'utile à savoir : le script d'AGS est basé sur les noms de code des personnages, objets, etc. Dans les différents panneaux de gestion, vous pouvez voir que chaque élément que vous ajoutez dans le jeu, que ce soit un objet d'inventaire, un personnage, un hotspot, etc... est suivi de son SCRIPT O'NAME, c'est-à-dire le code que vous devez utiliser dans le script quand vous faites référence à cet élément.

Par exemple, le nom de code du personnage principal, par défaut, est EGO (quel que soit le nom que vous lui avez donné dans le jeu). A côté, vous pouvez voir un texte affichant : script o'name = cEgo. Quand vous utilisez le script, vous devez donc utiliser le code cEgo si vous souhaitez lancer un événement lié au personnage EGO.

Quand vous entrez le code d'un élément, suivi d'un point, le script affiche automatiquement un menu avec toutes les actions possibles liées à cet élément. Sélectionnez simplement celui que vous souhaitez, puis entrez les paramètres voulus entre parenthèses.

Exemple : vous souhaitez ajouter un objet à l'inventaire du personnage. Dans le script, vous tapez :
Code:
cEgo.
et vous voyez apparaître une liste. Choisissez "AddInventory" puis entrez le nom de l'item voulu. Vous obtenez donc au final cette ligne :
Code:
cEgo.AddInventory (iClef);

Et voilà !

Si vous voulez faire de même par exemple avec un hotspot, au moment de le créer, indiquez son script o'name, par exemple porte (il sera précédé d'un H et devra donc être écrit : hPorte) et sauvegardez la room. Ensuite, lancez le script, et tapez :
Code:
hPorte.
; vous aurez la liste de tous les événements possibles reliés aux hotspots.

Idem pour les objets d'une room ; le script o'name sera précédé d'un O (par exemple, oFeu). Les objets d'inventaire sont précédés d'un I (par exemple, iClef), les personnages d'un C (par exemple, cSam). N'oubliez pas de sauvegarder le jeu et les rooms quand vous créez de nouveaux éléments avant de lancer un script, afin que les script o'name soient pris en compte.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: ==> PRESENTATION GENERALE DU SCRIPT <==   

Revenir en haut Aller en bas
 
==> PRESENTATION GENERALE DU SCRIPT <==
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» ==> PRESENTATION GENERALE DU SCRIPT <==
» PRESENTATION D UN LION RASTA
» script menu catégories d'items
» Logiciel/script multijoueur [résolu]
» NabazParis : le script des lapins de Paris

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: 3. LE SCRIPT-
Sauter vers: