DaVilka
Новичок
Получается такая фишка, если дом или бизнес слетает за неуплату то сообщение выводится после каждого PayDay. В чем собственно вопрос, как сделать так чтобы это сообщение выводилось один раз после того как дом/биз слител
PHP:
public PayDay()
{
new string[128];
SaveBankMafia();
new sendername[MAX_PLAYER_NAME];
for(new i = 0; i < sizeof(GZInfo); i++)
{
if(GZInfo[i][gFrakVlad] == 12) TotalGz[0]++;
if(GZInfo[i][gFrakVlad] == 13) TotalGz[1]++;
if(GZInfo[i][gFrakVlad] == 15) TotalGz[2]++;
if(GZInfo[i][gFrakVlad] == 17) TotalGz[3]++;
if(GZInfo[i][gFrakVlad] == 18) TotalGz[4]++;
}
FracBank[0][fBallas] += TotalGz[0]*30;
FracBank[0][fVagos] += TotalGz[1]*30;
FracBank[0][fGrove] += TotalGz[2]*30;
FracBank[0][fAztek] += TotalGz[3]*30;
FracBank[0][fRifa] += TotalGz[4]*30;
ClearTotalGz();
SaveBankFrac();
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(HouseInfo[h][hKlass] == 0 && HouseInfo[h][hOwned] == 1)
{
HouseInfo[h][hTakings] -= 50;
}
if(HouseInfo[h][hKlass] == 1 && HouseInfo[h][hOwned] == 1)
{
HouseInfo[h][hTakings] -= 50;
}
if(HouseInfo[h][hKlass] == 2 && HouseInfo[h][hOwned] == 1)
{
HouseInfo[h][hTakings] -= 50;
}
if(HouseInfo[h][hKlass] == 3 && HouseInfo[h][hOwned] == 1)
{
HouseInfo[h][hTakings] -= 50;
}
if(HouseInfo[h][hKlass] == 4 && HouseInfo[h][hOwned] == 1)
{
HouseInfo[h][hTakings] -= 50;
}
if(HouseInfo[h][hKlass] == 5 && HouseInfo[h][hOwned] == 1)
{
HouseInfo[h][hTakings] -= 50;
}
if(HouseInfo[h][hTakings] <= 0 && HouseInfo[h][hOwned] == 1)
{
new housecash = HouseInfo[h][hValue];
format(string, sizeof(string), "Users/%s.ini",HouseInfo[h][hOwner]);
new File = ini_openFile(string);
ini_setInteger(File, "House", 255);
ini_setInteger(File, "Housecash", housecash);
ini_setInteger(File, "Text", 1);
ini_closeFile(File);
HouseInfo[h][hHel] = 0;
HouseInfo[h][hLock] = 1;
HouseInfo[h][hOwned] = 0;
strmid(HouseInfo[h][hOwner], "The State", 0, strlen("The State"), 255);
}
}
new NoRace[24];
format(NoRace, 8,"Нет");
new iniFile = ini_openFile("gamefiles/racelist.ini");
ini_removeKey(iniFile, "1." );
ini_setString(iniFile, "1. ",NoRace);
ini_removeKey(iniFile, "2." );
ini_setString(iniFile, "2. ",NoRace);
ini_removeKey(iniFile, "3." );
ini_setString(iniFile, "3. ",NoRace);
ini_closeFile(iniFile);
new NoDerby[24];
format(NoDerby, 8,"Нет");
new iniFilek = ini_openFile("gamefiles/derbylist.ini");
ini_removeKey(iniFilek, "1." );
ini_setString(iniFilek, "1. ", NoDerby);
ini_removeKey(iniFilek, "2." );
ini_setString(iniFilek, "2. ", NoDerby);
ini_removeKey(iniFilek, "3." );
ini_setString(iniFilek, "3. ", NoDerby);
ini_closeFile(iniFilek);
for(new i = 0; i < MAX_PLAYERS; i++)
{
new house = PlayerInfo[i][pPHousekey];
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pLevel] > 0)
{
new playername2[MAX_PLAYER_NAME];
GetPlayerName(i, playername2, sizeof(playername2));
new exp = PlayerInfo[i][pExp];
new nxtlevel = PlayerInfo[i][pLevel]+1;
new expamount = nxtlevel*levelexp;
PlayerInfo[i][pTaxiExp] += taxiexpp[i];
if(exp == expamount)
{
PlayerInfo[i][pLevel] += 1;
PlayerInfo[i][pExp] = 0;
}
if(armmatbi < 0)
{
armmatbi = 0;
}
else if(armmatsf < 0)
{
armmatsf = 0;
}
if(PlayerInfo[i][pTaxiExp] == PlayerInfo[i][pTaxiLvl]+1*levelexp)
{
PlayerInfo[i][pTaxiLvl] += 1;
PlayerInfo[i][pTaxiExp] = 0;
}
// ================== [Зарплата] ==================
if(FormaFrac[i] >= 1)
{
switch(PlayerInfo[i][pMember])
{
case 1, 10, 11, 21: PlayerInfo[i][pPayCheck]+=800*PlayerInfo[i][pRank];
case 2, 27: PlayerInfo[i][pPayCheck]+=1500*PlayerInfo[i][pRank];
case 3, 19, 26: PlayerInfo[i][pPayCheck]+=500*PlayerInfo[i][pRank];
case 4, 22, 24: PlayerInfo[i][pPayCheck]+=900*PlayerInfo[i][pRank];
case 7: PlayerInfo[i][pPayCheck]+=1600*PlayerInfo[i][pRank];
}
}
switch(PlayerInfo[i][pMember])
{
case 5, 6, 14, 23: PlayerInfo[i][pPayCheck]+=1100*PlayerInfo[i][pRank];
case 8: PlayerInfo[i][pPayCheck]+=600*PlayerInfo[i][pRank];
case 25, 9, 16, 20: PlayerInfo[i][pPayCheck]+=1000*PlayerInfo[i][pRank];
case 12, 13, 15, 17, 18: PlayerInfo[i][pPayCheck]+=500*PlayerInfo[i][pRank];
}
// ====================================
if(PlayerInfo[i][pMember] == 0 && PlayerInfo[i][pRank] == 0)
{
PlayerInfo[i][pPayCheck] = 0;
}
if(PlayerInfo[i][pMember] == 3)
{
if(armmatbi <= 0)
{
PlayerInfo[i][pPayCheck] = 0;
SendClientMessage(i, COLOR_GREY, "Склад Армии LV пуст!");
}
}
if(PlayerInfo[i][pMember] == 19)
{
if(armmatsf <= 0)
{
PlayerInfo[i][pPayCheck] = 0;
SendClientMessage(i, COLOR_GREY, "Склад Армии SF пуст!");
}
}
PlayerInfo[i][pExp]++;
PlayerPlayMusic(i);
new checks = PlayerInfo[i][pPayCheck];
if(PlayerInfo[i][pDonateRank] >= 1)
{
format(string, sizeof(string), "~h~PayDay");
GameTextForPlayer(i, string, 5000, 1);
}
else
{
format(string, sizeof(string), "~w~PayDay");
GameTextForPlayer(i, string, 5000, 1);
}
if(PlayerInfo[i][pJob] == 1 && PlayerInfo[i][pMember] == 0)
{
PlayerInfo[i][pPayCheck] += AutoBusCheck[i];
AutoBusCheck[i] = 0;
}
if(PlayerInfo[i][pDonateRank] >= 1)
{
SendClientMessage(i, COLOR_NEWS, "--------===[ VIP КЛИЕНТ БАНКА SA ]===-------");
}
else
{
SendClientMessage(i, COLOR_GRAD1, "--------===[ КЛИЕНТ БАНКА SA ]===-------");
}
if(!NoTax(i))
{
format(string, sizeof(string), "***** Налог государству: -%d вирт *****", GovTax);
SendClientMessage(i, 0xFF8C37AA, string);
PlayerInfo[i][pBank] -= GovTax;
PlayerInfo[i][pLabiding] += 1;
FracBank[0][fKazna] += GovTax;
}
if(PlayerInfo[i][pMafiaRoof] != 0)
{
if(PlayerInfo[i][pBank] > 50)
{
PlayerInfo[i][pBank] -= 50;
PlayerInfo[i][pDebt] += 50;
}
if(PlayerInfo[i][pCash] > 50)
{
PlayerInfo[i][pCash] -= 50;
PlayerInfo[i][pDebt] += 50;
}
}
format(string, sizeof(string), " Счёт за телефон: -%d вирт", PlayerInfo[i][pMobile]);
SendClientMessage(i, 0xFF8C37AA, string);
PlayerInfo[i][pBank] -= PlayerInfo[i][pMobile];
PlayerInfo[i][pMobile] = 0;
SendClientMessage(i, COLOR_WHITE, " ");
if(PlayerInfo[i][pDonateRank] >= 1)
{
format(string, sizeof(string), " Зарплата: %d вирт", checks);
SendClientMessage(i, COLOR_NEWS, string);
}
else
{
format(string, sizeof(string), " Зарплата: %d вирт", checks);
SendClientMessage(i, COLOR_WHITE, string);
}
PlayerInfo[i][pBank] += checks;
if(PlayerInfo[i][pDonateRank] >= 1)
{
format(string, sizeof(string), " Текущий баланс: %d вирт", PlayerInfo[i][pBank]);
SendClientMessage(i, COLOR_NEWS, string);
}
else
{
format(string, sizeof(string), " Текущий баланс: %d вирт", PlayerInfo[i][pBank]);
SendClientMessage(i, COLOR_WHITE, string);
}
new bouse = PlayerInfo[i][pPBiskey];
if(PlayerInfo[i][pPBiskey] != 255)
{
if(bouse < 200)
{
BizzInfo[bouse][bTill] -= 200;
BizzInfo[bouse][bTill] += BizzInfo[bouse][b2Till];
BizzInfo[bouse][b2Till] = 0;
if(BizzInfo[bouse][bMafia] != 0)
{
if(BizzInfo[bouse][bTill] > 5000)
{
BizzInfo[bouse][bTill] -= 1000;
if(BizzInfo[bouse][bMafia] == 6)
{
MafiaBank[0][nYakuza] += 500;
}
if(BizzInfo[bouse][bMafia] == 14)
{
MafiaBank[0][nRm] += 500;
}
if(BizzInfo[bouse][bMafia] == 5)
{
MafiaBank[0][nLcn] += 500;
}
}
}
if(BizzInfo[bouse][bTill] <= 0)
{
BizzInfo[bouse][bLocked] = 1;
BizzInfo[bouse][bOwned] = 0;
BizzInfo[bouse][bProducts] = 0;
GetPlayerName(i, sendername, sizeof(sendername));
strmid(BizzInfo[bouse][bOwner], "The State", 0, strlen("The State"), 255);
strmid(BizzInfo[bouse][bExtortion], "No-one", 0, strlen("No-one"), 255);
SendClientMessage(i, 0xFF8C37AA, " Ваш бизнес был продан, за неуплату электроэнергии");
BizzInfo[bouse][bTill] = 0;
BizzInfo[bouse][b2Till] = 0;
PlayerInfo[i][pPBiskey] = 255;
format(string, sizeof(string), "%s\nПродаётся\nЦена: %d", BizzInfo[bouse][bMessage],BizzInfo[bouse][bBuyPrice]);
Update3DTextLabelText(BizzInfo[bouse][bLabel], 0xEAC700AA, string);
}
}
if(bouse >= 100)
{
if(SBizzInfo[bouse-100][sbMafia] != 0)
{
if(SBizzInfo[bouse-100][sbTill] > 5000)
{
SBizzInfo[bouse-100][sbTill] -= 1000;
if(SBizzInfo[bouse-100][sbMafia] == 6)
{
MafiaBank[0][nYakuza] += 500;
}
if(SBizzInfo[bouse-100][sbMafia] == 14)
{
MafiaBank[0][nRm] += 500;
}
if(SBizzInfo[bouse-100][sbMafia] == 5)
{
MafiaBank[0][nLcn] += 500;
}
}
}
SBizzInfo[bouse-100][sbTill] -= 100;
SBizzInfo[bouse-100][sbTill] += SBizzInfo[bouse-100][s2bTill];
SBizzInfo[bouse-100][s2bTill] = 0;
if(SBizzInfo[bouse-100][sbTill] <= 0)
{
SBizzInfo[bouse-100][sbLocked] = 1;
SBizzInfo[bouse-100][sbOwned] = 0;
SBizzInfo[bouse-100][sbProducts] = 0;
GetPlayerName(i, sendername, sizeof(sendername));
strmid(SBizzInfo[bouse-100][sbOwner], "The State", 0, strlen("The State"), 255);
SendClientMessage(i, 0xFF8C37AA, " Ваша бизнес был продан, за неуплату электроэнергии");
SBizzInfo[bouse-100][sbTill] = 0;
SBizzInfo[bouse-100][s2bTill] = 0;
PlayerInfo[i][pPBiskey] = 255;
format(string, sizeof(string), "%s\nПродаётся\nЦена: %d", SBizzInfo[bouse-100][sbMessage],SBizzInfo[bouse-100][sbBuyPrice]);
Update3DTextLabelText(SBizzInfo[bouse-100][sbLabel], 0xEAC700AA, string);
}
}
}
if(PlayerInfo[i][pPhousekey] != 255)
{
if(HouseInfo[house][hTakings] <= 0)
{
new playerid;
PlayerInfo[i][pText] = 1;
PlayerInfo[i][pHousecash] = HouseInfo[house][hValue];
HouseInfo[house][hHel] = 0;
HouseInfo[house][hLock] = 1;
HouseInfo[house][hOwned] = 0;
HouseInfo[house][hVec] = 0;
HouseInfo[house][hVcol1] = -1;
HouseInfo[house][hVcol2] = -1;
DestroyVehicle(caridhouse[playerid]);
GetPlayerName(i, sendername, sizeof(sendername));
strmid(HouseInfo[house][hOwner], "The State", 0, strlen("The State"), 255);
SendClientMessage(i, 0xFF8C37AA, " Вы были выселены за неуплату кварплаты.");
HouseInfo[house][hTakings] = 0;
PlayerInfo[i][pPHousekey] = 255;
}
}
if(PlayerInfo[i][pDonateRank] >= 1)
{
SendClientMessage(i, COLOR_NEWS, "================================");
}
else
{
SendClientMessage(i, COLOR_GRAD1, "================================");
}
}
if(PlayerInfo[i][punWarns] == 1)
{
PlayerInfo[i][punWarnstime] += 1;
format(string, sizeof(string), "Автоматическое снятие варна через %d часов", 10 - PlayerInfo[i][punWarnstime]);
SendClientMessage(i,COLOR_LIGHTRED, string);
}
if(PlayerInfo[i][punWarns] == 1 && PlayerInfo[i][punWarnstime] >=10)
{
PlayerInfo[i][punWarnstime] = 0;
PlayerInfo[i][punWarns] = 0;
PlayerInfo[i][pWarns] -= 1;
SendClientMessage(i,COLOR_LIGHTRED, "С Вас было снято одно предупреждение!");
}
if(PlayerInfo[i][pLevel] >= 2 && PlayerInfo[i][pExp] == 1)
{
SendClientMessage(i, COLOR_USE, "Поздравляем! Ваш лвл повысился");
}
if(PlayerInfo[i][pLevel] == 3 && PlayerInfo[i][pExp] == 1)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, sizeof(string), "Users/%s.ini",sendername);
new file = ini_openFile(string);
if(file < 0) print("нет файла");
else
{
ini_getString(file, "pDrug",string);
format(string, sizeof(string), "Users/%s.ini",string);
new file2 = ini_openFile(string);
ini_setInteger(file2, "FriendMoney",100000);
ini_setInteger(file2, "Text",3);
ini_closeFile(file2);
ini_closeFile(file);
}
}
seans[i] = 0;
robhouse[i] = false;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pPayDayHad] += 1;
PlayerInfo[i][pPayDay]++;
OnPlayerUpdateAc(i);
BuyHouse();
}
}
OnPropUpdate();
return true;
}
stock split(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc))
{
if(strsrc[i] == delimiter || i == strlen(strsrc))
{
len = strmid(strdest[aNum], strsrc, li, i, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return true;
}
