- 0
TurfTime.
-
Recently Browsing 0 members
- No registered users viewing this page.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.
Question
Bolex_
Eu folosesc acest sistem de zonă capturabile în cazul în care aveți nevoie de 30 de secunde pentru a captura fiecare zonă. pot face astfel încât să pot configura timpul fiecare zonă va fi capturat. ?
de exemplu:
{"Military Shelter", {-153.3433,2213.3953,-99.2894,2319.2996}, {-126.7931,2257.9844,28.1627}, 6, 30} //30 seconds {"Military Home", {-153.3433,2213.3953,-99.2894,2319.2996}, {-126.7931,2257.9844,28.1627}, 6, 15}, //15 seconds.codul complet, vă rugăm să help.
Fiecare zonă durează 30 de secunde și vreau ca eu pot posta timp pentru fiecare, ca un exemplu de mai sus
enum E_CAPTURE_ZONE { E_CAPTURE_ZONE_NAME[64], Float:E_CAPTURE_ZONE_GANGZONE_OFFSET[4], Float:E_CAPTURE_ZONE_CP_OFFSET[3], E_CAPTURE_ZONE_OWNER, E_CAPTURE_ZONE_ATTACKER, E_CAPTURE_ZONE_COUNTDOWN, E_CAPTURE_ZONE_GANGZONE, E_CAPTURE_ZONE_CP, E_CAPTURE_ZONE_AREA, E_CAPTURE_ZONE_TIMER, E_CAPTURE_ZONE_PLAYERS_IN_ZONE, Text3D:E_CAPTURE_ZONE_LABEL }; new captureZone[][E_CAPTURE_ZONE] = { {"Military Shelter", {-153.3433,2213.3953,-99.2894,2319.2996}, {-126.7931,2257.9844,28.1627}, 6}, {"LV BaySide", {236.328125,2892.578125,292.96875,2943.359375}, {260.0900,2889.5242,11.1854}, 6}, {"Army Area91", {-617.1875,2531.25,-455.078125,2658.203125}, {-587.0584, 2586.8396, 53.5156}, 6}, {"Army Petrol", {609.375,1652.34375,714.84375,1767.578125}, {669.5813,1725.7399,7.1875}, 6}, {"Oil Factory", {95.703125,1339.84375,287.109375,1484.375}, {174.7896,1414.7444,10.5859}, 6}, {"Oil Station", {529.296875,1205.078125,636.71875,1267.578125}, {634.4808, 1262.0211, 11.7188}, 6}, {"Big Quarry", {439.453125,748.046875,863.28125,992.1875}, {621.5228,834.4896,-42.9609}, 6}, {"Desert House", {-357.421875,1707.03125,-253.90625,1835.9375}, {-314.8433,1773.9176,43.6406}, 6}, {"Big Ear Construction", {-437.5,1513.671875,-244.140625,1636.71875}, {-335.1765,1545.2960,75.5625}, 6}, {"Sawmill", {678.9210, 1953.2191, 729.9295, 2001.2029}, {706.7179,1966.7109,5.5314}, 6}, {"AmmuNation", {-351.5625,811.5234375, -284.1796875,884.765625}, {-330.2491,828.6450,14.2422}, 6}, {"Cluckin Bell", {-1230.46875,1789.0625, -1175.78125,1839.84375},{-1212.40698, 1831.70020, 41.23455}, 6}, {"Airport", {1230.46875,1142.578125, 1640.625,1798.828125}, {1594.7188,1448.2372,10.8286}, 6}, {"Jay's Diner", {-1964.84375,2328.125, -1906.25,2402.34375}, {-1940.30542, 2380.05981, 48.99673}, 6}, {"Nuclear Ship", {78.2477, 434.0849, 326.4969, 510.8952}, {269.2845,471.1271,15.2919}, 6}, {"The Bridge", {436.5769,335.3214, 604.3247, 608.7048 }, {496.1524,506.4798,18.9220}, 6}, {"Desert Point", {-675.2361,2335.1946,-646.9362,2406.5635}, {-642.8853,2360.3411,158.7717}, 6}, {"Pirates Zone", {3068.3669, -2012.0554, 3006.0303, -2188.4277}, {3031.7722,-2105.9031,4.5294}, 6}, {"Glen Park", {1862.2369, -1146.1490, 2056.5239, -1250.5487}, {1940.5801, -1199.4304, 22.3094}, 6}, {"Drug Depot", {1016.9769, 2062.9336, 1110.0688, 2166.0183}, {1073.0277, 2104.1851, 10.8203}, 6}, {"Gas Station", {1577.7716, 2183.3899, 1616.6106, 2242.5139}, {1600.5934, 2220.5210, 11.0625}, 6}, {"Snake Farm", {-65.2373, 2311.1003, 10.0603, 2393.9177}, {-12.4123,2332.7690,24.1406}, 6, 0} };for (new i; i < sizeof captureZone; i++) { captureZone[i][E_CAPTURE_ZONE_ATTACKER] = INVALID_PLAYER_ID; captureZone[i][E_CAPTURE_ZONE_COUNTDOWN] = 0; captureZone[i][E_CAPTURE_ZONE_GANGZONE] = GangZoneCreate(captureZone[i][E_CAPTURE_ZONE_GANGZONE_OFFSET][0], captureZone[i][E_CAPTURE_ZONE_GANGZONE_OFFSET][1], captureZone[i][E_CAPTURE_ZONE_GANGZONE_OFFSET][2], captureZone[i][E_CAPTURE_ZONE_GANGZONE_OFFSET][3]); captureZone[i][E_CAPTURE_ZONE_CP] = CreateDynamicCP(captureZone[i][E_CAPTURE_ZONE_CP_OFFSET][0], captureZone[i][E_CAPTURE_ZONE_CP_OFFSET][1], captureZone[i][E_CAPTURE_ZONE_CP_OFFSET][2], 3.0); captureZone[i][E_CAPTURE_ZONE_AREA] = CreateDynamicRectangle(captureZone[i][E_CAPTURE_ZONE_GANGZONE_OFFSET][0], captureZone[i][E_CAPTURE_ZONE_GANGZONE_OFFSET][1], captureZone[i][E_CAPTURE_ZONE_GANGZONE_OFFSET][2], captureZone[i][E_CAPTURE_ZONE_GANGZONE_OFFSET][3]); captureZone[i][E_CAPTURE_ZONE_CP] = CreateDynamicMapIcon(captureZone[i][E_CAPTURE_ZONE_CP_OFFSET][0], captureZone[i][E_CAPTURE_ZONE_CP_OFFSET][1], captureZone[i][E_CAPTURE_ZONE_CP_OFFSET][2], 19, -1, -1, -1, -1, 9999.0, MAPICON_LOCAL); format(string, sizeof(string), ""COL_WHITE"%s"COL_YELLOW"(%i)", captureZone[i][E_CAPTURE_ZONE_NAME], i); captureZone[i][E_CAPTURE_ZONE_LABEL] = CreateDynamic3DTextLabel(string, TEAM[ captureZone[i][E_CAPTURE_ZONE_OWNER] ][E_TEAM_COLOR], captureZone[i][E_CAPTURE_ZONE_CP_OFFSET][0], captureZone[i][E_CAPTURE_ZONE_CP_OFFSET][1], captureZone[i][E_CAPTURE_ZONE_CP_OFFSET][2], 35.0, _, _, 0, 0); captureZone[i][E_CAPTURE_ZONE_TIMER] = SetTimerEx("OnCaptureZoneUpdate", 1000, true, "i", i); } public OnPlayerEnterDynamicCP(playerid, checkpointid) { for (new i; i < sizeof captureZone; i++) { if (checkpointid == captureZone[i][E_CAPTURE_ZONE_CP]) { if (IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid, COLOR_TOMATO, "* You cannot capture a zone in a vehicle."); return 1; } if(AdminDuty[playerid] == 1) { SendClientMessage(playerid, COLOR_TOMATO, "No way! You can't capture zone while on duty!"); return 1; } if(GetPlayerTeam(playerid) == captureZone[i][E_CAPTURE_ZONE_OWNER]) { SCM(playerid, COLOR_ORANGE_RED, "* This zone is controlled by your team."); break; } if (captureZone[i][E_CAPTURE_ZONE_ATTACKER] == INVALID_PLAYER_ID) { if ((GetPlayerTeam(playerid) >= 0 && GetPlayerTeam(playerid) < sizeof TEAM) && TEAM[GetPlayerTeam(playerid)][E_TEAM_VALID] && GetPlayerTeam(playerid) != captureZone[i][E_CAPTURE_ZONE_OWNER]) { captureZone[i][E_CAPTURE_ZONE_ATTACKER] = playerid; captureZone[i][E_CAPTURE_ZONE_PLAYERS_IN_ZONE] = 1; captureZone[i][E_CAPTURE_ZONE_COUNTDOWN] = 0; KillTimer(captureZone[i][E_CAPTURE_ZONE_TIMER]); captureZone[i][E_CAPTURE_ZONE_TIMER] = SetTimerEx("OnCaptureZoneUpdate", 1000, true, "i", i); GangZoneFlashForAll(captureZone[i][E_CAPTURE_ZONE_GANGZONE], ALPHA(TEAM[GetPlayerTeam(playerid)][E_TEAM_COLOR], 100)); SCM(playerid, COLOR_ORANGE_RED, "Stay in the checkpoint to for "#CAPTURE_TIME" seconds to capture the zone."); new string[150]; format(string, sizeof string, "[ZONE] "COL_WHITE"Someone is trying to capture "OLIVE_GREEN"%s "COL_WHITE"for team "DARK_RED"%s !", captureZone[i][E_CAPTURE_ZONE_NAME], TEAM[GetPlayerTeam(playerid)][E_TEAM_NAME]); SendClientMessageToAll(COLOR_DARK_RED, string); } else return 1; } else if (GetPlayerTeam(playerid) == GetPlayerTeam(captureZone[i][E_CAPTURE_ZONE_ATTACKER])) { captureZone[i][E_CAPTURE_ZONE_PLAYERS_IN_ZONE]++; SCM(playerid, COLOR_GREEN, "* Stay in the checkpoint to assist your teammate in capturing the area."); } PlayerTextDrawShow(playerid, capturePlayerTextDraw[playerid]); PlayerTextDrawShow(playerid, capturePlayerPreview[playerid]); ShowPlayerProgressBar(playerid, capturePlayerBar[playerid]); return 1; } } return 1; }forward OnCaptureZoneUpdate(zoneid); public OnCaptureZoneUpdate(zoneid) { captureZone[zoneid][E_CAPTURE_ZONE_COUNTDOWN] += captureZone[zoneid][E_CAPTURE_ZONE_PLAYERS_IN_ZONE]; new string[150]; format(string, sizeof string, "Capturing %i...", CAPTURE_TIME - captureZone[zoneid][E_CAPTURE_ZONE_COUNTDOWN]); for (new i, j = GetPlayerPoolSize(); i <= j; i++) { if (IsPlayerInDynamicCP(i, captureZone[zoneid][E_CAPTURE_ZONE_CP]) && !IsPlayerInAnyVehicle(i) && GetPlayerTeam(i) == GetPlayerTeam(captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER])) { PlayerTextDrawSetString(i, capturePlayerTextDraw[i], string); SetPlayerProgressBarValue(i, capturePlayerBar[i], captureZone[zoneid][E_CAPTURE_ZONE_COUNTDOWN]); } } if (captureZone[zoneid][E_CAPTURE_ZONE_COUNTDOWN] > CAPTURE_TIME) { GetPlayerName(captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER], string, MAX_PLAYER_NAME); format(string, sizeof string, "* Good job soldier. You assisted %s to capture "LIGHT_GREEN"%s. +$500", string, captureZone[zoneid][E_CAPTURE_ZONE_NAME]); for (new i, j = GetPlayerPoolSize(); i <= j; i++) { if (IsPlayerInDynamicCP(i, captureZone[zoneid][E_CAPTURE_ZONE_CP]) && !IsPlayerInAnyVehicle(i) && GetPlayerTeam(i) == GetPlayerTeam(captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER])) { PlayerTextDrawHide(i, capturePlayerTextDraw[i]); PlayerTextDrawHide(i, capturePlayerPreview[i]); HidePlayerProgressBar(i, capturePlayerBar[i]); if (i != captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER]) { SendClientMessage(i, COLOR_GREEN, string); GivePlayerCash(i, 500); } } if(GetPlayerTeam(i) == GetPlayerTeam(captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER])) { format(string, sizeof(string), "** You recieved +2 score from the captured zone by your team."); SCM(i, COLOR_LIGHTBLUE, string); SetPlayerScore(i, PInfo[i][Score] += 2); } if(GetPlayerTeam(i) == captureZone[zoneid][E_CAPTURE_ZONE_OWNER]) { format(string, sizeof(string), "** You recieved -2 score, your team lost the zone."); SCM(i, COLOR_LIGHTBLUE, string); SetPlayerScore(i, PInfo[i][Score] -= 2); } } SetPlayerScore(captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER], GetPlayerScore(captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER]) + 5); GivePlayerCash(captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER], 4500); format(string, sizeof string, "[ZONE] You successfully captured "COL_ORANGE"%s. "COL_WHITE"+5 Score +$4500", captureZone[zoneid][E_CAPTURE_ZONE_NAME]); SendClientMessage(captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER], COLOR_GREEN, string); PInfo[captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER]][ZonesCaptured]++; format(string, sizeof string, ""COL_ORANGE"(!) %s team have captured '%s' .", TEAM[GetPlayerTeam(captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER])][E_TEAM_NAME], captureZone[zoneid][E_CAPTURE_ZONE_NAME]); SCMToAll(-1, string); new text[150]; format(text, sizeof(text), ""COL_WHITE"%s"COL_YELLOW"(%i)", captureZone[zoneid][E_CAPTURE_ZONE_NAME], zoneid); UpdateDynamic3DTextLabelText(captureZone[zoneid][E_CAPTURE_ZONE_LABEL], TEAM[captureZone[zoneid][E_CAPTURE_ZONE_OWNER]][E_TEAM_COLOR], text); captureZone[zoneid][E_CAPTURE_ZONE_OWNER] = GetPlayerTeam(captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER]); captureZone[zoneid][E_CAPTURE_ZONE_ATTACKER] = INVALID_PLAYER_ID; KillTimer(captureZone[zoneid][E_CAPTURE_ZONE_TIMER]); GangZoneStopFlashForAll(captureZone[zoneid][E_CAPTURE_ZONE_GANGZONE]); GangZoneShowForAll(captureZone[zoneid][E_CAPTURE_ZONE_GANGZONE], ALPHA(TEAM[captureZone[zoneid][E_CAPTURE_ZONE_OWNER]][E_TEAM_COLOR], 100)); } return 1; }
Edited by Avast_Edit
Youtube: Click
4 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now