alternativ4ik
Новичок
Помогите пожалуйста, как сделать допустим если в квадрате стрелы есть человек с противоположной фракции с которой идет стрела и если он в квадрате по истечению таймера стрелы, стрела продлевается еще на 2 минуты. Вот сама команда и вырезка и паблика Fresh если нужно.
PHP:
CMD:mafiawar(playerid, params[])
{
if(!PTEMP[playerid][pLogin] || !IsAMafia(playerid) || PTEMP[playerid][pRank] < 6) return true;
if(war > 0)
{
format(string,sizeof(string), "{b2b2b2}Следующий забив через %02d:%02d:%02d",((war/60)/60),((war/60)%60),((war/1)%60));
SendClientMessage(playerid,-1,string);
return true;
}
if(sscanf(params, "d",params[0x0]) || params[0x0] < 1 || params[0x0] > 2) return SCM(playerid, COLOR_WHITE,"Введите: /mafiawar [id стрелы (1 - Заброшенный аэропорт | 2 - Карьер)]");
for(new b = 1; b <= TotalBizz; b++)
{
if(PlayerToPoint(3, playerid,BizzInfo[b][bEntranceX], BizzInfo[b][bEntranceY], BizzInfo[b][bEntranceZ]) && BizzInfo[b][bMafia] != PTEMP[playerid][pMember])
{
if(BizzInfo[b][bMafia] == 0) return BizzInfo[b][bMafia] = PTEMP[playerid][pMember], SCM(playerid, COLOR_WHITE, "Бизнес взят под контроль");
war = 7200;
WarStart = 7200;
format(YCMDstr,144, "Вы забили стрелку %s. Бизнес: %s. Место встречи: Территория[ID %i]",GetMafiaName(BizzInfo[b][bMafia]), BizzInfo[b][bMessage],params[0x0]);
SendFamilyMessage(PTEMP[playerid][pMember],0x114D71AA,YCMDstr);
SendFamilyMessage(PTEMP[playerid][pMember],0x114D71AA, "Встреча через 10 минут");
format(YCMDstr,144, "%s забили вам стрелку. Бизнес: %s. Место встречи: Территория[ID %i]",GetMafiaName(PTEMP[playerid][pMember]),BizzInfo[b][bMessage],params[0x0]);
SendFamilyMessage(BizzInfo[b][bMafia],COLOR_RED,YCMDstr);
SendFamilyMessage(BizzInfo[b][bMafia],COLOR_RED, "Встреча через 10 минут");
BizzInfo[b][bCapture] = PTEMP[playerid][pMember];
MFrakCD[PTEMP[playerid][pMember]] = 600;
MFrakCD[BizzInfo[b][bMafia]] = 600;
mafia_frac_id[0] = BizzInfo[b][bMafia];
mafia_frac_id[1] = BizzInfo[b][bCapture];
kills_mafia[0] = 0;
kills_mafia[1] = 0;// BizzInfo[b][bCapture]
ZoneID = params[0x0];
ZoneTimer = 2000;
if(ZoneID == 1) ZoneWar = GangZoneCreate(269.8055, 2472.1155, 335.8316, 2535.9177);
else if(ZoneID == 2) ZoneWar = GangZoneCreate(393.8914,983.9361, 324.6188,833.3795);
else ZoneWar = GangZoneCreate(-789.8281,2015.9144, -662.7654,2083.9297);
GangZoneShowForAll(ZoneWar, 0xB2B2B2AA);
GangZoneFlashForAll(ZoneWar,COLOR_RED);
MzCheckTimer = SetTimer("MzCheck", 1000,1);
foreach(x)
{
if(PTEMP[x][pMember] == mafia_frac_id[0] || PTEMP[x][pMember] == mafia_frac_id[1])
{
format(string,120,"~y~kills:~n~~g~%s:~w~ %i~n~~r~%s:~w~ %i",GetMafiaName2(mafia_frac_id[0]),kills_mafia[0],GetMafiaName2(mafia_frac_id[1]),kills_mafia[1]);
PlayerTextDrawSetString(x,Capture[x],string);
if(!GetPVarInt(x,"mafiawar_on"))
{
PlayerTextDrawShow(x,Capture[x]);
SetPVarInt(x,"mafiawar_on",1);
SetPlayerToTeamColor(x);
}
}
}
}
}
return true;
}
PHP:
if(war > 0) war--;
for(new i = 0; i < 20; i++)
{
if(MFrakCD[i] > 1)
{
MFrakCD[i] --;
if(MFrakCD[i] == 420) SendFamilyMessage(i,0x114D71AA, "У вас осталось 7 минут на подготовку!");
else if(MFrakCD[i] == 300) SendFamilyMessage(i,0x114D71AA, "У вас осталось 5 минут на подготовку!");
else if(MFrakCD[i] == 180) SendFamilyMessage(i,COLOR_RED, "Пора решать кому будет пренадлежать бизнес. Осталось 3 минуты.");
}
