Bonjour
Auteur : Xiderowg
Fonction : Permet de faire un combat en 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'éléments !
Screen :
Nombre de scripts : 57 :shock: je peut pas les poster tous....
Je vais mettre un lien vers la demo qui contient tout les scripts et ressources :
http://www.atelier-rgss.com/RGSS/Demos/XAS_Hero_3_2.zip
Explication :(auteur Samarium)
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 monstre
Cré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 :
Pour tirer un objet, mettez
"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 :
A ligne 250, vous pouvez définir les cotés du monstre où il est invulnérable.
A la ligne 261, vous pouvez définir les actions où le monstre est invulnérable.
A la ligne 294, vous pouvez définir l'interrupteur qui sera enclenché selon le monstre après sa défaite :
"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 :
b) Caractéristique de l'objet.
Prenons le cas des bombes : script nommé "XAS - Bomb (ID14)". Vous avez ceci :
- 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" :
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 :
(5) : Script nommé "MOG - ADV Move System" vers la ligne 45 :
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 :
Vers la ligne 305 :
Vers la ligne 305 :
Dans le script "MOG - XAS_Overdrive" vers la ligne 19 :
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.
Bon c'est a peut prés tout. Si vous avez des question , vous n'avez qu'a me demander .
Auteur : Xiderowg
Fonction : Permet de faire un combat en 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'éléments !
Screen :
Nombre de scripts : 57 :shock: je peut pas les poster tous....
Je vais mettre un lien vers la demo qui contient tout les scripts et ressources :
http://www.atelier-rgss.com/RGSS/Demos/XAS_Hero_3_2.zip
Explication :(auteur Samarium)
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 monstre
Cré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 :
- Code:
attack_on
- Code:
attack_off
Pour tirer un objet, mettez
- Code:
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 :
- Code:
DEF_ANI = {
2=>119,
3=>121
}
A ligne 250, vous pouvez définir les cotés du monstre où il est invulnérable.
- Code:
SHILED_DIRECTIONS = {
1=>[2,4,6,8],
7=>[2]
}
A la ligne 261, vous pouvez définir les actions où le monstre est invulnérable.
- Code:
SHILED_ACTIONS = {
2=>[28,33],
3=>[28,33],
4=>[1,2,3,4,5,6,7,15,16,17,18,19,20,23,33,34,35,36,37,40,42]
}
A la ligne 294, vous pouvez définir l'interrupteur qui sera enclenché selon le monstre après sa défaite :
- Code:
DEFEAT_SWITCH_IDS = {
8=>57,
9=>57
}
"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 :
- Code:
ITEM_COST = {
8=>1,
9=>2
}
- Code:
ITEM_COST = {
8=>1,
9=>2,
14=>7 # C'est les bombes
}
b) Caractéristique de l'objet.
Prenons le cas des bombes : script nommé "XAS - Bomb (ID14)". Vous avez ceci :
- Code:
module Database_Bullet
action_id = 14
SUFLAGS[action_id] = 10
DURATIONS[action_id] = 100
SELF_MOTIONS[action_id] = "_TRW"
plan = []
plan[80] = action_id
ATTACK_ID_PLANS[action_id] = plan
ATTACK_RANGE_TYPES[action_id] = SQUARE
ATTACK_RANGE_PLANS[action_id] = [2]
BLOW_POWERS[action_id] = 3
plan = []
plan[80] = 99
SELF_ANIMATION_PLANS[action_id] = plan
SELF_DAMAGES[action_id] = true
PLAYER_DAMAGES[action_id] = false
IGNORE_INVINCIBLES[action_id] = true
MULTI_HIT[action_id] = false
end
- 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" :
- Code:
$game_player.battler.damage = 5
$game_player.battler.damage_pop = true
- Code:
$game_player.battler.damage = "Garde"
$game_player.battler.damage_pop = true
5)Modifier les touches
Les modifications des touches se font dans le script nommé XRXS-XAS vers la ligne 29
- Code:
# Touche pour effectuer une compétence
SKILL_ACTION = Input::Y
# Touche pour changer une compétence
SKILL_CHANGE = Input::R
# Touche pour effectuer un objet
ITEM_ACTION = Input::Z
# Touche pour changer un objet
ITEM_CHANGE = Input::L
# Touche pour attaquer
SLASH_ACTION = Input::C
# Touche pour se défendre
SHIELD_ACTION = Input::A
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 :
- Code:
WINDOW_SKILL_X = 550
WINDOW_SKILL_Y = 370
WINDOW_ITEM_X = 480
WINDOW_ITEM_Y = 370
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 :
- Code:
ENEMY_INFO_X = 400
ENEMY_INFO_Y = 0
- Code:
OVD_X = 0
OVD_Y = 0
- Code:
XASCOMBOWINPOS = 70
(5) : Script nommé "MOG - ADV Move System" vers la ligne 45 :
- Code:
POS_X = 70
POS_Y = 350
- Code:
STMAPX = 0 # Position X
STMAPY = 370 # Position Y
- Code:
EQPMAPX = 290 # Position X
EQPMAPY = 390 # Position Y
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 :
- Code:
OVD_LEVEL = {
1=> 21,
2=> 25
}
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 :
- Code:
ENEMY_ID_VARIABLE_ID = 4
Vers la ligne 305 :
- Code:
HIT_ID = 3
Vers la ligne 305 :
- Code:
ACTION_TEMPLATE_MAP_ID = 1
Dans le script "MOG - XAS_Overdrive" vers la ligne 19 :
- Code:
OVD_MAX_LEVEL_VAR_ID = 11
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.
Bon c'est a peut prés tout. Si vous avez des question , vous n'avez qu'a me demander .
Dernière édition par Yagami le Sam 8 Nov - 17:15, édité 1 fois