Night.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

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

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / News: Quoi de neuf sur Oniromancie (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

403 connectés actuellement

29374065 visiteurs
depuis l'ouverture

3432 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Lumen

Zarok

RPG Maker Détente

Hellsoft

Le Temple de Valor

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [RPG Maker VX Ace] Je n'arrive pas à faire une quête


azimal - posté le 13/03/2015 à 11:58:39 (27 messages postés)

❤ 0

Domaine concerné: Events
Logiciel utilisé: RPG Maker VX Ace
Bonjour, j'ai passé environ deux jours sur une quête que je n'arrive pas à mettre en place. Il y en a une troisième que j'ai réussi tout seul après plusieurs heures passées dessus, mais sur la quatrième que j'essaye vainement de mettre en place, je sèche complètement. J'ai du mal à comprendre le rôle des événements, des événements communs, des interrupteurs locaux et globaux, des Conditions hors commandes d'événements et des conditions "dans la commande d'événement". Du coup, je me retrouve avec un problème...
-------------

La troisième quête et la quatrième quête sont plus ou moins liées. Mais il ne faut pas que je touche à la troisième. Tant que mon Héros n'a pas parlé aux 4 PNJ, un "Prof" l'empêche de sortir. Jusque-là, ça va. J'ai réussi.

Pour la quatrième quête, je veux qu'un cinquième PNJ aborde mon Héros, et le bloque (qu'il l'empêche lui aussi de sortir) tant qu'il n'est pas allé lui parler. Mais il faut qu'il puisse entrer sans être bloqué, et être bloqué quand il essaye de sortir, car il faut parler au Prof et au cinquième PNJ.

----------------

J'ai tenté de pleins de façons différentes, et j'ai cru avoir réussi une fois, et au final non.

Donc, en résumé :

-Prof empêche Héros de sortir (OK);
ET
-PNJ N°5 empêche Héros de sortir, sauf s'il lui a parlé ET qu'il a parlé à l'instit.

---------------
En fait, par quoi remplacer le mot "Conditions" lorsqu'on veut parler de façon moins informatique ?

En effet, quand je place deux conditions à la suite par exemple, je me dis "Si/Lorsque Héros remplit ces deux conditions, alors j'active tel(s) interrupteur(s).

Je vous remercie d'avance, infiniment, pour votre aide si précieuse... J'espère que je vais finir par comprendre les rouages de ce logiciel !


--------------

Quand le Héros entre, l'interrupteur "JeTenferme" doit s'activer, afin de mettre en place les éléments de la seconde case.
Dans la seconde case, PNJ5 doit laisser mon Héros tranquille s'il est entré, mais qu'il a pas parlé au Prof, et qu'il n'a pas parlé à PNJ5.
En revanche, s'il a parlé au Prof mais pas au PNJ5, alors un message "Viensmevoir" doit s'activer.
Si le Héros est entré, a parlé au PNJ5, mais pas au Prof, le message "Viensmevoir" doit aussi être activé.
Sur la case où se situe le PNJ5, je mettrais juste un message normal, je pense, mais qui n'active rien de spécial. Par contre, s'il a rempli la quête "blocage" du PNJ5, ce serait bien qu'il puisse dire de nouvelles choses.

-----------

Je sais pas si j'ai été très clair, j'ai essayé de faire simple mais au final c'est assez complexe.

J'essaierais de reformuler tout ça, si c'est pas bien compris...

Bon, je tente un second "résumé".
-------------------

-Prof empêche Héros de sortir (OK);
ET
-PNJ N°5 empêche Héros de sortir, sauf s'il lui a parlé ET qu'il a parlé à l'instit.

Si Quête PNJ5 pas remplie, alors Message1.
Si Quête PNJ5 remplie, alors Message2.

--------------

J'ai activé l'interrupteur "okpourpartir" sur le Prof, dans toutes les phases du dialogue, pour qu'une fois après lui avoir parlé, la case ne s'active que lorsque c'est nécessaire. Mais à partir de là, je ne sais pas comment faire pour mettre en place que je veux, j'ai passé longtemps à jouer avec les priorités d'affichage, les interrupteurs globaux et locaux et les Condtions, mais je n'ai pas réussi à atteindre mon but, malheureusement...


--------------

Pour le programme de la seconde case où j'ai fait le gros du travail, j'ai créé plusieurs interrupteurs.

L'interrupteur "Jet'enferme" est présent et s'active quand le héros atteint la case d'entrée.

L'interrupteur "Viensmevoir" est censé s'activer uniquement si je suis passé par la case "Jet'enferme", et que j'ai parlé à personne. Il est aussi censé s'activer si je suis passé par la case "Jet'enferme", que j'ai parlé au Prof, mais que j'ai pas parlé au PNJ5.

Ce même interrupteur est censé se désactiver quand je suis entré, et que j'ai parlé au Prof et au PNJ N°5. Une fois la quête PNJ5 remplie, je veux que mon Héros puisse passer sans être bloqué.

L'interrupteur "OkpourPartir" s'active quand j'ai parlé au Prof.

-------------

Enfin, pour sortir, le Héros doit être entré, avoir parlé au prof, et au PNJ5. Mais s'il est entré et qu'il n'a rien fait de tout ça, il doit pouvoir passer. Par contre, s'il essaye de retourner sur ses pas, il doit rester bloqué.


Sombracier - posté le 13/03/2015 à 15:46:48 (18 messages postés)

❤ 0

Citation:

J'ai du mal à comprendre le rôle des événements, des événements communs, des interrupteurs locaux et globaux, des Conditions hors commandes d'événements et des conditions "dans la commande d'événement". Du coup, je me retrouve avec un problème...



- Un évènement peux être beaucoup de chose sur tes maps, ça peut être une porte, un PNJ, un piège, une pierre qu'on peux pousser, un levier, voir même dans certains cas de simple éléments de décors. Et comme tu as pu le remarquer on s'en sert aussi pour "programmer" des choses tel que des intro, des conditions de passage, des dialogues, enclencher des combats de boss, rajouter des objets, etc...

- Un évènement commun est assez similaire à un évènement à la différence qu'il n'a pas de sprite et peux être appelé depuis n'importe quelle map du jeu.

- Je t'avais déjà expliqué la fonction des interrupteurs locaux, ils fonctionnent comme des interrupteurs globaux à l'exception qu'ils ne peuvent influencer que l'évènement auquel ils appartiennent. La limite des interrupteurs globaux étant de 5000, les interrupteurs locaux permettent d'économiser sur cette limite.

- Les interrupteurs globaux fonctionnent comme les interrupteurs locaux à l'exception qu'ils ont la capacité d'influencer d'autres évènements.

- Les conditions hors commande d'évènements servent à prendre en compte l'évènement en question si les conditions sont remplit. Dans le cadre où l'évènement possède plusieurs pages, seul la page dont le chiffre est le plus haut est pris en compte (à partir du moment où la condition est remplit). Si tu veux par exemple faire apparaitre un PNJ, ce sera avec cette condition (mais on peux le faire avec d'autres façons).

