30.01.2010, 03:37
Here ya' go. Try it out and tell me if it works.
pawn Code:
public PayDay()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(gPlayerLogged[i] == 1)
{
if(PlayerInfo[i][pAllowedPayday] >= 5)
{
if(PlayerInfo[playerid][pJob] == 0)
{
new wstring[256];
new randcheck = 1299 + random(1500);
new interest = (PlayerInfo[i][pBank]/1000)*(intrate);
new bonus = PlayerInfo[i][pPayCheck];
new newbank = PlayerInfo[i][pBank] + interest;
new randtax = 20 + random(50);
SendClientMessage(i,COLOR_LIGHTGREEN,"____________________[PayDay]____________________");
format(wstring, sizeof(wstring), "~y~PayDay~n~~w~Paycheck: ~g~%d",randcheck + bonus);
GameTextForPlayer(i, wstring, 5000, 1);
format(wstring, sizeof(wstring), "PayCheck: $%d, Bonus: $%d", randcheck, bonus);
SendClientMessage(i,COLOR_WHITE, wstring);
format(wstring, sizeof(wstring), "Balance: $%d, Interest Gained: $%d, New Balance: $%d, Interest Rate: 0.%d percent", PlayerInfo[i][pBank], interest, newbank,intrate);
SendClientMessage(i,COLOR_WHITE, wstring);
format(wstring, sizeof(wstring), "Government Taxes: $%d", randtax);
SendClientMessage(i,COLOR_WHITE, wstring);
PlayerInfo[i][pBank] += interest;
PlayerInfo[i][pBank] -= randtax;
PlayerInfo[i][pBank] += randcheck + bonus;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pAllowedPayday] = 0;
PlayerInfo[i][pExp]++;
PlayerInfo[i][pPlayingHours] += 1;
SendClientMessage(i,COLOR_WHITE, "[Info:] Your money is now available to pickup at the bank");
SendClientMessage(i,COLOR_LIGHTGREEN,"______________________________________________________________________________________");
new nxtlevel = PlayerInfo[i][pLevel]+1;
new expamount = nxtlevel*levelexp;
if(PlayerInfo[i][pExp] < expamount)
{
format(wstring, sizeof(wstring), "You need %d/%d experience, you currently have %d", expamount,expamount,PlayerInfo[i][pExp]);
SendClientMessage(i,COLOR_WHITE, wstring);
}
else
{
format(wstring, sizeof(wstring), "You leveled up! - New Level: %d", nxtlevel);
SendClientMessage(i,COLOR_WHITE, wstring);
PlayerInfo[i][pLevel]++;
format(wstring, sizeof(wstring), "Your new target is %d/%d experience points", expamount,expamount);
SendClientMessage(i,COLOR_WHITE, wstring);
PlayerInfo[i][pExp] = 0;
}
}
else if(PlayerInfo[playerid][pJob] >= 1)
{
new wstring[256];
new randcheck = 1500 + random(3799);
new interest = (PlayerInfo[i][pBank]/1000)*(intrate);
new bonus = PlayerInfo[i][pPayCheck];
new newbank = PlayerInfo[i][pBank] + interest;
new randtax = 20 + random(50);
SendClientMessage(i,COLOR_LIGHTGREEN,"____________________[PayDay]____________________");
format(wstring, sizeof(wstring), "~y~PayDay~n~~w~Paycheck: ~g~%d",randcheck + bonus);
GameTextForPlayer(i, wstring, 5000, 1);
format(wstring, sizeof(wstring), "PayCheck: $%d, Bonus: $%d", randcheck, bonus);
SendClientMessage(i,COLOR_WHITE, wstring);
format(wstring, sizeof(wstring), "Balance: $%d, Interest Gained: $%d, New Balance: $%d, Interest Rate: 0.%d percent", PlayerInfo[i][pBank], interest, newbank,intrate);
SendClientMessage(i,COLOR_WHITE, wstring);
format(wstring, sizeof(wstring), "Government Taxes: $%d", randtax);
SendClientMessage(i,COLOR_WHITE, wstring);
PlayerInfo[i][pBank] += interest;
PlayerInfo[i][pBank] -= randtax;
PlayerInfo[i][pBank] += randcheck + bonus;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pAllowedPayday] = 0;
PlayerInfo[i][pExp]++;
PlayerInfo[i][pPlayingHours] += 1;
SendClientMessage(i,COLOR_WHITE, "[Info:] Your money is now available to pickup at the bank");
SendClientMessage(i,COLOR_LIGHTGREEN,"______________________________________________________________________________________");
new nxtlevel = PlayerInfo[i][pLevel]+1;
new expamount = nxtlevel*levelexp;
if(PlayerInfo[i][pExp] < expamount)
{
format(wstring, sizeof(wstring), "You need %d/%d experience, you currently have %d", expamount,expamount,PlayerInfo[i][pExp]);
SendClientMessage(i,COLOR_WHITE, wstring);
}
else
{
format(wstring, sizeof(wstring), "You leveled up! - New Level: %d", nxtlevel);
SendClientMessage(i,COLOR_WHITE, wstring);
PlayerInfo[i][pLevel]++;
format(wstring, sizeof(wstring), "Your new target is %d/%d experience points", expamount,expamount);
SendClientMessage(i,COLOR_WHITE, wstring);
PlayerInfo[i][pExp] = 0;
}
}
}
else
{
SendClientMessage(i,COLOR_WHITE,"[Info:] Payday not received, not played long enough");
}
}
else
{
SendClientMessage(i,COLOR_WHITE,"[Info:] You are not logged in, payday not received");
}
}
}
}