GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Jeffreeeey le 15 Novembre 2009, 13:43:03
-
Oui voila. J'aimerais pouvoir faire que quand quelqun fasse /ouvrirgrille, que le joueur ne puisse plus faire cette commande après 20 secondes. Le problème c'est que j'ai bien reflechit ou tenté quoi que se soit. Mais rien a faire. Merci de vos futurs réponse.
-
Lance un Timer de 20 secondes qui bloquera l'utilisation de cet commande ;)
++
FS'
-
Alor voila comment j'ai fais :
new grilleouverte[MAX_PLAYERS];
Enssuite dés que quelqun fait /ouvrirgrille
j'execute ceci
if (PlayerToPoint(15, playerid,1285.232421875,-2056.669921875,60.633422851563))
{
MoveStreamObject(qgrusse,1285.232421875,-2056.669921875,53.383422851563, 2.2);
SetTimer("GrilleRusse", 7000, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s prend sa télécommande et ouvre la grille du Manoir Ruskovf.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
grilleouverte[playerid] == 1;
}
else { SendClientMessage(playerid, COLOR_GREY,"Vous êtes trop loin de la grille."); }
Enssuite le timer de la grille est lancée, il va se passé ceci :
public GrilleRusse(playerid)
{
MoveStreamObject(qgrusse, 1285.232421875,-2056.669921875,60.633422851563, 1.5); // GRille en place mais pas mouvement
grilleouverte[playerid] == 0;
return 1;
}
le problème c'est que après la compilation j'ai plusieurs belles erreur:
C:UsersDylanDownloadssamp03asvr_R3_win32gamemodesdetroit.pwn(4178) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4182) : error 025: function heading differs from prototype
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4187) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4191) : error 025: function heading differs from prototype
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4194) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4198) : error 025: function heading differs from prototype
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4201) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4205) : error 025: function heading differs from prototype
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4209) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4213) : error 025: function heading differs from prototype
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4216) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4220) : error 025: function heading differs from prototype
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4223) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(19845) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(19856) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(19866) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(19876) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(19886) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(19896) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(19906) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(19919) : warning 215: expression has no effect
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(19932) : warning 215: expression has no effect
Double post
Ah j'ai trouvé mon problème il fallait pas mettre un "=" de trop. Mais autre problème maintenant.
C:UsersDylanDownloadssamp03asvr_R3_win32gamemodesdetroit.pwn(4182) : error 025: function heading differs from prototype
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4194) : error 017: undefined symbol "playerid"
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4201) : error 017: undefined symbol "playerid"
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4209) : error 017: undefined symbol "playerid"
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4216) : error 017: undefined symbol "playerid"
C:Usersxxsamp03asvr_R3_win32gamemodesx.pwn(4223) : error 017: undefined symbol "playerid"
Et au ligne si dessus :
public GateClose(playerid)
{
MoveStreamObject(pdgate1,1589.053344,-1638.123168,14.122960, 0.97);
PlayerPlaySound(playerid, 1153, 1589.053344,-1638.123168,14.122960);
grilleouverte[playerid] = 0;
return 1;
}
public GateClose2()
{
MoveStreamObject(armygate1,2720.3772, -2409.7523, 12.6, 2.5);
MoveStreamObject(armygate2,2720.3772, -2508.3069, 12.6, 2.5);
MoveStreamObject(tankgate,2774.3166503906, -2493.7607421875, 15.292695999146, 1.5);
grilleouverte[playerid] = 0; // LIGNE 4194
return 1;
}
public GateClose3()
{
MoveStreamObject(fbigate, 1534.9020,-1451.5979,14.4882, 1.5);
grilleouverte[playerid] = 0;// LIGNE 4201
return 1;
}
public GateClose4()
{
MoveStreamObject(hspdgate, 1643.3379,-1714.9338,15.3067, 1.5);
grilleouverte[playerid] = 0;
return 1;
}
public GateClose5()
{
DestroyStreamObject( pdgate3 );
pdgate2 = CreateStreamObject(968,1544.700317,-1630.735717,13.096980,-1.000000,-91.000000,269.972869);
grilleouverte[playerid] = 0;
return 1;
}
public GateClose6()
{
MoveStreamObject(lucianogate, 1246.0033,-767.3727,91.1473, 1.5);
grilleouverte[playerid] = 0;
return 1;
}
public GrilleRusse()
{
MoveStreamObject(qgrusse, 1285.232421875,-2056.669921875,60.633422851563, 1.5); //
grilleouverte[playerid] = 0;
return 1;
}
Double post
Problème Resolu. J'ai mal fait ce que je devais faire. :cheers
-
lorsque tu change la valeur d'une variable il ne faut pas mettre == mais =
grilleouverte[playerid] == 0; change en grilleouverte[playerid] = 0;
-
Salut,
même si tu as résolu ton problème, j'aimerais juste rappeler que lorsque l'on veut utiliser des paramètres dans des fonctions appelées par des timers, il faut impérativement passer par un SetTimerEx
SetTimerEx("fonction", temps en ms, répète?, type variables, variables);
Donc dans ton cas ce serait à peu près ceci:
SetTimerEx("GrilleRusse", 7000, 0, "i", playerid);
ainsi tu pourrais utiliser tes fonctions comme tu le désirais (avec playerid en paramètre)
++Sim++
-
Merci Sim, je vais tenter ta manière car en faite sa fonctionne pas vraiment. :cheers