Salut les gens, sa fait un bail!
Je reviens aujourd'hui avec une version encore plus pousser du Saut VXAceSaut 3.1_Alternative [VXAce]
Fiche technique:- Spoiler:
Auteur : (attention c'est compliqué) Jodge sur la base de la V3 de héos, qui est une maj pour VXAce, de la 2.0 de Jodge (maj développer sans la base de la 2.0) Capish ?
Version actuelle : 3.1_Alternative (version alternative de 3.0 ou le saut a lieu après vérification)
Lien de téléchargement : http://www.mediafire.com/?0et3l5sd959omfj *
* Le système étant long et complexe, une version téléchargeable ainsi qu'une mini map test, vous permettra de mieux cerner le système pour l'utiliser, et aussi voir les quelque bug connue
Change log:- Spoiler:
V 1.0 : Création d'un système de base
V 2.0 : Ajout des sécurités en cas de saut rater version VX
V 3.0 : Ajout d'autres sécurités et mise a jour VXAce (pas Heos)
V 3.0_alternative : Ajout des sécurités AVANT le saut
V 3.1_alternative : Ajout de la prise en compte des distances
Bug Connue :- Spoiler:
- Bug de caractère lors d'un passage sur un évent (pas toujours)
- Bug de caractère lors d'un passage sur un tile placer "dessus" le personnage
Bon! Maintenant il est temps de commencer :
- Spoiler:
En 1er lieu, ouvrer votre banque de donné, et aller dans "Ev. commun". La, créer un événement commun comme sur le screen. Noter bien, il est important de mettre le déclenchement sur "Processus parallèle", sans quoi vote jeu bloquera. N'oubliez pas aussi d'activer l'interrupteur de saut (au préalable sélectionner) dès que nécessaire, sinon la fonction ne sera pas activer.
- Spoiler:
Nous définissons donc en 1 lieu une touche pour le saut (R = W sur un clavier azerty) avec une condition la plus bête au monde.
Ensuite, nous définissons 2 variable qui représenterons respectivement la position X et Y du joueur.
Ces deux variable sont la base du système, éviter d'y interférer avec d'autre événement si vous ne voulez pas vous retrouver avec des bug.
La dernière variable quand a elle ne sert actuellement plus, mais je l'ai laisser, au cas ou vous en auriez besoin, je vous expliquerai pourquoi plus tard.
Ensuite nous capturons le numéro du terrain actuelle (explication a la fin sur comment mapper) et nous ajoutons 5. Pourquoi 5 ? Et bien parce que des calculs 5 par 5 c'est plus simple que 3 par 3 ou 4 par 4, et aussi parce que ajoutait une valeur permet de faire un système de salle (pour éviter de sauter a travers un mur) ou d'escalier, ou bien d’intercaler d'autre évent/script utilisant cette fonction.
- Spoiler:
Ha oui la difficulté augmente un peu!
En faite c'est assez simple, celons la ou les touche presser (A = courir) nous modifions notre variable. Par exemple si nous allons vers le haut (Bouton haut pressé) sans courir (Bouton A non presser) alors nous allons en théorie sauter de 2 case en avant. Nous ajoutons donc -2 sur l'axe X pour avoir notre futur position.
Pourquoi par un saut direct ? Car cette méthode vas nous permettre de vérifier AVANT si notre futur position est viable.
Saut n'est pas utile, après mainte teste, je n'ai pas remarquer de bug sans, néamoins vous pouvez toujours le laisser en sécurité...- Spoiler:
Qu'avons nous la... Ha oui! Donc, petite nouveauté de VXAce les infos de position! (les deux ligne rose) Nous allons donc betement enregistrer dans deux variable (ici 5 et 7) 2 données sur la futur position que nous venons de calculer. Ensuite on enchaine avec les différente vérification!
Dans un 1er temps nous vérifions (grâce a la ligne de script) que le saut ne mène pas or écran.
Ensuite nous regardons si la régions sur laquelle le héros devrais arriver n'est pas de la zone 63 (explication plus tard sur comment configurer la map)
Ensuite nous vérifions qu'il n'y ai pas d'évent a l'endroit d'atterrissage. Je n'ai malheureusement pas encore trouver de solution non buguer pour autoriser l'atterrissage sur certain évent uniquement, il vous faudra donc faire avec...
Ensuite on vérifier que le joueur n'arrive pas sur un sol infligeant des dommages. Le saut est actuellement interdit, néanmoins il est possible de modifier afin d'arriver normalement sur la map.
Pour finir la dernier condition nous interdit de sauter sur une échelle si l'on est pas face à elle, grâce à la petite sous-condition
la condition vérifiant la l'id du terrain d'atterrissage par rapport celui de départ permet d'éviter de sauter une falaise de 100m depuis le coté ^^ (voir comment mapper pour plus d'explication)
L'interrupteur sert pour la fin, si ce dernier a été activer, alors le saut n'aura pas lieu, simplement, une sécurité inutile comme telle mais qui permet d’éviter des bug en cas de personnalisation plus pousser, mais qui permet aussi de pouvoir attribuer un malus en cas de saut rater (sauf si vous voulez faire une malus au cas par cas)
Bon, une fois les vérification terminer, soit le saut s’exécute et tous vas bien, soit la case n'est pas valide, et le saut n'as pas lieu. C'est ici que vous devez personnaliser ce qui se passe en cas de saut non valide.
- Spoiler:
Bon, une fois les vérification terminer, soit le saut s’exécute et tous vas bien, soit la case n'est pas valide, et le saut n'as pas lieu. C'est ici que vous devez personnaliser ce qui se passe en cas de saut non valide.
Ces 2 partie sont sujet à modification afin de pouvoir prévoir diverse action selon la case d'arriver (pourquoi pas un jeu a la mario), mais actuellement le système comme telle n'autorise les sauts que sur des cases simples. Plus tard, il pourra prendre en considération les différence de hauteurs (si vous mapper une falaise par exemple) mais c'est pour plus tard!
- Spoiler:
Bon! On arrive à la fin! Il suffit de répéter maintenant comme au début avec l'action de saut pré-programmer par le logiciel (cocher la case ignorer action impossible n'est pas utile en théories mais vous pouvez vous amuser si vous le voulez ^^)! Les condition ayant été vérifier avant, il a très peu de chance qu'il y a des bugs.
IMPORTANT "Étiquette : Fin_saut" et "Aller à l'étiquette: Fin_saut" corrige un bug évitant d'arriver sur une case invalide, elle sont très importante!
Il est aussi important d'avoir le même ordre dans les conditions de pression de touche, ici et au début, puisqu'en effet le système donne (dans le screen) la priorité au saut en haut en cas de pression de deux touches, si vous n'avez pas le même ordre le jeu pourrai vérifier le case du haut, et sauter a droite, sur une case alors invalide!
Voila! Votre évent est complet! Maintenant la dernier étape: configurer le terrain!
Pour ça c'est assez simple :
- Spoiler:
Mouai... façon de parler ^^ Donc explication! Donc comme nous pouvons voir sur le screen, la zone 63 est placer la ou le joueur ne peu pas aller. Ensuite, nous pouvons voir la zone 1 tapisser le sol au niveau le plus bas. ensuite 1+5=6 donc nous prenons une zone d'un valeur supérieur à 6 (en l'occurance j'ai pris 7 et 13) et nous tapissons les niveau crescendo. Donc a chaque niveau différent sur le plan théorique correspond une couleur.
Le principe d'une salle : Pour interdire le saut entre deux salle, il suffit de faire comme pour les étage différent, a une exception prés! la liaison entre les deux salle (couloirs, autre salle, autre) DOIT avoir une valeur incluse entre les deux (comme pour l'escalier sur les screens), et dois faire plus le 3 case de longueur!
Résumons : 63 pour les zones interdites, plus de 5 d'écarts entre deux étages/salles et une liaison d'au moins 3 cases d'un valeur médiane des deux zones différentes! Voila les points les plus important pour le mapping! Si vous n'avez pas compris, expérimenter!
C'est donc sur cette image que je vous laisse, et je vous dis à bientôt, pour un prochain tuto!
- Spoiler:
P.s : Si vous avez besoin d'un système d'évent complexe proposer moi par mp, je suis toujours a la recherche de nouveau système complexe à créer!