GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Eloctro le 31 Janvier 2009, 19:10:24
-
Bonjour ,
Je voudrais savoir si on peut modifier un define
-
Salut,
Dépendant de comment tu veut dire, oui et non,
tu peut modifier en modifiant directement ton define dans pawno (ce qui n'est surement pas ta question)
par contre, il est impossible de modifier un define au cours du script, ne pas oublier: il s'agit d'une directive de compilation, ainsi lorsque le code est compilé, toutes les expressions sont substitué:
exemple:
#define MIAM 2
#define MIAM 4//erreur, redéfinition d'une constante
if(MIAM == playerid)....//ce qui compilé comme étant: if(2 == playerid)....
voilà, en espérant te répondre
++Sim++
-
Ha oui sa parait logique :lmao
De toute façon pour utiliser dans le script son jumeau c'est variable :cheers
-
Si, c'est possible mais totalement déconseillé.
Tout d'abord, le compilateur n'indique pas une erreur mais un warning, ce qui n'empêche pas le mode de fonctionner correctement.
Et si l'on veut faire disparaître le warning, il suffit de "dédéfinir" la constante :
#define TOTO 2
printf ("Toto = %d", TOTO);
#undef TOTO
#define TOTO 4
printf ("Toto = %d", TOTO);
Mais je le répète encore une fois, il est déconseillé de le faire en cours de script.
Par contre, on peut tout à fait, pour un mode donné, changer certains defines comme MAX_PLAYERS par exemple :
#include <a_samp>
#undef MAX_PLAYERS
#define MAX_PLAYERS 50
Ceci évite d'aller modifier directement le fichier include.
++
Syg
-
Salut,
Syg, le roi du pawn....
j'avais jamais entendu parler de cette directive de compilation....
tu es trop fort :D
++Sim++