clifich
Новичок
по payday не могу понять почему когда игрок AFK ему дается зарплата, помогите плиз
а по changename не сверяется с базой, то есть можно дать одно и тоже имя нескольким игрокам
с меня плюсик всем)) спасибо заранее
PHP:
public PayDay()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pLevel] > 0)
{
new checks = 20 * (32 + random(2));
// new rent = HouseInfo[PlayerInfo[i][pPhousekey]][hRent];
new electrichestvo = 5 * (32 + random(2));
new string[65],tmphour;
gettime(tmphour);
/* if(PlayerInfo[i][pPhousekey] != 255)
{
if(strcmp(PlayerInfo[i][pName], HouseInfo[PlayerInfo[i][pPhousekey]][hOwner], true) == 0) { rent = 0; }
else if(rent > GetPlayerMoney(i))
{
PlayerInfo[i][pPhousekey] = 255;
send(i, COLOR_YELLOW, "Вы не можете платить за аренду, поэтому Вы выселены!");
rent = 0;
}
HouseInfo[PlayerInfo[i][pPhousekey]][hTakings] = HouseInfo[PlayerInfo[i][pPhousekey]][hTakings]+rent;
NormMoney[i] = 2,AntiMoney[i] = AntiMoney[i] - rent,GiveMoney(i,checks - rent);
}*/
if(GetPlayerMoney(i) < 0)
{
send(i, COLOR_YELLOW, "Вас посадили за денежный долг штату на 120 секунд");
PlayerInfo[i][pJailed] = 1;
PlayerInfo[i][pJailTime] = 120;
SetPlayerPosServer(i,2143.9041,1615.3523,993.6882);
SetPlayerWorldBounds(i,337.5694,101.5826,1940.9759,1798.7453);
}
if(PlayerInfo[i][pPayDay] >= 5)
{
Tax += TaxValue;
PlayerInfo[i][pAccount] -= TaxValue;
if(PlayerInfo[i][pTaxDost] < 500000) PlayerInfo[i][pTaxDost] += TaxValue;
if(PlayerInfo[i][pTaxDost] > 500000) PlayerInfo[i][pTaxDost] = 500000;
if(PlayerInfo[i][pDonate] >= 2)
{
PlayerInfo[i][pExp]++;
}
ConsumingMoney[i] = 1;
PlayerInfo[i][pExp]++;
PlayerInfo[i][pStatus]++;
PlayerInfo[i][pAccount] = PlayerInfo[i][pAccount];
NormMoney[i] = 2,AntiMoney[i] = AntiMoney[i] + (checks + PlayerInfo[i][pPayCheck]),GiveMoney(i,checks + PlayerInfo[i][pPayCheck]);
format(string,sizeof(string), "~ Чек: {b3f9b0}%d$", checks+PlayerInfo[i][pPayCheck]); send(i, COLOR_WHITE, string);
format(string,sizeof(string), "~ Налог мэрии: {b3f9b0}%d$", TaxValue); send(i, COLOR_WHITE, string);
format(string,sizeof(string), "~ Баланс: {b3f9b0}%d$", PlayerInfo[i][pAccount]+PlayerInfo[i][pCash]); send(i, COLOR_WHITE, string);
format(string,sizeof(string), "~ Плата за аренду: {b3f9b0}%d$", 0); send(i, COLOR_WHITE, string);
format(string,sizeof(string), "~ Банковский счет: {b3f9b0}%d$", PlayerInfo[i][pAccount]); send(i, COLOR_WHITE, string);
if(PlayerInfo[i][pPhousekey] != 255)
{
format(string, sizeof(string), "~ Плата за электричество: {b3f9b0}%d$", electrichestvo); send(i, COLOR_WHITE, string);
NormMoney[i] = 2,AntiMoney[i] = AntiMoney[i] - electrichestvo,GiveMoney(i, - electrichestvo);
SBizzInfo[4][sbTill] += electrichestvo;
}
format(string, sizeof(string), "~r~Pay Day");
GameTextForPlayer(i, string, 7000, 1);
}
else
{
send(i, COLOR_YELLOW, "EmpireBay RPG: Вы не получили зарплату за прошлый час, так как слишком мало играли.");
}
if(tmphour == 20)
{
new max_lhelper[2];
if(!lhelper[i]) continue;
else
{
if(max_lhelper[0] < lhelper[i])
{
max_lhelper[0] = lhelper[i]; // записываем максимальное Количество
max_lhelper[1] = i; // записываем ID
}
}
format(string, sizeof(string), "Лучший хелпер за день: "#accept"%s",PlayerInfo[i][pName]);
sendAll(COLOR_WHITE, string);
DayTax += 1;
SaveStuff();
}
if(tmphour == 8)
{
Checkprop();
}
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pPayCheck] = 0;
PlayerPlayMusic(i);
}
}
GZProfitMoney();
return true;
}
PHP:
if(strcmp(cmd, "/changename", true) == 0)
{
new newname[23];
if (PlayerInfo[playerid][pAdmin] >= 1)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
send(playerid, COLOR_WHITE, "Используйте: /changename [ID игрока/Часть имени] [Новое имя]");
return true;
}
giveplayerid = ReturnUser(tmp);
if(giveplayerid != INVALID_PLAYER_ID)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
while ((idx < length) && ((idx - offset) < (sizeof(newname) - 1)))
{
newname[idx - offset] = cmdtext[idx];
idx++;
}
newname[idx - offset] = EOS;
if(!strlen(newname))
{
send(playerid, COLOR_WHITE, "Используйте: /changename [ID игрока/Часть имени] [Новое имя]");
return true;
}
else
{
new query[75];
format(query,200,"UPDATE `users` SET `Name` = '%s' WHERE `Id` = '%i'",newname,PlayerInfo[giveplayerid][pId]);
mysql_query(query);
if(fexist(query))
{
send(giveplayerid,COLOR_GRAD1,"Такое имя уже есть на сервере");
return true;
}
format(newname,sizeof(newname),"%s",newname);
send(giveplayerid,COLOR_WHITE,"");
send(giveplayerid,COLOR_WHITE,"");
send(giveplayerid,COLOR_WHITE,"");
send(giveplayerid,COLOR_WHITE,"");
send(giveplayerid,COLOR_WHITE,"");
send(giveplayerid,COLOR_WHITE,"");
send(giveplayerid,COLOR_WHITE,"");
send(giveplayerid,COLOR_WHITE,"");
send(giveplayerid,COLOR_WHITE,"");
send(giveplayerid,COLOR_WHITE,"");
send(giveplayerid,COLOR_WHITE,"");
format(string, sizeof(string), "Ваш новый ник [ %s ] не забудте сменить его в окне мультиплеера", newname);
send(giveplayerid, COLOR_YELLOW, string);
send(giveplayerid,COLOR_YELLOW,"Обязательно сделайте скриншот с этим сообщением (Клавиша F8)");
namechan[giveplayerid] = 3;
new nameold[24];
GetPlayerName(giveplayerid, nameold, sizeof(nameold));
strmid(namechannew[giveplayerid], newname, 0, strlen(newname), 255);
strmid(namechanold[giveplayerid], nameold, 0, strlen(nameold), 255);
}
}
else if(giveplayerid == INVALID_PLAYER_ID)
{
send(playerid, COLOR_GRAD1, "Нет такого игрока!");
}
}
return true;
}
