Забыл добавить: в команде начала захвата IsCapture = 1 поменяй на IsCapture = GZInfo[i][id].
Забыл добавить: в команде начала захвата IsCapture = 1 поменяй на IsCapture = GZInfo[i][id].
Processing (12.07.2016)
IsCapture тут причем? Это проверка есть капт нету...
- - - Добавлено - - -
И сделал так не работает..PHP код:
@_Every_Second_Timer();
@_Every_Second_Timer()
{
new string[128];
vremyadokonca --;
Convert(vremyadokonca, string);
TextDrawSetString(CaptureTime, string);
format(string, sizeof(string), "%s: ~r~%i", GetGangName(IDGang1), Frags1);
TextDrawSetString(CaptureWarGang, string);
format(string, sizeof(string),"%s: ~r~%i", GetGangName(IDGang2), Frags2);
TextDrawSetString(CaptureWarGang2, string);
if(!vremyadokonca)
{
//foreach(new i: Player)
for(new i = 1; i != sizeof(GZInfo); i++)
{
if(IDGang1 != BandFrak[i] && IDGang2 != BandFrak[i]) continue;
if(Frags1 == Frags2 || Frags2 < Frags1) format(string, 90, "Попытка %s захватить територию у %s провалилась (BETA1)", GetGangName(IDGang1), GetGangName(IDGang2));
else if(Frags1 > Frags2) format(string, 90, "%s захватила территорию у банды %s (BETA2)", GetGangName(IDGang1), GetGangName(IDGang2));
SendClientMessage(i, RIFA_COLOR, string);
TextDrawHideForPlayer(i, CaptureWarGang);
TextDrawHideForPlayer(i, CaptureWarGang2);
TextDrawHideForPlayer(i, CaptureTime);
TextDrawHideForPlayer(i, Textdraw4);
}
GangZoneStopFlashForAll(IsCapture);
if(Frags1 > Frags2) GangZoneShowForAll(IsCapture, GZColor(IDGang1));
IsCapture = 0;
}
}
- - - Добавлено - - -
Ну я смотрю, тему посмотрят по оффтопят и выйдут :)
А помочь - не зачем...
почему твой вопрос всегда растягивается на 3-4 страницы? ты настолько глуп, что не можешь прийти к правильному решению сам?
Skype: sp3ctrum_attack
Так всё равно, если капта нет, то значение будет равно нулю.
- - - Добавлено - - -PHP код:
for(new i = 0; i != something, something; i ++) // Условие вместо something, something ставь MAX_PLAYERS, GetMaxPlayers() или как ты там делаешь?
{
if(IDGang1 != BandFrak[i] && IDGang2 != BandFrak[i]) continue; // Если игрок, id которого проходит в цикле, не участвует в капте, то он пролетает.
if(Frags1 == Frags2 || Frags2 < Frags1) format(string, 90, "Попытка %s захватить територию у %s провалилась (BETA1)", GetGangName(IDGang1), GetGangName(IDGang2));
else if(Frags1 > Frags2) format(string, 90, "%s захватила территорию у банды %s (BETA2)", GetGangName(IDGang1), GetGangName(IDGang2));
SendClientMessage(i, RIFA_COLOR, string);
TextDrawHideForPlayer(i, CaptureWarGang);
TextDrawHideForPlayer(i, CaptureWarGang2);
TextDrawHideForPlayer(i, CaptureTime);
TextDrawHideForPlayer(i, Textdraw4);
}
И команду, и условие в цикле поправил (условие потом поменяешь).PHP код:
CMD:capture(playerid, params[])
{
for(new i = 1; i != sizeof(GZInfo); i++)
{
if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
{
if(BandFrak[playerid] == GZInfo[i][gFrak]) return SendClientMessage(playerid,RIFA_COLOR,"Вы не можете захватить данную территорию.");
if(IsCapture != 0) return SendClientMessage(playerid, RIFA_COLOR, "Уже происходит захват одной из зон. Дождитесь окончания!");
vremyadokonca = 420;
Frags1 = 0;
Frags2 = 0;
IsCapture = GZInfo[i][id];
GangZoneShowForAll(GZInfo[i][id], GZColor(BandFrak[playerid]));
CaptureStart(BandFrak[playerid], GZInfo[i][gFrak]);
IDGang1 = BandFrak[playerid];
IDGang2 = GZInfo[i][gFrak];
return 1;
}
}
return true;
}
@_Every_Second_Timer();
@_Every_Second_Timer()
{
new string[128];
vremyadokonca --;
Convert(vremyadokonca, string);
TextDrawSetString(CaptureTime, string);
format(string, sizeof(string), "%s: ~r~%i", GetGangName(IDGang1), Frags1);
TextDrawSetString(CaptureWarGang, string);
format(string, sizeof(string),"%s: ~r~%i", GetGangName(IDGang2), Frags2);
TextDrawSetString(CaptureWarGang2, string);
if(!vremyadokonca)
{
for(new i = 0; i != GetMaxPlayers(); i++)
{
if(IDGang1 != BandFrak[i] && IDGang2 != BandFrak[i]) continue;
if(Frags1 == Frags2 || Frags2 < Frags1) format(string, 90, "Попытка %s захватить територию у %s провалилась (BETA1)", GetGangName(IDGang1), GetGangName(IDGang2));
else if(Frags1 > Frags2) format(string, 90, "%s захватила территорию у банды %s (BETA2)", GetGangName(IDGang1), GetGangName(IDGang2));
SendClientMessage(i, RIFA_COLOR, string);
TextDrawHideForPlayer(i, CaptureWarGang);
TextDrawHideForPlayer(i, CaptureWarGang2);
TextDrawHideForPlayer(i, CaptureTime);
TextDrawHideForPlayer(i, Textdraw4);
}
GangZoneStopFlashForAll(IsCapture);
if(Frags1 > Frags2) GangZoneShowForAll(IsCapture, GZColor(IDGang1));
IsCapture = 0;
}
}
Если будет что-то не так, то скажи: сообщения не выводятся или территория продолжает мигать?
Ну это я сам заменил теперь перестало мигать УРА!
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)