Explication de scripts : XIDEROWG ACTION SYSTEM
L'auteur Xiderowg nous offre un script permettant de faire un combat à temps réel. Ce script très complet, complété par l'atelier RGSS
donc par Moghunter, possède des barres de vies pour les ennemis et héros, Overdrive, utilisation d'objets comme les bombes, flèches ..ect. et encore plein d'élements !
Ce tutorial nous expliquera comment se servir de ce script dans la création d'objet, de monstres, de modifications ...etc.
1) Avant de commencer.
Avant de commencer, faites un évènement automatique qui rend égale les variables 0010 à 3. Cela permettra de rendre les monstres aggressifs et donc de vous attaquer. Ensuite, effacez l'évènement.
2)Création d'un monstre. a) L'évènement monstreCréer un monstre est très simple. Tout d'abord, vous allez dans la base de données et vous faites un nouveau monstre comme d'habitude. Relevez l'ID du monstre, par exemple, l'ID du monstre "Sahagin" est 2. N'oubliez pas de rajouter le monstre créé dans les groupe de monstres avec la même ID.
Ensuite, il faut créer l'évènement. Vous pouvez copier-coller un évènement "monstre" déjà existant dans la démonstration car le principe est le même.
Première page : mettez une apparence normal du monstre avec son déplacement normal.
Deuxième page : Mettez dans les conditions de l'évènement la variable 0004 (l'ID de la variable peut être changée dans le script). La valeur de cette variable doit l'ID du monstre de la base de données.
Troisième page : Mettez dans les conditions de l'évènement l'interrupteur local D (ceci peut être changée dans le script). Dans son déplacement défini, nous allons mettre son attaque.
b) L'attaque
Avec le bouton "Insérer un script", mettez :
attack_onpour que commencer l'attaque et
attack_offpour arrêter.
Pour tirer un objet, mettez
shoot(28)
"28" est l'ID d'évènement l'objet sur la carte "Ferramentas". On verra cela après.
Vous pouvez donner une apparence au monstre selon son action. Dans les ressources, voici comment doit être le nom des images pour le monstre :
nom : le monstre dans un comportement normal
nom_ACT : le monstre en train d'attaquer.
nom_HIT : le monstre tué
c) Caractéristiques.
Le monstre peut avoir des caractéristiques. Ceci sont définies dans les script nommé XRXS-XAS à partir de la ligne 218
A la ligne 227, vous pouvez décider l'animation qui aura lieu après l'élimination du monstre :
Dans le premier cas, "2" est l'ID du monstre et "119" l'ID de l'animation. Donc : "ID Monstre => ID Animation"
A ligne 250, vous pouvez définir les cotés du monstre où il est invulnérable.
"1" étatnt toujours l'ID du monstre et "[2,4,6,8]" les différentes directions. Donc : "ID Monstre => [Direction]"
A la ligne 261, vous pouvez définir les actions où le monstre est invulnérable.
Le monstre d'ID 2 sera invulnérable aux attaques des évènements objets d'ID 28 et 33 de la carte "Ferramentas". Donc : "ID Monstre => [ID des évènements objets]"
A la ligne 294, vous pouvez définir l'interrupteur qui sera enclenché selon le monstre après sa défaite :
Le monstre d'ID 8 enclenchera l'interrupteur d'ID 57 (0057). Donc :
"ID Monstre => ID interrupteur"
3) Création d'un objet
a) Objet
Créez dans la carte "ferramenta" un évènement avec l'apparence de l'objet (Bombes, flèches ...). Rajoutez le aussi dans la base de données. Ensuite, relevez l'ID de l'évènement objet et l'ID de l'objet dans la base de données. Allez dans le script nommé "XRXS - XAS" vers la ligne 194 :
Admettons que l'ID de l'évènement est 14 et l'ID de l'objet dans la base de données est 7, vous mettez :
On a donc : "ID évènement sur la carte "Ferramentas" => ID de l'objet dans la base de données"
b) Caractéristique de l'objet.
Prenons le cas des bombes : script nommé "XAS - Bomb (ID14)". Vous avez ceci :
Lorsque vous créez un objet, il faut avoir le même modèle : on commence par le module et on termine par "end" avec toutes les constantes à l'intérieur.
- action_id : est l'ID de l'évènement objet sur la carte "Ferramentas".
- DURATIONS[action_id] : durée de l'effet de l'attaque de l'objet
- SELF_MOTIONS[action_id] : images terminant par le suffixe qui sera affiché à la place du héros. Par exemple, ici, on aura "Arshes_TRW.png" qui sera affiché
-
plan = [] plan[80] = action_id ATTACK_ID_PLANS[action_id] = plan: est le temps pour activer une variable d'impact (voir ci-dessous). Ici, l'interrupteur sera activé après 80 frames.
- ATTACK_RANGE_TYPES[action_id] : type de la zone d'attaque : carré (SQUARE), losange (RHOMBUS) ou ligne droite (LINE).
- ATTACK_RANGE_PLANS[action_id] : taille de la zone d'impact.
-
plan = [] plan[80] = 99 SELF_ANIMATION_PLANS[action_id] = plan: est l'animation qui sera affiché après un certains temps. Ici, l'animation d'ID 99 (animation d'explosion) sera affiché après 80 frames.
- BLOW_POWERS[action_id] : puissance de l'impact.
- SELF_DAMAGES[action_id] : "true" si cela cause des dommages sur le héros . Mettez "false" dans le cas contraire.
- PLAYER_DAMAGES[action_id] : "true" si cela permet de donner des points de vie au héros comme les potions ...etc. Mettez "false" dans le cas contraire.
- IGNORE_INVINCIBLES[action_id] : "true" si l'objet ignore l'invincibité. Mettez "false" dans le cas contraire.
- MULTI_HIT[action_id] : "true" si cela cause un "HIT". Mettez "false" dans le cas contraire.
c) Activer une variable si il y a un impact avec l'évènement.
Prenons le cas que l'entrée d'une caverne s'ouvre après l'explosion d'une bombe ou bien une plante a été coupé après un coup d'épée. Pour cela, il faut activer une variable. Faites un évènement "plante" par exemple et mettez en deuxième page dans les conditions de l'évènement, la variable 0003 (peut être changé dans un script) avec la valeur de l'ID de l'évènement objet :
4) Afficher une "Pop-Up".
Vous voulez afficher "5" au dessus du héros car ce dernier à perdu 5 PV en se jetant stupidement dans les cactus. Rien de plus simple !
Au contact de l'évènement "Cactus", mettez avec la commande "insérer un script" :
Vous pouvez mettre n'importe quel texte. Par exemple, lorsque l'évènement objet "Flèche" d'ID touche le bouclier d'ID 34 du héros, vous pouvez activer la variable 0003 (vu ci-dessus) et mettre sa valeur à 34 et mettez dans les commandes d'évènement :
5)Modifier les touches
Les modifications des touches se font dans le script nommé XRXS-XAS vers la ligne 29
Lisez les commentaires au-dessus des touches pour savoir à quoi correspond ce dernier. Changez ensuite le A de "Input::A" par la touche que vous désirez (DOWN, LEFT, RIGHT, UP, A, B, C, X, Y, Z, L, R, SHIFT, CTRL, ALT, F5, F6, F7, F8 ou F9)
6) Position de l'HUD
Les positions des images sur l'écran se font sur plusieurs scripts.
(1) : Script nommé "XRXS - XAS" vers la ligne 46 :
WINDOW_SKILL est le positionnement de l'image pour les compétences et WINDOW_ITEM pour les objets.
(2) : Script nommé "MOG - XAS_Enemy_HP" vers la ligne 15 :
(3) : Script nommé "MOG - XAS_Overdrive" vers la ligne 62 :
(4) : Script nommé "MOG - XAS_Hit Display" vers la ligne 33 :
C'est la position verticale de cette image lorsqu'il y a un "HIT"(5) : Script nommé "MOG - ADV Move System" vers la ligne 45 :
(6) : Script nommé "MOG - MPW HUD Elena" vers la ligne 9 :
(7) : Script nommé "MOG - MPW Equip " vers la ligne 15 :
6) Overdrive
L'Overdrive peut être modifié dans le script nommé "MOG - XAS_Overdrive". Avec la variable 0011, vous pouvez donner définir le niveau d'Overdrive.
Dans le script nommé "MOG - XAS_Overdrive" vers la ligne :
Selon le niveau de l'Overdrive, le héros pourra utiliser une compétence spécifique. Ici, "1" est le niveau Overdrive et "21" est l'ID de la compétence, donc : " Niveau Overdrive => ID compétence"
7) Changer les variables.
Pour changer les variables d'impact ou pour les ennemis, allez dans le script nommé "XRXS - XAS" vers la ligne 313 :
Cela permet de changer la variable 0004 des ennemis (dans les évènements monstres) par une autre ID.
Vers la ligne 305 :
Cela permet de changer la variable d'impact.
Vers la ligne 305 :
Permet de changer l'ID de la carte "Ferramentas".
Dans le script "MOG - XAS_Overdrive" vers la ligne 19 :
Vous pouvez changer la variable 0011 de l'Overdrive vu ci-dessus
8) Conclusion.
Les scripts peuvent être énormément modifiés, ici nous avons parler de l'utilisation pour faire un A-RPG ... suffisamment pour créer sans difficulté avec suffisant de compréhension sur ces scripts.

