OnGameModeInit() { tCP[CAPZONE] = TEAM_NONE; UnderAttack[CAPZONE] = 0; Zone[CAPZONE] = CreateDynamicZone(1675.78128, -2019.53125, 1812.5, -1867.1875, NEUTRAL_FLAG_COLOR); CP[CAPZONE] = CreateDynamicCP(1716.4755, -1880.6313, 14.5662, 3, -1, -1, -1, 100.0); tCP[CAPZONE] = TEAM_NONE; UnderAttack[CAPZONE] = 0; Zone[CAPZONE] = CreateDynamicZone(1226.5625, 242.1875, 1324.21875, 351.5625, NEUTRAL_FLAG_COLOR); CP[CAPZONE] = CreateDynamicCP(1271.6301, 295.0983, 20.6563, 3, -1, -1, -1, 100.0);
#define CAPZONE 0 #define CAPZONE 1
Hey, I'm using this tutorial on how to make capture zones but I don't know how to add more zones. I tried like this public
Код:
OnGameModeInit() { tCP[CAPZONE] = TEAM_NONE; UnderAttack[CAPZONE] = 0; Zone[CAPZONE] = CreateDynamicZone(1675.78128, -2019.53125, 1812.5, -1867.1875, NEUTRAL_FLAG_COLOR); CP[CAPZONE] = CreateDynamicCP(1716.4755, -1880.6313, 14.5662, 3, -1, -1, -1, 100.0); tCP[CAPZONE] = TEAM_NONE; UnderAttack[CAPZONE] = 0; Zone[CAPZONE] = CreateDynamicZone(1226.5625, 242.1875, 1324.21875, 351.5625, NEUTRAL_FLAG_COLOR); CP[CAPZONE] = CreateDynamicCP(1271.6301, 295.0983, 20.6563, 3, -1, -1, -1, 100.0); Код:
#define CAPZONE 0 #define CAPZONE 1 |
#define ZONE_1 0 #define ZONE_2 1
#define ZONE_VINEWOOD 0 #define ZONE_GSF 1 #define ZONE_BALLAS 2 #define ZONE_CITYHALL 3
enum { ZONE_VINEWOOD, ZONE_GSF, ZONE_BALLAS, ZONE_CITYHALL }
tCP[ZONE_VINEWOOD] = TEAM_NONE; UnderAttack[ZONE_VINEWOOD] = 0; Zone[ZONE_VINEWOOD] = CreateDynamicZone(1675.78128, -2019.53125, 1812.5, -1867.1875, NEUTRAL_FLAG_COLOR); CP[ZONE_VINEWOOD] = CreateDynamicCP(1716.4755, -1880.6313, 14.5662, 3, -1, -1, -1, 100.0); tCP[ZONE_GSF] = TEAM_NONE; UnderAttack[ZONE_GSF] = 0; Zone[ZONE_GSF] = CreateDynamicZone(1226.5625, 242.1875, 1324.21875, 351.5625, NEUTRAL_FLAG_COLOR); CP[ZONE_GSF] = CreateDynamicCP(1271.6301, 295.0983, 20.6563, 3, -1, -1, -1, 100.0); tCP[ZONE_BALLAS] = TEAM_NONE; UnderAttack[ZONE_BALLAS] = 0; Zone[ZONE_BALLAS] = CreateDynamicZone(1226.5625, 242.1875, 1324.21875, 351.5625, NEUTRAL_FLAG_COLOR); CP[ZONE_BALLAS] = CreateDynamicCP(1271.6301, 295.0983, 20.6563, 3, -1, -1, -1, 100.0); . . .
stock ActiveCAPZONE0(playerid)
{
if(UnderAttack[ZONE_0] == 0)
{
if(!IsPlayerInAnyVehicle(playerid))
{
UnderAttack[ZONE_0] = 1;
timer[playerid][ZONE_0] = SetTimerEx("CAPZONETimer", 25000, false,"i",playerid);
Captured[playerid][ZONE_0] = 0;
SendClientMessage(playerid, COLOR_WHITE,"Stay in this checkpoint for 25 seconds to capture it");
if(GetPlayerTeam(playerid) == TEAM_ALPHA)
{
FlashDynamicZoneForAll(Zone[ZONE_0], ALPHA_FLAG_COLOR);
}
else if(GetPlayerTeam(playerid) == TEAM_BRAVO)
{
FlashDynamicZoneForAll(Zone[ZONE_0], BRAVO_FLAG_COLOR);
}
//------Message-----
if(tCP[ZONE_0] == TEAM_ALPHA)
{
SendClientMessage(playerid, COLOR_WHITE,"This flag is controlled by team Alpha");
SendClientMessageToAll(COLOR_RED,"Capture Zone is under attack");
}
else if(tCP[ZONE_0] == TEAM_BRAVO)
{
SendClientMessage(playerid, COLOR_WHITE,"This flag is controlled by team Bravo");
SendClientMessageToAll(COLOR_RED,"Capture Zone is under attack");
}
else if(tCP[ZONE_0] == TEAM_NONE)
{
SendClientMessage(playerid, COLOR_WHITE,"This flag is not controlled by any team");
}
//---------loop-------//
for(new i = 0; i < MAX_PLAYERS; i ++)
{
IsPlayerCapturing[i][ZONE_0] = 1;
}
}
else return CaptureZoneMessage(playerid, 1);
}
else return CaptureZoneMessage(playerid, 2);
return 1;
}
stock ActiveCAPZONE1(playerid)
{
if(UnderAttack[ZONE_1] == 0)
{
if(!IsPlayerInAnyVehicle(playerid))
{
UnderAttack[ZONE_1] = 1;
timer[playerid][ZONE_1] = SetTimerEx("CAPZONETimer", 25000, false,"i",playerid);
Captured[playerid][ZONE_1] = 0;
SendClientMessage(playerid, COLOR_WHITE,"Stay in this checkpoint for 25 seconds to capture it");
if(GetPlayerTeam(playerid) == TEAM_ALPHA)
{
FlashDynamicZoneForAll(Zone[ZONE_1], ALPHA_FLAG_COLOR);
}
else if(GetPlayerTeam(playerid) == TEAM_BRAVO)
{
FlashDynamicZoneForAll(Zone[ZONE_1], BRAVO_FLAG_COLOR);
}
//------Message-----
if(tCP[ZONE_1] == TEAM_ALPHA)
{
SendClientMessage(playerid, COLOR_WHITE,"This flag is controlled by team Alpha");
SendClientMessageToAll(COLOR_RED,"Capture Zone is under attack");
}
else if(tCP[ZONE_1] == TEAM_BRAVO)
{
SendClientMessage(playerid, COLOR_WHITE,"This flag is controlled by team Bravo");
SendClientMessageToAll(COLOR_RED,"Capture Zone is under attack");
}
else if(tCP[ZONE_1] == TEAM_NONE)
{
SendClientMessage(playerid, COLOR_WHITE,"This flag is not controlled by any team");
}
//---------loop-------//
for(new i = 0; i < MAX_PLAYERS; i ++)
{
IsPlayerCapturing[i][ZONE_1] = 1;
}
}
else return CaptureZoneMessage(playerid, 1);
}
else return CaptureZoneMessage(playerid, 2);
return 1;
}
stock CAPZONECaptured(playerid)
{
Captured[playerid][ZONE_0] = 1;
Captured[playerid][ZONE_1] = 1;
UnderAttack[ZONE_0] = 0;
UnderAttack[ZONE_1] = 0;
KillTimer(timer[playerid][ZONE_0]);
KillTimer(timer[playerid][ZONE_1]);
CountVar[playerid][ZONE_0] = 25;
CountVar[playerid][ZONE_1] = 25;
GivePlayerScore(playerid, 5);
SendClientMessage(playerid, COLOR_GREEN,"Congratulations! You have captured the area! You received +5 score");
//==========================================================================
for(new i = 0; i < MAX_PLAYERS; i++)
{
IsPlayerCapturing[i][ZONE_0] = 0;
if(GetPlayerTeam(i) == GetPlayerTeam(playerid))
{
SendClientMessage(i, COLOR_WHITE,"Your team has captured a flag! You received +1 score for it");
GivePlayerScore(i, 1);
}
}
tCP[ZONE_0] = GetPlayerTeam(playerid);
StopFlashDynamicZoneForAll(Zone[ZONE_0]);
for(new i = 0; i < MAX_PLAYERS; i++)
{
IsPlayerCapturing[i][ZONE_1] = 0;
if(GetPlayerTeam(i) == GetPlayerTeam(playerid))
{
SendClientMessage(i, COLOR_WHITE,"Your team has captured a flag! You received +1 score for it");
GivePlayerScore(i, 1);
}
}
//==========================================================================
tCP[ZONE_1] = GetPlayerTeam(playerid);
StopFlashDynamicZoneForAll(Zone[ZONE_1]);
//==========================================================================
if(tCP[ZONE_0] == TEAM_ALPHA)
{
GangZoneShowForAll(Zone[ZONE_0], TEAMCOLOR_ALPHA);
}
else if(tCP[ZONE_0] == TEAM_BRAVO)
{
GangZoneShowForAll(Zone[ZONE_0], TEAMCOLOR_BRAVO);
}
if(tCP[ZONE_1] == TEAM_ALPHA)
{
GangZoneShowForAll(Zone[ZONE_1], TEAMCOLOR_ALPHA);
}
else if(tCP[ZONE_1] == TEAM_BRAVO)
{
GangZoneShowForAll(Zone[ZONE_1], TEAMCOLOR_BRAVO);
}
//==========================================================================
new str[128];
format(str, sizeof(str),"%s has captured the capture zone!", GetName(playerid));
SendClientMessageToAll(COLOR_ORANGE, str);
return 1;
}