23.07.2015, 13:50
The problem is already here,i tried just with EXP system first i need to solve it.
i have
on top of script.
i have
at ongamemodeexit
i Have
on gamemodeinit
and the function :
i have
Quote:
new exptimer; |
i have
Quote:
KillTimer(exptimer); |
i Have
Quote:
exptimer = SetTimer("XpTimer", 60010, 1); |
and the function :
PHP код:
function XpTimer()
{
new str[256], string[128];
foreach(Player ,i) //(new i = 1; i < sizeof(Turfs); i++)
{
if(IsPlayerPaused(i) == false && PlayerData[i][IsLoggedIn] == true && PlayerAFK[i] == 0 && Sleeping[i] == 0)
{
PlayerData[i][Exp] += 1;
OnExp[i] += 1;
if(OnExp[i] >= 60)
{
new checks = PlayerData[i][Level] * 300;
new account = PlayerData[i][Bank];
new interest = account / 300;
PlayerData[i][Bank] += interest;
if(PlayerData[i][FPunish] > 0) PlayerData[i][FPunish] -= 1;
SendClientMessage(i, COLOR_WHITE, "________ BANK STATEMENT ________");
format(string, sizeof(string), " Paycheck: $%s", Decimal(checks));
SendClientMessage(i, COLOR_GRAD1, string);
format(string, sizeof(string), " Old Balance: $%s | Interest rate: 0.1%%", Decimal(account));
SendClientMessage(i, COLOR_GRAD1, string);
format(string, sizeof(string), " New balance: $%s", Decimal(PlayerData[i][Bank]));
SendClientMessage(i, COLOR_GRAD5, string);
GivePlayerCash(i, checks);
mysql_format(SQL, str,128,"UPDATE `users` SET `Bank`='%d',`FPunish`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][Bank],PlayerData[i][FPunish],PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
OnExp[i] = 0;
}
PlayerData[i][TotalExp] += 1;
mysql_format(SQL, str,128,"UPDATE `users` SET `Exp`='%d',`TotalXP`='%d',`OnExp`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][Exp],PlayerData[i][TotalExp],OnExp[i],PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
if(PlayerData[i][CarLic] > 0) PlayerData[i][CarLic] -= 1;
if(PlayerData[i][FlyLic] > 0) PlayerData[i][FlyLic] -= 1;
if(PlayerData[i][BoatLic] > 0) PlayerData[i][BoatLic] -= 1;
if(PlayerData[i][FishLic] > 0) PlayerData[i][FishLic] -= 1;
if(PlayerData[i][GunLic] > 0) PlayerData[i][GunLic] -= 1;
if(PlayerData[i][MatsLic] > 0) PlayerData[i][MatsLic] -= 1;
if(PlayerData[i][CarLic] == 10) SendClientMessage(i, RED, "WARNING: Your driving license will expire in 10 minutes.");
if(PlayerData[i][FlyLic] == 10) SendClientMessage(i, RED, "WARNING: Your flying license will expire in 10 minutes.");
if(PlayerData[i][BoatLic] == 10) SendClientMessage(i, RED, "WARNING: Your sailing license will expire in 10 minutes.");
if(PlayerData[i][FishLic] == 10) SendClientMessage(i, RED, "WARNING: Your fishing license will expire in 10 minutes.");
if(PlayerData[i][GunLic] == 10) SendClientMessage(i, RED, "WARNING: Your weapon license will expire in 10 minutes.");
if(PlayerData[i][MatsLic] == 10) SendClientMessage(i, RED, "WARNING: Your materials license will expire in 10 minutes.");
mysql_format(SQL, str, 128, "UPDATE `users` SET `CarLic`='%d' WHERE `id`='%d' LIMIT 1",PlayerData[i][CarLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
mysql_format(SQL, str, 128,"UPDATE `users` SET `FlyLic`='%d' WHERE `id`='%d' LIMIT 1",PlayerData[i][FlyLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
mysql_format(SQL, str, 128,"UPDATE `users` SET `BoatLic`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][BoatLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
mysql_format(SQL, str, 128,"UPDATE `users` SET `FishLic`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][FishLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
mysql_format(SQL, str, 128,"UPDATE `users` SET `GunLic`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][GunLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
mysql_format(SQL, str, 128,"UPDATE `users` SET `MatsLic`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][MatsLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
new XPneed = GetXPPoints(i);
if(Allowed[i] == 0)
{
format(string, 100, "%d / %d XP", PlayerData[i][Exp], XPneed);
PlayerTextDrawSetString(i, XPRemain, string);
format(string, 100, "Time Left: %d min", XPneed-PlayerData[i][Exp]);
PlayerTextDrawSetString(i, XPTLeft, string);
format(string, 100, "Level: %d (%d XP)", PlayerData[i][Level],PlayerData[i][TotalExp]);
PlayerTextDrawSetString(i, XPTotal, string);
new Float:percent;
percent = ((PlayerData[i][Exp] * 100) / XPneed);
SetPlayerProgressBarValue(i, barxp, percent);
HidePlayerProgressBar(i, barxp);
ShowPlayerProgressBar(i, barxp);
}
if(PlayerData[i][Exp] >= XPneed)
{//Level Up
PlayerData[i][Level] += 1;
SetPlayerScore(i, PlayerData[i][Level]);
new money;
if(PlayerData[i][Level] < 8 && PlayerData[i][Level] > 0) money = PlayerData[i][Level] * 1500;
else money = PlayerData[i][Level] * 500;
GivePlayerCash(i, money);
format(string, sizeof(string), "You recieve %d money for level up.", money);
SendClientMessage(i, COLOR_WHITE, string);
PlayerData[i][Exp] = 0;
mysql_format(SQL, str, 256,"UPDATE `users` SET `Exp`='%d',`TotalXP`='%d',`Level`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][Exp],PlayerData[i][TotalExp],PlayerData[i][Level],PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
}
}
if(Sleeping[i] == 1)
{
SleepXP[i] += 1;
if(SleepXP[i] == 5)
{
PlayerData[i][Exp] += 1;
OnExp[i] += 1;
if(OnExp[i] >= 120)
{
new checks = PlayerData[i][Level] * 300;
new account = PlayerData[i][Bank];
new interest = account / 300;
PlayerData[i][Bank] += interest;
if(PlayerData[i][FPunish] > 0) PlayerData[i][FPunish] -= 1;
SendClientMessage(i, COLOR_WHITE, "________ BANK STATEMENT ________");
format(string, sizeof(string), " Paycheck: $%s", Decimal(checks));
SendClientMessage(i, COLOR_GRAD1, string);
format(string, sizeof(string), " Old Balance: $%s | Interest rate: 0.1%%", Decimal(account));
SendClientMessage(i, COLOR_GRAD1, string);
format(string, sizeof(string), " New balance: $%s", Decimal(PlayerData[i][Bank]));
SendClientMessage(i, COLOR_GRAD5, string);
GivePlayerCash(i, checks);
mysql_format(SQL, str,128,"UPDATE `users` SET `Bank`='%d',`FPunish`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][Bank],PlayerData[i][FPunish],PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
OnExp[i] = 0;
}
PlayerData[i][TotalExp] += 1;
mysql_format(SQL, str,128,"UPDATE `users` SET `Exp`='%d',`TotalXP`='%d',`OnExp`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][Exp],PlayerData[i][TotalExp],OnExp[i],PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
if(PlayerData[i][CarLic] > 0) PlayerData[i][CarLic] -= 1;
if(PlayerData[i][FlyLic] > 0) PlayerData[i][FlyLic] -= 1;
if(PlayerData[i][BoatLic] > 0) PlayerData[i][BoatLic] -= 1;
if(PlayerData[i][FishLic] > 0) PlayerData[i][FishLic] -= 1;
if(PlayerData[i][GunLic] > 0) PlayerData[i][GunLic] -= 1;
if(PlayerData[i][MatsLic] > 0) PlayerData[i][MatsLic] -= 1;
if(PlayerData[i][CarLic] == 10) SendClientMessage(i, RED, "WARNING: Your driving license will expire in 10 minutes.");
if(PlayerData[i][FlyLic] == 10) SendClientMessage(i, RED, "WARNING: Your flying license will expire in 10 minutes.");
if(PlayerData[i][BoatLic] == 10) SendClientMessage(i, RED, "WARNING: Your sailing license will expire in 10 minutes.");
if(PlayerData[i][FishLic] == 10) SendClientMessage(i, RED, "WARNING: Your fishing license will expire in 10 minutes.");
if(PlayerData[i][GunLic] == 10) SendClientMessage(i, RED, "WARNING: Your weapon license will expire in 10 minutes.");
if(PlayerData[i][MatsLic] == 10) SendClientMessage(i, RED, "WARNING: Your materials license will expire in 10 minutes.");
mysql_format(SQL, str, 128, "UPDATE `users` SET `CarLic`='%d' WHERE `id`='%d' LIMIT 1",PlayerData[i][CarLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
mysql_format(SQL, str, 128,"UPDATE `users` SET `FlyLic`='%d' WHERE `id`='%d' LIMIT 1",PlayerData[i][FlyLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
mysql_format(SQL, str, 128,"UPDATE `users` SET `BoatLic`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][BoatLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
mysql_format(SQL, str, 128,"UPDATE `users` SET `FishLic`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][FishLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
mysql_format(SQL, str, 128,"UPDATE `users` SET `GunLic`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][GunLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
mysql_format(SQL, str, 128,"UPDATE `users` SET `MatsLic`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][MatsLic], PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
new XPneed = GetXPPoints(i);
if(Allowed[i] == 0)
{
format(string, 100, "%d / %d XP", PlayerData[i][Exp], XPneed);
PlayerTextDrawSetString(i, XPRemain, string);
format(string, 100, "Time Left: %d min", XPneed-PlayerData[i][Exp]);
PlayerTextDrawSetString(i, XPTLeft, string);
format(string, 100, "Level: %d (%d XP)", PlayerData[i][Level],PlayerData[i][TotalExp]);
PlayerTextDrawSetString(i, XPTotal, string);
new Float:percent;
percent = ((PlayerData[i][Exp] * 100) / XPneed);
SetPlayerProgressBarValue(i, barxp, percent);
HidePlayerProgressBar(i, barxp);
ShowPlayerProgressBar(i, barxp);
}
if(PlayerData[i][Exp] >= XPneed)
{//Level Up
PlayerData[i][Level] += 1;
SetPlayerScore(i, PlayerData[i][Level]);
new money;
if(PlayerData[i][Level] < 8 && PlayerData[i][Level] > 0) money = PlayerData[i][Level] * 1500;
else money = PlayerData[i][Level] * 500;
GivePlayerCash(i, money);
format(string, sizeof(string), "You recieve %d money for level up.", money);
SendClientMessage(i, COLOR_WHITE, string);
PlayerData[i][Exp] = 0;
mysql_format(SQL, str, 256,"UPDATE `users` SET `Exp`='%d',`TotalXP`='%d',`Level`='%d' WHERE `ID`='%d' LIMIT 1",PlayerData[i][Exp],PlayerData[i][TotalExp],PlayerData[i][Level],PlayerData[i][ID]);
mysql_tquery(SQL, str, "", "");
}
SleepXP[i] = 0;
}
}
}
}