Здравствуйте, у меня проблема с capture, при окончание капта, счет не исчезает, таймер работает, но не захватывает терру, так же продолжает терра мигать на карте..
PHP код:
вот код:
stock GangZoneCheck()
{
if(CaptureTime > 0 || CaptureStatus == 0) return 1;
new i = CaptureZone;
CaptureStatus = 0;
CaptureZone = 0;
new string[128];
if(GangInfo[GZInfo[i][gNapad]][score] > GangInfo[GZInfo[i][gFrak]][score])
{
format(string,sizeof(string),"Банда %s захватила новую территорию",GetGangName(GZInfo[i][gNapad]));
SendGhettoMes(COLOR_BLUE, string);
CaptureEnd(GZInfo[i][gNapad], GZInfo[i][gFrak]);
GangZoneStopFlashForAll(GangZone[i]);
GangZoneHideForAll(GangZone[i]);
GangZoneShowForAll(GangZone[i],TeamColors[GZInfo[i][gNapad]]);
GangInfo[GZInfo[i][gNapad]][capture] =
GangInfo[GZInfo[i][gNapad]][score] =
GangInfo[GZInfo[i][gFrak]][capture] =
GangInfo[GZInfo[i][gFrak]][score] =
GangInfo[GZInfo[i][gNapad]][gangnumber] =
GangInfo[GZInfo[i][gFrak]][gangnumber] = 0;
GZInfo[i][gFrak] = GZInfo[i][gNapad];
GZInfo[i][gNapad] = 0;
CaptureStatus = 0;
SaveGZ(i);
foreach(new x : Player)
{
if(!gPlayerLogged[x] || (pInfo[i][pMember] != GZInfo[i][gNapad] && pInfo[i][pMember] != GZInfo[i][gFrak])) continue;
ClearDeathMessage(i);
}
}
else if(GangInfo[GZInfo[i][gNapad]][score] <= GangInfo[GZInfo[i][gFrak]][score])
{
format(string,sizeof(string),"Попытка захватить территорию %s провалилась",GetGangName(GZInfo[i][gFrak]));
SendGhettoMes(COLOR_BLUE, string);
CaptureEnd(GZInfo[i][gNapad], GZInfo[i][gFrak]);
GangZoneStopFlashForAll(GangZone[i]);
GangZoneHideForAll(GangZone[i]);
GangZoneShowForAll(GangZone[i],TeamColors[GZInfo[i][gFrak]]);
GangInfo[GZInfo[i][gNapad]][capture] =
GangInfo[GZInfo[i][gNapad]][score] =
GangInfo[GZInfo[i][gFrak]][capture] =
GangInfo[GZInfo[i][gFrak]][score] =
GangInfo[GZInfo[i][gNapad]][gangnumber] =
GangInfo[GZInfo[i][gFrak]][gangnumber] = 0;
GZInfo[i][gFrak] = GZInfo[i][gFrak];
GZInfo[i][gNapad] = 0;
CaptureStatus = 0;
SaveGZ(i);
foreach(new x : Player)
{
if(!gPlayerLogged[x] || (pInfo[i][pMember] != GZInfo[i][gNapad] && pInfo[i][pMember] != GZInfo[i][gFrak])) continue;
ClearDeathMessage(i);
}
}
return 1;
}
stock CaptureUpdate(gangid)
{
new string[64];
if(GangInfo[gangid][gangnumber] == 1)
{
format(string, sizeof(string), "%d", GangInfo[gangid][score]);
TextDrawSetString(panel_capture_TD[5], string);
}
else
{
format(string, sizeof(string), "%d", GangInfo[gangid][score]);
TextDrawSetString(panel_capture_TD[6], string);
}
}
stock CaptureShow(playerid, gangid, scdgangid, status)
{
new string[64];
if(status == 1)
{
GangZoneFlashForPlayer(playerid, GangZone[CaptureZone], gangid);
for(new s; s < 7; s++) TextDrawShowForPlayer(playerid, panel_capture_TD[s]);
format(string, sizeof(string), "%s", GetGangName(gangid));
TextDrawSetString(panel_capture_TD[3], string);
format(string, sizeof(string), "%s", GetGangName(scdgangid));
TextDrawSetString(panel_capture_TD[4], string);
format(string, sizeof(string), "%d", GangInfo[gangid][score]);
TextDrawSetString(panel_capture_TD[5], string);
format(string, sizeof(string), "%d", GangInfo[scdgangid][score]);
TextDrawSetString(panel_capture_TD[6], string);
}
else if(status == 0)
{
if(GetPVarInt(playerid, "settext") == 1) DeletePVar(playerid, "settext");
GangZoneStopFlashForPlayer(playerid, GangZone[CaptureZone]);
ClearDeathMessage(playerid);
for(new s; s < 7; s++) TextDrawHideForPlayer(playerid, panel_capture_TD[s]);
}
}
stock CaptureStart(gangid, scdgangid)
{
new string[64];
foreach(new i : Player)
{
if(!gPlayerLogged[i]) continue;
if(pInfo[i][pMember] == gangid || pInfo[i][pMember] == scdgangid)
{
if(pInfo[i][pAdmin]) SetPVarInt(i, "settext", 1);
for(new s; s < 7; s++) TextDrawShowForPlayer(i, panel_capture_TD[s]);
format(string, sizeof(string), "%s", GetGangName(gangid));
TextDrawSetString(panel_capture_TD[3], string);
format(string, sizeof(string), "%s", GetGangName(scdgangid));
TextDrawSetString(panel_capture_TD[4], string);
TextDrawSetString(panel_capture_TD[5], "0");
TextDrawSetString(panel_capture_TD[6], "0");
}
}
}
stock CaptureEnd(gangid, scdgangid)
{
foreach(new i : Player)
{
if(pInfo[i][pMember] == gangid || pInfo[i][pMember] == scdgangid || GetPVarInt(i, "settext") == 1)
{
if(GetPVarInt(i, "settext") == 1) DeletePVar(i, "settext");
for(new s; s < 7; s++) TextDrawHideForPlayer(i, panel_capture_TD[s]);
}
}
}
Таймер..
@GrandTimer();
@GrandTimer()
{
GangZoneCheck();
return 1;
}
public OnGameModeInit()
SetTimer("@GrandTimer", 1000, true);