Probleme mit PayDay

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
  • Hallo,


    Ich habe ein Problem mit meinem PayDay. Und zwar bekommt immer nur der erste Spieler der auf dem Server connectet den PayDay.


    Beim Login wird der Timer gestartet:
    SetTimer("PayDay",60000,true);


    Das Public sieht so aus:
    public PayDay(playerid)
    {
    //Respektpunkte-Level Defines
    new respektneed1 = 8;
    new PayDayl = SpielerInfo[playerid][pPayDay];
    new PayDaynew, paydayh[256],payday1[256],payday2[256],payday3[256],payday4[256],payday5[256],payday6[256];
    format(paydayh,sizeof(paydayh),"|===================| PayDay |===================|");
    format(payday1,sizeof(payday1),"| Lohn: %i $ Steuer:%i $ ",SpielerInfo[playerid][pLohn],SpielerInfo[playerid][pSteuern]);
    format(payday2,sizeof(payday2),"| ");
    format(payday3,sizeof(payday3),"| ");
    format(payday4,sizeof(payday4),"| Das PayDaysystem ist noch in Bearbeitung! ");
    format(payday5,sizeof(payday5),"| ");
    format(payday6,sizeof(payday6),"|==============================================|");
    if(PayDayl == 59)
    {
    new Respektalt = SpielerInfo[playerid][pRespekt];
    new Respektneu = Respektalt +1;
    PayDaynew = 0;
    SendClientMessage(playerid,COLOR_YELLOW,paydayh);
    SendClientMessage(playerid,COLOR_YELLOW,payday1);
    SendClientMessage(playerid,COLOR_YELLOW,payday2);
    SendClientMessage(playerid,COLOR_YELLOW,payday3);
    SendClientMessage(playerid,COLOR_YELLOW,payday4);
    SendClientMessage(playerid,COLOR_YELLOW,payday5);
    SendClientMessage(playerid,COLOR_YELLOW,payday6);
    GivePlayerMoney(playerid,SpielerInfo[playerid][pLohn]);
    GivePlayerMoney(playerid,- SpielerInfo[playerid][pSteuern]);
    if(Respektneu == SpielerInfo[playerid][pLevel] * respektneed1)
    {
    SpielerInfo[playerid][pLevel] = SpielerInfo[playerid][pLevel] +1;
    SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);
    new ltext[256];
    format(ltext,sizeof(ltext),"Du bist zum Level %i aufgestiegen.",SpielerInfo[playerid][pLevel]);
    SendClientMessage(playerid,COLOR_GREEN,ltext);
    SpielerInfo[playerid][pRespekt] = 0;
    }
    else
    {
    SpielerInfo[playerid][pRespekt] = Respektneu;
    }
    }
    else
    {
    PayDaynew = PayDayl +1;
    }
    SpielerInfo[playerid][pPayDay] = PayDaynew;
    SpielerInfo[playerid][pLohn] = 0;
    return 1;
    }


    Jetz habe ich gelesen man sollte SetTimerEx verwenden, doch da weiß ich nicht was ich am ende nach dem repeating setzten soll.
    Ich bitte um Hilfe. Danke im Vorraus.

  • PayTimer[playerid] = SetTimerEx("PayDay",60000,true, "d", playerid);
    Beim Login.


    if(PayTimer[playerid] != -1) KillTimer(PayTimer[playerid]);
    PayTimer[playerid] = -1;
    Beim logout.


    new PayTimer[MAX_PLAYERS] = {-1,...};
    Unter die includes.