Payday Problem | Wichtig

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
  • Hey Leuts, ich habe ein Problem mit meinem Paydaysystem.. Ich habe den Timer erstmal aus Testzwecken auf 30 Sekunden eingestellt , aber es kommt kein Payday... Hier mal alles zum Payday
    public OnPlayerLogin(playerid,password[])
    {
    Paydaytimer= SetTimer("Payday",30000,1);

    public PayDay()
    {
    new string[128];
    new account,interest;
    new rent = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(i, playername2, sizeof(playername2));
    account = PlayerInfo[i][pAccount];
    new key = PlayerInfo[i][pPhousekey];
    if(key != 255)
    {
    rent = HouseInfo[key][hRent];
    if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    rent = 0;
    }
    else if(rent > GetPlayerMoney(i))
    {
    PlayerInfo[i][pPhousekey] = 255;
    SendClientMessage(i, COLOR_WHITE, "Du wurdest fristlos aus deinem Zuhause gekündigt.");
    rent = 0;
    }
    HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
    }
    new tmpintrate;
    if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = intrate+4; }
    else { tmpintrate = intrate+2; }//HouseInfo[key][hLevel]
    }
    else
    {
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = 3; }
    else { tmpintrate = 1; }
    }
    if(PlayerInfo[i][pPayDay] >= 5)
    {
    Tax += TaxValue;//Should work for every player online
    PlayerInfo[i][pAccount] -= TaxValue;
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    new bonus = PlayerInfo[i][pPayCheck] / 2;
    PlayerInfo[i][pPayCheck] += bonus;
    }
    new checks = PlayerInfo[i][pPayCheck];
    new ebill = (PlayerInfo[i][pAccount]/10000)*(PlayerInfo[i][pLevel]);
    ConsumingMoney[i] = 1;
    GivePlayerMoney(i, checks);
    if(PlayerInfo[i][pAccount] > 0)
    {
    PlayerInfo[i][pAccount] -= ebill;
    SBizzInfo[4][sbTill] += ebill;
    }
    else
    {
    ebill = 0;
    }
    interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
    PlayerInfo[i][pExp]++;
    PlayerPlayMusic(i);
    PlayerInfo[i][pAccount] = account+interest;
    SendClientMessage(i, COLOR_WHITE, "|___ PAYDAY ___|");
    format(string, sizeof(string), " Gehalt: $%d Steuern: -$%d", checks, TaxValue);
    SendClientMessage(i, COLOR_GRAD1, string);
    if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
    {
    format(string, sizeof(string), " Strom: -$%d", ebill);
    SendClientMessage(i, COLOR_GRAD1, string);
    }
    format(string, sizeof(string), " Balance: $%d", account);
    SendClientMessage(i, COLOR_GRAD1, string);
    format(string, sizeof(string), " Zinsen: 0.%d percent",tmpintrate);
    SendClientMessage(i, COLOR_GRAD2, string);
    format(string, sizeof(string), " Interest Gained $%d", interest);
    SendClientMessage(i, COLOR_GRAD3, string);
    SendClientMessage(i, COLOR_GRAD4, "|--------------------------------------|");
    format(string, sizeof(string), " Neue Kontostand: $%d", PlayerInfo[i][pAccount]);
    SendClientMessage(i, COLOR_GRAD5, string);
    format(string, sizeof(string), " Miete: -$%d", rent);
    SendClientMessage(i, COLOR_GRAD5, string);
    format(string, sizeof(string), "~y~PayDay~n~~w~Zahltag");
    GameTextForPlayer(i, string, 5000, 1);
    // Und so weiter
    public OnPlayerDisconnect(playerid,reason)
    {
    KillTimer(Paydaytimer);

    Wieso bringt der keinen Payday?? Und noch ne Frage. Wie mache ich das, dass der die Zeit abspeichert bis zum payday und beim nächsten Login speichert.. Und wie kann ich die restliche Zeit zum payday anzeigen lassen ?

  • Zitat

    Paydaytimer= SetTimer("Payday",30000,1);

    Zitat

    public PayDay()

    Problem ist vllt das Obere Wort "Payday" es muss vllt mit nem Großem "D" geschrieben werden wie bei Zitat 2

  • Neo das müsste ich dann alles neu machen oder?
    Oder erklär mal bitte genauer wie ich das machen soll...
    Und wie frage ich die Zeit ab, also dass in den /stats steht, wielange es noch dauert?

  • Nein ich habe keinen Godfather :D
    Aber ich weiß wo alles hinmuss... Ich schau mir das nachher mal an. Wie frage ich denn ab, wielange man noch zum Payday brauch? also in Stats??