GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: DexX le 13 Juillet 2011, 17:27:35

Titre: Constante dans un if
Posté par: DexX le 13 Juillet 2011, 17:27:35
Bonjour,

J'utilise le GF de Fear. Modifié pratiquement à 80%.

J'ai donc rajouté une variable pVersionGM et une constante VERSION_GM

Donc :

#define VERSION_GM "1.0.0"
Dans OnPlayerConnect :

Je test comme ceci :

If(PlayerInfo[playerid][pVersionGM] == VERSION_GM)
......etc

Mais je dois mal mis prendre, j'ai une erreur de ce type :

Citer
error 033: array must be indexed (variable "-unknown-")

La ligne correspondant à l'erreur est celle-ci :

If(PlayerInfo[playerid][pVersionGM] == VERSION_GM)
J'aimerais savoir si sa vient de ma variable qui est mal crée (format(var, 32, "VersionGM=%d\n",PlayerInfo[playerid][pVersionGM]);fwrite(hFile, var);) ou si sa vient de ma constante ou du If.

Voilà, merci d'avance de votre aide ;).
Titre: Re : Constante dans un if
Posté par: herq le 13 Juillet 2011, 18:02:23
Salut,

Juste par curiosité tu veux faire quoi après ce if.. :o

Sinon je ne vois pas. Et tu lui a définie son VERSION_GM au départ ?
Titre: Re : Constante dans un if
Posté par: DexX le 13 Juillet 2011, 18:04:09
Et bien, c'est en rapport avec le site...

Si la variable pVersionGM dans le fichier .ini du joueur n'est pas égale à la version du GameMode alors on lui demande de se connecter pour mettre à jour les variables..

Mais j'ai cette erreur et je ne vois pas d'où sa pourrait venir..
Titre: Re : Constante dans un if
Posté par: S!m le 14 Juillet 2011, 00:56:06
Salut,

je t'explique très simplement: une fois VERSION_GM remplacé par 1.0.0 -> eh bien 1.0.0 n'est pas une valeur (pas un nombre (à virgule ou non)).

Il te faut trouver une autre façon de faire pour noter la version du gm...

++Sim++
Titre: Re : Constante dans un if
Posté par: DexX le 14 Juillet 2011, 03:05:12
Oui je comprend :).

C'est bien sa le soucis, j'aimerais savoir comment faire ;).

Et si je procède comme cela ? :

new VersionGM[16];
format(VersionGM, sizeof(VersionGM), "1.0.0");
if(strcmp(PlayerInfo[playerid][pVersionGM],VersionGM, true ) == 0 )
{
Titre: Re : Constante dans un if
Posté par: S!m le 14 Juillet 2011, 03:19:43
Salut,

si les deux sont une chaine non vide, ce sera parfait. (si possiblement vide, il faut ajouter un test sur la longueur des textes (avec strlen))

++Sim++
Titre: Re : Constante dans un if
Posté par: Xartrick le 14 Juillet 2011, 03:48:17
Pourquoi formaté alors que tu peux directement assigné une valeur à ta variable ?

new VersionGM[6] = "1.0.0"
Titre: Re : Constante dans un if
Posté par: DexX le 14 Juillet 2011, 08:00:18
Sa fonctionne ;).
Titre: Re : Re : Constante dans un if
Posté par: cristab le 14 Juillet 2011, 11:12:43
c'est de sa que je te parler Dexx ^^

Pourquoi formaté alors que tu peux directement assigné une valeur à ta variable ?

new VersionGM[6] = "1.0.0"
Titre: Re : Constante dans un if
Posté par: DexX le 14 Juillet 2011, 14:09:21
Ah d'accord bien merci bien Cristab.

Merci à vous de votre aider ;).

Problème résolu.