Skip to content
This repository has been archived by the owner on Jul 24, 2020. It is now read-only.

L'utilisation de «event_tone» avec wait_flag == true annule les modifications aux variables locales #460

Open
mamie-nani opened this issue Jan 13, 2020 · 1 comment

Comments

@mamie-nani
Copy link

mamie-nani commented Jan 13, 2020

Problème lié à une commande

Configuration (lorsque le bug a été rencontré)

  • Version de RME : 2.0 ou 2.1 (testé sur 2.0.0, présent a priori identiquement sur 2.1.0)
  • Commande : event_tone avec wait_flag == true

Description du bug

Lorsque j'utilise la commande event_tone avec un wait_flag == true ; les variables locales / labels locaux dont j'ai changé la valeur dans le même appel de script vont revenir à la valeur qu'ils avaient avant l'appel de script, à la fin de celui-ci.
Self-switch non-testés. Les labels et variables globaux ne sont pas concernés.
Seule event_tonea été testée, mais d'autres commandes peuvent être également porteuses du même bug je suppose.

Étapes permettant de reproduire le problème

Appel de script
event_tone(me, tone(255, 170, 170, 255), 20, true)
SL[ :a2 ] = 80
p "#{ SL[ :a2 ] } premier appel de script" #=> 80

Appel de script
p "#{ SL[ :a2 ] } second appel de script" # => 0

@xvw
Copy link
Contributor

xvw commented Jan 14, 2020

Salut ! En fait, les commandes qui peuvent attendre doivent être "unique" dans un appel de script et "tout dernier". Cela s'explique par la manière dont RPGMaker (pas RME) gère la notion de parallélisme.

Une solution, pour résoudre ton problème serait de faire :

script: event_tone(me, tone(255, 170, 170, 255), 20, true)
script: SL[:a2] = 80 # dans un autre appel de script

Actuellement, je ne sais pas encore comment documenter ça, donc je laisse l'issue ouverte.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants