Bekomme alle paar Minuten einen payday? :o

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 ja ich bin es schon wieder und ja ich weiß ich schreibe derzeit sehr viel hier aber ich hab nur Probleme derzeit jetzt Buggt mein payday es hat immer Funktioniert und jetzt bekomme ich alle paar Minuten n Payday obwohl das ganze schon gespeichert wird und man erst Payday bekommen soll sobald die 60 Minuten um sind wo ist der fehler bzw was könnte hier Falsch sein?



    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new string[256];
    SpielerSpeichern(i);


    pInfo[i][pGesamtMinutes]++;
    pInfo[i][pGesamtspielzeit]++;
    pInfo[i][pMinutesSinceLogin]++;
    pInfo[i][pMinutesSinceAn]++;
    if(pInfo[i][pPlayMinutes] <= 60)
    {
    pInfo[i][pPlayMinutes]++;
    }
    if(pInfo[i][pPlayMinutes] >= 60)
    {
    if(pInfo[i][pPremium] == 1)
    {
    SendClientMessage(i,GRAU,"{00FF64}EXP System{FEFEFE}: Du hast soeben 150 EXP +5000$ erhalten (Grund: Premium+)");
    EXErhalten[i] = Create3DTextLabel("{00FF64}150 EXP{FEFEFE} erhalten", 0x00F5FFFF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(EXErhalten[i], i, 0.0, 0.0, 0.7);
    pInfo[i][pExp]+= 150;
    GivePlayerMoney(i,5000);
    GameTextForPlayer(i, "~y~Zahltag", 5000, 3);
    format(string, sizeof(string), "Neuer Kontostand: $%d", pInfo[i][pBankGeld]);
    SendClientMessage(i, GRAU, string);
    return 1;
    }
    if(pInfo[i][pHandyVer] == 1)
    {
    SendClientMessage(i,GRAU,"Handykosten (Vertrag) -$100");
    GivePlayerMoney(i, -100);
    }
    if(pInfo[i][pHotel] == 1)
    {
    if(GetPlayerMoney(i) < 150)
    {
    pInfo[i][pSpawn] = 0;
    pInfo[i][pHotel] = 0;
    SendClientMessage(i,GRAU,"Leider kannst du deine Hotelkosten nichtmehr Zahlen und wurdest aus dem Hotel geworfen");
    }
    SendClientMessage(i,ROT," Hotelkosten: -$150");
    GivePlayerMoney(i, -150);
    }
    pInfo[i][pPlayMinutes] = 0;
    GameTextForPlayer(i, "~y~Zahltag", 5000, 3);
    format(string, sizeof(string), "Neuer Kontostand: $%d", pInfo[i][pBankGeld]);
    SendClientMessage(i, GRAU, string);

    SendClientMessage(i,GRAU,"{00FF64}EXP System{FEFEFE}: Du hast soeben 100 EXP erhalten (Grund: Payday)");
    EXErhalten[i] = Create3DTextLabel("{00FF64}100 EXP{FEFEFE} erhalten", 0x00F5FFFF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(EXErhalten[i], i, 0.0, 0.0, 0.7);
    pInfo[i][pExp]+= 100;
    }
    }
    }

  • Ich sehe leider deinen Timer nicht auch ich gehe mal davon aus das entweder dein Timer zuoft anspringt (falscher interval) oder es mit deiner Schleife was zutun hat.




    Also mein Payday habe ich einfach in den Timer1 Rein geklatscht hat ja auch eigentlich immer Funktioniert



    SetTimer("Timer1",60000, 1);




    So sieht der komplette Public aus



    public Timer1()
    {
    if (Counter == 0)
    {
    SendRconCommand("hostname • < Role of German 0.1 > •");
    Counter ++;
    }
    else if (Counter == 1)
    {
    SendRconCommand("hostname •• < www.Role-of-German.org > ••");
    Counter ++;
    }
    else if (Counter == 2)
    {
    SendRconCommand("hostname ••• < Role of German die Freizeitfabrik > •••");
    Counter++;
    }
    else if (Counter == 3)
    {
    SendRconCommand("hostname •••• < It's Role > ••••");
    Counter ++;
    }
    else if (Counter == 4)
    {
    SendRconCommand("hostname ••••• < Role of German > •••••");
    Counter = 0;
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new string[256];
    SpielerSpeichern(i);


    pInfo[i][pGesamtMinutes]++;
    pInfo[i][pGesamtspielzeit]++;
    pInfo[i][pMinutesSinceLogin]++;
    pInfo[i][pMinutesSinceAn]++;
    if(pInfo[i][pPlayMinutes] <= 60)
    {
    pInfo[i][pPlayMinutes]++;
    }
    if(pInfo[i][pPlayMinutes] >= 60)
    {
    if(pInfo[i][pPremium] == 1)
    {
    SendClientMessage(i,GRAU,"{00FF64}EXP System{FEFEFE}: Du hast soeben 150 EXP +5000$ erhalten (Grund: Premium+)");
    EXErhalten[i] = Create3DTextLabel("{00FF64}150 EXP{FEFEFE} erhalten", 0x00F5FFFF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(EXErhalten[i], i, 0.0, 0.0, 0.7);
    pInfo[i][pExp]+= 150;
    GivePlayerMoney(i,5000);
    GameTextForPlayer(i, "~y~Zahltag", 5000, 3);
    format(string, sizeof(string), "Neuer Kontostand: $%d", pInfo[i][pBankGeld]);
    SendClientMessage(i, GRAU, string);
    return 1;
    }
    if(pInfo[i][pHandyVer] == 1)
    {
    SendClientMessage(i,GRAU,"Handykosten (Vertrag) -$100");
    GivePlayerMoney(i, -100);
    }
    if(pInfo[i][pHotel] == 1)
    {
    if(GetPlayerMoney(i) < 150)
    {
    pInfo[i][pSpawn] = 0;
    pInfo[i][pHotel] = 0;
    SendClientMessage(i,GRAU,"Leider kannst du deine Hotelkosten nichtmehr Zahlen und wurdest aus dem Hotel geworfen");
    }
    SendClientMessage(i,ROT," Hotelkosten: -$150");
    GivePlayerMoney(i, -150);
    }
    pInfo[i][pPlayMinutes] = 0;
    GameTextForPlayer(i, "~y~Zahltag", 5000, 3);
    format(string, sizeof(string), "Neuer Kontostand: $%d", pInfo[i][pBankGeld]);
    SendClientMessage(i, GRAU, string);

    SendClientMessage(i,GRAU,"{00FF64}EXP System{FEFEFE}: Du hast soeben 100 EXP erhalten (Grund: Payday)");
    EXErhalten[i] = Create3DTextLabel("{00FF64}100 EXP{FEFEFE} erhalten", 0x00F5FFFF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(EXErhalten[i], i, 0.0, 0.0, 0.7);
    pInfo[i][pExp]+= 100;
    }
    }
    }
    return 1;
    }

  • Ich glaube @m4a_X:
    Meint eher das du 60 Sekunden anstatt 1 Stunde angegeben hast.