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

Titre: Timer pour tout le monde?
Posté 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
Titre: Re : Timer pour tout le monde?
Posté par: cristab le 22 Novembre 2009, 16:11:29
ben ui
Titre: Re : Timer pour tout le monde?
Posté par: scott1 le 22 Novembre 2009, 17:20:52
comment? ^^
Titre: Re : Timer pour tout le monde?
Posté par: scott1 le 24 Novembre 2009, 20:53:50
up
Titre: Re : Timer pour tout le monde?
Posté par: cristab le 24 Novembre 2009, 20:57:20
ben je comprend pas ce que tu veut faire enfaite
Titre: Re : Timer pour tout le monde?
Posté par: ghm94 le 24 Novembre 2009, 21:33:41
Et il me semble qu'un SetTimer s'applique à tous le monde.
Titre: Re : Timer pour tout le monde?
Posté par: cristab le 24 Novembre 2009, 21:36:41
mais je voit pa l'utiliter si ce n'est accentuer le lag enfaite
Titre: Re : Timer pour tout le monde?
Posté par: scott1 le 24 Novembre 2009, 21:58:27
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
Titre: Re : Timer pour tout le monde?
Posté par: cristab le 24 Novembre 2009, 23:10:04
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;
Titre: Re : Timer pour tout le monde?
Posté par: scott1 le 25 Novembre 2009, 15:31:53
Pas saisis :S

Merci du temps que tu me consacre
Titre: Re : Timer pour tout le monde?
Posté par: S!m le 26 Novembre 2009, 17:36:07
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++
Titre: Re : Timer pour tout le monde?
Posté par: scott1 le 28 Novembre 2009, 15:29:24
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");
}
   }
}
}
Titre: Re : Timer pour tout le monde?
Posté par: cristab le 28 Novembre 2009, 16:00:45
[hs]

Tu t'y retrouve dans t'es codes serieusement

[/hs]
Titre: Re : Timer pour tout le monde?
Posté par: scott1 le 28 Novembre 2009, 16:33:57
Oui ^^ quesqu'il a de non compréhensible ?
Titre: Re : Timer pour tout le monde?
Posté par: cristab le 28 Novembre 2009, 17:32:12
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 ??
Titre: Re : Timer pour tout le monde?
Posté par: scott1 le 28 Novembre 2009, 17:44:34
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?
Titre: Re : Timer pour tout le monde?
Posté par: cristab le 28 Novembre 2009, 18:41:22
ben non si la variable globale a deja une valeur sa ne sert a rien de lui reatribuer la meme valeur