Moin,
Ich habe ein neues PayDay System erstellt habe nur ein Problem! Wenn man /payday eingibt bekommt jeder der online ist einen PayDay hier mal der command!
if(strcmp(cmd, "/payday", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(abletopayday[playerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "Es ist noch nicht Zahltag!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED,"Benutze: /payday [Lösung]");
return 1;
}
new loesung = strval(tmp);
new richtigeloesung = paydayzahl1[playerid] + paydayzahl2[playerid];
if(loesung != richtigeloesung)
{
SendClientMessage(playerid, COLOR_RED, "Deine Lösung war nicht korrekt! Versuch es nochmal!");
return 1;
}
SendClientMessage(playerid, COLOR_WHITE, "Dein Ergebnis war richtig! Du erhälts deinen Zahltag!");
PayDay(playerid);
}
return 1;
}
und hier die public payday
public PayDay(playerid)
{
new string[128];
new account,interest;
new rent = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(M_Bot[i][PAFK] == 0)
{
if(MoneyMessage[i]==1)
{
SendClientMessage(i, COLOR_LIGHTRED, "Du konntest deine Schulden nicht Bezahlen.");
GameTextForPlayer(i, "~r~Busted!", 2000, 1);
SetPlayerInterior(i, 6);
SetPlayerPos(i, 264.6288,77.5742,1001.0391);
PlayerInfo[i][pJailed] = 1;
ResetPlayerWeapons(i);
ResetPlayerMoney(i);
WantedPoints[i] = 0;
PlayerInfo[i][pJailTime] = 240;
format(string, sizeof(string), "Du bist eingesperrt für %d sekunden. Kaution: Keine", PlayerInfo[i][pJailTime]);
SendClientMessage(i, COLOR_LIGHTBLUE, string);
}
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 aus deiner Wohnung geschmissen, weil du die Miete nichtmehr bezahlen konntest!");
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] >= 3)
{
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]);
//new oil = (PlayerInfo[i][pPhousekey]*100);
ConsumingMoney[i] = 1;
GivePlayerMoney(i, checks);
if(PlayerInfo[i][pAccount] > 0)
{
PlayerInfo[i][pAccount] -= ebill;
SBizzInfo[4][sbTill] += ebill;
}
else
{
ebill = 0;
}
if(PlayerInfo[i][pPhousekey] != 255)
{
//PlayerInfo[i][pAccount] -= oil;
//SBizzInfo[3][sbTill] += oil;
}
else
{
//oil = 0;
}
if(PlayerInfo[i][pMember] == 0 && PlayerInfo[i][pLeader] == 0)
{
checks += 500;
}
interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
PlayerInfo[i][pExp]++;
PlayerPlayMusic(i);
PlayerInfo[i][pAccount] = account+interest;
SendClientMessage(i, COLOR_GOLD, "|================| KONTO AUSZUG |================|");
format(string, sizeof(string), " Gehalt: $%d Miete: -$%d Steuern: -$%d", checks, rent, TaxValue);
SendClientMessage(i, COLOR_GRAD1, string);
if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
{
format(string, sizeof(string), " Strom Kosten [incl.: Heitzkosten,Wasser: -$%d", ebill);
SendClientMessage(i, COLOR_GRAD1, string);
}
if(PlayerInfo[i][pHandyVer] == 1)
{
SendClientMessage(i,COLOR_GRAD2," Handyvertragskosten: -$100");
GivePlayerMoney(i, -100);
}
format(string, sizeof(string), " Zinsen: $%d [0.%d prozent]", interest,tmpintrate);
SendClientMessage(i, COLOR_GRAD2, string);
SendClientMessage(i, COLOR_GOLD, "|=================||============||=================|");
format(string, sizeof(string), " Neuer Kontostand: $%d", PlayerInfo[i][pAccount]);
SendClientMessage(i, COLOR_GRAD5, string);
format(string, sizeof(string), "~b~Pay~w~Day~b~!~w~!~b~!");
GameTextForPlayer(i, string, 5000, 1);
rent = 0;
abletopayday[i] = 0;
PlayerInfo[i][pTimeToPayDay] = 3600000;
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pConnectTime] += 1;
SaveAccounts(i);
if(PlayerInfo[i][pDonateRank] > 0)
{
PlayerInfo[i][pPayDayHad] += 1;
if(PlayerInfo[i][pPayDayHad] >= 5)
{
PlayerInfo[i][pExp]++;
PlayerInfo[i][pPayDayHad] = 0;
}
}
}
//else
{
//SendClientMessage(i, COLOR_LIGHTRED, "* Du hast nicht lange Genug gespielt!");
}
}
else
{
SendClientMessage(i, COLOR_LIGHTRED, "* Du hast kannst keinen PayDay bekommen solange du AFK bist!");
}
}
}
Checkprop();
return 1;
}
hier die forwards!
forward PayDay(playerid);
Woran liegt das?