[RPG-MAKER.FR] Oniromancie: tout l'univers de RPG Maker en français - Tutoriels - Créer un système de combat au pistolet, ou gunfight

Oniromancie: Tutoriels - Créer un système de combat au pistolet, ou gunfight


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace

Apprendre
RPG Maker

Guides
Tutoriels
Astuces
Making-of


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Nylu
Par NanakyTim

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

News: Game design: ouvrir son jeu aux (...) / News: Des jeux et des screens / News: Alex 2019 : tests et nominations (...) / Jeux: Wendy Whedon / Sorties: Wendy Whedon /

Chat  

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

108 connectés actuellement

10212682 visiteurs
depuis l'ouverture

1137 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires






TOP
GAMEMAKING


Les 5 plus
visités

Akademiya RPG Maker

Alex d'Or

Blog of Chaos17

BloGecko

ConsoleFun

Au hasard

BloGecko

Le Temple de Valor

Le Studio du Chat Vert

Les deux derniers

Zarok

Akademiya RPG Maker

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




Créer un système de combat au pistolet, ou gunfight
Ecrit par Naked-Snake

CREER UN SYSTEME DE COMBAT AU PISTOLET
Par Naked-Snake

Salut à tous, je vais vous montrer comment faire un système de combat au pistolet (ou n’importe quelle arme), ou « gunfight ». Il faut savoir que ce n’est pas une mince affaire, que cela nécessite une bonne connaissance des variables ainsi qu’une bonne dose de patience…
Mais je ne vais pas vous décourager, tout vous est décrit ici.

Nous allons créer un système de combat ou l’on peut afficher 3 ennemis sur la carte et où le héros tirera avec la touche majuscule.

Pour commencer voici les variables que vous devez créer :

[héros X] [héros Y] ;
[ennemi1 X] [ennemi1 Y] [vie ennemi1] ;
[ennemi2 X] [ennemi2 Y] [vie ennemi2] ;
[ennemi3 X] [ennemi3 Y] [vie ennemi3] ;
[tir X] [tir Y] ;
[touche]


Créez aussi les interrupteurs suivants :

(tir)
(ennemi1 mort)
(ennemi2 mort)
(ennemi3 mort)

Voilà pour les préparatifs, passons maintenant à la partie programmation.
Pour commencer créez un événement commun en processus parallèle que nous appellerons Héros X, Y.
Dedans mettez :
Attendre 0.1 sec (pour ne pas ralentir le jeu)
Variable [héros X] = Héros coordonnée X
Variable [héros Y] = Héros coordonnée Y

Comme vous l’avez remarqué, cet événement va enregistrer la position du héros au cours du jeu.

Ensuite créez un autre événement commun en processus parallèle appelez le touche tir et dedans mettez :

<>Attendre 0.1 sec (toujours pour éviter les ralentissements)
<>Appui d’une touche ;[touche] (on enregistre la valeur de la touche pressée dans la variable touche, dans cette boite de dialogue cochez seulement la touche majuscule qui correspond à la valeur 7, et ne décochez pas la case « Attendre jusqu’à ce qu’une touche soit pressée »)
<>Condition : si variable [touche] = 7
Faire
<>Interrupteur : (tir) activé
<>Attendre 0.5 sec (limite de temps avant le prochain tir)

Sinon
<>
<>

Voilà pour cet événement qui va détecter l’appui de la touche majuscule et donc activer le tir.

Puis sur chaque carte vous allez devoir créer un événement en processus parallèle avec comme condition de l’événement que l’interrupteur (tir) soit activé (à gauche de la page d’événement).
Mettez le aussi en processus parallèle, comme position au dessus du héros, mettez le en vitesse très rapide.
Vous pouvez lui donner l’apparence d’une balle pour faire plus réaliste.
Dans les commandes entrez :

<>Modifier la position d’un événement : cet événement X [héros X], Y [héros Y]
<>Jouer un effet sonore (jouez un effet sonore de tir si vous voulez)
<>Condition : si héros haut direction fixée
Faire
<>Déplacer cet événement : haut x 8 (nous mettrons une portée de 8 cases)
<>Attendre 0.4 sec
<>Interrupteur : (tir) désactivé
Sinon
<>Condition :si héros droite direction fixée
Faire
<>Déplacer cet événement :droite x 8
<>Attendre 0.4 sec
<>Interrupteur : (tir) désactivé

