Le Deal du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

Aller en bas
brasegajames
brasegajames
Membre

Nombre de messages : 100
Age : 29
Localisation : Devant mon ordi!!!
Distinction : aucune
Date d'inscription : 19/12/2008

RPG Maker VX Ace [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts

Dim 18 Aoû 2013 - 11:39
Je sais pas vous, mais moi j'ai eu durant ma vie de maker quelques démêlés non pas avec la justice (dieu m'en soit loué, si dieu existe-il), mais avec les événements. Je mesuis alors dit que j'allais aller faire des études d'info parce que c'est chouette. J'en suis revenu et je me suis retrouvé à faire encore des événements que je trouvais de 1 : trop longs, et de 2 : pas pratiques.

Je précise avant toute chose que ce tutoriel n'est pas compliqué du tout, il ne faut pas savoir scripter, connaître à la rigueur un minimum l'anglais pour savoir ce que veut dire and et or... (OMAGADE QUE C'EST DUR), et connaître un peu de maths, le niveau début de collège est je pense plus que suffisant pour appréhender ce tutoriel.

Ce tutoriel nécessite néanmoins une compréhension basique des coordonnées que vous pouvez trouver bien expliqué ici : https://rpgmakervx.1fr1.net/t12366-utilisation-avancee-de-variables
Les 2 premiers points devraient faire amplement l'affaire pour ce tutoriel.

Je vais donner un bon exemple pour ce tutoriel, car je pense qu'il pourrait parfaitement convenir pour la situation.

Je me suis dit dans mon magnifique projet, que les combats aléatoires étaient chiants, et qu'il valait mieux varier les plaisirs en laissant le personnage agresser lui même les monstres qu'il voulait tuer, ou alors se faire poursuivre par les monstres directement, et permettre éventuellement au joueur de pouvoir esquiver ces mêmes combats. C'est je pense une bonne mécanique de jeu pour palier au problème récurent des combats aléatoires que plus personne ne peut blairer disons-le nous clairement.

Je vais cous montrer les 2 manières que j'ai utilisé, et vous allez vous dire oh mon dieu, ce tutoriel est magnifique Smile
Tout ça car, la première est faisable, mais longue, et pas pratique du tout, mais alors pas du tout, et la 2e et très simple, vous verrez plus bas en très gros pourquoi :p

ALLONS-Y
[Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  568710 

Donc je me suis dit tout d'abord... De quoi j'ai besoin???
Logiquement on a besoin de 4 variables étant respectivement:
   - La position du héros en X, et en Y
   - La position du monstre en X et en Y.

Ces 4 variables ayant pour but de déterminer si le héros est dans une zone délimitée par par exemple 4 cases autour du monstre (en carré).
On a besoin pour cela de pas moins de 4 conditions, et de changer la valeur de la position du monstre de 4 (par exemple encore), en + ou en - en fonction de la condition pour créer cette zone imaginaire qui une fois pénétrée, le monstre va te suivre par une activation d'interrupteur local.

Ce charabia parle pas forcément à tout le monde, un petit screen s'impose :

[Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  110
[Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  418140  NUB 
Tout ça suivi d'une 2e page avec condition interrupteur local A activé lançant un combat (activant un interrupteur local B à la fin)au contact du héros, et avec le monstre suivant le héros. Ainsi qu'une 3e page vide sous le héros, sans texture pour faire mourir l'évent (MOUHAHAHAHAHAAAAA)...

Je me suis dit : "Ouais Brase, ça y est, t'as réussi à faire un truc pas inutile avec les évents... Tu vas pouvoir le copier coller partout !!! Pour faire plein de monstres qui agressent les gens ouais !!!"

Le truc c'est que évidement... J'avais oublié un truc essentiel, c'est que les variables sont pas super magiques, et surtout pas locales. :/
Ce qui fait que si tu te fais aggro par un monstre, tous les autres vont se ruer sur toi (ce qui pourrait être cool dans un certain point d'ailleurs m'enfin pas dans mon cas donc on s'en fout)...
Donc j'ai été voir un script de variables locales, mais je me suis dit que ça allait bien trop loin, et que moi qui avait fait de la prog cette année, j'allais utiliser mes connaissances pour voir un peu si ça peut marcher plus vite...

Alors j'ai réfléchi, et j'ai cherché un peu sur le net, et j'ai trouvé comment récupérer les positions du héros, d'un évent, ou de "cet évent", par script, je me suis ouah je suis sauvé je vais pouvoir copier coller mes petits évents... Et sur ce même lien, je vois (et j'avais bien entendu aucune idée qu'un truc pareil était possible) qu'on peut faire une multi condition dans les conditions en utilisant les scripts . Je me dit alors... Bah bien évidement que ça existe pourquoi ça existerait pas. Me sentant très bête, j'ai alors remplacé un événement qui me prenait plein de variables pour chaque monstre et pour le héros que je changeait tout le temps...

Par une seule ligne de condition !!!

Je veux bien vous donner ce screen, mais in vous sera pas d'une grande utilité : [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  310

Ce qui donne : $game_map.events[@event_id].x - 4 <= $game_player.x and $game_map.events[@event_id].x + 4 >= $game_player.x and $game_map.events[@event_id].y - 4 <= $game_player.y and $game_map.events[@event_id].y + 4 >= $game_player.y

Je vais expliquer tout ça :

$game_map.events[@event_id].x et $game_map.events[@event_id].y sont les positions ce "cet évent" en X et en Y.
$game_player.x et $game_player.y sont les positions du héros en X et en Y.
Le AND permet de faire une condition ET, c'est à dire : telle condition est remplie, et telle autre. Vous pouvez utiliser or (j'imagine, hein j'ai pas essayé, mais ça tombe sous le sens que ça marche), pour faire des conditions telles que la condition précédente en remplaçant les AND par des OR, on peut faire le chemin inverse. Admettons que vous vous échappez de cette dite zone, faites cette condition quand le monstre vous suit, les OU vont vérifier si le personnage est en dehors des limites (vous devrez inverser les signes également, c'est logique).

Si vous voulez prendre un évent en particulier, remplacez "@event_id" par le numéro de cet évent.
Vous pouvez tout aussi bien utiliser ces conditions avec des constantes que vous voulez.


Vous pouvez dès lors ne plus imbriquer toutes vos conditions les unes dans les autres, et ne plus utiliser de variables pour un rien, car une variable est faite pour varier, et pas être utilisée juste pour une condition. Autant se faciliter la vie.

Je donne un lien sympa pour ceux qui sont intéressés, je m'en suis aidé pour tomber sur les adresses des positions : http://finalbossblues.com/rmvxace-using-map-coordinates-p2/


D'ailleurs je fais une petite requête ici : Si quelqu'un a un lien donnant une liste intéressante de tout ce qui peut servir dans des appels de scripts comme la position du héros que j'ai utilisé, je connais les variables, et les évents, mais il doit y avoir un formulaire quelque part, je sais que vous avez un lien pareil. :p
Sinon je me met au rgss3 et je me tais :/


J'espère que ce tutoriel vous a fait comprendre un truc assez essentiel qu'est l'utilisation de scripts dans les conditions. Si quoi que ce soit n'a pas été clair, ce que je peux comprendre, faites le moi savoir, et j'éditerais (dans la mesure d'une plus grande compréhension hein, parce que pour moi c'est parfaitement clair là) ce post pour vous satisfaire. Smile


Dernière édition par brasegajames le Dim 18 Aoû 2013 - 18:11, édité 2 fois
Elisa'
Elisa'
Staffeux retraité

Nombre de messages : 2924
Age : 26
Localisation : Par là-bas !
Distinction : Mon héritière que je chéris [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  344805[Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts  344805
[Coco' Smile]
Plus que 2 ans avant d'épouser Coco' ! Compte à rebours lancé !
[Auto-distinction]

Adepte du "Je le savais" alors qu'elle le savait pas.
Date d'inscription : 30/05/2009

RPG Maker VX Ace Re: [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts

Dim 18 Aoû 2013 - 12:02
+5 points de participation, merci pour le tuto !
Spytje
Spytje
Administrateur

Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

RPG Maker VX Ace Re: [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts

Dim 18 Aoû 2013 - 13:52
Merci pour ce tutoriel très utiles il pourrait également, entre autres, être utilisé pour faire un arpg en event.
Contenu sponsorisé

RPG Maker VX Ace Re: [Astuce de tonton Brase] Utiliser intelligemment les variables via les scripts

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum