I name Alex
Умник
Здравствуйте, обращаюсь по причине не могу исправить, игроку приходит пейдей криво, например:
А должно быть типо такого когда не отыйграл 20 минут или игрок находится в афк.
ВЕСЬ КОД:
PHP:
SCM(i, 0xFFFFFFAA, "______________________");
SCM(i, 0xFFFFFFAA, " БАНКОВСКИЙ ЧЕК");
static const str0[] ="Время: {47809b}%02d:%02d";
SCM(i, 0xBEBEBEAA, "{ffff00}Для получения зарплаты необходимо находиться в игре минимум 20 минут");
SCM(i, 0xFFFFFFAA,"______________________");
case 6: SCM(i, 0xFFFFFFAA, "Админ-зарплата: {7aa065}60000 рублей"),PlayerInfo[i][pAccount] += 60000;
format(string, sizeof(string), "Зарплата: {7aa065}%d рублей", CASH[i]);
format(string, sizeof(string), "LVL: %i EXP: %d", PlayerInfo[i][pLevel], PlayerInfo[i][pExp]);
SCM(i, 0xFFFFFFAA, "Всего Вам доброго!");
SCM(i, 0xFFFFFFAA, "______________________");
PHP:
SCM(i, 0xFFFFFFAA, "______________________");
SCM(i, 0xFFFFFFAA, " БАНКОВСКИЙ ЧЕК");
static const str0[] ="Время: {47809b}%02d:%02d";
SCM(i, 0xBEBEBEAA, "{ffff00}Для получения зарплаты необходимо находиться в игре минимум 20 минут");
SCM(i, 0xFFFFFFAA,"______________________");
PHP:
publics: PayDay()
{
new string[128];
GetKvart();
foreach(new i:Player)
{
SCM(i, 0xFFFFFFAA, "______________________");
SCM(i, 0xFFFFFFAA, " БАНКОВСКИЙ ЧЕК");
}
new hours,minutes;
gettime(hours,minutes,_);
static const str0[] ="Время: {47809b}%02d:%02d";
foreach(new i:Player)
if(PlayerInfo[i][pJailTime] < 20)
{
SCM(i, 0xBEBEBEAA, "{ffff00}Для получения зарплаты необходимо находиться в игре минимум 20 минут");
SCM(i, 0xFFFFFFAA,"______________________");
continue;
}
if(GetPVarInt(i, "AfkCheck") > 1)
{
SCM(i, 0xBEBEBEAA, "{ffff00}Вы не получили PayDay из-за нахождения в AFK.");
SCM(i, 0xFFFFFFAA,"______________________");
continue;
}
KaznaCash +=7000;
UpdateKazna();
KaznaSave();
foreach(new i:Player)
{
if(!IsPlayerConnected(i) || PlayerInfo[i][pLevel] < 0) continue;
if(MoneyMessage[i]==1)
{
SCM(i, COLOR_LIGHTRED, "Вы были не в состоянии оплатить свой долг и отправляетесь в тюрьму.");
SetPlayerInterior(i, 0);
SetPPos(i, -1801.5328,-2835.1184,14.2163);
PlayerInfo[i][pJailed] = 1;
ResetWeapons(i);
WantedPoints[i] = 0;
PlayerInfo[i][pJailTime] = 60;
format(string, sizeof(string), "Вас посадили в тюрьму на %d секунд. Выплата невозможна.", PlayerInfo[i][pJailTime]);
SCM(i, COLOR_LIGHTBLUE, string);
}
PlayerInfo[i][pRabotalLopatoy] = 0;
new playername2[MAX_PLAYER_NAME]; GetPlayerName(i, playername2, sizeof(playername2));
if(PlayerInfo[i][pOtkRabota1] > 0) PlayerInfo[i][pOtkRabota1] -- ;
if(PlayerInfo[i][pOtkRabota2] > 0) PlayerInfo[i][pOtkRabota2] -- ;
if(PlayerInfo[i][pOtkRabota3] > 0) PlayerInfo[i][pOtkRabota3] -- ;
if(PlayerInfo[i][pOtkRabota7] > 0) PlayerInfo[i][pOtkRabota7] -- ;
if(PlayerInfo[i][pOtkRabota8] > 0) PlayerInfo[i][pOtkRabota8] -- ;
if(PlayerInfo[i][pOtkRabota12] > 0) PlayerInfo[i][pOtkRabota12] -- ;
if(PlayerInfo[i][pOtkRabota14] > 0) PlayerInfo[i][pOtkRabota14] -- ;
if(PlayerInfo[i][pOtkRabota15] > 0) PlayerInfo[i][pOtkRabota15] -- ;
if(PlayerInfo[i][pOtkRabota16] > 0) PlayerInfo[i][pOtkRabota16] -- ;
if(PlayerInfo[i][pOtkRabota22] > 0) PlayerInfo[i][pOtkRabota22] -- ;
if(PlayerInfo[i][pOtkRabota24] > 0) PlayerInfo[i][pOtkRabota24] -- ;
if(PlayerInfo[i][pPayDay] >= 5)
{
new bonus1 = PlayerInfo[i][pPayCheck] / 30;
PlayerInfo[i][pPayCheck] += bonus1;
if(PlayerInfo[i][pDonateRank] > 0)
{
new bonus = PlayerInfo[i][pPayCheck] / 10;
PlayerInfo[i][pPayCheck] += bonus;
}
}
ConsumingMoney[i] = 1;
Treasury += Tax;
format(string, sizeof(string),str0,hours,minutes);
SCM(i, COLOR_WHITE,string);
{
switch(PlayerInfo[i][pAdmin])
{
case 1: SCM(i, 0xFFFFFFAA, "Админ-зарплата: {7aa065}10000 рублей"),PlayerInfo[i][pAccount] += 10000;
case 2: SCM(i, 0xFFFFFFAA, "Админ-зарплата: {7aa065}20000 рублей"),PlayerInfo[i][pAccount] += 20000;
case 3: SCM(i, 0xFFFFFFAA, "Админ-зарплата: {7aa065}30000 рублей"),PlayerInfo[i][pAccount] += 30000;
case 4: SCM(i, 0xFFFFFFAA, "Админ-зарплата: {7aa065}40000 рублей"),PlayerInfo[i][pAccount] += 40000;
case 5: SCM(i, 0xFFFFFFAA, "Админ-зарплата: {7aa065}50000 рублей"),PlayerInfo[i][pAccount] += 50000;
case 6: SCM(i, 0xFFFFFFAA, "Админ-зарплата: {7aa065}60000 рублей"),PlayerInfo[i][pAccount] += 60000;
}
if(PlayerInfo[i][pMember] >= 0 && PlayerInfo[i][pAdmin] == 0)
{
CASH[i] = CheckCash(i);
if(PlayerInfo[i][pMember] == 4)
{
switch(PlayerInfo[i][pRank])
{
case 10: CASH[i] = 4500;
case 9: CASH[i] = 3900;
case 8: CASH[i] = 3700;
case 7: CASH[i] = 3500;
case 6: CASH[i] = 3250;
case 5: CASH[i] = 2750;
case 4: CASH[i] = 2400;
case 3: CASH[i] = 1900;
case 2: CASH[i] = 1450;
case 1: CASH[i] = 1330;
}
}
if(PlayerInfo[i][pMember] == 9)
{
switch(PlayerInfo[i][pRank])
{
case 10: CASH[i] = 5200;
case 9: CASH[i] = 4600;
case 8: CASH[i] = 3200;
case 7: CASH[i] = 3200;
case 6: CASH[i] = 3200;
case 5: CASH[i] = 3200;
case 4: CASH[i] = 3200;
case 3: CASH[i] = 1750;
case 2: CASH[i] = 1350;
case 1: CASH[i] = 940;
}
}
CASH[i] += PlayerInfo[i][pCash];
PlayerInfo[i][pCash] = 0;
PlayerInfo[i][pAccount] += CASH[i];
}
if(CASH[i] > 0)
{
//new query[250];
format(string, sizeof(string), "Зарплата: {7aa065}%d рублей", CASH[i]);
SCM(i, 0xFFFFFFAA, string);
}
if(CASH[i] <= 0 && PlayerInfo[i][pAdmin] == 0) SendClientMessage(i, 0xFFFFFFAA, "Зарплата: {FF6347}0 рублей");
}
if(pdx2 == 1)
{
PlayerInfo[i][pExp]+=2;
PlayerPlayMusic(i);
//SendClientMessage(i, COLOR_WHITE, "Вы получили два респекта за наигранный час к следующему уровню!");
format(string, sizeof(string), "LVL: %i EXP: %d", PlayerInfo[i][pLevel], PlayerInfo[i][pExp]);
SCM(i, 0xFFFFFFAA, string);
SCM(i, 0xFFFFFFAA, "Всего Вам доброго!");
SCM(i, 0xFFFFFFAA, "______________________");
GameTextForPlayer(i, "~g~PAYDAY", 0, 1);
PlayerInfo[i][pConnectTime] += 2;
}
else{
PlayerInfo[i][pExp]++;
PlayerPlayMusic(i);
//SendClientMessage(i, COLOR_WHITE, "Вы получили один респект за наигранный час к следующему уровню!");
format(string, sizeof(string), "LVL: %i EXP: %d", PlayerInfo[i][pLevel], PlayerInfo[i][pExp]);
SCM(i, 0xFFFFFFAA, string);
SCM(i, 0xFFFFFFAA, "Всего Вам доброго!");
SCM(i, 0xFFFFFFAA, "______________________");
GameTextForPlayer(i, "~g~PAYDAY", 0, 1);
PlayerInfo[i][pConnectTime] += 1;
}
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pPayCheck] = 0;
if(PlayerInfo[i][pExp] >= levelexp*(PlayerInfo[i][pLevel]+1))
{
PlayerInfo[i][pExp] = 0;
PlayerInfo[i][pLevel]++;
PlayerInfo[i][gPupgrade] +=2;
format(string, sizeof(string), "Поздравляем! Ваш уровень повышен на %d!", PlayerInfo[i][pLevel]);
if(strlen(PlayerInfo[i][pRef]) && PlayerInfo[i][pLevel] == 3) CheckRef(i,50000);
SendClientMessage(i, 0x0066FFAA , string);
}
//if(FarmerVar[i] == 0) FarmerPickup[i][0] = 0;
if(PlayerInfo[i][pNeSdal] == 1) PlayerInfo[i][pNeSdal] = 0;
if(PlayerInfo[i][pDonateRank] > 0)
{
PlayerInfo[i][pPayDayHad] += 1;
if(PlayerInfo[i][pPayDayHad] >= 5) PlayerInfo[i][pExp] += 1, PlayerInfo[i][pPayDayHad] = 0;
}
}
for(new i = 0; i < sizeof(AC); i++) AC[i][acTill2] = 0,SaveAcc(i);
/* for(new i = 0; i < sizeof(House); i++)//оплата домов проверка аренды
{
if(!House[i][houseidd]) continue;
if(!House[i][sale]) continue;
format(string,sizeof(string),"SELECT `pNickname`,`rent_1` FROM `accounts` WHERE `pRentHouse` = '%d'",House[i][houseidd]);
new Cache:p = mysql_query(MySQLGo,string);
if(cache_num_rows())
{
new name[MAX_PLAYER_NAME],tick;
for(new k = 0; k < cache_num_rows(); k++)
{
cache_get_field_content(k, "pNickname", name, MySQLGo);
tick = cache_get_field_content_int(k, "rent_1", MySQLGo);
if(tick <= gettime())
{
format(string,sizeof(string),"UPDATE `accounts` SET `pRentHouse` = '0',`rent_0` = '0',`rent_1` = '0',`pStatus` = '3' WHERE `pNickname` = '%s'",name);
mysql_tquery(MySQLGo,string);
}
}
}
cache_delete(p);
if(House[i][HBank] > 300)
{
new j = GetPlayerID(House[i][owner]);
if(j != -1) SCM(j,COLOR_LIGHTGREEN,"Плата за электричество дома 300 рублей.");
House[i][HBank] -= 300;
}
else
{
foreach(new c:Player)
{
if(PlayerInfo[c][pRentHouse] == House[i][houseidd]) // будут баги - открыть.
{
SCM(c,-1,"Дом который вы арендовали был продан за неуплату государству.");
PlayerInfo[c][pRentHouse] = 0;
PlayerInfo[c][pRent][0] = 0;
PlayerInfo[c][pRent][1] = 0;
UpdatePlayerData(c,"pRentHouse",PlayerInfo[c][pRentHouse]);
UpdatePlayerData(c,"rent_0",PlayerInfo[c][pRent][0]);
UpdatePlayerData(c,"rent_1",PlayerInfo[c][pRent][1]);
}
}
new j = GetPlayerID(House[i][owner]);
if(j != -1)
{
SCM(j,-1,"Ваш дом был продан за неуплату государству. Половина стоимости перечислена на ваш банковский счет.");
PlayerInfo[j][pAccount] += House[i][stoim]/2;
PlayerInfo[j][pNewHouse] = 0;
}
else
{
format(string,sizeof(string),"SELECT `pNickname`,`rent_1`,`pCash` FROM `accounts` WHERE `pRentHouse` = '%d' OR `pNewHouse` = '%d'",House[i][houseidd],House[i][houseidd]);
new Cache:p1 = mysql_query(MySQLGo,string);
if(cache_num_rows())
{
new name[MAX_PLAYER_NAME],tick[2];
for(new k = 0; k < cache_num_rows(); k++)
{
cache_get_field_content(k, "pNickname", name, MySQLGo);
tick[0] = cache_get_field_content_int(k, "rent_1", MySQLGo);
tick[1] = cache_get_field_content_int(k, "pCash", MySQLGo);
if(!tick[0])
{
mysql_format(MySQLGo,string,sizeof(string),"UPDATE `accounts` SET `pNewHouse` = '0',`pStatus` = '1',`pCash` = '%d' WHERE `pNickname` = '%s'",tick[1] + (House[i][stoim]/2),name);
mysql_tquery(MySQLGo,string);
}
else
{
mysql_format(MySQLGo,string,sizeof(string),"UPDATE `accounts` SET `pRentHouse` = '0',`rent_0` = '0',`rent_1` = '0',`pStatus` = '2' WHERE `pNickname` = '%s'",name);
mysql_tquery(MySQLGo,string);
}
}
}
cache_delete(p1);
}
House[i][sale] = 0;
strmid(House[i][owner],"Продаётся",0,128,128);
DestroyPickup(House[i][hPick]);
DestroyDynamicMapIcon(House[i][hMIcon1]);
House[i][hMIcon1] = CreateDynamicMapIcon(House[i][HOx],House[i][HOy],House[i][HOz],31,0);
House[i][hPick] = CreatePickup(1273, 23, House[i][HOx],House[i][HOy],House[i][HOz],-1);
SaveHouse(i);
}
}*/
SaveAccounts();
return 1;
}
Последнее редактирование:
