Timer geht mal zu schnell

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
  • Hi, hab einen Friedhof timer gemacht, wenn man alleine im Friedhof ist, läuft die Zeit normal wie es soll, jedoch wenn ein zweiter ins friedhof kommt, ist er nach 20Sek oder so schon raus ..


    Hier Code: timer[playerid] = SetTimerEx("tottimer",1000,true,"i",playerid);

  • Ja, der "tottimer" ist für jeden Spieler da.
    Im Friedhof landet man wenn man nur gekillt wird, ja.
    Wenn man gekillt wird, wird eine Zeit abgefragt. Das klappt ja, aber wie gesagt, bei dem zweiten der rein kommt bei dem geht der Timer 3x so schnell X(

  • public tottimer(playerid)
    {
    tzeit[playerid] --;
    if(tzeit[playerid] == 0)
    {
    tzeit[playerid] = -1;
    new weather;
    if(IsPlayerInFrac(playerid, 1))
    {
    SetPlayerColor(playerid,copcolor);
    }
    else
    {
    SetPlayerColor(playerid,TEAM_HIT_COLOR);
    }
    PlayerInfo[playerid][pTot] = 0;
    pIstTot[playerid] = 0;
    FriedhofDM[playerid] = 0;
    SetPlayerVirtualWorld(playerid,0);
    if(PlayerInfo[playerid][pJailed] == 0)
    {
    SetPlayerSpawn(playerid);
    UnFreezePlayer(playerid);
    PlayerInfo[playerid][pTot] = 0;
    FriedhofDM[playerid] = 0;
    SetWeather(weather);
    SetPlayerWorldBounds(playerid, 20000.0000, -20000.0000, 20000.0000, -20000.0000);
    SetPlayerFacingAngle(playerid, 266.0591);
    SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
    }
    else if(PlayerInfo[playerid][pJailed] > 0)
    {
    SetPlayerSpawn(playerid);
    UnFreezePlayer(playerid);
    PlayerInfo[playerid][pTot] = 0;
    SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
    }
    DestroyPickup(TotenKopf[playerid]);
    }
    return 1;
    }
    Jeffry:

    Einmal editiert, zuletzt von Trixury ()

  • Scheint zu passen, da hast du ja keinen Neustart vom Timer dinne, und du hast kein Loop in dem public.
    Dann poste den gesamten Abschnitt der
    timer[playerid] = SetTimerEx("tottimer",1000,true,"i",playerid);


    enthält. Das scheint mir die einzig übrige erklärbare Fehlerquelle. :rolleyes:

  • Die X Zeilen nach oben und nach unten um die angesprochene Zeile sollst du posten.
    Einfach den Abschnitt des Codes in dem sich die Zeile befindetI, damit wir sehen können was da genau abläuft. Die Codes die zur Zeit hier stehen sind zumindest mit den momentanen Informationen korrekt, also brauchen wir mehr.