Sinon
<>Condition : si héros bas direction fixée
Faire
<>Déplacer cet événement : bas x 8
<>Attendre 0.4 sec
<>Interrupteur : (tir) désactivé

Sinon
<>Condition : si héros gauche direction fixée
Faire
<>Déplacer cet événement : gauche x 8
<>Attendre 0.4 sec
<>Interrupteur : (tir) désactivé

Sinon
<>
Fin
Fin
Fin
Fin

Voilà pour l’événement qui fera office de tir, en résumé, cet événement se déplacera de 8 cases dans la direction du héros lorsque la touche majuscule sera pressée (le « attendre 0.4 » secondes sert à attendre le moment où le tir arrive au bout des 8 cases pour l’effacer).

Maintenant reste à créer les ennemis et à définir les moments où ils seront blessés par le tir.
Nous allons considérer que les ennemis possèdent 5 PV.

Créez donc trois événement, dans la première page de chaque événement (les ennemis) mettez le déplacement du personnage « marche vers le héros », 8 en fréquence.
Comme déclencheur, mettez contact événement / héros (lorsque l’événement entre en contact avec le héros).

Dans les commandes mettez ce que vous voulez : cela sera ce qui se passera lorsque l’ennemi touchera le héros, donc lorsque votre personnage subira des dégâts (n’oubliez pas de retirer des PV au héros)

Créez une deuxième page dans chaque événement (les ennemis) mettez comme condition de l’événement (toujours à gauche de la page) que l’interrupteur (ennemi1, 2, ou 3) selon l’ennemi correspondant, soit activé.
En déclencheur mettez presser une touche, cela n’a pas d’importance, vu que cela correspond au moment où l’ennemi est mort.
Ne lui mettez aucun mouvement.
Laisser l’emplacement des commandes vierge, et ne lui mettez aucune apparence.

Voilà pour les ennemis (n’oubliez pas de faire 3 évènements, 1 pour chaque ennemi).

Pour résumer, les 3 ennemis vont se diriger vers le héros et lorsqu’ils entrerons en contact avec lui ils lui infligeront des dommages, mais lorsque l’interrupteur mort sera activé, c’est à dire lorsque vous l’aurez tué, il ne fera plus rien, il sera inactif, « mort » si vous préférez.

Nous devons aussi enregistrer la position du tir lorsque vous tirerez sur vos ennemis :

Sur chaque carte où se trouve l’événement tir, créez un événement en processus parallèle avec comme condition que l’interrupteur tir soit activé, dans les commandes mettez :

<>Condition : si interrupteur (tir) est activé
Faire :
<>Variable [tir X] = coordonnée X de l’événement tir
<>Variable [tir Y] = coordonnée Y de l’événement tir
Sinon :
<>Variable [tir X] = 0
<>Variable [tir Y] = 0
Fin

Lorsque vous tirerez, la position de l’événement tir sera enregistrée et nous permettra de savoir si le tir passe sur des ennemis.

Il faut aussi enregistrer les positions des ennemis :
Dans chaque carte créez un événement en processus parallèle, dans les commandes mettez :
<>Variable [ennemi1 X] = coordonnée X de l’événement ennemi1
<>Variable [ennemi1 Y] = coordonnée Y de l’événement ennemi1
<>Variable [ennemi2 X] = coordonnée X de l’événement ennemi2
<>Variable [ennemi2 Y] = coordonnée Y de l’événement ennemi2
<>Variable [ennemi3 X] = coordonnée X de l’événement ennemi3
<>Variable [ennemi3 Y] = coordonnée Y de l’événement ennemi3

Voilà, la position de chaque ennemi est enregistrée.

Il faut maintenant définir ce qu’il se passera lorsque l’événement tir passera sur les ennemis, c’est à dire lorsque vous leur tirerez dessus.

Pour cela dans chaque carte où seront présents les ennemis, créez un événement sur cette carte en processus parallèle, et comme commandes mettez :

<>Condition : si interrupteur (tir) activé
Faire :
<>Condition : si variable [tir X] = variable [ennemi1 X]
Faire :
<>Condition : si variable [tir Y] = variable [ennemi1 Y]
Faire :
<>Condition : si interrupteur (ennemi1 mort) désactivé
Faire :
<>Variable [vie ennemi1] – 1
<>Flasher événement : ennemi1 (pour montrer qu’il s’est fait toucher)
<>Condition : si variable [vie ennemi1] est inférieure ou égale à 0
Faire :
<>Jouer un effet sonore (pour montrer que l’ennemi est mort)
<>Modifier interrupteur : (ennemi1 mort) activer
Sinon :
<>Déplacer événement : ennemi1 ; regarde le héros, fixe la direction, fuit le héros de 1 pas, annuler fixation (pour simuler le recul de l’ennemi lorsqu’il est touché)
Fin
Sinon :
Fin
Sinon :
Fin
Sinon :
Fin
Sinon :
Fin

<>Condition : si interrupteur (tir) activé
Faire :
<>Condition : si variable [tir X] = variable [ennemi2 X]
Faire :
<>Condition : si variable [tir Y] = variable [ennemi2 Y]
Faire :
<>Condition : si interrupteur (ennemi2 mort) désactivé
Faire :
<>Variable [vie ennemi2] – 1
<>Flasher événement : ennemi2 (pour montrer qu’il s’est fait toucher)
<>Condition : si variable [vie ennemi2] est inférieure ou égale à 0
Faire :
<>Jouer un effet sonore (pour montrer que l’ennemi est mort)
<>Modifier interrupteur : (ennemi2 mort) activer
Sinon :
<>Déplacer événement : ennemi2 ; regarde le héros, fixe la direction, fuit le héros de 1 pas, annuler fixation (pour simuler le recul de l’ennemi lorsqu’il est touché)
Fin
Sinon :
Fin
Sinon :
Fin
Sinon :
Fin
Sinon :
Fin

<>Condition : si interrupteur (tir) activé
Faire :
<>Condition : si variable [tir X] = variable [ennemi3 X]
Faire :
<>Condition : si variable [tir Y] = variable [ennemi3 Y]
Faire :
<>Condition : si interrupteur (ennemi3 mort) désactivé
Faire :
<>Variable [vie ennemi3] – 1
<>Flasher événement : ennemi3 (pour montrer qu’il s’est fait toucher)
<>Condition : si variable [vie ennemi3] est inférieure ou égale à 0
Faire :
<>Jouer un effet sonore (pour montrer que l’ennemi est mort)
<>Modifier interrupteur : (ennemi3 mort) activer
Sinon :
<>Déplacer événement : ennemi3 ; regarde le héros, fixe la direction, fuit le héros de 1 pas, annuler fixation (pour simuler le recul de l’ennemi lorsqu’il est touché)
Fin
Sinon :
Fin
Sinon :
Fin
Sinon :
Fin
Sinon :
Fin


Pour résumer, lorsque l’événement tir passe au dessus d’un ennemi, on efface le tir, l’ennemi prend 1 point de dommage subit un flash lumineux pour montrer qu’il s’est fait toucher, si ses points de vie sont inférieurs ou égaux à 0, il meurt (l’interrupteur ennemi1, 2 ou 3 est activé), sinon il est encore vivant et subit un recul d’une case en arrière.

Voilà pour ce système de combat, et surtout dans les commandes de l’événement qui vous téléporte à la carte où se trouvent les ennemis, ajoutez bien les commandes suivantes :

<>Interrupteur (ennemi1 mort) désactiver
<>Interrupteur (ennemi2 mort) désactiver
<>Interrupteur (ennemi3 mort) désactiver
<>Variable [vie ennemi1] = 5 (PV de départ de l’ennemi, ici 5)
<>Variable [vie ennemi2] = 5
<>Variable [vie ennemi3] = 5

Voilà, votre système de gunfight est prêt, j’ai pris plaisir à écrire ce tutorial, j’espère que vous en avez compris le principe. Vous pouvez l’adapter à votre guise, par exemple ajouter plus d’ennemis (pas trop sinon le jeu est ralentit) il faudra alors ajouter des interrupteurs en plus, ainsi que d’autres variables… A vous de choisir !


jonate 1 - posté le 27/06/2008 à 21:28:02. (7 messages postés)

quelqun peut métre un screen?????

ceci est mon forum:http://lilledefeu.xooit.fr/index.php


bhhhuhjbuhbuhb (visiteur non enregistré) - posté le 12/07/2008 à 16:49:39.

:hihi


Naked-Snake (visiteur non enregistré) - posté le 23/08/2008 à 18:57:22.

Citation:

quelqun peut métre un screen?????



Pas besoin de screen, vu que c'est à vous de personnaliser ce système avec vos charsets, un screen ne vous avancera à rien, on peut très bien le faire en RTP, comme avec autre chose...

Et pour la démo, bah, faut se débrouiller un peu... C'pas compliqué, j'me suis pas embêté à tout expliquer pas à pas pour rien j'espère...


Snikers - posté le 19/04/2009 à 21:42:12. (7 messages postés)

Dommage que ce soit si dure sa ma decouragerXD


vexkar - posté le 06/05/2009 à 17:20:36. (99 messages postés)

Foxbye

Ca marche nickel pour XP, les modifs persos sont même assez facilement mis en place !
Merci beaucoup !

L'adepte de littérature ---> une catégorie en voie d'extinction !


kilam1110 - posté le 05/07/2009 à 11:22:08. (9159 messages postés)

Bah TG.

Je te dirait comment l'améliorer Vexkar ;)

New RPG Maker - Forum traitant du logiciel RPG Maker tout en français ! | SURVIVE V2.5 - Dégommez du zombie !


joguizi - posté le 08/07/2009 à 22:32:21. (27 messages postés)

Mon objectif : crée un RPG naruto.

Je comprend pas comment actionner tout sa maintenant :( Ce tuto à l'air super bien j'aimerais l'utiliser mais quand j'appui sur Z ( La touche que j'ai mi ) sa fait rien. J'utilise RPG maker VX. Ce tuto marche sur VX aussi?:hihi

-- Sébastien --


tomoyos - posté le 13/08/2009 à 11:57:09. (211 messages postés)

les script sa bug les évent sa fonctionne !

pour moi je peut pas sur VX car je trouve pas appuie d'une touche ...


Tata Monos - posté le 13/08/2009 à 11:59:06. (56891 messages postés) - misteroniro

Vive le making libre

Directement dans les conditions.

Pixner|Offgame | Le comptoire des clikeurs


tomoyos - posté le 13/08/2009 à 12:26:43. (211 messages postés)

les script sa bug les évent sa fonctionne !

j'allai édit pour le dire ^^je venez abandonner et le bom je viens de trouver j'ai voulu éditer mais ta post ..

EDIT : moi je peut pas mettre 0.1 je peut que 1


Garoh - posté le 13/09/2009 à 14:36:57. (654 messages postés)

Garoh pour les vrais.

1 frames = 0,1 secondes ^^

Slendertale, un fangame horreur d'Undertale | Under the bed, le jeu où faut mettre sur pause


Le moine - posté le 12/10/2009 à 17:23:26. (121 messages postés)

Je vais essayer, il me paraît excellent.


Copérnic - posté le 02/03/2010 à 19:02:49. (179 messages postés)

Je l'ai fait sur XP, mais ça marche pas : Le perso ne tir pas :'( !
Que dois-je faire ? :help


virateck - posté le 06/08/2010 à 11:03:54. (47 messages postés)

salut ! j'ai une question : j'ai utilisé ce tuto mais quand je tire ben la balle bouge mais en restant dans le coin en haut a gauche Oo' c'est normal?

merci d'avance !!! :);)

fana de metroid jusqu'au bout!!!


leococodu34 - posté le 11/02/2011 à 07:29:04. (5 messages postés)

merci exelent tuto j'en avais besoin!:feu:banane


Cawa - posté le 30/10/2011 à 18:48:41. (2 messages postés)

Tutoriel très ingénieux!
Bravo!
Et on peut facilement retoucher à sa sauce!


Eichimaru - posté le 16/01/2012 à 22:14:27. (209 messages postés)

Graphiste en puissance!!

vira teck> a-tu mis la téléportation de la balle sur le héros?

Iron::http://iron.xooit.fr/index.php


oldiesgamer - posté le 21/08/2012 à 09:00:15. (3 messages postés)

Super tuto,marche niquel mais j'ai tout de meme un inconvénient,quand le monstre touche le héro il disparait,pourquoi?Comment y remédier??

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site:

Communauté: Accueil | News | Forum | Flash-news | Sorties | Chat | Commentaires | Galerie | Blogs | Articles perso | Screen de la semaine | Palmarès | Livre d'or | Recherche | Interviews | OST | L'Annuaire | Divers
Apprendre: Le Wiki | Tutoriels | Guides | Gaming-Live | Tests | Making-of
Télécharger: Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | Collection Oniro | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Hébergés: Aëdemphia | Fighting Robots Quest | Geex | Inexistence | La Légende d'Ibabou | Nylu | Sarcia | Super Mario RPG - Lost Souls
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis