Countdown Probleme

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich habe ein Minigame erstellt indem man Checkpoints abfahren muss schön und gut.


    Habe da 2 Probleme.


    Problem 1 [Wichtig].


    Wenn der Countdown startet dann wird er für alle angezeigt.
    Das heißt wen 2 joinen läuft er doppelt.


    WEnn einer spät joint läuft er für alle und alle sind gefreezed.
    Wie kann ich es einstellen das nur ein Countdown kommt und dann keiner mehr?


    Publics:


    public Counting(playerid)
    {
    Count = 1;
    GameTextForAll("~y~----3----",5000,6);
    PlayerPlaySound(playerid, 1056,0,0,0);
    SetTimer("Counting2",5000,false);
    return 1;
    }
    public Counting2(playerid)
    {
    Count = 1;
    GameTextForAll("~g~----2----",5000,6);
    PlayerPlaySound(playerid, 1056,0,0,0);
    SetTimer("Counting1",5000,false);
    return 1;
    }
    public Counting1(playerid)
    {
    Count = 1;
    GameTextForAll("~b~----1----",5000,6);
    PlayerPlaySound(playerid, 1056,0,0,0);
    SetTimer("CountingGO",5000,false);
    return 1;
    }
    public CountingGO(playerid)
    {
    Count = 0;
    PlayerPlaySound(playerid, 1057,0,0,0);
    GameTextForAll("~r~Los Los Los !!!",5000,6);
    for( new i; i < MAX_PLAYERS; i++ ) //Schleife starten, Variable i, maximal MAX_PLAYERS
    {
    if( IsPlayerConnected( i ) ) //Kleine überprüfung, ob der Spieler "i" überhaupt online ist
    {
    TogglePlayerControllable( i, 1 );//Hier setzen wir den TogglePlayerControllable für den Spieler "i" auf 1
    }
    }
    return 1;
    }



    Spawn:
    }
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid, x, y, z);
    if (Count == 0)
    {
    SetTimer("Counting",1000,false);
    }else{


    }
    if IsPlayerInRangeOfPoint(playerid, RANGEOFSTARTER, x, y, z)*then
    {
    }
    MachtArbeit[playerid] = 1; // Bedeutet, dass die Arbeit ab jetzt los geht. 1 = Arbeit geht Los.
    SetPlayerRaceCheckpoint(playerid,0,racecheckpoints[0][0],racecheckpoints[0][1],racecheckpoints[0][2],racecheckpoints[1][0],racecheckpoints[1][1],racecheckpoints[1][2],3.0);



    for( new i; i < MAX_PLAYERS; i++ ) //Schleife starten, Variable i, maximal MAX_PLAYERS
    {
    if( IsPlayerConnected( i ) ) //Kleine überprüfung, ob der Spieler "i" überhaupt online ist
    {
    TogglePlayerControllable( i, 0 );//Hier setzen wir den TogglePlayerControllable für den Spieler "i" auf 1
    }
    }


    Problem 2:


    Wie kann man bitte eine abfrage machen ob jemand als erstes durchs Ziel gegangen ist oder 2. usw.


    Wer mir da gut helfen kann soll ma einen Kontakt hier abfragen:


    Skype: Mopfelman
    TS: 84.38.75.9:4040