- Регистрация
- 6 Апр 2016
- Сообщения
- 38
- Лучшие ответы
- 0
- Репутация
- 3
Ребят, помогите пожалуйста, всю голову сломал.
Пейдей проходит только у тех,кто во фракции, может, я упустил какой момент, но не могу найти, проверки,вроде бы, ровные. У гражданских пишет "банковский чек", опыт не зачисляется, а "зарплата:0" не пишется. В моде все указаны зарплаты даже для тех, кто pMember = 0.
Пейдей проходит только у тех,кто во фракции, может, я упустил какой момент, но не могу найти, проверки,вроде бы, ровные. У гражданских пишет "банковский чек", опыт не зачисляется, а "зарплата:0" не пишется. В моде все указаны зарплаты даже для тех, кто pMember = 0.
PHP:
stock PayDay()
{
SaveOther();
new string[128], amount_exp=0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
if(!gPlayerLogged[i]) { SendClientMessage(i, COLOR_GREY, "Вы не авторизированы для получения зарплаты"); continue; }
if(!pInfo[i][pVip])
{
SendClientMessage(i, COLOR_WHITE, "---------------{FFFF00}[Банковский чек]{FFFFFF}---------------");
format(string, sizeof(string), "- Зарплата: {FF9900}%d$", Fraction_Pay[pInfo[i][pMember]][pInfo[i][pRank]-1]);
SendClientMessage(i, COLOR_WHITE, string);
pInfo[i][pBank] += Fraction_Pay[pInfo[i][pMember]][pInfo[i][pRank]-1];
format(string, sizeof(string), "- Текущий баланс счёта: {FF9900}%d$", pInfo[i][pBank]);
SendClientMessage(i, COLOR_WHITE, string);
if(pInfo[i][pAdmin])
{
new AdminSalary = 5000*(pInfo[i][pAdmin]+1);
GiveBankMoney(i, AdminSalary, "AdminSalary");
format(string, sizeof(string), "- Зарплата администратора: {FF9900}%d$", AdminSalary);
SendClientMessage(i, COLOR_WHITE, string);
}
SendClientMessage(i, COLOR_WHITE, "-----------------------------------------------------------");
if(pInfo[i][pZakon] < 100)
{
pInfo[i][pZakon]++;
MysqlUpdatePlayerInt(i, "zakon", pInfo[i][pZakon]);
}
amount_exp += (!doubling_exp)?(1):(2);
if(pInfo[i][pVip] && !(pInfo[i][pTime] % 4)) amount_exp++;
pInfo[i][pExp] += amount_exp;
format(string, sizeof(string), "Вы получили %s, теперь у Вас %d из %d опыта", (amount_exp==1)?("1 очко опыта"):(amount_exp==2)?("2 очка опыта"):("3 очка опыта"), pInfo[i][pExp], (pInfo[i][pLevel]+1)*4);
SendClientMessage(i, COLOR_ORANGE, string);
amount_exp=0;
if(pInfo[i][pExp] >= (pInfo[i][pLevel]+1)*4)
{
SendClientMessage(i, COLOR_ORANGE, "Ваш игровой возраст повысился, вы перешли на следующий уровень!");
pInfo[i][pLevel]++;
pInfo[i][pAge]++;
pInfo[i][pExp] = 0;
SetPlayerScore(i, pInfo[i][pLevel]);
}
if(pInfo[i][pLevel] == 4 && pInfo[i][pExp] == 0)
{
if(!GetString(pInfo[i][pReferal], "None"))
{
new targetid = GetPlayerID(pInfo[i][pReferal]);
if(targetid != INVALID_PLAYER_ID)
{
TransferMoney(-1, targetid, 50000);
SendClientMessage(targetid, COLOR_YELLOW, "[Информация] {FFFFFF}Вы получили {63BD4E}50.000$ {FFFFFF}за приглашенного игрока");
}
else
{
mysql_query_string[0] = EOS;
format(mysql_query_string, sizeof(mysql_query_string), "SELECT * FROM "T_ACCOUNTS" WHERE name = '%s'", pInfo[i][pReferal]);
mysql_tquery(dbHandle, mysql_query_string, "@OfflineSetReferalMoney", "i", i);
}
}
}
}
else if(pInfo[i][pVip])
{
SendClientMessage(i, COLOR_WHITE, "---------------{FFFF00}[Банковский чек]{FFFFFF}---------------");
format(string, sizeof(string), "- Зарплата: {FF9900}%d$", Fraction_Pay[pInfo[i][pMember]][pInfo[i][pRank]-1]);
SendClientMessage(i, COLOR_WHITE, string);
pInfo[i][pBank] += Fraction_Pay[pInfo[i][pMember]][pInfo[i][pRank]-1];
format(string, sizeof(string), "- Текущий баланс счёта: {FF9900}%d$", pInfo[i][pBank]);
SendClientMessage(i, COLOR_WHITE, string);
if(pInfo[i][pAdmin])
{
new AdminSalary = 10000*(pInfo[i][pAdmin]+1);
GiveBankMoney(i, AdminSalary, "AdminSalary");
format(string, sizeof(string), "- Зарплата администратора: {FF9900}%d$", AdminSalary);
SendClientMessage(i, COLOR_WHITE, string);
}
SendClientMessage(i, COLOR_WHITE, "-----------------------------------------------------------");
pInfo[i][pPayCheck] = 0;
if(pInfo[i][pZakon] < 100)
{
pInfo[i][pZakon]++;
MysqlUpdatePlayerInt(i, "zakon", pInfo[i][pZakon]);
}
amount_exp += (!doubling_exp)?(1):(2);
if(pInfo[i][pVip] && !(pInfo[i][pTime] % 4)) amount_exp++;
pInfo[i][pExp] += amount_exp;
format(string, sizeof(string), "Вы получили %s, теперь у Вас %d из %d опыта", (amount_exp==1)?("1 очко опыта"):(amount_exp==2)?("2 очка опыта"):("3 очка опыта"), pInfo[i][pExp], (pInfo[i][pLevel]+1)*4);
SendClientMessage(i, COLOR_ORANGE, string);
amount_exp=0;
if(pInfo[i][pExp] >= (pInfo[i][pLevel]+1)*4)
{
SendClientMessage(i, COLOR_ORANGE, "Ваш игровой возраст повысился, вы перешли на следующий уровень!");
pInfo[i][pLevel]++;
pInfo[i][pAge]++;
pInfo[i][pExp] = 0;
SetPlayerScore(i, pInfo[i][pLevel]);
}
if(pInfo[i][pLevel] == 4 && pInfo[i][pExp] == 0)
{
if(!GetString(pInfo[i][pReferal], "None"))
{
new targetid = GetPlayerID(pInfo[i][pReferal]);
if(targetid != INVALID_PLAYER_ID)
{
TransferMoney(-1, targetid, 50000);
SendClientMessage(targetid, COLOR_YELLOW, "[Информация] {FFFFFF}Вы получили {63BD4E}50.000$ {FFFFFF}за приглашенного игрока");
}
else
{
mysql_query_string[0] = EOS;
format(mysql_query_string, sizeof(mysql_query_string), "SELECT * FROM "T_ACCOUNTS" WHERE name = '%s'", pInfo[i][pReferal]);
mysql_tquery(dbHandle, mysql_query_string, "@OfflineSetReferalMoney", "i", i);
}
}
}
}
pInfo[i][pTimeHour] = 0;
if(pInfo[i][pFineAmount] > 0)
{
pInfo[i][pFineTime]++;
MysqlUpdatePlayerInt(i, "finetime", pInfo[i][pFineTime]);
if(pInfo[i][pFineTime] < 10) SendClientMessage(i, COLOR_YELLOW, "[Полицейский участок] {FFFFFF}У Вас имеются неоплаченные штрафы. Советуем их оплатить, иначе будете объявлены в розыск");
}
pInfo[i][pImunitet] -= 10;
if(pInfo[i][pImunitet] < 0) return pInfo[i][pImunitet] = 0;
if(pInfo[i][pImunitet] > 100) return pInfo[i][pImunitet] = 100;
if(pInfo[i][pImunitet] <= 25)
{
BoleuZopoi(i);
}
else if(pInfo[i][pImunitet] == 0)
{
BoleuZopoii(i);
}
if(pInfo[i][pImunitet] < 0)
{
pInfo[i][pImunitet] = 0;
}
if(pInfo[i][pImunitet] > 100)
{
pInfo[i][pImunitet] = 100;
}
MysqlUpdatePlayerInt(i, "imunitet", pInfo[i][pImunitet]);
if(pInfo[i][pFineTime] == 10)
{
pInfo[i][pFineTime] = 0;
MysqlUpdatePlayerInt(i, "finetime", pInfo[i][pFineTime]);
pInfo[i][pWanted]++;
if(pInfo[i][pWanted] >= 6) pInfo[i][pWanted] = 6;
SetPlayerWantedLevel(i, pInfo[i][pWanted]);
SetPlayerCriminal(i, "Неизвестный", "Неуплата штрафов", 1);
}
pInfo[i][pRobHouse] = 0;
SaveAccount(i);
PlayerPlaySound(i,5203,0.0,0.0,0.0);
}
for(new houseid = 1; houseid <= TOTALHOUSE; houseid++)
{
if(HouseInfo[houseid][hRob]==true) HouseInfo[houseid][hRob] = false;
}
for(new bizid = 1; bizid <= TOTALBIZ; bizid++)
{
if(!GetString(BizInfo[bizid][bOwner], "None"))
{
BizPayLastHour[bizid] = BizPay[bizid];
BizPay[bizid] = 0;
if(BizInfo[bizid][bLock] == 1 && BizInfo[bizid][bLockTime] >= 24) ClearPlayerBiz(bizid, 1);
else
{
new playerid = GetPlayerID(BizInfo[bizid][bOwner]);
if(BizInfo[bizid][bProduct] <= 0 || BizInfo[bizid][bLic] == 0)
{
if(IsPlayerConnected(playerid) && playerid != INVALID_PLAYER_ID)
{
if(BizInfo[bizid][bLockTime] == 0 && pInfo[playerid][pBiz] != 0)
{
SendClientMessage(playerid, COLOR_YELLOW, "[Квитанция] {FFFFFF}Ваш бизнес был закрыт по причине: отсутствие продуктов или отсутствие лицензии");
SendClientMessage(playerid, COLOR_YELLOW, "[Квитанция] {FFFFFF}Если по истечению {FF9900}24 {FFFFFF}часов бизнес будет закрыт, он будет продан государству");
}
BizInfo[bizid][bLock] = 1;
MysqlUpdateBizInt(bizid, "block", BizInfo[bizid][bLock]);
}
}
if(BizInfo[bizid][bLock] == 1)
{
BizInfo[bizid][bLockTime]++;
MysqlUpdateBizInt(bizid, "locktime", BizInfo[bizid][bLockTime]);
}
if(BizInfo[bizid][bLockTime] > 1 && BizInfo[bizid][bLockTime] < 24)
{
if(IsPlayerConnected(playerid) && playerid != INVALID_PLAYER_ID)
{
if(pInfo[playerid][pBiz] != 0)
{
format(string, sizeof(string), "[Напоминание] {FFFFFF}Ваш бизнес закрыт уже {FF9900}%i {FFFFFF}час(а)", BizInfo[pInfo[playerid][pBiz]][bLockTime]);
SendClientMessage(playerid, COLOR_YELLOW, string);
SendClientMessage(playerid, COLOR_YELLOW, "[Напоминание] {FFFFFF}Если по истечению {FF9900}24 {FFFFFF}часов бизнес будет закрыт, он будет продан государству");
}
}
}
if((BizInfo[bizid][bLockTime] > 1 && BizInfo[bizid][bLockTime] < 24) && BizInfo[bizid][bLock] == 0)
{
BizInfo[bizid][bLockTime] = 0;
}
}
}
if(BizInfo[bizid][bMafia])
{
switch(BizInfo[bizid][bMafia])
{
case TEAM_LCN:
{
FracBank[6] += BizPay[bizid] / 10;
MysqlUpdateMafiaInt("lcnbank", FracBank[6]);
}
case TEAM_YAKUZA:
{
FracBank[5] += BizPay[bizid] / 10;
MysqlUpdateMafiaInt("yakuzabank", FracBank[5]);
}
case TEAM_RM:
{
FracBank[7] += BizPay[bizid] / 10;
MysqlUpdateMafiaInt("rmbank", FracBank[7]);
}
}
}
}
return 1;
}