GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: ApocKalipsS le 19 Février 2009, 18:24:49
-
Bonjour,
voilà, je fais une commande, mais j'ai des erreurs à mon :
if(TogglePlayerControllable[playa] == 0)
{
Voilà les erreurs :
C:\Documents and Settings\desktop\Mes documents\Serveur GTA 0.2x\gamemodes\gf1(3).pwn(25168) : error 028: invalid subscript (not an array or too many subscripts): "TogglePlayerControllable"
C:\Documents and Settings\desktop\Mes documents\Serveur GTA 0.2x\gamemodes\gf1(3).pwn(25168) : warning 215: expression has no effect
C:\Documents and Settings\desktop\Mes documents\Serveur GTA 0.2x\gamemodes\gf1(3).pwn(25168) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\desktop\Mes documents\Serveur GTA 0.2x\gamemodes\gf1(3).pwn(25168) : error 029: invalid expression, assumed zero
C:\Documents and Settings\desktop\Mes documents\Serveur GTA 0.2x\gamemodes\gf1(3).pwn(25168) : fatal error 107: too many error messages on one line
Comment se fait-il ?
Merci de vos réponses !
-
Salut,
Essaye sa : if(TogglePlayerControllable[playa] == 0);
{
-
je pense pas que sa soit possible comme sa, mais tu peut créer une variable exemple :
new Freezed[MAX_PLAYERS];
if(Freezed[playerid] == 1)
{
Freezed[playerid] = 0;
}
else
{
Freezed[playerid] = 1;
}
Biensur ce n'est qu'un exemple a toi de l'adapter a ton code ;)
-
Non, ca ne marche pas, les même erreurs.
J'ai quand même trouver un autre moyen (avec des values), mais j'aimerais quand même bien savoir pour ça..
C'est bizzard ;D.
EDIT : MisterT, je n'ai pas vu ton message quand j'ai poster. J'ai pas fais comme toi, mais j'ai pris une variable qui était déjà dans d'autre commande quand on freeze. Peut-être que, si le réalisateur du GF n'a pas mis de TogglePlayerControlable, c'est que ce n'est pas possible ?
-
Envoi la commande ou tu a pris la variable et ta commande, je pourrait peut-etre t'aider
Mr.T
-
Non, mais j'ai réussi lol ^^
-
peu etre donner la reponse pour les prochaines a venir non c'est sa un forum je pense
-
Salut,
il est important de noter que la variable qu'il désirais créer (TogglePlayerControllable) ne peut l'être car une fonction portant le même nom existe déjà, il faudrait modifier légèrement....
P.S. autant que je sache TogglePlayerControllable(playerid, toggle) est la seule façon efficace d'empêcher un joueur de bouger et comme le gf le fait parfois, je dirais qu'elle s'y trouve
++Sim++
-
Oui mais justement il voulait utiliser la donction car cette fonction est spéciale car c'est une variable on peut toujour savoir si il est freezer je pense mais c'est pas telement mon domaine :
En faite je pense c'est si tu fait un VMENU et que tu est mennoté ou autre alors :
Le joueur doit etre freezer qu'il le soit déja ou pas !
TogglePlayerControllable[playerid] += 1;//Si le joueur est déja freezer la variable monte à 2 donc toujour freezer !
Enssuite quand tu veut le defreezer sauf si il est déja freezer :
TogglePlayerControllable[playerid] -= 1;//Si le joueur était freeze pour une autre raison il reste freezer sinon defreezer !
Voila apres je dit comment faut faire mais je suis pas sur pour le + et le - si il faut l'utiliser comme sa !
Si sa marche pas eisseille en remplaçan :
+= par ++
-= par --
-
Fait simple.
new IfFreeze[MAX_PLAYERS] = 0;
if(strcmp(cmdtext, "/freeze", true, 7) == 0)
{
IfFreeze[playerid] = 1;
/* Tes codes */
return 1;
}
if(strcmp(cmdtext, "/unfreeze", true, 9) == 0)
{
IfFreeze[playerid] = 0;
/* Tes codes */
return 1;
}
et enfin ton code:
if(IfFreeze[playerid] == /* 1 ou 0 */)
{
/* tes codes */
retun 1;
}
NV. 8)
-
il a dit k'il en voulait pas justement
-
Non, c'est bon, mais ça peut être pratique pour les autres. ;)