GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: scott1 le 22 Novembre 2009, 16:07:19
-
Est il possible de mettre un timer pour tout les joueur conecté sur un serveur? Gengre un mec tappe un cmd, et le timer se declenche pour tout le monde, et personne ne peux faire cette cmd avant x seconde. Merci
-
ben ui
-
comment? ^^
-
up
-
ben je comprend pas ce que tu veut faire enfaite
-
Et il me semble qu'un SetTimer s'applique à tous le monde.
-
mais je voit pa l'utiliter si ce n'est accentuer le lag enfaite
-
Ben j'aimerai que personne ne puise faire la cmd que jai cité ci desus avant que les 15min se soit ecoulée.
Car la si je fait la cmd, je ne peux pas le faire, mais un autre oui car le timer ne s'applique pas a lui
-
tu fait une var general
new commanddejautilise = 0;
dans la cmd commanddejautilise = 1;
if(commanddejautilise == 1)return SendClientMessage(playerid,couleur,text);
puis a la fin du timer commanddejautilise = 0;
-
Pas saisis :S
Merci du temps que tu me consacre
-
Salut,
quelle partie n'arrive-tu pas à comprendre?
dans ta commande, tu ajoute CommandeDejaUtilise = 1 et un SetTimer qui appelera ta fonction qui remet ta variable à 0
n'oublie pas de bloquer la commande si la variable est à 1...
if(!strcmp... et variabledejautilise == 0)...
bonne chance
++Sim++
-
S'est ce que j'ai fait ^^
if(strcmp(cmd, "/braquer", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (IsPlayerInRangeOfPoint(playerid,100,-30.875, -88.9609, 1004.53))
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 1 && OnDuty[i]==1)
{
CopPlayers ++;
}
}
}
if(braquagestatus24 == 0)
{
if(CopPlayers >= 3 && Timebanque[playerid] == 0)
{
status24 = SetTimerEx("braquer24", 120000, 1,"i",playerid);
Timebanque[playerid] = 1;
SetTimerEx("Timerbanque", 900000, false, "i", playerid);
}
}
}
}
return 1;
}
et
public Timerbanque(playerid)
{
if(IsPlayerConnected(playerid))
{
if(Timebanque[playerid] == 1)
{
Timebanque[playerid] = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 1 && OnDuty[i]==1)
{
CopPlayers ++;
}
}
}
if(Timebanque[playerid] == 0 && CopPlayers >= 3)
{
SendClientMessageToAll(COLOR_ALLDEPT, "INFO: Le braquage est disponnible");
}
}
}
}
-
[hs]
Tu t'y retrouve dans t'es codes serieusement
[/hs]
-
Oui ^^ quesqu'il a de non compréhensible ?
-
sa
if(strcmp(cmd, "/braquer", true) == 0)//si je tape /braquer
{
if(IsPlayerConnected(playerid))//si je suis connecter (la deja c'est un pu flou)
{
if (IsPlayerInRangeOfPoint(playerid,100,-30.875, -88.9609, 1004.53))// si je suis a 100 metre autour de ce point (braquage a distance )
{
for(new i = 0; i < MAX_PLAYERS; i++)//on regarde tout les joueur
{
if(IsPlayerConnected(i))//si tout les joueur sont connecter (???)
{
if(PlayerInfo[i][pMember] == 1 && OnDuty[i]==1)//si il sont membre 1 et en service
{
CopPlayers ++;//je regarde combien de flic sa donne
}
}
}
if(braquagestatus24 == 0)//si le braquage est autoriser (sa je pige)
{
if(CopPlayers >= 3 && Timebanque[playerid] == 0)//si il y a plus de 3 flic et si il a un timebanque (euh???)
{
status24 = SetTimerEx("braquer24", 120000, 1,"i",playerid);//pourquoi
Timebanque[playerid] = 1;
SetTimerEx("Timerbanque", 900000, false, "i", playerid);//pourquoi
}
}
}
}
return 1;
}
en gors a revoir je pense
ASTUCE si le playerid tape la commande il est forcement connecter et pour compter combien du as de flic je suis sur que tu as deja cette variable dans le /dutty donc pourquoi la repeter ??
-
Tu veux dire que s'est illisible?
Dans mon Duty je lai, mais comment il se ferme il faut que j'en refasse un nouveau non?
-
ben non si la variable globale a deja une valeur sa ne sert a rien de lui reatribuer la meme valeur