Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Beubeu Ptit Nouveau
Inscrit le: 06 Juil 2009 Messages: 43 Sujets: 6
|
Posté le: 01/09/11 13:47 Sujet du message: Globals - endglobals |
|
|
Bonjour.
Je viens juste de me mettre au JASS, avec JNGP et j'ai quelques problèmes avec "globals" et "endglobals".
Citation: | In each file, the globals block must be declared before all functions and there can only be one globals block. |
J'essaye tout simplement ça :
Jass: | globals
integer test = 0
endglobals |
Quelque soit l'emplacement du script ou je le place, aucune erreur de compilation mais la carte ne se lance tout simplement pas. En le retirant, tout fonctionne à nouveau...
Ou pourrait se trouver le problème?
Merci _________________
|
|
Revenir en haut |
|
|
Crowolf Animateur
Inscrit le: 21 Avr 2008 Messages: 1607 Sujets: 81 Spécialité en worldedit: Utiliser le travail des autres Médailles: 3 (En savoir plus...)
|
Posté le: 01/09/11 14:50 Sujet du message: |
|
|
Moi je met toujours un "private" (ou "private constant") avant "integer" "real" etc.
Mais bon, mes connaissances en vJass doivent pas être vraiment supérieures aux tiennes. Attendons l'avis des experts...
Après, est-ce que 0 est compris comme un entier? (Question bête, on est d'accord...) _________________
|
|
Revenir en haut |
|
|
Tirlititi
Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
|
Posté le: 01/09/11 15:56 Sujet du message: |
|
|
Le JNGP (jasshelper) permet de mettre des blocs globals/endglobals là où tu veux dans le script : les variables seront justes déplacées dans le bloc globals/endglobals du début après le passage de jasshelper.
Si tu mets un bloc globals/endglobals dans une librairie ou un scope, tu peux utiliser le mot-clé private pour que la variable soit locale à la librairie en quelque sorte (tu ne peux pas l'utiliser hors de la librairie, normalement, et tu peux définir 2 variables ayant le même nom dans 2 librairies différentes si tu les mets en private).
Mais je ne comprend pas pourquoi tu ne peux pas lancer le jeu... Peut-être que tu n'as pas jasshelper activé ? _________________
|
|
Revenir en haut |
|
|
Beubeu Ptit Nouveau
Inscrit le: 06 Juil 2009 Messages: 43 Sujets: 6
|
Posté le: 01/09/11 17:15 Sujet du message: |
|
|
Oui JassHelper est bien activé.
Je n'ai même pas utilisé les variables déclarées dans le global. En fait, rien que le fait de mettre Globals et Endglobals dans le script, même sans déclarer de variable, empêche ma map de se lancer. Le jeu se lance mais retourne directement au menu principal. _________________
|
|
Revenir en haut |
|
|
Tirlititi
Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
|
Posté le: 01/09/11 20:37 Sujet du message: |
|
|
Haaaaaa, c'est un bug de "test map", ça, pas des blocs globals/endglobals.
Enfin, plus précisément, c'est un bug de jasshelper : il ne se lance que lorsque tu sauvegardes une map avec "fichier -> Sauvegarder". Tu peux donc sauver comme ça puis lancer "test map" avant de faire une autre modification (il y a une petite étoile à côté du nom de ta map, tout en haut, lorsque tu as modifié le fichier : lorsque tu sauvegardes, elle s'enlève, et WE ne resauvegardera pas en utilisant "test map" tant qu'elle n'est pas réapparue).
À cause du même bug, jasshelper ne se lance pas lorsque tu sauvegardes avec "Enregistrer sous". _________________
|
|
Revenir en haut |
|
|
Beubeu Ptit Nouveau
Inscrit le: 06 Juil 2009 Messages: 43 Sujets: 6
|
Posté le: 01/09/11 20:54 Sujet du message: |
|
|
C'était bien ça ! Ca fonctionne, merci. _________________
|
|
Revenir en haut |
|
|
|