- Les conditions dans la commande d'évènement vont servir à donner plusieurs cas de figure dans le cas où la condition est soit vrai, soit fausse, de plus, tu peux ajouter autant de conditions que tu le souhaites.


Citation:

Pour la quatrième quête, je veux qu'un cinquième PNJ aborde mon Héros, et le bloque (qu'il l'empêche lui aussi de sortir) tant qu'il n'est pas allé lui parler. Mais il faut qu'il puisse entrer sans être bloqué, et être bloqué quand il essaye de sortir, car il faut parler au Prof et au cinquième PNJ.



En gros quand ton héro entre dans la pièce, il va d'abord passer sur un évènement dont la page 1 est vierge (appelons cet évènement 001 pour l'exemple) puis la case d'après il va passer sur un autre évènement (002 pour l'exemple) activant un interrupteur global qui va faire passer l'évènement 001 en page 2 où se trouve la programmation empêchant le joueur de partir de la pièce tant que les interrupteur [parler au prof] et [parler a PNJ5] ne sont pas activé, il ne faut pas oublier de faire reculer le joueur d'une case si il tente de sortir sans avoir remplit les conditions sinon le joueur pourra poursuivre sa route.


Anton_ - posté le 13/03/2015 à 17:30:57 (1522 messages postés)

❤ 0

Un event que j'utilise beaucoup c'est l'event invisible en dessous du héros, qui se déclenche "Au contact du héros".

Donc bon, imaginons la situation

Portion de code : Tout sélectionner

1
2
3
4
...xC..
A>.B.... ->(sortie)
...x...
 



. : sol marchable
x : mur
A : héros
> : déplacement du héros
B : event au sol
C : PNJ5

Ce qu'on veut faire, si j'ai bien compris, c'est que le héros peut passer dans un sens, mais pas dans l'autre (sous certaines conditions) tant que la quete du PNJ5 est pas complétée ?

Alors, ce que je propose :

Event B, Page 1 :
Condition (interrupteur, variable, etc...) = "Quete_PNJ5_Disponible" ON
Déclenchement : Au contact du héros

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
Si (direction héros = droite)
{
 
#mise en scene
 Déplacer PNJ5 : un pas en bas, regarde à gauche
 Message : "On ne passe pas, t'as des trucs à faire !"
 Déplacer PNJ5 : déplace haut, regard inital
 
#important : reculer le héros
 Déplacer héros : reculer, 1 pas
}
 



Ensuite, tu fais au mieux pour parler aux gens et déclencher l'interrupteur de la page 2.

Event B, Page 2 :
Condition (interrupteur, variable, etc...) = "Quete_PNJ5_Blabla_Fait" ON
Déclenchement : Touche Action

Portion de code : Tout sélectionner

1
2
3
 
#(auncune ligne)
 



l'astuce c'est de voir la direction du héros, comme ça tu peux mettre un event qui se déclenche dans un sens.

Par contre, s'il y a plusieurs possibilités de direction, comme dans l'exemple suivant :

Portion de code : Tout sélectionner

1
2
3
...vC
A.>B....... -> sortie
...^



Le héros peut allez sur la case B avec 3 directions différentes (indiqués avec v > ^)
il faut donc remplacer le test conditionnel de direction

Si (direction héros = droite)

par

variable DirH = héros.direction
Si (DirH != 4)


(stocker une direction dans une variable donne un 2, 4, 6 ou 8, regarde ton pavé numérique et tu comprendras pourquoi)
Toutes les direction sauf la direction gauche (4) doivent faire bouger le PNJ5. C'est pour cela qu'on doit utiliser en condition : Direction != 4


Pour l'event C, faut mettre des pages et les interrupteurs cités en jaune en Condition, pour qu'il puisse varier son blabla.

PS : tu devrais utiliser des couleurs, c'est bien les couleurs pour mieux voir tes longs posts.

Raetribution | Megamike || tutos : 1 2 || TowerClimb cé bien || Rang Master sur TGM3.


azimal - posté le 14/03/2015 à 11:14:44 (27 messages postés)

❤ 0

Bonjour, excusez-moi pour le temps à répondre, j'ai eu beaucoup de choses à faire hier après avoir posté mon message. Je ne suis pas certain à 100 % d'avoir réussi l'event que je voulais faire, mais je suis parti de là où je suis, et je n'ai pas pu prendre mon ordinateur car il s'agit d'un fixe. Ensuite, j'ai donc repris le logiciel sur un ordinateur portable que j'ai quand même récupéré, et j'ai essayé de reproduire l'event d'une autre façon.

Sur la case où le Héros est téléporté, cela active le processus du "blocage à la sortie"dans le cas où les conditions ne sont pas remplies. Si le héros essaye de sortir sans avoir parlé au Prof, il écope d'un message1, s'il essaye de partir sans avoir parlé au PNJ, il écope d'un message2, et s'il a parlé aux 2 alors il peut sortir.

J'ai pas vraiment suivi vos méthodes, mais elles m'ont bien aidé. En effet, lorsque le Héros entre, cela active l'interrupteur "CaseActivee", mais aussi l'interrupteur2, qui lui bloque mon Héros tant que tout n'est pas rempli. En fait, je pense que j'avais compris le "truc", mais j'avais voulu programmer une seule page, alors qu'il fallait en faire trois !

--------------

Alors, comment j'ai fait :

Mon Event1 active "CaseActivee", et "Interrupteur2". Dans "Page2", se trouve les Conditions qui disent que si Prof+Fille OK = Activer Interrupteur3 (où j'ai désactivé tous les interrupteurs de l'événement), si Prof mais pas Fille = Message1 mais "PasOkPourPartir", et si "PasProfetPasFille", alors PasOkPourPartir".

