Payday Problem

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
  • Nabend,
    Ich hab n dickes Problem auf meinem Server,
    Ich bekomme keine Paydays. Die anderen Spieler auch nicht.


    Ich glaube es liegt hier in diesem Code:



    public SyncTime()
    {
    new string[128];
    new tmphour;
    new tmpminute;
    new tmpsecond;
    gettime(tmphour, tmpminute, tmpsecond);
    if ((tmphour > ghour) || (tmphour == 0 && ghour == 23))
    {
    format(string, sizeof(string), "SERVER: Es ist jetzt %d:00 Uhr",tmphour);
    PayDay();
    BroadCast(COLOR_WHITE,string);
    ghour = tmphour;
    if (realtime)
    {
    SetWorldTime(tmphour);
    }
    format(string, sizeof(string), "~y~Lotto Zeit! ~n~~w~Waehle deine Nummer mit ~n~~p~/lotto 1-80 ~g~($100) ~n~~r~Preis: ~g~$%d", Jackpot);
    if(TD3D == 1)
    {
    KillTimer(HideTD4Timer);
    TextDrawHideForAll(TD3);
    TextDrawSetString(TD3, string);
    TextDrawShowForAll(TD3);
    HideTD4Timer = SetTimer("HideTD4", 8500, false);
    }
    else
    {
    TextDrawSetString(TD3, string);
    TextDrawShowForAll(TD3);
    TD3D = 1;
    HideTD4Timer = SetTimer("HideTD4", 8500, false);
    }
    SetTimer("StartLotto",20000,false);
    }
    }


    Weil, jede Stunde auf dem Server steht da : Es ist nun ...:00 Uhr.
    Aber es kommt kein Payday, auch ein Lotto.


    Währe wirklich Dankbar wenn jemand hilft.


    Mit freundlichen Grüßen,
    Slexout.


    //edit PWN Code bearbeitet.

    Einmal editiert, zuletzt von Slexout ()


  • public PayDay()
    {
    new string[128];
    new account,interest;
    new rent = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(PlayerInfo[i][pLevel] > 0)
    {
    if(MoneyMessage[i]==1)
    {
    new bank = PlayerInfo[i][pAccount];
    SendClientMessage(i, COLOR_LIGHTRED, "You failed to pay your debt, Jail time.");
    GameTextForPlayer(i, "~r~Busted!", 2000, 1);
    SafeSetPlayerInterior(i, 6);
    SafeSetPlayerPos(i, 227.4378,111.0775,999.0156);
    PlayerInfo[i][pJailed] = 1;
    SafeResetPlayerWeapons(i);
    SafeResetPlayerMoney(i);
    SafeGivePlayerMoney(i, 1);
    WantedPoints[i] = 0;
    PlayerInfo[i][pAccount] = (bank + DebtMoney[i]);
    DebtMoney[i] = 0;
    PlayerInfo[i][pJailTime] = 240;
    TextDrawShowForPlayer(i, Textdraw1[i]);
    format(string, sizeof(string), "You are jailed for %d seconds. Bail: Unable", PlayerInfo[i][pJailTime]);
    SendClientMessage(i, COLOR_WHITE, string);
    }
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(i, playername2, sizeof(playername2));
    account = PlayerInfo[i][pAccount];
    new key = PlayerInfo[i][pPhousekey];
    if(key != 9999)
    {
    rent = HouseInfo[key][hRent];
    if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    rent = 0;
    }
    else if(rent > GetPlayerMoney(i))
    {
    PlayerInfo[i][pPhousekey] = 9999;
    SendClientMessage(i, COLOR_WHITE, "You have been evicted.");
    rent = 0;
    }
    HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
    }
    new tmpintrate;
    if (key != 999 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    if(PlayerInfo[i][pRegularRank] > 0) { tmpintrate = intrate+4; }
    else { tmpintrate = intrate+2; }//HouseInfo[key][hLevel]
    }
    else
    {
    if(PlayerInfo[i][pRegularRank] > 0) { tmpintrate = 3; }
    else { tmpintrate = 1; }
    }
    if(PlayerInfo[i][pPayDay] >= 5)
    {
    Tax += TaxValue;//Sollte funktionieren fuer jeden Spieler online
    PlayerInfo[i][pAccount] -= TaxValue;
    new checks = PlayerInfo[i][pPayCheck] / 5;
    if(PlayerInfo[i][pRegularRank] > 0)
    {
    new bonus = PlayerInfo[i][pPayCheck] / 10;
    checks += bonus;
    }
    new ebill = (PlayerInfo[i][pAccount]/10000)*(PlayerInfo[i][pLevel]);
    account += checks;
    if(PlayerInfo[i][pAccount] > 0)
    {
    PlayerInfo[i][pAccount] -= ebill;
    SBizzInfo[4][sbTill] += ebill;
    }
    //------------------------PAYDAY-----KONSOLE---------------------------------------------------
    else
    {
    ebill = 0;
    }
    interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
    PlayerInfo[i][pExp]++;
    PlayerPlayMusic(i);
    PlayerInfo[i][pAccount] = account+interest;
    SendClientMessage(i, COLOR_GREEN, "|___ Kontoauszug ___|");
    format(string, sizeof(string), " Payday: $%d Mwst.Geld: -$%d", checks, TaxValue);
    SendClientMessage(i, COLOR_WHITE, string);
    if(PlayerInfo[i][pPhousekey] != 9999 || PlayerInfo[i][pPbiskey] != 9999)
    {
    format(string, sizeof(string), " Stromrechnung: -$%d", ebill);
    SendClientMessage(i, COLOR_GRAD1, string);
    }
    format(string, sizeof(string), " Kontostand: $%d", account - checks);
    SendClientMessage(i, COLOR_WHITE, string);
    format(string, sizeof(string), " Zinssatz: 0.%d Prozent",tmpintrate);
    SendClientMessage(i, COLOR_GRAD2, string);
    format(string, sizeof(string), " Interesse Gewonnen $%d", interest);
    SendClientMessage(i, COLOR_GRAD3, string);
    SendClientMessage(i, COLOR_GREEN, "|--------------------------------------|");
    format(string, sizeof(string), " Neuer Kontostand: $%d", PlayerInfo[i][pAccount]);
    SendClientMessage(i, COLOR_GRAD5, string);
    format(string, sizeof(string), " Zinsen: -$%d", rent);
    SendClientMessage(i, COLOR_GRAD5, string);
    format(string, sizeof(string), "~y~PayDay~n~~w~ueberpruefen Sie, auf Ihr Konto ueberwiesen");
    GameTextForPlayer(i, string, 5000, 1);
    rent = 0;
    PlayerInfo[i][pPayDay] = 0;
    PlayerInfo[i][pPayCheck] = 0;
    if(FarmerVar[i] == 0)
    {
    FarmerPickup[i][0] = 0;
    }
    if(DrugFarmerVar[i] == 0)
    {
    DrugFarmerPickup[i][0] = 0;
    }
    if(SmugglerWork[i] == 0)
    {
    PayDaySecure[i] = 0;
    }
    if(PlayerInfo[i][pRegularRank] > 0)
    {
    PlayerInfo[i][pPayDayHad] += 1;
    if(PlayerInfo[i][pPayDayHad] >= 5)
    {
    PlayerInfo[i][pExp]++;
    PlayerInfo[i][pPayDayHad] = 0;
    }
    }
    }
    else
    {
    SendClientMessage(i, COLOR_WHITE, "* Sie haben nicht lange genug gespielt um einen Payday zu erhalten .");
    }
    }
    }
    }
    SaveAccounts();
    new rand = random(2500); rand += 1245;
    Jackpot += rand;
    SaveStuff();
    SaveAnticheat();
    format(string, sizeof(string), "Lottery News: Our New Jackpot has been increased to $%d.", Jackpot);
    OOCOff(COLOR_WHITE, string);
    return 1;
    }