Liebe Community,
Ich habe einen Timer bei den PayDay-System eingefügt, aber der PayDay wird nicht wenn 60min um sind aufgerufen, und der Timer geht nach 60min weiter (auf 61), aber ich möchte das es dann auf 0 wieder gesetzt wird.
Der Timer
SetTimer("ServerMinute",60000,1);//1 Minute
Hier sollte es aufgerufen werden
public ServerMinute()//Dieser Public wird jede Minute aufgerufen
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SavePlayer(i); //Deine Definierung, dein Payday soll ja auch beim Disconnect gespeichert werden, bzw die Zeit zum nächsten
PlayerInfo[i][pPayDayZeit] += 1;//Anpassen!
if(PlayerInfo[i][pPayDayZeit] == 60)//Wenn dein Payday auf 60 ist, wird dein Public aufgerufen
{
PayDay(i);
}
}
}
return 1;
}
Der PayDay
public PayDay(playerid)
{
new string[128];
new account,interest,zuschuss;
new rent = 0;
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLevel] > 0)
{
if(MoneyMessage[playerid]==1)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Du konntest deine Schulden nicht bezahlen und kommst in den Knast.");
GameTextForPlayer(playerid, "~r~Gefangen!", 2000, 1);
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
PlayerInfo[playerid][pJailed] = 1;
ResetPlayerWeapons(playerid);
WantedPoints[playerid] = 0;
PlayerInfo[playerid][pJailTime] = 240;
format(string, sizeof(string), "Du musst für %d Sekunden in den Knast.", PlayerInfo[playerid][pJailTime]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
new playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
account = PlayerInfo[playerid][pAccount];
new key = PlayerInfo[playerid][pPhousekey];
if(key != 255)
{
rent = HouseInfo[key][hRent];
if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
rent = 0;
}
else if(rent > GetPlayerMoney(playerid))
{
PlayerInfo[playerid][pPhousekey] = 255;
SendClientMessage(playerid, COLOR_WHITE, "Sie wurden vertrieben.");
rent = 0;
}
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
}
new tmpintrate;
if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
if(PlayerInfo[playerid][pDonateRank] > 0) { tmpintrate = intrate+4; }
else { tmpintrate = intrate+2; }//HouseInfo[key][hLevel]
}
else
{
if(PlayerInfo[playerid][pDonateRank] > 0) { tmpintrate = 300; }
else { tmpintrate = 300; }
}
if(PlayerInfo[playerid][pPayDayZeit] == 60)
{
Tax += TaxValue;//Should work for every player online
PlayerInfo[playerid][pAccount] -= TaxValue;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
new bonus = PlayerInfo[playerid][pPayCheck] / 2;
PlayerInfo[playerid][pPayCheck] += bonus;
}
new fraktion = 0;
if(PlayerInfo[playerid][pMember] > 0) fraktion = PlayerInfo[playerid][pMember] - 1;
if(PlayerInfo[playerid][pLeader] > 0) fraktion = PlayerInfo[playerid][pLeader] - 1;
if(fraktion >= 0)
{
if(FraktionsKasse[fraktion] - PlayerInfo[playerid][pGehalt] < 0)
{
zuschuss = 1; //fucked up to 1
GivePlayerMoney(playerid, zuschuss);
}
else if(FraktionsKasse[fraktion] - PlayerInfo[playerid][pGehalt] >= 0)
{
zuschuss = PlayerInfo[playerid][pGehalt];
GivePlayerMoney(playerid, zuschuss);
FraktionsKasse[fraktion] -= zuschuss;
}
}
new checks = PlayerInfo[playerid][pPayCheck];
new ebill = (PlayerInfo[playerid][pAccount]/10000)*(PlayerInfo[playerid][pLevel]);
ConsumingMoney[playerid] = 1;
GivePlayerMoney(playerid, checks);
if(PlayerInfo[playerid][pAccount] > 0)
{
PlayerInfo[playerid][pAccount] -= ebill;
SBizzInfo[4][sbTill] += ebill;
}
else
{
ebill = 0;
}
interest = (PlayerInfo[playerid][pAccount]/1000)*(tmpintrate);
PlayerInfo[playerid][pExp]++;
PlayerPlayMusic(playerid);
PlayerInfo[playerid][pAccount] = account+interest+zuschuss;
SendClientMessage(playerid, COLOR_WHITE, "{FFFF00}===============| {990000}Zahltag{FFFF00} |===============");
format(string, sizeof(string), " Lohn: $%d Steuern: -$%d", checks, TaxValue);
SendClientMessage(playerid, COLOR_GRAD1, string);
if(PlayerInfo[playerid][pPhousekey] != 255 || PlayerInfo[playerid][pPbiskey] != 255)
{
format(string, sizeof(string), "* Stromrechnung: -$%d", ebill);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
format(string, sizeof(string), "* Fraktionslohn: $%d", zuschuss);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Kontostand: $%d", account);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Zinssatz: 0.%d Prozent",tmpintrate);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Zinsen: $%d", interest);
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_WHITE, "{FFFF00}===============| {990000}Zahltag{FFFF00} |===============");
format(string, sizeof(string), "* Neuer Kontostand: $%d", PlayerInfo[playerid][pAccount]);
SendClientMessage(playerid, COLOR_AGEBUHR, string);
format(string, sizeof(string), "* Miete: -$%d", rent);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "~y~PayDay~n~~w~Paycheck");
GameTextForPlayer(playerid, string, 5000, 1);
rent = 0;
PlayerInfo[playerid][pPayDay] = 0;
PlayerInfo[playerid][pPayCheck] = 0;
PlayerInfo[playerid][pConnectTime] += 1;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
PlayerInfo[playerid][pPayDayHad] += 1;
if(PlayerInfo[playerid][pPayDayHad] >= 5)
{
PlayerInfo[playerid][pExp]++;
PlayerInfo[playerid][pPayDayHad] = 0;
}
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "* Du hast nicht lange genug gespielt, um PayDay zu erhalten.");
}
}
}
Checkprop();
return 1;
}
Ich hoffe ihr könnt helfen.
MfG
James.