• 05 Juin 2026, 08:39:21


Auteur Sujet: compte a rebours  (Lu 2627 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne piki

  • *
  • Criminel
  • Messages: 47
    • Voir le profil
compte a rebours
« le: 02 Mars 2008, 09:23:36 »
bonjour,

j'aimerai creer un compte a rebour, en faite  montrer avec gametextforplayer le settimer, mais je ne sais pas ce qu'il faut mettre, par exemple pour afficher le temps en prison merci.
« Modifié: 02 Mars 2008, 19:44:56 par piki »

Hors ligne piki

  • *
  • Criminel
  • Messages: 47
    • Voir le profil
Re : compte a rebours
« Réponse #1 le: 03 Mars 2008, 14:05:07 »
si vous connaissez un petit gm ou il il a une course avec le chrono (5,4,3,2,1,go de départ cela pourrai m'aidé.

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : compte a rebours
« Réponse #2 le: 03 Mars 2008, 17:50:29 »
B'jour !

Yrace, Disponible dans ton marchand de journaux... heuuu pardon dispo içi !

:D :D

NV.



Tu vois avant? Bah j'étais là encore avant!

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : compte a rebours
« Réponse #3 le: 03 Mars 2008, 18:02:11 »
salut piki,

 ???ne pourrait tu pas être plus précis
ton settimer......tu veut monter toutes les secondes....minutes....donne des détails :closedeyes
et s'agit t'il d'un timer dont les joueur choisissent la durée :-\ ou une durée fixe??

si la durrée est fixe.... tu n'as qu'a divisé ton timer en plusieurs petit :P....

exemple, un timer de trente secondes dans lequel tu veut montrer les 5,4,3,2,1 et GO..... :laugh

    if(!strcmp(cmdtext,"/timer",true)){
        SetTimerEx("cinq",25000,0,"i",playerid);   //on fait le timer pour un seul joueur, si tu veut pour tous, un simple settimer
        GameTextForPlayer(playerid,"Tu as commencer le timer....",3500,5);
    return 1;
    }

puis ensuite un truc du genre:
public cinq(player){
    GameTextForPlayer(player,"5,1000,5);
    SetTimerEx("quatre",1000,0,"i",player);
    return 1;
}
public quatre(player){
    GameTextForPlayer(player,"4",1000,5);
    SetTimerEx("trois",1000,0,"i",player);
    return 1;
}
public trois(player){
    GameTextForPlayer(player,"3",1000,5);
    SetTimerEx("deux",1000,0,"i",player);
    return 1;
}
public deux(player){
    GameTextForPlayer(player,"2",1000,5);
    SetTimerEx("un",1000,0,"i",player);
    return 1;
}
public un(player){
    GameTextForPlayer(player,"1",1000,5);
    SetTimerEx("zero",1000,0,"i",player);
    return 1;
}
public zero(player){
    GameTextForPlayer(player,"GO",1000,5);
    return 1;
}

c'est a peu près ça.... ::)

voila, débrouille toi avec ca et sinon, fait comme l'a dit Native, Yrace

++Sim++





Hors ligne Franky™

  • Franky™ est bien la
  • *
  • Gangster
  • Messages: 1058
    • Voir le profil
Re : compte a rebours
« Réponse #4 le: 03 Mars 2008, 23:42:12 »
Essaye en Fesant ca

Ca en haut
Code: (cpp) [Sélectionner]
#pragma unused CountText
Plus bas ou il y a les new
Code: (cpp) [Sélectionner]
new CountText[5][30] ={
"~p~~h~Compte à rebourt~n~~r~~h~1",
"~p~~h~Compte à rebourt~n~~r~2",
"~p~~h~Compte à rebourt~n~~y~3",
"~p~~h~Compte à rebourt~n~~b~4",
"~p~~h~Compte à rebourt~n~~b~~h~5"
};

Et aussi faire un forward
Code: (cpp) [Sélectionner]
forward CountDown();
Et ensuite tu crée un public
Code: (cpp) [Sélectionner]
public CountDown()
{
        if (CountD > 0)
        {
                GameTextForAll(CountText[CountD-1], 1500, 5);
                CountD--;
                SetTimer("CountDown", 1000, 0);
        }
        else
        {
                GameTextForAll("~g~~h~!!! GO GO GO !!!", 1500, 5);
                CountD = 5;
        }
        return 1;
}

Ensuite pour lancer le compte a rebours il faut faire une commande.

Code: (cpp) [Sélectionner]
if(strcmp(cmd, "/prets", true) == 0)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
        {
        if(CountDelay[i] == 1) return SendClientMessage(playerid, RED, "Le temps est déjà en cours.");
        }
        if(CountD >= 5)
        {
                SendClientMessageToAll(LIGHTGREEN, "..::~Temps en cours~::..");
                CountDown();
        }
        else
        {
                SendClientMessage(playerid, RED, "Le temps est deja en cours.");
        }
        for(new a = 0; a < MAX_PLAYERS; a++)
        {
                if(IsPlayerConnected(a))
                {
                        if (PlayerInfo[a][pAdminLevel] >= 1)
                        {
                                if (ViewCmds[a] == 1)
                                {
                                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                        format(string, sizeof(string), "[%i]%s: /prets",playerid,player);
                                        SendClientMessageToAdmins(LIGHTBLUE,string,1);
                                }
                        }
                }
        }
        return 1;
}

Et la le tour est joué
« Modifié: 03 Mars 2008, 23:48:20 par patou689 »


°°((Franky's WebSite
Désolé pour mes fautes d'orthographes

Hors ligne piki

  • *
  • Criminel
  • Messages: 47
    • Voir le profil
Re : compte a rebours
« Réponse #5 le: 04 Mars 2008, 13:39:59 »
ok merci les gars sa va  m'aider, en faite je voulais afficher le temps qu'il restait en prison. je vais essayer de suivre  cela pour le réaliser

Hors ligne Franky™

  • Franky™ est bien la
  • *
  • Gangster
  • Messages: 1058
    • Voir le profil
Re : compte a rebours
« Réponse #6 le: 04 Mars 2008, 13:44:04 »
Ba noralement il doit déjà y être dans le mode GF

c'est en rapport avec /temps.

Donc tu pourra le trouvé dans le GF...

Cordialement Franky Patou


°°((Franky's WebSite
Désolé pour mes fautes d'orthographes

Hors ligne piki

  • *
  • Criminel
  • Messages: 47
    • Voir le profil
Re : compte a rebours
« Réponse #7 le: 05 Mars 2008, 01:36:14 »
merci super  je l'ai modifié et ajouter à mon gm, juste une derniere question comment répéter un gametextforplayer.
je m'explique, il y a un "message" envoyer au joueur par un gametextforplayer pendant 5 secondes, puis il ne s'affiche plus. ce que je voudrai faire c'est faire un repeat , que toutes, par exemple les dix secondes, ils réapparaissent. merci

Hors ligne piki

  • *
  • Criminel
  • Messages: 47
    • Voir le profil
Re : compte a rebours
« Réponse #8 le: 05 Mars 2008, 22:14:24 »
en faites je vais mieux m'expliquer.
quant un joueur va en prison,  le temps s'affiche automatiquement avec le gametextforplayer (mais le temps ne bouge pas). ce que je voudrai faire c'est de répeter le gametextforplayer pour garder la mise a jour du temps. merci

Hors ligne lepompier

  • *
  • Bandit
  • Messages: 422
    • Voir le profil
Re : compte a rebours
« Réponse #9 le: 08 Avril 2008, 22:17:45 »
bonjour , a vous j'ai des erreur pouvez vous m'aidez ?

C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\modes-libres.pwn(41) : error 018: initialization data exceeds declared size
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\modes-libres.pwn(381) : error 017: undefined symbol "cmd"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\modes-libres.pwn(385) : error 017: undefined symbol "CountDelay"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\modes-libres.pwn(385) : warning 215: expression has no effect
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\modes-libres.pwn(385) : error 001: expected token: ";", but found "]"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\modes-libres.pwn(385) : error 029: invalid expression, assumed zero
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\modes-libres.pwn(385) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


6 Errors.


pouvez vous me corrigez s'il vous plaiz si sa vous derange pas sa serrai simpas les amis je vous remerci   http://pastebin.gtaonline.fr/pastebin.php?show=408


edit :meme si vous voulez pas le corrigé pouvez vous me dire quoi faire svp ?
« Modifié: 09 Avril 2008, 12:12:26 par lepompier »