Aller au contenu
Anarchick

Est-ce un comportement normal de Skript ?

Messages recommandés

Posté(e) (modifié)

Version MC : Spigot 1.10.2

Version Skript : dev-34

 

Bonjour, ce n'est pas vraiment une demande d'aide, juste une demande d'information

 

j'ai remarqué que les variables temporaires étaient partagées entre les événements du même type et je me demande simplement si c'est un bug ou si c'est voulu

on jump:
   set {_test} to "hey"
on jump:
   broadcast "%{_test}%"

 

En soit c'est pratique mais ça veux dire qu'il faut éviter d'utiliser le même nom pour les évents utilisé plusieurs fois.

 

Donc a votre avis : BUG ou PAS BUG ?

Modifié par Anarchick

Partager ce message


Lien à poster
Partager sur d’autres sites
Version MC : Spigot 1.10.2

Version Skript : dev-34

 

Bonjour, ce n'est pas vraiment une demande d'aide, juste une demande d'information

 

j'ai remarqué que les variables temporaire était partagé entre les événements du même type et je me demande simplement si c'est un bug ou si c'est voulu

on jump:
   set {_test} to "hey"
on jump:
   broadcast "%{_test}%"

 

En soit c'est pratique mais ça veux dire qu'il faut éviter d'utiliser le même nom pour les évents utilisé plusieurs fois.

 

Donc a votre avis : BUG ou PAS BUG ?

ça ne devrait pas arriver et ça peut créer des problèmes donc perso je dirais BUG

Partager ce message


Lien à poster
Partager sur d’autres sites
Version MC : Spigot 1.10.2

Version Skript : dev-34

 

Bonjour, ce n'est pas vraiment une demande d'aide, juste une demande d'information

 

j'ai remarqué que les variables temporaire était partagé entre les événements du même type et je me demande simplement si c'est un bug ou si c'est voulu

on jump:
   set {_test} to "hey"
on jump:
   broadcast "%{_test}%"

 

En soit c'est pratique mais ça veux dire qu'il faut éviter d'utiliser le même nom pour les évents utilisé plusieurs fois.

 

Donc a votre avis : BUG ou PAS BUG ?

 

Sur le coup je te répondrais que oui. Tout de fois, les deux événements vont se déclencher en même temps, il se peut donc que ce soit tout à fait normal

Partager ce message


Lien à poster
Partager sur d’autres sites
Sur le coup je te répondrais que oui. Tout de fois, les deux événements vont se déclencher en même temps, il se peut donc que ce soit tout à fait normal

Si c'est normal personnellement je suis contre... car quand on créer des variables instables c'est justement car on a pas de risque de les changer dans d'autre skript.

Partager ce message


Lien à poster
Partager sur d’autres sites

Effectivement cela me semble plus un bug qu'autre chose (ou au moins une non-fonctionnalité)...

Des variables locales sont en effet sensées être internes à l'événement lui même.

Faudrait faire des tests pour voir quelle portée ont ces variables...

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est tout à fait normal, je t'explique, quand tu crée cet évent dans ton code:

on jump:
   set {_test} to "hey"

 

Le code défini la variable {_test} comme une variable TEMPORAIRE, à la fin de ton évent le variable {_test} se supprimera (non-inscrit dans le variable.cs)

Pour que ton code marche je te conseille de réunir le broadcast et le set de variable dans le même évent donc d'obtenir ce code:

 

on jump:
   set {_test} to "hey"
   wait 2 ticks
   broadcast "%{_test}%"

 

N'hésite pas à me dire si ton problème est résolu ! :)

Partager ce message


Lien à poster
Partager sur d’autres sites
C'est tout à fait normal, je t'explique, quand tu crée cet évent dans ton code:

on jump:
   set {_test} to "hey"

 

Le code défini la variable {_test} comme une variable TEMPORAIRE, à la fin de ton évent le variable {_test} se supprimera (non-inscrit dans le variable.cs)

Pour que ton code marche je te conseille de réunir le broadcast et le set de variable dans le même évent donc d'obtenir ce code:

 

on jump:
   set {_test} to "hey"
   wait 2 ticks
   broadcast "%{_test}%"

 

N'hésite pas à me dire si ton problème est résolu ! :)

 

Pas du tout puisque comme je l'ai dis tout au début CE N'EST PAS UN PROBLÈME MAIS UNE REMARQUE

 

Je sais très bien Skripter ne t'en fais pas pour ça, je demandais juste si c'était un bug ou un comportement normal de Skript ;)

 

(Et tu n'as pas du tester mon code car justement si tu sépare l'event en 2 tu te rendra compte que le message "hey" s'affichera alors qu'il n'a pas été défini avant le broadcast ! )

Partager ce message


Lien à poster
Partager sur d’autres sites
C'est tout à fait normal, je t'explique, quand tu crée cet évent dans ton code:

on jump:
   set {_test} to "hey"

 

Le code défini la variable {_test} comme une variable TEMPORAIRE, à la fin de ton évent le variable {_test} se supprimera (non-inscrit dans le variable.cs)

Pour que ton code marche je te conseille de réunir le broadcast et le set de variable dans le même évent donc d'obtenir ce code:

 

on jump:
   set {_test} to "hey"
   wait 2 ticks
   broadcast "%{_test}%"

 

N'hésite pas à me dire si ton problème est résolu ! :)

Normalement une variable temporaire n'est utilisable que dans son code même si deux code sont executer en même temps !

Partager ce message


Lien à poster
Partager sur d’autres sites
C'est tout à fait normal, je t'explique, quand tu crée cet évent dans ton code:

on jump:
   set {_test} to "hey"

 

Le code défini la variable {_test} comme une variable TEMPORAIRE, à la fin de ton évent le variable {_test} se supprimera (non-inscrit dans le variable.cs)

Pour que ton code marche je te conseille de réunir le broadcast et le set de variable dans le même évent donc d'obtenir ce code:

 

on jump:
   set {_test} to "hey"
   wait 2 ticks
   broadcast "%{_test}%"

 

N'hésite pas à me dire si ton problème est résolu ! :)

 

Oula, as-tu au moins lu correctement ce qu'il demandait ? Il énonçait un fait et demandait si c'était normal que ce fait arrive, rien à voi avec si son code fonctionne ou pas.

Partager ce message


Lien à poster
Partager sur d’autres sites

Donc pour vous cela semble être effectivement un bug,

Je passe le sujet en résolu histoire de le mettre aux oubliette (vous pouvez toujours répondre pour donner votre avis)

 

EN CONCLUSION : * Faites bien attention au nommage de vos variables temporaire, surtout si vous utiliser des Skript trouvé sur internet.

** Cela veut aussi dire qu'il est possible de créer une nouvelle astuce de codage asynchrone qui se synchronise par la suite avec par exemple :

while {_x} is not set:

Partager ce message


Lien à poster
Partager sur d’autres sites

Mouais, 'fin il y a toujours le async de MundoSK qui est là pour ça :D

Partager ce message


Lien à poster
Partager sur d’autres sites

Et quelqu'un va report ça à Bensku ? Je vais le faire sinon...

Partager ce message


Lien à poster
Partager sur d’autres sites

Je l'avais report, mais en fait il y avait déjà une déclaration de bug pour ça x')

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

×

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.