Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

News: Les actualités de fin d'année / Jeux: Glixel en version complète / Jeux: Izac 1 / News: Des jeux d'hiver sous la couette / Scripts: Système de vol pour RPG Maker (...) / Chat

Bienvenue
visiteur !





Désactiver
la neige


publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

266 connectés actuellement

30834977 visiteurs
depuis l'ouverture

2244 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Kingdom Ultimate

Le Temple de Valor

Lunae - le bazar d'Emz0

Lumen

New RPG Maker

Tous nos partenaires

Devenir
partenaire



Tir de projectile pour A-RPG Partie 1 : les bases

Pour créer un système de combat où l'on peut tirer sur ses ennemi, tout en événements.

Ecrit par Naked-Snake le 02/05/2007


❤ 0

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.

Avec de la patience et du travail sur les aspects esthétiques, vous pouvez obtenir un résultat de ce genre :
image
Shadow Seeker par KoopaKush (RPG Maker 2003).

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.

Citation:

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 :

Citation:

<>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 :

Citation:

<>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 :

Citation:

<>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 :

Citation:

<>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

Citation:

é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 :

Citation:

<>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 !


Mis à jour le 16 février 2021.





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

❤ 0

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

❤ 0

:hihi


Naked-Snake - posté le 23/08/2008 à 18:57:22 (8468 messages postés)

❤ 0

"Hey ! Dallas ! Follow my lead !" - Hoxton

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...

Une ènième chaine livestream | Page Facebook de 8 Bit Runner


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

❤ 0

Dommage que ce soit si dure sa ma decourager XD


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

❤ 0

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)

❤ 0

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)

❤ 0

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)

❤ 0

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 (28 messages postés)

❤ 0

Compte Non utilisé

Directement dans les conditions.


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

❤ 0

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


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

❤ 0

Je vais essayer, il me paraît excellent.


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

❤ 0

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)

❤ 0

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)

❤ 0

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


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

❤ 0

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)

❤ 0

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)

❤ 0

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??


celeste_73_ - posté le 28/08/2020 à 11:51:26 (1 messages postés)

❤ 0

merci baucoup je veut faire uun jeu a la zelda et ce tuto m'aide baucoup

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 | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
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
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers