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

Sorties: "Dread Mac Farlane", (...) / Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

596 connectés actuellement

29441381 visiteurs
depuis l'ouverture

7459 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Eclipso

Planète Glutko

Le Comptoir Du clickeur

Hellsoft

Zarok

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [RM2k3] Actualisation de variables via event commun


Mr Moustache - posté le 30/12/2016 à 16:05:53 (265 messages postés)

❤ 0

Domaine concerné: Event
Logiciel utilisé: RM2k3 (Steam)
Salut !

Je voulais me détendre en faisant un peu de programmation de système en event mais là je fais totalement l'opposé en m'énervant sur un truc tout con. J'ai un problème du coup, j'arrive pas à trouver la solution et je suis sûr que je fais un truc stupide que je vois pas.

J'ai un event commun en proc parallèle activer par un switch pour récupérer dans trois variables les coordonnées du joueur. Classique. Je voulais faire un système pour savoir si le perso du joueur avait bougé en comparant les coordonnées anciennes (qui ne sont pas mis à jour via l'event commun) avec les actuelles (qui sont mis à jour via l'event commun toutes les frames, je crois). Je testais donc si les anciennes (qui ont évidemment préalablement été mise à jour) étaient différente, et si elles l'étaient, j'activais un interrupteur qui me servirait à déterminer dans des events sur la carte que le joueur a bougé. Ensuite je rendais les anciennes égales aux actuelles et la boucle recommençais.

Ça ne marche pas.

L'event calcul une fois le déplacement, rend bien égal aux actuelles, puis arrête ensuite et ne met plus du tout à jour. Donc le jeu croit que le joueur est en continuel mouvement alors qu'il ne bouge pas. Ma logique me dis que je n'ai rien zappé. Mais j'ai besoin d'un regard extérieur car ça fait une heure que je suis dessus, je ne vois pas mon erreur.

Un screen de la programmation au cas où mon explication était floue.

image

Comme je l'ai dis plus haut mais on ne le voit pas dans ce code, je met préalablement les anciennes et les actuelles à la même valeur manuellement pour que l'event puisse commencer à fonctionner. Mais après cette fois là, ça devrait continuer tout seul non ?

Merci d'avance pour votre aide éclairé.

P.-S. J'ai bien activé le switch lors de mes tests évidemment. D'ailleurs les coordonnées actuelles se mettent bien à jour, preuve que l'event commun marche bien.


Anton_ - posté le 30/12/2016 à 17:31:45 (1523 messages postés)

❤ 0

En recopiant ton code, j'ai remarqué que seul les déplacements sur Y activent l'interrupteur.

Ton problème est dû au fait que l'interrupteur mouvement peut être activé par un changement de X, mais remis en OFF immédiatement après avoir vu que la variable Y n'a pas bougé du tout.

Pour corriger cela, il faut simuler un OU logique sur ces deux conditions.
ma manière est la suivante : je reset mon switch à la position OFF quoi qu'il arrive au début, et si l'une ou l'autre condition passe, le switch sera activé.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
//get variables
 
@> Get Player Location: Variable [0002][0003][0004]
@> Control Variables: [0008:Dir hero] = Player s Direction
@> Get Terrain ID: [0007:ID Terrain hero], Variable [0003][0004]
 
// Reset du switch de mouvement.
 
@> Control Switches: [0003:mvt] = OFF
 
//check X
 
@> Conditional Branch: Variable [0005:X old hero]  != Variable [0003:X hero]
  @> Control Switches: [0003:mvt] = ON
  @> Control Variables: [0005:X old hero] = Variable [0003]
  @>
 : Branch End
 
//ckeck Y
 
@> Conditional Branch: Variable [0006:Y old hero]  != Variable [0004:Y hero]
  @> Control Switches: [0003:mvt] = ON
  @> Control Variables: [0006:Y old hero] = Variable [0004]
  @>
 : Branch End
@> Comment: un processus parallèle attend 1 frame avant de recommencer.
 :               : largement de quoi permettre aux events sous condition du switch mvt de se 
 :               : lancer.



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


Mr Moustache - posté le 30/12/2016 à 18:27:10 (265 messages postés)

❤ 0

Ah oui y avait ce problème en effet entre les deux conditions. J'ai repris ton code mais j'ai l'impression que c'est les control variables qui ne modifie pas la variable old hero après avoir activé le switch. La variable old ne change pas, même quand je met manuellement les mêmes valeurs et que je change de position. D'ailleurs de base, si le code s'exécutait normalement je n'aurais même pas besoin de changer les valeurs de old manuellement. Ça se ferait tout seul dès que j'active le switch déclencheur car l'event commun détecterai qu'elles sont différentes de la pos hero et ça les mettrait à jour. Ça ne fait pas du tout ça.

Donc y a toujours un problème avec l'actualisation car là le switch fonctionne correctement mais après avoir bougé une fois, il continue à croire que le joueur bouge alors que ce n'est pas forcément le cas.

Je refais un screen au cas où :

image

Merci en tout cas pour ta réponse !


Terzarok - posté le 30/12/2016 à 18:33:09 (345 messages postés)

❤ 0

Essaye avec un "Attendre 1 frame" tout à la fin de ton code ?
Histoire qu'il ait le temps de faire le changement sur l'interrupteur avant de revérifier.

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


Anton_ - posté le 30/12/2016 à 18:41:30 (1523 messages postés)

❤ 0

pas besoin, je remarque autre chose.
à l'intérieur de tes 2 branches conditionnelles, le control variable ne fonctionne pas car il est placé en mode set par pointeur :

@> Control Variables: Variable [0005] = Variable [0003]

Il fallait faire ça :

@> Control Variables: [0005:X old hero] = Variable [0003]

voilà, normalement ça doit marcher.

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


Mr Moustache - posté le 30/12/2016 à 18:46:43 (265 messages postés)

❤ 0

Bah voilà c'est ça, c'était tout bête comme d'habitude. D'ailleurs je ne sais même pas ce que ça fait le mode pointeur pour les variables, j'ai jamais utilisé ça, jusqu'à maintenant :p

Merci beaucoup !

Index du forum > Entraide > [RESOLU] [RM2k3] Actualisation de variables via event commun

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