Liste des commandes utilisables dans les scripts.
Ces commandes sont des fonctions et méthodes prédéfinies dans le moteur de jeu ELB2d.
Add_Over ( idOver ; idEffet ; idSprite ; idSpritePart ; x ; y ; sx ; sy ; rot ; bdessus ; avp )
Description :
Ajoute un élément over préchargé dans jeu.ini au sprite ayant pour id idSprite (ou idSpritePart pour les sprites en plusieurs éléments).
Utile pour ajouter un effet de fumée ou de poussière à un sprite ou un personnage.
Valeurs de retour :
Aucunes.
Paramètres :
string idOver : id du nouvel élément over
string idEffet : id d'un élément over (effet) préchargé dans jeu.ini
string idSprite : id d'un sprite existant
string idSpritePart : id d'une partie de sprite (ou vide)
int x : position x
int y : position y
float sx : échelle largeur
float sy : échelle hauteur
float rot : rotation
int bdessus : si true alors le over est affiché au 1er plan (relatif au parent => différent de avp)
int avp : -1=> déterminé par le parent 0=> arrière plan (du plan 2) 1=> avant plan (du plan 2)
AnimKP_ONOFF ( idSD ; compteuractivation )
Description :
Si compteuractivation interrupteurs sont activés en même temps alors la commande pourra fonctionner en lançant / stoppant l'animation de chemins (KP) de l'élément dont l'id est en paramètre.
En marche l'éventuel son du SD est joué. En pause le son du SD est arrêté.
Valeurs de retour :
Aucunes.
Paramètres :
string idSD : id vers la plateforme à lancer
int compteuractivation : nombre d'interrupteurs à actionner en même temps pour déclencher la fonction.
CheckPoint ( )
Description :
Ajoute un checkpoint à la liste des checkpoints du décor. Les coordonnées du checkpoint sont celle du script (de son sprite contenant).
Valeurs de retour :
Aucunes.
Paramètres :
Aucuns.
ClrPrint ( )
Description :
Efface tous les textes affichées via la commande Print dans le script courant.
Valeurs de retour :
Aucunes.
Paramètres :
Aucuns.
Explosion ( idIA ; idIAPart )
Description :
Déclenche le processus d'explosion d'une IA.
Le son de l'explosion est joué par cette fonction.
Des vibrations sont aussi initiées.
Valeurs de retour :
Aucunes.
Paramètres :
string idIA : id de l'IA à faire exploser
string idIAPart : si non vide alors on fait exploser seulement une partir de l'IA, sinon tout l'IA explose
int GetIALife ( idIA)
Description :
Permet de récupérer la valeur de la vie restante à une IA donnée.
Valeurs de retour :
Retourne la valeur de la vie restante de l'ia (int).
Paramètres :
string idIA (ou vide) : si idIA!="" alors la fonctionne travaille sur l'ia en paramètre, sinon elle travaille sur l'ia courante (fixée par InitIADef ou IA).
int GetIALifeMax ( idIA )
Description :
Permet de récupérer la valeur de la vie max d'une IA donnée.
Valeurs de retour :
Retourne la valeur de la vie max de l'ia (int).
Paramètres :
string idIA (ou vide) : si idIA!="" alors la fonctionne travaille sur l'ia en paramètre, sinon elle travaille sur l'ia courante (fixée par InitIADef ou IA).
int GetIAPosX ( idIA )
Description :
Permet de récupérer la position en x d'une IA donnée.
Valeurs de retour :
Retourne la position en x de l'ia (int).
Paramètres :
string idIA (ou vide) : si idIA!="" alors la fonction travaille sur l'ia en paramètre, sinon elle travaille sur l'ia courante (fixée par InitIADef ou IA).
int GetIAPosY ( idIA )
Description :
Permet de récupérer la position en y d'une IA donnée.
Valeurs de retour :
Retourne la position en y de l'ia (int).
Paramètres :
string idIA (ou vide) : si idIA!="" alors la fonction travaille sur l'ia en paramètre, sinon elle travaille sur l'ia courante (fixée par InitIADef ou IA).
int ; int GetIAPos ( idIA )
Description :
Permet de récupérer la position en x et en y d'une IA donnée.
Valeurs de retour :
Retourne la position en x et en y de l'ia (int ; int).
Paramètres :
string idIA (ou vide) : si idIA!="" alors la fonction travaille sur l'ia en paramètre, sinon elle travaille sur l'ia courante (fixée par InitIADef ou IA).
string GetIdIA ( )
Description :
Retourne l'id du perso associé à ce script ou NULL.
Valeurs de retour :
string : retourne l'id du perso associé à ce script ou NULL.
Paramètres :
Aucuns.
float GetVueX ( )
Description :
Permet de récupérer la position en x de la vue.
Valeurs de retour :
float. Retourne pvue->Vue.x
Paramètres :
Aucuns.
float GetVueY ( )
Description :
Permet de récupérer la position en y de la vue.
Valeurs de retour :
float. Retourne pvue->Vue.y
Paramètres :
Aucuns.
float GetVueZoom ( )
Description :
Permet de récupérer la valeur du coefficient de zoom de la vue de la scène.
Valeurs de retour :
float : pvue->ZoomVue.
Paramètres :
Aucuns.
GOTO ( LABEL )
Description :
Déplace le pointeur interne de commande au label LABEL.
Valeurs de retour :
Aucunes.
Paramètres :
string LABEL
IA ( id ; x ; y ; d ; zx ; zy ; pds ; bv ; mc )
Description :
Appelle la fonction du moteur pdecor->ajoutIA.
Ajoute une IA au jeu. Pour que la fonction réussise il faut que la texture de l'ia existe (chargée via Texture_Per).
L'IA créée ainsi est marquée comme étant générée par un script, et sera donc détruite en cas de rechargement du script.
L'IA courante est aussi modifiée par cette fonction. Il faudra donc rappeler InitIADef si on veut utiliser l'IA par défaut du script plutôt que la nouvelle IA.
Valeurs de retour :
Aucunes.
Paramètres :
std::string id : id de l'IA dans la liste des texture (Cf : Texture_Per)
int x : position en x
int y : position en y
int d : direction (0 gauche vers droite, ou 1 droite vers gauche)
float zx : échelle en x
float zy : échelle en y
int pds : poids
int bv : mode humain ou vaisseau
int mc : si 0 pas de collisions entre IA et perso, si 1 alors collisions
IADestroyOnReload ( idIA )
Description :
Indique si l'IA en paramètre (ou IA courante si vide) doit être détruite pour de bon lors de la mort du perso.
Utile pour les IAs créés par les scripts.
Valeurs de retour :
Aucunes.
Paramètres :
string idIA : id de l'IA ou bien "" pour utiliser l'IA courante.
InitIADef ( idIA )
Description :
Fixe l'IA par défaut à utiliser dans les fonctions travaillant sur les IAs (exceptés celles demandant un idIA explicite).
Valeurs de retour :
Aucunes.
Paramètres :
string idIA (ou vide) : si idIA!="" alors la fonction travaille sur l'ia en paramètre, sinon elle travaille sur l'ia courante (fixée par scriptrun ou IA).
int IsIAVisible ( idIA )
Description :
Permet de savoir si une IA donnée est visible (1) ou invisible (0).
Valeurs de retour :
int bVisible : 0 si invisible, 1 si visible
Paramètres :
string idIA : id de l'IA à tester, ou vide pour tester l'IA courante.
KP_Init ( option )
Description :
Initialise le système de chemins (KPs) du moteur de jeu.
Si option vaut 0 alors tout est détruit (cas où l'on ne souhaite plus utiliser de chemins pour cet objet).
Si option vaut 1 alors tout est détruit mais l'objet gérant les chemins est ensuite réinitialiser : prêt pour gérer un nouveau chemin.
Valeurs de retour :
Aucunes.
Paramètres :
int option (0 ou 1) : si option==0 alors les kps sont détruits et le phys aussi, sinon le phys est créé, prêt pour les futurs KPs
KPG ( mode ; vchemin ; vrotation ; vscale ; vcouleurs ; bPausei ; nbchemin)
Description :
Valeurs des paramètres globaux des chemins de l'ia courante.
Valeurs de retour :
Aucunes.
Paramètres :
int mode
float vchemin
float vrotation
float vscale
float vcouleurs=
int bPausei
int nbchemin
KP ( x ; y ; sx ; sy ; r ; cr ; cg ; cb ; ca ; fh ; fv ; v ; vr ; vs ; vc)
Description :
Ajoute un keypoint (KP) à la liste des chemins de l'ia active.
Seuls les persos (ia) sont concernés par cette fonction. Les sprites de décor peuvent aussi être animés de cette façon mais uniquement via l'éditeur pour le moment.
Une prochaine mise à jour de cette fonction devrait permettre de modifier aussi les chemins des sprites de décor (SD) via les scripts.
Valeurs de retour :
Aucunes.
Paramètres :
float x
float y
float sx
float sy
float r
int cr
int cg
int cb
int ca
int fh
int fv
float v
float vs
float vr
float vc
Pause ( durée_en_frame )
Description :
Met le script courant en pause de la durée en paramètre (unité : la frame, avec une résolution de base de 30fps).
Cette fonction s'execute donc sur plusieurs frames et peut donc aussi servir à déboguer les scripts afin de ralentir leur exécution.
Valeurs de retour :
Aucunes.
Paramètres :
int durée_en_frame : durée de la pause en frame. Par défaut les scripts sont appelés 30 fois par seconde, donc une pause de 30 durera 1 seconde.
Print ( msg ; x ; y )
Description :
Affiche un texte à la position x ; y.
Attention : dans le cadre d'une boucle il est très important d'appeler ClrPrint() au début de chaque nouveau cycle de Print() sous peine de saturer le tableau interne de textes à afficher.
Pour limiter une telle éventualité la limite de texte affichables via Print dans un script est de 100. Cette limite est empirique et pourra changer selon les besoins futurs.
Remarque : cette commande, de par sa conception, est lente et n'est pas adaptée à un affichage parfaitement dynamique en temps réel => Print est avant tout destiné à afficher des informations de débogages durant la conception des scripts.
Valeurs de retour :
Aucunes.
Paramètres :
string msg : message à afficher (peut-être variable)
int x : coordonnée x du message
int y : coordonnée y du message
ScriptRun ( cheminScript )
Description :
Cette fonction permet de charger en mémoire un nouveau script est de l'exécuter en // des autres scripts.
Elle appelle la fonction du moteur newScript ( cheminScript , NULL, DECLENCHEUR_SCRIPT, 1, 0, false);
Les scripts créés ainsi sont détruits à chaque rechargement du niveau via legi2 (chargemement via checkpoint ou sur redémarrage du niveau).
Valeurs de retour :
Aucunes.
Paramètres :
string cheminScript : chemin du script à lancer
ScaleIA ( idIA ; sx ; sy ; progressif )
Description :
Mise à l'échelle de l'IA en paramètre. Si progressif est différent de 0 alors un zoom progressif sera lancé (avec comme vitesse progressif)
Valeurs de retour :
Aucunes.
Paramètres :
string idIA
float sx
float sy
float progressif
SetIDIA ( idIAmodif ; idIAancien )
Description :
Si idIAAncien est vide alors on utilise l'IA courante pour lui fixer un id.
Si idIAAncien est fourni alors on remplacera l'id de cette IA par la valeur de idIAmodif.
Valeurs de retour :
Aucunes.
Paramètres :
string idIAmodif ;
string idIAancien
SetInfosVisible ( bVisible )
Description :
Modifie la valeur de pcarte->bInfosPerso. Permet d'afficher/masquer les infos du personnage humain.
Valeurs de retour :
Aucunes.
Paramètres :
bool bVisible (0 ou 1) : si false (0) alors les infos du personnage sont masquées.
SetWaitMessageVisible( bVisible )
Description :
Modifie la valeur de pCarte->bMontreMsgAttente. Permet d'afficher/masquer le "Prêt" de début de niveau chrono.
Valeurs de retour :
Aucunes.
Paramètres :
bool bVisible (0 ou 1) : si false (0) alors le "Ready" de début de jeu chrono est masqué.
Shader_Global ( idSD ; bShaderActif ; compteurShader ; shaderCenter.x ; shaderCenter.y ; modeShaderCoord )
Description :
Initialise un shader global. Ce shader s'appliquera au rendu final de la scène.
Note : dans la version 0.1 du moteur il n'est possible de n'avoir qu'un seul shader global à la fois.
Valeurs de retour :
Aucunes.
Paramètres :
string idSD : id du SD contenant le shader global
int bShaderActif ;
int compteurShader ;
int shaderCenter.x ;
int shaderCenter.y ;
int modeShaderCoord
Example de fichier Dec contenant un shader global :
SD_SHADER_BLAST.dec
#ATTENTION : il faut ajouter impérativement un IDSD=xxx au SD
#=>c'est avec cet IDSD que les scripts pourront lancer les shaders globaux
#=>cela permet d'avoir plusieurs shader globaux d'un même type avec des params différents
#et de les appeler comme on le souhaite via les scripts
ID=SD_SHADER_GLOB_BLAST
SPRITE2=./decors/ShadersGlob/SDShaderGlob.png;1;100;100;0;0
COLLISIONS=0
VISIBLE=0
SHADERSD=ondechoc.frag;3;center;vec2;0,0890625;0,720833;0;shockParams;vec3;10;0,25;0,1;0;time;float;0;100;;0
setIASpeed ( vitesse ; idIA )
Description :
Permet de changer la vitesse de marche d'un personnage en paramètre (ou du personnage par défaut si idIA est vide ou absent).
Valeurs de retour :
Aucunes.
Paramètres :
int vitesse : vitesse du perso pendant la marche
string idIA : ce paramètre peut-être omis, dans ce cas c'est l'ia par défaut qui sera utilisée.
int Texture_PER ( cheminPer ; idPer )
Description :
Les fichiers per contiennent les données des personnages du jeu. Ils sont stockés dans pdecor->texturesPerlist.
Cette fonction permet d'ajouter à cette liste un nouveau personnage.
Les appels à IA échoueront si l'idper de IA n'est pas trouvé dans la liste des per : il convient donc d'appeler cette fonction avant tout appel à IA.
Un seul appel à Texture_Per est nécessaire pour créer autant d'IA de ce type que voulu.
Le chargement d'un per pouvant être long il est conseillé de les appeler en début de script.
Valeurs de retour :
int codeerreur : si 1 alors tout s'est bien passé, si 2 alors l'id est déjà utilisée.
Paramètres :
string cheminPer : chemin du fichier per
string idPer : id assigné à la texture du per
Vibration ( amplitude ; nombre )
Description :
Lance le processus de vibration de l'écran.
Valeurs de retour :
Aucunes.
Paramètres :
float amplitude
int nombre
int ; int WorldToScreen ( x ; y )
Description :
Transforme la coordonnée monde en coordonnée écran.
Très utile pour pouvoir utiliser la commande Print qui demande impérativement une coordonnée écran.
Valeurs de retour :
int xEcran
int yEcran
Paramètres :
int xMonde
int yMonde
RELOAD
Description :
Valeurs de retour :
Paramètres :
ZoomVue ( zoom ; mode ; pas )
Description :
Fixe la valeur pvue->ZoomVue à zoom, selon deux modes.
Si mode == 0 alors le zoom est instantané, sinon il est progressif suivant la valeur pas.
Valeurs de retour :
Aucunes.
Paramètres :
float zoom : valeur du zoom final
int mode : 0 (instantané) ou 1 (progressif)
float pas : vitesse du zoom en mode 1
---AFINIR---
****
Description :
Valeurs de retour :
Paramètres :
*****
ATTENDRE_FIN_ANIMKP
BOUGE_GROUPE
BASCULE
CHUTE
CHARGERNIV
CMD_ZOOM
CHANGEDIRPERSO
DEPLACE
PORTE_ONOFF
SCROLL
TELEPORTEVERS
FONTAINEDARMES
CHANGE_ANIM
INVERTOLITE
PADSOTOLITE
JOUE
STOPIA
RUNIA
PLAYSON
EFFET_PLANTE_BOOST
VOILE
VOILEACTIF
IA_POSITION
IA_VISIBLE
IA_TIRER
IAANIM
IAMODE
IAEXIT
SDVISIBLE
PHYSPARTICULE
SDANIM
PERSO_VISIBLE
TUE_PERSO
OMBREIA
INFOIMGPOS
INFOTXTPOS
INFOFONDPOS
INFOTXTCOLOR
INFOFOND
INFOTXTTAILLE
INFOTXTSTYLE
INFOS_VIE
INFO INFO_EN
PARLE PARLE_EN
NOPARLE