Merci encore pour votre aide si précieuse !!!!!! ;)


terzarok - posté le 24/04/2015 à 19:57:37 (345 messages postés)

❤ 0

Sinon ce que tu peux faire pour plus tard, c'est jouer avec une (voire deux) variables et les interrupteurs locaux :)
Je m'isplique :
- un événement "vide" en plein milieu du passage que le héros devras emprunter pour sortir
- le prof
- le PNJ5
- un interrupteur ou variable d'avancement de quête
- et une variable que tu pourras réutiliser plus tard (un "compteur", ou un truc polyvalent de ce genre-là) que tu initialiseras à zéro au tout début de cette quête

Pour le prof et PNJ5, tu leurs fais deux pages d'événements chacun :
- Page 1 : le blabla utile qu'il faudra écouter pour valider la moitié de la condition, la variable "compteur" avec la valeur "+1", et enfin un interrupteur local (par exemple, le A activé)
- Page 2 : la condition de la page basée sur l'interrupteur local A activé, et le blabla que tu veux au cas où le joueur reparlerait à ce PNJ (devenu inutile pour le moment dans l'avancement de la quête)
- Page 3 : la condition interrupteur d'avancement de quête activé avec un troisième blabla passe-partout pour que le joueur puisse éventuellement reparler à ces deux PNJs-là sans qu'ils lui disent "eh ! Va parler à Machin sinon tu ne sors pas d'ici !" dix ans après

Pour l'événement vide "porte de sortie", tu fais la condition <Si variable compteur = 2 Alors (passage autorisé) + interrupteur avancement de quête différent de 0, Sinon (passage interdit, va causer aux deux PNJS !) >, et une nouvelle page activée par l'interrupteur local A, déclenchement parallèle avec pour seule commande "Effacer l'événement"

Je ne sais pas si c'est très clair ce que j'ai raconté ? :)


Début de quête, variable Compteur = 0 et AvancéeQuête = 0 (imposé, pour être sûr de ne pas avoir de petits bugs inattendus)

--- Prof ---
Page 1 :
Salut Machin, tu vas devoir faire ça, ça et ça ...
variable Compteur +1
Interrupteur A activé
Page 2 (avec condition interrupteur A activé) :
Demande plus de précisions à PNJ5 si tu m'crois pas ...
Page 3 (avec condition variable AvancéeQuête >= 1) :
Comment va ta vie depuis le temps ? Bien ou bien ?

--- PNJ5 ---
Page 1 :
Salut Machin, tu vas devoir faire ça, ça et ça ...
variable Compteur +1
Interrupteur A activé
Page 2 (avec condition interrupteur A activé) :
Demande plus de précisions à Prof si tu m'crois pas ...
Page 3 (avec condition variable AvancéeQuête >= 1) :
Comment va ta vie depuis le temps ? Bien ou bien ?

--- "porte de sortie" ---
Page 1 :
Condition < variable Compteur = 2
Alors "Tu peux passer"
variable AvancéeQuête = 1
Interrupteur local A activé
Sinon "T'as pas parlé à tout le monde !"
Page 2 (avec interrupteur local A activé, et déclenchement sur Processus Parallèle) :
Effacer cet événement



Voilà voilà ... j'avoue que ma technique n'est peut-être pas la plu simple, mais c'est celle que j'utilise partout dans mon projet ^^

Il y a des gens qui passeraient des heures à expliquer qu'ils sont débordés. Moi sur Deviantart


azimal - posté le 26/04/2015 à 14:25:51 (27 messages postés)

❤ 0

Bonjour, je vous remercie vraiment pour votre aide à tous,
je commence à avancer pas à pas dans mon projet, et c'est surtout grâce à vous, merci beaucoup :)

Je viendrai de temps à autre, je pense, à moins d'avoir quelques difficultés. Mais est-ce un mal si je ne suis pas "assidu" et que je ne viens pas ici régulièrement ? Si c'est le cas, je veux bien faire un effort pour rester parmi vous :)

Mais, je voulais juste vous adresser mes remerciements-très en retard, c'est vrai...

Index du forum > Entraide > [RESOLU] [RPG Maker VX Ace] Je n'arrive pas à faire une quête

repondre up

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