Georgiy
Новичок
Нужна помощь, дело в том, что на сервере 3 игрока к примеру. ID 0, 1, 2. У меня и у игрока под ID 2 все прекрасно работает, но у игрока под ID 1 ничего не показало и никакой функции выполнено не было, и даже некоторые чекпоинты не работают. Вот код:
Код:
stock PayDay()
{
for(new g =0;g<sizeof(GZInfo);g++)
{
if(GZInfo[g][gFrakVlad] == 18) TotalGzR++;
if(GZInfo[g][gFrakVlad] == 17) TotalGzA++;
if(GZInfo[g][gFrakVlad] == 15) TotalGzG++;
if(GZInfo[g][gFrakVlad] == 13) TotalGzV++;
if(GZInfo[g][gFrakVlad] == 12) TotalGzB++;
}
ClearTotalGz();
foreach(new i : Player)
{
if(IsPlayerConnected(i))
{
if(GetPVarInt(i,"timegame") >= 20)
{
if(GetPVarInt(i,"timegame") >= 60)
{
SetPVarInt(i,"timegame",0);
}
if(GetPVarInt(i, "AFKTime") >= 60) return SendClientMessage(i,COLOR_ORANGE, "Вы не получили PayDay, потому что Вы стояли в AFK");
if(PlayerInfo[i][pWanted] >= 1)
{
WantedLevel[i] -= 1;
PlayerInfo[i][pWanted] -=1;
SetPlayerWantedLevel(i, PlayerInfo[i][pWanted]);
}
new exp = PlayerInfo[i][pExp];
new nxtlevel = PlayerInfo[i][pLevel]+1;
new expamount = nxtlevel*levelexp;
if(exp == expamount)
{
PlayerInfo[i][pLevel] += 1;
PlayerInfo[i][pExp] = 1;
SendClientMessage(i,COLOR_BLUE,"Поздравляем! Ваш уровень повышен.");
ScoreUp(i);
}
if(armmatbi < 0) armmatbi = 0;
else if(armmatsf < 0) armmatsf = 0;
else if(kazna < 0) kazna = 0;
else if(lspdmatbi < 0) lspdmatbi = 1000;
else if(sfpdmats < 0) sfpdmats = 1000;
else if(lvpdmats < 0) lvpdmats = 1000;
else if(fbimats < 0) fbimats = 1000;
else if(yakuzamats < 0) yakuzamats = 1000;
else if(rmmats < 0) rmmats = 1000;
else if(lcnmats < 0) lcnmats = 1000;
else if(rifamatbi < 0) rifamatbi = 1000;
else if(ballasmatbi < 0) ballasmatbi = 1000;
else if(groovmatbi < 0) groovmatbi = 1000;
else if(vagosmatbi < 0) vagosmatbi = 1000;
else if(aztekmatbi < 0) aztekmatbi = 1000;
new moneys = 1+random(10000);
switch(PlayerInfo[i][pAdmInections])
{
case 1: { PlayerInfo[i][pPayCheck] += 3000; }
case 2: { PlayerInfo[i][pPayCheck] += 4000; }
case 3: { PlayerInfo[i][pPayCheck] += 5000; }
case 4: { PlayerInfo[i][pPayCheck] += 6000; }
case 5: { PlayerInfo[i][pPayCheck] += 7000; }
case 6: { PlayerInfo[i][pPayCheck] += 8000; }
case 7: { PlayerInfo[i][pPayCheck] += 10000; }
}
switch(PlayerInfo[i][pMRInections])
{
case 1,10,21,25:{ PlayerInfo[i][pPayCheck] += 205*PlayerInfo[i][pRKInections]+moneys; }
case 3,19:{ PlayerInfo[i][pPayCheck] += 195*PlayerInfo[i][pRKInections]+moneys; }
case 2:{ PlayerInfo[i][pPayCheck] += 240*PlayerInfo[i][pRKInections]+moneys; } //
case 7:{ PlayerInfo[i][pPayCheck] += 230*PlayerInfo[i][pRKInections]+moneys; } //
case 4,22:{ PlayerInfo[i][pPayCheck] += 205*PlayerInfo[i][pRKInections]+moneys; } //
case 11:{ PlayerInfo[i][pPayCheck] += 200*PlayerInfo[i][pRKInections]+moneys; } //
case 12,13,15,17,18:{ PlayerInfo[i][pPayCheck] += 110*PlayerInfo[i][pRKInections]+moneys; }
case 5,6,14:{ PlayerInfo[i][pPayCheck] += 130*PlayerInfo[i][pRKInections]+moneys; }
case 16:{ PlayerInfo[i][pPayCheck] += 190*PlayerInfo[i][pRKInections]+moneys; }
}
PlayerInfo[i][pExp]++;
new checks = PlayerInfo[i][pPayCheck];
SendMes(i, COLOR_GRAD4, "В вашу зарплату добавлено $%d", checks);
//-------------------------- Работам -------------------
SendClientMessage(i, COLOR_WHITE, " Банковский чек");
SCM(i,COLOR_GRAD4, "-----------------------------");
if(PlayerInfo[i][pAdmInections] == 0) SendMes(i,COLOR_WHITE,"Заработок: {33AA33}$%d", checks);
if(PlayerInfo[i][pAdmInections] >= 1) SendMes(i,COLOR_WHITE,"Адм. Заработок: {33AA33}$%d", checks);
PlayerInfo[i][pBank] += checks;
new biz = PlayerInfo[i][pPbiskey];
if(PlayerInfo[i][pPbiskey] != 255)
{
SendClientMessage(i, COLOR_WHITE, "Подоходный налог: {FF0000}$100");
if(biz != 255)
{
BizzInfo[biz][bTill] -= 100;
BizzInfo[biz][bTill] += BizzInfo[biz][b2Till];
BizzInfo[biz][b2Till] = 0;
if(BizzInfo[biz][bMafia] !=0)
{
if(BizzInfo[biz][bTill] > 5000)
{
BizzInfo[biz][bTill] -= 1000;
if(BizzInfo[biz][bMafia] == 6) MafiaBank[0][nYakuza] +=500;
if(BizzInfo[biz][bMafia] == 14) MafiaBank[0][nRm] +=500;
if(BizzInfo[biz][bMafia] == 5) MafiaBank[0][nLcn] +=500;
return true;
}
}
SaveBizz(biz);
}
else if(PlayerInfo[i][pAvtomas] != 255)
{
new avtos = PlayerInfo[i][pAvtomas];
SendClientMessage(i, COLOR_WHITE, "Подоходный налог: {FF0000}$500");
AvtoInfo[avtos][abArenda] -=500;
if(AvtoInfo[avtos][abArenda] <=0)
{
SendClientMessage(i, COLOR_REDD, " Ваша мастерская была продана, за неуплату аренды помещения, деньги со счёта переведены в банк");
AvtoInfo[avtos][abLocked] = 1;
PlayerInfo[i][pBank] += AvtoInfo[avtos][abTill];
AvtoInfo[avtos][abOwned] = 0;
AvtoInfo[avtos][abTill] = 0;
AvtoInfo[avtos][abZp] = 100;
AvtoInfo[avtos][Rab] = 0;
if(MehJob[i] == avtos) MehJob[i] = INVALID_PLAYER_ID;
strmid(AvtoInfo[avtos][abOwner], "The State", 0, strlen("The State"), 255);
PlayerPlaySound(i, 1052, 0.0, 0.0, 0.0);
PlayerInfo[i][pAvtomas] = 255;
PlayerInfo[i][pBank] += 255;
PlayerInfo[i][pCash] += AvtoInfo[avtos][abArenda];
new stringer[144];
format(stringer, sizeof(stringer), "{3A8CF2}АЗС №%d\n''%s''\n\n{DAA520}Заправка продается\n\nЦена $%d",AvtoInfo[avtos][abMessage],AvtoInfo[avtos][abBuyPrice]);
Update3DTextLabelText(AvtoInfo[avtos][abLabel], COLOR_YELLOW, stringer);
SaveAvto(avtos);
OnPlayerUpdateRL(i);
return true;
}
}
}
if(PlayerInfo[i][pPhousekey] != 255)
{
new platas;
switch(HouseInfo[PlayerInfo[i][pPhousekey]][hKlass])
{
case 0: platas = 50;
case 1: platas = 100;
case 2: platas = 150;
case 3: platas = 100;
case 4: platas = 200;
case 5: platas = 250;
}
SendMes(i,COLOR_WHITE,"Квартплата: {FF0000}$%d", platas);
PlayerInfo[i][pBank] -= platas;
OnPlayerUpdateRL(i);
}
SendMes(i,COLOR_WHITE,"Счёт: {FFFF00}$%d", PlayerInfo[i][pBank]);
PlayerInfo[i][pZakonp] += 1;
PlayerInfo[i][pBank] += PlayerInfo[i][pMobile];
PlayerInfo[i][pMobile] = 0;
kazna +=1000;
SendClientMessage(i,COLOR_GRAD4,"-----------------------------");
if(PlayerInfo[i][punWarns] == 1) { PlayerInfo[i][punWarnstime] += 1; SendMes(i,COLOR_DARKORANGE," Автоматическое снятие варна через {32CD32}%d {FF4500}часов", 10 - PlayerInfo[i][punWarnstime]); }
if(PlayerInfo[i][punWarns] == 1 && PlayerInfo[i][punWarnstime] >=10)
{
PlayerInfo[i][punWarnstime] = 0;
PlayerInfo[i][punWarns] = 0;
PlayerInfo[i][pWarns] -=1;
SendClientMessage(i,COLOR_DARKORANGE, "С Вас было снято одно предупреждение");
}
seans[i] = 0;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pPayDayHad] += 1;
PlayerInfo[i][pZakonp] +=1;
SCM(i,COLOR_GRAD4, "Ваш аккаунт был успешно сохранен");
OnPlayerUpdateRL(i);
return 1;
}
else return SendClientMessage(i,COLOR_ORANGE, "Вы не получили PayDay, потому что не отыграли 20 минут");
}
return 1;
}
return 1;
}
