All pastes #743718 Raw Edit

Someone

public text v1 · immutable
·published 2007-10-20 18:16 UTC
rendered paste body
//                           Pearl Harbor Battle GM 0.1
//                              Coded by Chiarboss
//                                     ©2007
//                 Dont edit code or part of it without my permission
//                To get permission contact: marco.chiarelli@hotmail.it


#include <a_samp>
#pragma tabsize 0

static gTeam[MAX_PLAYERS];
new score1=0;
new score2=0;

enum SavePlayerPosEnum {
Float:LastX,
Float:LastY,
Float:LastZ
}

enum PlayerSpawnInfo {
	Float:PlayerX,
	Float:PlayerY,
	Float:PlayerZ,
	Float:PlayerAngle
}

#define TEAM_1 1
#define TEAM_2 2
#define TEAM_3 3
#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_BLUE 0x1111AAFF
#define COLOR_PINK 0xFF66FFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
new UsePlayerPedAnimsEx=1;

new Float:gRandomSpawns1BLUE[][PlayerSpawnInfo] =
{
   {-1508.7653,478.5427,7.1875,270.9960},
   {-1510.2382,469.9092,7.1875,270.9960},
   {-1509.3755,463.1544,7.1875,270.9960},
   {-1517.4136,464.3707,7.1875,270.0560},
   {-1519.5562,468.1791,7.1875,270.0560},
   {-1518.6855,475.8257,7.1809,270.0560}
};

new Float:gRandomSpawns1ORANGE[][PlayerSpawnInfo] =
{
   {-1363.3977,313.0136,7.1875,89.5818},
   {-1364.4664,316.5651,7.1875,92.0885},
   {-1365.2043,320.1397,7.1875,88.3285},
   {-1360.0656,320.2983,7.1875,88.3285},
   {-1358.4280,313.5684,7.1875,88.3285},
   {-1358.4349,307.8744,7.1875,88.3285}
};

new Float:gRandomSpawns2BLUE[][PlayerSpawnInfo] =
{
   {116.6055,1923.5280,18.9095,272.9477},
   {117.3638,1920.6271,18.9288,272.9477},
   {117.8806,1917.5955,18.9761,272.9477},
   {118.6199,1914.2277,18.8813,227.9477},
   {118.6173,1909.2897,18.7426,272.9477},
   {117.8312,1904.6158,18.6408,227.9477}
};

new Float:gRandomSpawns2ORANGE[][PlayerSpawnInfo] =
{
   {267.1653,1821.6874,17.6406,90.0296},
   {266.7679,1823.8087,17.6406,90.3429},
   {266.4547,1826.9240,17.6406,45.3429},
   {266.6508,1831.1879,17.6406,90.3429},
   {267.5015,1835.7932,17.6481,45.3429},
   {267.4605,1840.4207,17.6481,45.3429}
};

new Float:gRandomSpawns3BLUE[][PlayerSpawnInfo] =
{
   {419.3348,2481.1545,16.4844,91.6136},
   {418.7149,2484.7231,16.4844,91.6136},
   {418.7827,2489.2798,16.4844,91.6136},
   {418.4759,2495.4160,16.4844,91.6136},
   {419.3739,2507.2163,16.4844,91.6136},
   {418.6631,2519.5493,16.4844,91.6136}
};

new Float:gRandomSpawns3ORANGE[][PlayerSpawnInfo] =
{
   {-55.1021,2520.6113,16.4922,268.5753},
   {-54.5690,2512.7710,16.4922,268.5753},
   {-53.5597,2502.8201,16.4844,268.5753},
   {-51.8624,2493.4001,16.4844,268.5753},
   {-50.9569,2484.9138,16.4844,268.5753},
   {-50.2573,2481.3997,16.4844,268.5753}
};

new Float:gRandomSpawns4BLUE[][PlayerSpawnInfo] =
{
   {-22.9223,1097.2173,19.5846,359.6142},
   {-20.2282,1097.5062,19.5875,359.6142},
   {-16.9313,1097.3917,19.5938,359.6142},
   {-13.5053,1096.9604,19.5843,359.6142},
   {-10.2330,1097.0282,19.5844,359.6142},
   {-5.9847,1097.0873,19.5844,359.6142}
};

new Float:gRandomSpawns4ORANGE[][PlayerSpawnInfo] =
{
   {-87.5328,1197.9763,19.5862,177.5892},
   {-90.3657,1198.0869,19.5911,177.5892},
   {-93.8810,1197.7512,19.5938,177.5892},
   {-98.3673,1197.5010,19.5938,177.5892},
   {-102.4512,1197.4917,19.5938,177.5892},
   {-107.7307,1196.7966,19.5938,177.5892}
};

new Float:gRandomSpawns5BLUE[][PlayerSpawnInfo] =
{
   {395.6815,899.8497,21.3175,258.4533},
   {396.1720,890.0845,21.1572,258.4533},
   {401.5054,879.8084,20.8472,258.4533},
   {402.5599,869.1055,20.4766,258.4533},
   {402.3276,862.0345,20.2154,258.4533},
   {401.6148,853.9340,19.9153,213.4533}
};

new Float:gRandomSpawns5ORANGE[][PlayerSpawnInfo] =
{
   {813.4512,837.7249,9.9432,110.5353},
   {806.6901,849.9365,9.8941,110.5353},
   {808.7899,843.2446,9.7782,110.5353},
   {823.3253,835.4736,10.9839,110.8486},
   {823.7463,849.2846,11.4001,110.8486},
   {817.0651,856.6889,12.7891,110.8486}
};

new Float:gRandomSpawns6BLUE[][PlayerSpawnInfo] =
{
   {-2317.3647,1535.3263,18.7734,90.4817},
   {-2317.0134,1539.9554,18.7734,90.4817},
   {-2317.1365,1544.7505,18.7734,90.4817},
   {-2317.5505,1548.4590,18.7734,90.4817},
   {-2317.7058,1554.6938,18.7658,90.4817},
   {-2302.0962,1545.0088,18.7734,89.5417}
};

new Float:gRandomSpawns6ORANGE[][PlayerSpawnInfo] =
{
   {-2472.8059,1552.7925,33.2273,269.3734},
   {-2472.3777,1549.6062,33.2273,269.3734},
   {-2472.1477,1544.5275,33.2344,269.3734},
   {-2471.1196,1540.2913,33.2344,269.3734},
   {-2471.7109,1538.0636,33.2344,269.3734},
   {-2477.7976,1544.1836,33.2344,272.2167}
};

new Float:gRandomSpawns7BLUE[][PlayerSpawnInfo] =
{
   {1392.3453,2104.8594,11.0156,92.0951},
   {1391.9263,2109.1274,11.0156,92.0951},
   {1392.0765,2114.0439,11.0234,90.5285},
   {1392.1677,2119.7183,11.0234,90.5285},
   {1392.2446,2126.4221,11.0234,90.5285},
   {1392.0470,2129.8589,11.0234,90.5285}
};

new Float:gRandomSpawns7ORANGE[][PlayerSpawnInfo] =
{
   {1303.3995,2190.7412,11.0234,267.8768},
   {1303.6152,2187.9583,11.0234,266.9368},
   {1303.3738,2183.7214,11.0234,266.9368},
   {1303.4252,2179.2605,11.0234,266.9368},
   {1303.5590,2175.9607,11.0234,266.9368},
   {1303.9667,2172.6628,11.0234,266.9368}
};

new Float:gRandomSpawns8BLUE[][PlayerSpawnInfo] =
{
   {-161.2904,-278.2815,3.9053,271.2534},
   {-161.0921,-274.2459,3.9053,271.2534},
   {-160.9905,-270.4722,3.9053,271.2534},
   {-161.0299,-266.1692,3.9053,271.2534},
   {-160.9428,-262.9684,3.9053,271.2534},
   {-161.2098,-257.1136,3.9053,271.2534}
};

new Float:gRandomSpawns8ORANGE[][PlayerSpawnInfo] =
{
   {-33.9952,-297.0213,5.4297,90.4819},
   {-34.3215,-294.1186,5.4297,89.2285},
   {-34.2251,-290.5288,5.4229,89.2285},
   {-34.8616,-286.9456,5.4229,89.2285},
   {-35.1617,-281.8235,5.4229,89.2285},
   {-35.0698,-276.8303,5.4229,89.2285}
};

new Float:gRandomSpawns9BLUE[][PlayerSpawnInfo] =
{
   {2318.0813,1507.6990,10.8203,177.2760},
   {2315.7666,1507.4458,10.8203,177.2760},
   {2312.5669,1507.5200,10.8203,177.2760},
   {2308.5042,1507.5155,10.8203,177.2760},
   {2304.4155,1507.5201,10.8203,177.2760},
   {2303.9097,1517.9951,10.8203,182.5794}
};

new Float:gRandomSpawns9ORANGE[][PlayerSpawnInfo] =
{
   {2323.0232,1516.8020,42.8203,178.4144},
   {2319.8704,1516.5060,42.8203,178.4144},
   {2315.4648,1516.5703,42.8203,178.4144},
   {2311.8909,1515.8588,42.8203,178.4144},
   {2306.4570,1515.6613,42.8203,178.4144},
   {2295.4263,1502.6003,42.7707,178.4144}
};

new Float:gRandomSpawns10BLUE[][PlayerSpawnInfo] =
{
   {-1579.1028,649.7867,7.1875,85.0964},
   {-1579.2804,652.4463,7.1875,86.0364},
   {-1579.1674,655.8630,7.1875,86.0364},
   {-1579.2643,660.0445,7.1875,86.0364},
   {-1579.1870,664.5173,7.1875,86.0364},
   {-1579.3583,669.5950,7.1901,86.0364}
};

new Float:gRandomSpawns10ORANGE[][PlayerSpawnInfo] =
{
   {-1641.2269,651.0331,-5.2422,357.3389},
   {-1638.9225,651.5366,-5.2422,359.5323},
   {-1636.3097,651.5970,-5.2422,358.5923},
   {-1632.5358,651.9473,-5.2422,358.5923},
   {-1628.7418,652.3631,-5.2422,358.5923},
   {-1622.4027,653.8400,-5.2422,358.5923}
};

new Float:gRandomSpawns11BLUE[][PlayerSpawnInfo] =
{
   {1174.7772,1079.2253,10.8203,110.7344},
   {1175.7516,1082.6232,10.8203,105.7210},
   {1174.3820,1087.3740,10.8203,105.7210},
   {1172.3268,1094.5006,10.8203,105.7210},
   {1173.0393,1099.0310,10.8203,105.7210},
   {1168.4745,1102.3304,10.8203,105.7210}
};

new Float:gRandomSpawns11ORANGE[][PlayerSpawnInfo] =
{
   {1019.7377,1041.9824,11.0000,301.8929},
   {1022.5851,1037.7483,11.0000,290.6128},
   {1025.6284,1032.4972,11.0000,290.6128},
   {1029.8373,1027.6998,11.0023,304.7129},
   {1032.5763,1022.4907,11.0000,304.7129},
   {1036.5377,1016.9866,11.0000,304.7129}
};

new Float:gRandomSpawns12BLUE[][PlayerSpawnInfo] =
{
   {30.3311,1276.9056,12.6677,2.7476},
   {24.9586,1276.9340,11.9129,2.7476},
   {18.3991,1277.9921,11.0071,2.7476},
   {9.7443,1278.7531,9.8969,2.7476},
   {-3.1850,1277.8367,9.0954,2.7476},
   {-15.1698,1277.5557,8.8167,2.7476}
};

new Float:gRandomSpawns12ORANGE[][PlayerSpawnInfo] =
{
   {38.5553,1479.0684,12.7500,168.5024},
   {34.9760,1479.7974,12.7500,173.5158},
   {30.9086,1479.2635,12.7500,173.5158},
   {23.5769,1477.8193,12.7500,173.5158},
   {17.2204,1475.1410,12.7500,173.5158},
   {0.6992,1474.7203,12.7560,173.5158}
};

new Float:gRandomSpawns13BLUE[][PlayerSpawnInfo] =
{
   {1101.4945,1697.7239,10.8203,180.7672},
   {1095.4113,1697.6194,10.8129,170.1137},
   {1097.8514,1690.7208,10.8805,180.4538},
   {1101.5676,1682.2947,11.0781,180.4538},
   {1094.6144,1680.8822,11.1034,180.4538},
   {1097.8243,1674.0303,11.2684,180.4538}
};

new Float:gRandomSpawns13ORANGE[][PlayerSpawnInfo] =
{
   {1094.8842,1386.8612,10.8203,0.3089},
   {1101.5007,1386.8752,10.8203,0.3089},
   {1098.6969,1391.0676,10.8203,0.3089},
   {1094.6401,1398.9113,11.0364,0.3089},
   {1101.9296,1399.3297,11.0446,0.3089},
   {1099.0070,1405.6937,11.2912,0.3089}
};

new Float:gRandomSpawns14BLUE[][PlayerSpawnInfo] =
{
   {-2706.3364,304.1258,4.1797,0.0847},
   {-2706.2336,298.0455,4.1861,359.3131},
   {-2710.2302,298.3272,4.1797,356.9514},
   {-2702.1443,298.4986,4.1797,0.3981},
   {-2717.1077,295.8257,4.3568,0.0847},
   {-2694.7898,295.6114,4.3347,353.8181}
};

new Float:gRandomSpawns14ORANGE[][PlayerSpawnInfo] =
{
   {-2706.3997,451.9405,4.1797,178.4839},
   {-2706.5500,458.8048,4.1797,176.9172},
   {-2701.8677,458.3697,4.1797,178.4839},
   {-2710.4727,458.7639,4.1797,178.4839},
   {-2694.9998,454.9949,4.3359,174.0971},
   {-2717.7971,455.2418,4.3281,180.0505}
};

new Float:gRandomSpawns15BLUE[][PlayerSpawnInfo] =
{
   {-1949.0553,-970.7675,35.8909,359.2033},
   {-1960.4760,-970.7738,35.8909,0.4567},
   {-1953.9106,-951.8676,37.7124,0.4567},
   {-1961.2806,-941.1809,35.8909,0.4567},
   {-1954.4631,-940.9294,35.8909,0.4567},
   {-1948.9552,-940.7099,35.8909,0.4567}
};

new Float:gRandomSpawns15ORANGE[][PlayerSpawnInfo] =
{
   {-2079.7844,-742.1572,32.1719,193.9855},
   {-2088.5032,-743.7762,32.1719,193.9855},
   {-2094.3752,-749.8993,32.1719,193.9855},
   {-2096.5854,-761.5101,32.1719,193.9855},
   {-2087.9426,-771.1680,32.1719,241.2993},
   {-2075.3440,-771.6683,32.1719,249.4460}
};

new Float:gRandomSpawns[][4] =
{
   {-1210.5920,-1732.6976,519.7761,263.2776},
   {393.5974,88.4963,2116.4121,88.4963},
   {-34.1631,441.2056,2326.1580,2584.4185},
   {166.1054,-412.7558,1315.6737,905.6169},
   {731.2661,365.3636,1093.1353,702.9193},
   {-2273.1340,-2561.6272,1613.4777,1504.7831},
   {1399.9882,1292.7935,2212.9978,2092.6587},
   {52.5251,-396.6969,-202.5723,-356.6395},
   {2337.9331,2362.9321,1392.1455,1527.4844},
   {-1566.5201,-1702.8638,742.1826,643.7214},
   {1207.2919,967.8348,1187.8217,936.2263},
   {81.3312,-72.4283,1509.7603,1252.2440},
   {1177.0914,1014.7024,1704.3896,1381.1616},
   {-2627.6646,-2765.3533,471.3389,291.4548},
   {-1917.9464,-2158.0940,-711.8609,-1004.1833}
};

new gName[][28]={
"Pearl Harbor Disaster",
"Area51 Stalk!",
"VM Plane's Cemetary",
"The Cittadella",
"The Cage",
"The MiB's Float",
"Baseball Power",
"Blueberry Acres",
"The Infernal Park",
"San Fierro P.Dept.",
"Greenglass College",
"Campering PZone",
"LV's DirtBike",
"Bank W.W.",
"Forester Valley"
};

new Float:gSpec1[][6]={{-1458.2739,487.1903,16.5781,-1420.7267,468.9539,7.1875},
{-1330.6969,488.2393,26.4064,-1325.1050,465.0658,7.1875},
{-1345.8632,381.3795,7.1875,-1453.7963,380.9996,7.1948},
{-1443.6746,288.9607,6.3780,-1488.5051,276.6369,7.1875}};
new Float:gSpec2[][6]={{104.1923,1903.4869,33.8984,120.2325,1927.5557,19.0763},
{163.7208,1931.6044,33.8984,206.1970,1902.3811,17.6406},
{264.8481,1894.6091,33.8984,220.9215,1874.9379,17.6481},
{259.6139,1807.9900,33.8984,222.0306,1819.7079,17.6406}};
new Float:gSpec3[][6]={{401.4396,2475.4961,29.5372,401.2177,2498.8477,16.4844},
{318.1535,2533.9575,23.6821,318.1278,2500.5374,16.4844},
{246.2126,2453.3560,21.4542,245.4829,2510.3818,16.5352},
{231.7195,2546.0237,26.4391,160.2500,2493.2654,16.4844}};
new Float:gSpec4[][6]={{-42.9577,1080.1543,24.7776,-57.8009,1112.6285,19.7422},
{-101.3183,1167.9150,25.4908,-126.3719,1148.8947,19.5938},
{-208.2582,1134.0479,26.1357,-193.4074,1100.6913,19.5938},
{-144.2255,1224.2961,26.2031,-116.6752,1197.6295,19.5938}};
new Float:gSpec5[][6]={{393.2580,874.0035,24.1032,542.6993,880.6411,-35.3601},
{771.6141,838.5957,5.8978,606.5848,867.3303,-40.1694},
{586.2143,742.8958,9.0802,585.7775,845.8972,-33.8303},
{588.7448,1007.4418,16.7646,585.9802,884.9827,-40.7084}};
new Float:gSpec6[][6]={{-2294.6030,1545.6123,24.3598,-2334.1094,1545.2250,17.3281},
{-2389.0562,1520.2355,36.9780,-2388.8308,1552.8453,26.0469},
{-2423.1470,1573.8330,34.0024,-2424.6272,1534.4760,26.0469},
{-2461.0393,1546.4923,37.4552,-2444.9480,1540.7698,24.3348}};
new Float:gSpec7[][6]={{1351.4186,2103.1492,13.6435,1351.3490,2136.7173,11.0156},
{1353.5444,2199.8762,14.6250,1351.3490,2136.7173,11.0156},
{1397.9247,2156.9971,14.6321,1351.3490,2136.7173,11.0156},
{1300.3684,2151.1333,13.6435,1351.3490,2136.7173,11.0156}};
new Float:gSpec8[][6]={{-158.8494,-277.2708,6.1887,-201.5007,-278.0501,1.4297},
{-118.6752,-314.5076,2.7646,-118.3690,-348.8859,1.4297},
{-62.4986,-308.2326,5.4297,-26.2765,-307.4408,5.4229},
{-79.0523,-211.0887,1.4219,-158.1969,-205.0875,1.4219}};
new Float:gSpec9[][6]={{2310.7017,1518.1724,10.8203,2309.8711,1408.0974,10.3943},
{2311.8052,1394.5184,23.6250,2308.8091,1507.2939,23.1897},
{2343.5303,1518.5183,30.0312,2344.8425,1412.9109,35.3679},
{2327.4333,1520.9443,44.6368,2332.3687,1396.6948,42.8203}};
new Float:gSpec10[][6]={{-1574.6182,663.3511,7.1875,-1621.4260,663.2985,7.1875},
{-1682.8231,686.5978,24.9688,-1630.2778,682.0345,7.1901},
{-1626.4312,744.2463,-5.2422,-1581.5032,743.7603,-5.2422},
{-1633.7933,653.3195,-5.2422,-1633.0682,693.3941,-5.2422}};
new Float:gSpec11[][6]={{1050.5455,1119.1086,10.9170,1084.1741,1078.3660,10.8359},
{1119.3741,1035.2363,10.1679,1084.1741,1078.3660,10.8359},
{1040.8922,1037.9775,11.0000,1084.1741,1078.3660,10.8359},
{1132.2114,1110.5883,10.1484,1084.1741,1078.3660,10.8359}};
new Float:gSpec12[][6]={{-7.7569,1246.4479,13.9891,-8.1503,1275.0452,8.7088},
{7.6872,1422.9496,11.6668,-0.2888,1379.4819,9.1781},
{61.0141,1336.0839,11.5190,-11.6685,1324.7007,10.0570},
{-73.8128,1371.1290,9.9078,-29.4771,1379.5338,9.1719}};
new Float:gSpec13[][6]={{1098.3285,1681.6855,11.0846,1098.0444,1630.1582,12.2999},
{1098.4978,1392.7770,10.8203,1099.0448,1439.3807,12.5469},
{1194.8920,1535.6841,23.7184,1155.6885,1535.5652,12.5469},
{1005.4615,1533.2063,24.2785,1037.7834,1534.6572,12.5469}};
new Float:gSpec14[][6]={{-2706.2100,307.2590,4.1797,-2706.0945,375.5436,4.9688},
{-2706.2937,432.6635,4.1797,2706.0945,375.5436,4.9688},
{-2670.7781,376.9957,13.9766,2706.0945,375.5436,4.9688},
{-2731.8750,376.5188,15.0086,2706.0945,375.5436,4.9688}};
new Float:gSpec15[][6]={{-1917.6500,-923.5338,45.9209,-1960.5104,-926.6942,35.8909},
{-2082.3547,-936.8572,32.1719,-2035.4222,-936.3029,30.1793},
{-2022.5609,-784.0187,30.1719,-2081.7273,-783.1106,32.1719},
{-1983.2313,-792.7477,32.0312,-1963.7520,-792.1146,35.8909}};
new Menu:pfcw,Menu:cv,vc=1,map=1,vv=0,Menu:vvx,playersex=0,Text:Info,Text:Textdraw,PLAYERS_FOR_CW=4,PLAYERS_FOR_SPECTATE=3,rounds=1,maxrounds=15,players=0,cw=0,team1[256]="Team 1",team2[256]="Team 2",spawned[MAX_PLAYERS],HighestScore,HighestScorers[MAX_PLAYERS];
new x[MAX_PLAYERS]=INVALID_PLAYER_ID,Menu:gz,Menu:ac,Menu:start2,Menu:pfs,Menu:gMenu,Menu:sp,Menu:mr,Menu:nt,Menu:pm,Menu:skin,Menu:cwo,Menu:frt,Menu:stf,Menu:spec,Menu:frag,Menu:grd,Menu:soc,Menu:jd,soctimer=0,incw[MAX_PLAYERS]=0;
new AdmCmd=1,grenades=1,gText=0,gang=1,specex=1,death[MAX_PLAYERS]=0,menu[MAX_PLAYERS]=0,jod=1,fragx=1,/*modobj=0,*/socdelay=60000,skinex=0,startmap=-1,Menu:start;
new g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11,g12,g13,g14,g15,add=1,Menu:addm,mutedall=0,freezedall=0,mute[MAX_PLAYERS],freezed[MAX_PLAYERS];
forward BestKiller();forward Soc();forward BackRace();forward Winners();forward SetupForRounds();forward TextUpdate();
main()
{
        print("\n----------------------------------");
		print("       Running: PHB GM 0.1\n");
		print("    Coded By Chiarboss ©2007\n");
		print("   Ctblt: SA-MP 0.2.2 or higher.");
		print("----------------------------------\n");
}
public OnGameModeInit() {
if(UsePlayerPedAnimsEx==1)UsePlayerPedAnims();
DisableInteriorEnterExits();
gText=SetTimer("TextUpdate",1000,1);
SetupForAdd();
	SetGameModeText("Pearl Harbor Battle GM 0.1");
	AddPlayerClass(285,0.0,0.0,0.0,0.0,31,9000,29,9000,24,9000);
	AddPlayerClass(287,0.0,0.0,0.0,0.0,30,9000,25,9000,24,9000);
	AddPlayerClass(264,0.0,0.0,0.0,0.0,0,0,0,0,0,0);
	SetWorldTime(12);
	g1=GangZoneCreate(gRandomSpawns[0][1],gRandomSpawns[0][3],gRandomSpawns[0][0],gRandomSpawns[0][2]);
	g2=GangZoneCreate(gRandomSpawns[1][1],gRandomSpawns[1][3],gRandomSpawns[1][0],gRandomSpawns[1][2]);
	g3=GangZoneCreate(gRandomSpawns[2][1],gRandomSpawns[2][3],gRandomSpawns[2][0],gRandomSpawns[2][2]);
	g4=GangZoneCreate(gRandomSpawns[3][1],gRandomSpawns[3][3],gRandomSpawns[3][0],gRandomSpawns[3][2]);
	g5=GangZoneCreate(gRandomSpawns[4][1],gRandomSpawns[4][3],gRandomSpawns[4][0],gRandomSpawns[4][2]);
	g6=GangZoneCreate(gRandomSpawns[5][1],gRandomSpawns[5][3],gRandomSpawns[5][0],gRandomSpawns[5][2]);
	g7=GangZoneCreate(gRandomSpawns[6][1],gRandomSpawns[6][3],gRandomSpawns[6][0],gRandomSpawns[6][2]);
	g8=GangZoneCreate(gRandomSpawns[7][1],gRandomSpawns[7][3],gRandomSpawns[7][0],gRandomSpawns[7][2]);
	g9=GangZoneCreate(gRandomSpawns[8][1],gRandomSpawns[8][3],gRandomSpawns[8][0],gRandomSpawns[8][2]);
	g10=GangZoneCreate(gRandomSpawns[9][1],gRandomSpawns[9][3],gRandomSpawns[9][0],gRandomSpawns[9][2]);
	g11=GangZoneCreate(gRandomSpawns[10][1],gRandomSpawns[10][3],gRandomSpawns[10][0],gRandomSpawns[10][2]);
	g12=GangZoneCreate(gRandomSpawns[11][1],gRandomSpawns[11][3],gRandomSpawns[11][0],gRandomSpawns[11][2]);
	g13=GangZoneCreate(gRandomSpawns[12][1],gRandomSpawns[12][3],gRandomSpawns[12][0],gRandomSpawns[12][2]);
	g14=GangZoneCreate(gRandomSpawns[13][1],gRandomSpawns[13][3],gRandomSpawns[13][0],gRandomSpawns[13][2]);
	g15=GangZoneCreate(gRandomSpawns[14][1],gRandomSpawns[14][3],gRandomSpawns[14][0],gRandomSpawns[14][2]);
	if(PLAYERS_FOR_CW<2)PLAYERS_FOR_CW=2;

    gMenu=CreateMenu("Pearl Harbor Battle",2, 200.0, 125.0, 220.0, 50.0);
    sp = CreateMenu("SA-MP Stuffs",2, 200.0, 125.0, 220.0, 50.0);
    cwo = CreateMenu("CW Options",2, 200.0, 125.0, 220.0, 50.0);
    nt = CreateMenu("NameTags",2, 200.0, 125.0, 220.0, 50.0);
    mr = CreateMenu("Max Rounds",2, 200.0, 125.0, 220.0, 50.0);
    pm = CreateMenu("Player Mrkrs",2, 200.0, 125.0, 220.0, 50.0);
    frt = CreateMenu("Formats",2, 200.0, 125.0, 220.0, 50.0);
	stf = CreateMenu("Miscellaneous",2, 200.0, 125.0, 220.0, 50.0);
	frag = CreateMenu("Frag Mode",2, 200.0, 125.0, 220.0, 50.0);
    grd = CreateMenu("Grenades Pack",2, 200.0, 125.0, 220.0, 50.0);
    spec = CreateMenu("Spectate Mode",2, 200.0, 125.0, 220.0, 50.0);
    soc = CreateMenu("StopOnCrash",2, 200.0, 125.0, 220.0, 50.0);
    jd = CreateMenu("JDMessages",2, 200.0, 125.0, 220.0, 50.0);
	gz = CreateMenu("Gang Zones",2, 200.0, 125.0, 220.0, 50.0);
	addm = CreateMenu("Addictional Stuffs",2, 200.0, 125.0, 220.0, 50.0);
	skin = CreateMenu("Skin Control",2, 200.0, 125.0, 220.0, 50.0);
    start = CreateMenu("Next Map",2, 200.0, 125.0, 220.0, 50.0);
    start2 = CreateMenu("Next Map",2, 200.0, 125.0, 220.0, 50.0);
    ac = CreateMenu("AntiCrash",2, 200.0, 125.0, 220.0, 50.0);
    vvx = CreateMenu("Visual Viewer",2, 200.0, 125.0, 220.0, 50.0),cv = CreateMenu("Camera Viewer",2, 200.0, 125.0, 220.0, 50.0);
	pfcw = CreateMenu("Players For CW",2, 200.0, 125.0, 220.0, 50.0);
	pfs = CreateMenu("Players For SM",2, 200.0, 125.0, 220.0, 50.0);
	AddMenuItem(gMenu,0,"CW Options");
	AddMenuItem(gMenu,0,"SA:MP Stuffs");
	AddMenuItem(gMenu,0,"Formats");
	AddMenuItem(gMenu,0,"Miscellaneous");
	AddMenuItem(sp,0,"Name Tags");
	AddMenuItem(sp,0,"Player Mrkrs");
	AddMenuItem(sp,0,"JDMessages");
	AddMenuItem(sp,0,"Gang Zones");
	AddMenuItem(sp,0,"Ped Anims");
	DisableMenuRow(sp,AddMenuItem(sp,0,"ModObj (N.IMP)"));
	AddMenuItem(cwo,0,"Start CW");AddMenuItem(skin,0,"On");
	AddMenuItem(cwo,0,"Stop CW");AddMenuItem(skin,0,"Off");
	AddMenuItem(cwo,0,"Reset Game");AddMenuItem(cv,0,"On"),AddMenuItem(cv,0,"Off");
	AddMenuItem(cwo,0,"Max Rounds");AddMenuItem(addm,0,"On");AddMenuItem(addm,0,"Off");
	AddMenuItem(cwo,0,"Next Map");AddMenuItem(cwo,0,"Players For CW");AddMenuItem(cwo,0,"Players For SM");AddMenuItem(cwo,0,"Set Round");
	AddMenuItem(pfcw,0,"2"),AddMenuItem(pfcw,0,"4"),AddMenuItem(pfcw,0,"6");AddMenuItem(pfs,0,"3"),AddMenuItem(pfs,0,"5"),AddMenuItem(pfs,0,"6");
	AddMenuItem(mr,0,"10");AddMenuItem(mr,0,"15");AddMenuItem(mr,0,"20");AddMenuItem(ac,0,"On"),AddMenuItem(ac,0,"Off");
	AddMenuItem(nt,0,"Off");AddMenuItem(pm,0,"On");AddMenuItem(pm,0,"Off");AddMenuItem(vvx,0,"Off"),AddMenuItem(vvx,0,"Supply"),AddMenuItem(vvx,0,"1"),AddMenuItem(vvx,0,"2");
	AddMenuItem(nt,0,"10");AddMenuItem(nt,0,"15");AddMenuItem(nt,0,"20");AddMenuItem(nt,0,"38");AddMenuItem(nt,0,"50");
	AddMenuItem(frt,0,"Blue Team tag");AddMenuItem(frt,0,"Orange Team tag");AddMenuItem(frt,0,"ResetTags");
	AddMenuItem(stf,0,"Spectate Mode");AddMenuItem(stf,0,"StopOnCrash");AddMenuItem(stf,0,"Frag Mode");AddMenuItem(stf,0,"Grenades");AddMenuItem(stf,0,"Addict Bonus");AddMenuItem(stf,0,"Skin Control");
	AddMenuItem(jd,0,"Off");AddMenuItem(jd,0,"1"),AddMenuItem(jd,0,"2"),AddMenuItem(jd,0,"3");AddMenuItem(soc,0,"Off");AddMenuItem(soc,0,"1");AddMenuItem(soc,0,"2");AddMenuItem(soc,0,"3");AddMenuItem(soc,0,"4");AddMenuItem(stf,0,"Anti Crash");
	AddMenuItem(gz,0,"On"),AddMenuItem(gz,0,"Off");AddMenuItem(stf,0,"Visual Viewer"),AddMenuItem(stf,0,"Camera Viewer");
	AddMenuItem(frag,0,"On");AddMenuItem(frag,0,"Off");AddMenuItem(spec,0,"Off"),AddMenuItem(spec,0,"1"),AddMenuItem(spec,0,"2");
	AddMenuItem(grd,0,"Off"),AddMenuItem(grd,0,"2");AddMenuItem(grd,0,"4");AddMenuItem(grd,0,"8");
	new i;for(i=0;i<10;i++)AddMenuItem(start,0,gName[i]);for(i=10;i<15;i++)AddMenuItem(start2,0,gName[i]);
    AddMenuItem(start,0,"[NEXT]");
    return 1;
}

public OnPlayerSelectedMenuRow(playerid,row) {
new string[256];
if(row!=10&&(GetPlayerMenu(playerid)==start||GetPlayerMenu(playerid)==start2)) {
if(GetPlayerMenu(playerid)==start){ShowMenuForPlayer(start,playerid);startmap=row+1,format(string,sizeof(string),"GAMEMODE: Next Map setted to: %s",gName[row]);}
else if(GetPlayerMenu(playerid)==start2){ShowMenuForPlayer(start2,playerid);startmap=row+11;format(string,sizeof(string),"GAMEMODE: Next Map setted to: %s",gName[row+10]);}
return SendClientMessageToAll(COLOR_GREEN,string);
}

switch(row) {
case 0:{
if(GetPlayerMenu(playerid)==gMenu)ShowMenuForPlayer(cwo,playerid);
else if(GetPlayerMenu(playerid)==gz){ShowMenuForPlayer(gz,playerid);gang=1;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Gang Zones enableds");}
else if(GetPlayerMenu(playerid)==sp)ShowMenuForPlayer(nt,playerid);
else if(GetPlayerMenu(playerid)==nt){ShowMenuForPlayer(nt,playerid);ShowNameTags(0);SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Name Tags disableds");}
else if(GetPlayerMenu(playerid)==cwo){if(playersex>=PLAYERS_FOR_CW){if(cw!=1){GameTextForAll("~w~Ready players, ~y~CW begins...",4500,6);SetTimer("SetupForRounds",7000,0);cw=1;for(new i=0;i<=playersex;i++){incw[i]=1;TogglePlayerControllable(i,0);}}else{SendClientMessage(playerid,COLOR_RED,"ERROR: CW is already started!");}}else{format(string,sizeof(string),"At least %d players.",PLAYERS_FOR_CW),SendClientMessage(playerid,COLOR_RED,string),ShowMenuForPlayer(cwo,playerid);}}
else if(GetPlayerMenu(playerid)==pm){ShowMenuForPlayer(pm,playerid);ShowPlayerMarkers(1);SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Player Markers enableds");}
else if(GetPlayerMenu(playerid)==frt){ShowMenuForPlayer(frt,playerid);SendClientMessage(playerid,0xFF8A00AA,"Press T or F6 and enter a valid TeamTag");menu[playerid]=1;}
else if(GetPlayerMenu(playerid)==jd){ShowMenuForPlayer(jd,playerid);jod=0;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: JDMessages disableds");}
else if(GetPlayerMenu(playerid)==spec){ShowMenuForPlayer(spec,playerid);specex=0;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Spectate Mode disabled");}
else if(GetPlayerMenu(playerid)==frag){ShowMenuForPlayer(frag,playerid);fragx=1;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Frag Mode enabled");}
else if(GetPlayerMenu(playerid)==grd){ShowMenuForPlayer(grd,playerid);grenades=0;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Grenades Pack disabled");}
else if(GetPlayerMenu(playerid)==soc){ShowMenuForPlayer(soc,playerid);socdelay=0;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: StopOnCrash disabled");}
else if(GetPlayerMenu(playerid)==mr){ShowMenuForPlayer(mr,playerid);maxrounds=10;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Max Rounds var setted to 10");}
else if(GetPlayerMenu(playerid)==stf)ShowMenuForPlayer(spec,playerid);
else if(GetPlayerMenu(playerid)==addm){ShowMenuForPlayer(addm,playerid);add=1;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Additional Bonus spawned");SetupForAdd();}
else if(GetPlayerMenu(playerid)==skin){ShowMenuForPlayer(skin,playerid);skinex=1;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Supplementary Skins installed");for(new i=0;i<=playersex;i++)SetPlayerSkin(i,0);}
else if(GetPlayerMenu(playerid)==vvx){ShowMenuForPlayer(vvx,playerid);vv=0,SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Visual Viewer enabled");}
else if(GetPlayerMenu(playerid)==cv){ShowMenuForPlayer(cv,playerid);if(specex==1)vc=1,SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Camera Viewer enabled");else SendClientMessageToAll(COLOR_RED,"Spectate Mode is currently disabled.");}
else if(GetPlayerMenu(playerid)==ac){ShowMenuForPlayer(ac,playerid);KillTimer(gText),SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: AntiCrash currently enabled."),TextDrawDestroy(Textdraw),TextDrawDestroy(Info);}
else if(GetPlayerMenu(playerid)==pfcw){ShowMenuForPlayer(pfcw,playerid);PLAYERS_FOR_CW=2,SendClientMessage(playerid,COLOR_GREEN,"GAMEMODE: Players For CW (2)");}
else if(GetPlayerMenu(playerid)==pfs){ShowMenuForPlayer(pfs,playerid);PLAYERS_FOR_SPECTATE=3,SendClientMessage(playerid,COLOR_GREEN,"GAMEMODE: Players For SM (3)");}
}
case 1:{
if(GetPlayerMenu(playerid)==gMenu)ShowMenuForPlayer(sp,playerid);
else if(GetPlayerMenu(playerid)==gz){ShowMenuForPlayer(gz,playerid);gang=1;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Gang Zones disableds");}
else if(GetPlayerMenu(playerid)==sp)ShowMenuForPlayer(pm,playerid);
else if(GetPlayerMenu(playerid)==pm){ShowMenuForPlayer(pm,playerid);ShowPlayerMarkers(0);SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Player Mrkrs disableds");}
else if(GetPlayerMenu(playerid)==nt){ShowMenuForPlayer(nt,playerid);ShowNameTags(1);SetNameTagDrawDistance(10.0);SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Name Tags enabledes");}
else if(GetPlayerMenu(playerid)==cwo){ShowMenuForPlayer(cwo,playerid);cw=0;for(new i=0;i<=playersex;i++){incw[i]=0,ResetPlayerWeapons(i);GameTextForPlayer(i,"~y~ClanWar ~r~has been stopped",3500,6);TogglePlayerControllable(i,0);}}
else if(GetPlayerMenu(playerid)==frt){ShowMenuForPlayer(frt,playerid);SendClientMessage(playerid,0xFF8A00AA,"Press T or F6 and enter a valid TeamTag");menu[playerid]=2;}
else if(GetPlayerMenu(playerid)==jd){ShowMenuForPlayer(jd,playerid);jod=1;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: JDMessages enableds");}
else if(GetPlayerMenu(playerid)==spec){ShowMenuForPlayer(spec,playerid);specex=1;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Spectate Mode enabled");}
else if(GetPlayerMenu(playerid)==frag){ShowMenuForPlayer(frag,playerid);fragx=0;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Frag Mode disabled");}
else if(GetPlayerMenu(playerid)==grd){ShowMenuForPlayer(grd,playerid);grenades=2;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Grenades Pack enabled");}
else if(GetPlayerMenu(playerid)==soc){ShowMenuForPlayer(soc,playerid);socdelay=60000;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: StopOnCrash enabled");}
else if(GetPlayerMenu(playerid)==mr){ShowMenuForPlayer(mr,playerid);maxrounds=15;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Max Rounds var setted to 15");}
else if(GetPlayerMenu(playerid)==addm){ShowMenuForPlayer(addm,playerid);add=0;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Additional Bonus unspawned");SetupForAdd();}
else if(GetPlayerMenu(playerid)==stf)ShowMenuForPlayer(soc,playerid);
else if(GetPlayerMenu(playerid)==skin){ShowMenuForPlayer(skin,playerid);skinex=0;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Supplementary Skins uninstalled");}
else if(GetPlayerMenu(playerid)==vvx){ShowMenuForPlayer(vvx,playerid);vv=-1,SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Visual Viewer lines disabled");}
else if(GetPlayerMenu(playerid)==cv){ShowMenuForPlayer(cv,playerid);if(specex==1)vc=0,SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Camera Viewer disabled");else SendClientMessageToAll(COLOR_RED,"Spectate Mode is currently disabled.");}
else if(GetPlayerMenu(playerid)==ac){ShowMenuForPlayer(ac,playerid);KillTimer(gText),gText=SetTimer("TextUpdate",1000,1),SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: AntiCrash currently disabled.");}
else if(GetPlayerMenu(playerid)==pfcw){ShowMenuForPlayer(pfcw,playerid);PLAYERS_FOR_CW=4,SendClientMessage(playerid,COLOR_GREEN,"GAMEMODE: Players For CW (4)");}
else if(GetPlayerMenu(playerid)==pfs){ShowMenuForPlayer(pfs,playerid);PLAYERS_FOR_SPECTATE=5,SendClientMessage(playerid,COLOR_GREEN,"GAMEMODE: Players For SM (5)");}
}
case 2:{
if(GetPlayerMenu(playerid)==gMenu)ShowMenuForPlayer(frt,playerid);
else if(GetPlayerMenu(playerid)==sp)ShowMenuForPlayer(jd,playerid);
else if(GetPlayerMenu(playerid)==nt){ShowMenuForPlayer(nt,playerid);ShowNameTags(1);SetNameTagDrawDistance(15.0);SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Name Tags enableds");}
else if(GetPlayerMenu(playerid)==cwo){ShowMenuForPlayer(cwo,playerid);cw=1;ResetVariables();for(new i=0;i<=playersex;i++){incw[i]=0,ResetPlayerWeapons(i);TogglePlayerControllable(i,1);SpawnPlayer(i);GameTextForPlayer(i,"~y~ClanWar ~r~has been restored",3500,6);}}
else if(GetPlayerMenu(playerid)==spec){ShowMenuForPlayer(spec,playerid);specex=2;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Spectate Mode enabled");}
else if(GetPlayerMenu(playerid)==grd){ShowMenuForPlayer(grd,playerid);grenades=4;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Grenades Pack enabled");}
else if(GetPlayerMenu(playerid)==frt){ShowMenuForPlayer(frt,playerid);team1="Team 1",team2="Team 2";menu[playerid]=0;SendClientMessage(playerid,COLOR_GREEN,"You have successfully restored the TeamTags.");}
else if(GetPlayerMenu(playerid)==soc){ShowMenuForPlayer(soc,playerid);socdelay=120000;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: StopOnCrash enabled");}
else if(GetPlayerMenu(playerid)==mr){ShowMenuForPlayer(mr,playerid);maxrounds=20;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Max Rounds var setted to 20");}
else if(GetPlayerMenu(playerid)==stf)ShowMenuForPlayer(frag,playerid);
else if(GetPlayerMenu(playerid)==jd){ShowMenuForPlayer(jd,playerid);jod=2;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: JDMessages enableds");}
else if(GetPlayerMenu(playerid)==vvx){ShowMenuForPlayer(vvx,playerid);vv=1,SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Visual Viewer disabled (1)");}
else if(GetPlayerMenu(playerid)==pfcw){ShowMenuForPlayer(pfcw,playerid);PLAYERS_FOR_CW=6,SendClientMessage(playerid,COLOR_GREEN,"GAMEMODE: Players For CW (6)");}
else if(GetPlayerMenu(playerid)==pfs){ShowMenuForPlayer(pfs,playerid);PLAYERS_FOR_SPECTATE=6,SendClientMessage(playerid,COLOR_GREEN,"GAMEMODE: Players For SM (6)");}
}
case 3:{
if(GetPlayerMenu(playerid)==gMenu)ShowMenuForPlayer(stf,playerid);
else if(GetPlayerMenu(playerid)==sp)ShowMenuForPlayer(gz,playerid);
else if(GetPlayerMenu(playerid)==nt){ShowMenuForPlayer(nt,playerid),ShowNameTags(1);SetNameTagDrawDistance(20.0);SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Name Tags enableds");}
else if(GetPlayerMenu(playerid)==soc){ShowMenuForPlayer(soc,playerid);socdelay=3*60000;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: StopOnCrash enabled");}
else if(GetPlayerMenu(playerid)==grd){ShowMenuForPlayer(grd,playerid);grenades=8;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Grenades Pack enabled");}
else if(GetPlayerMenu(playerid)==stf)ShowMenuForPlayer(grd,playerid);
else if(GetPlayerMenu(playerid)==cwo)ShowMenuForPlayer(mr,playerid);
else if(GetPlayerMenu(playerid)==jd){ShowMenuForPlayer(jd,playerid);jod=3;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: JDMessages enableds");}
else if(GetPlayerMenu(playerid)==vvx){ShowMenuForPlayer(vvx,playerid);vv=2,SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Visual Viewer disabled (2)");}
}
case 4:{
if(GetPlayerMenu(playerid)==nt){ShowMenuForPlayer(nt,playerid),ShowNameTags(1);SetNameTagDrawDistance(38.0);SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Name Tags enableds");}
else if(GetPlayerMenu(playerid)==sp){ShowMenuForPlayer(sp,playerid);if(UsePlayerPedAnims())SendClientMessage(playerid,COLOR_GREEN,"GAMEMODE: Ped Anims are currently disabled");else SendClientMessage(playerid,COLOR_GREEN,"GAMEMODE: Ped Anims are currently enabled");}
else if(GetPlayerMenu(playerid)==stf)ShowMenuForPlayer(addm,playerid);
else if(GetPlayerMenu(playerid)==soc){ShowMenuForPlayer(soc,playerid);socdelay=4*60000;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: StopOnCrash enabled");}
else if(GetPlayerMenu(playerid)==cwo)ShowMenuForPlayer(start,playerid);
}
case 5:{
if(GetPlayerMenu(playerid)==nt){ShowMenuForPlayer(nt,playerid),ShowNameTags(0);SetNameTagDrawDistance(50.0);SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Name Tags enableds");}
else if(GetPlayerMenu(playerid)==stf)ShowMenuForPlayer(skin,playerid);
else if(GetPlayerMenu(playerid)==cwo)ShowMenuForPlayer(pfcw,playerid);
}case 6:{
if(GetPlayerMenu(playerid)==stf)ShowMenuForPlayer(ac,playerid);
else if(GetPlayerMenu(playerid)==cwo)ShowMenuForPlayer(pfs,playerid);
}case 7:{
if(GetPlayerMenu(playerid)==stf)ShowMenuForPlayer(vvx,playerid);
else if(GetPlayerMenu(playerid)==cwo){ShowMenuForPlayer(cwo,playerid);menu[playerid]=3,SendClientMessage(playerid,0xFF8A00AA,"Press T or F6 and enter a valid TeamTag");}
}
case 8:ShowMenuForPlayer(cv,playerid);
case 10:ShowMenuForPlayer(start2,playerid);}
return 1;
}
stock SetupForAdd(){if(add==0)for(new i=0;i<=playersex;i++){DestroyPickup(i);DestroyVehicle(i);}else CreateVehicle(469,-2512.8386,1543.8484,17.3398,271.2547,1,3,5000),CreateVehicle(522,2271.8921,1518.1287,23.1729,11.9038,3,8,5000),CreateVehicle(543,596.6650,866.2211,-43.2992,191.3164,67,8,5000),CreatePickup(370, 15, 268.7046,1883.7684,-30.0938);return;}

public OnPlayerText(playerid,text[]) {
new string[256];
if(menu[playerid]!=0&&menu[playerid]!=3) {
if(strlen(text)<2){
SendClientMessage(playerid,COLOR_RED,"ERROR: Maximum 2 charachters!");
return 0;}
format(string,sizeof(string),"GAMEMODE: Team %d name setted to: %s",menu[playerid],text);
SendClientMessageToAll(COLOR_GREEN,string);
switch(menu[playerid]){case 1:format(team1,sizeof(team1),"%s",text); case 2:format(team2,sizeof(team2),"%s",text);}
return 0;
}
if(menu[playerid]==3) {
if(strval(text)>maxrounds||strval(text)<1){format(string,sizeof(string),"Syntax Error. <1-%d>",maxrounds);SendClientMessage(playerid,COLOR_RED,string);return 0;}
rounds=strval(text),SetupForRounds();
format(string,sizeof(string),"GAMEMODE: Current Round setted to %d",strval(text)),SendClientMessageToAll(COLOR_GREEN,string);
return 0;}
if(mute[playerid]==1){GameTextForPlayer(playerid,"~n~~w~You ~r~cannot speak ~w~because u ~r~are muted.",3500,3);return 0;}
return 1;}

public OnPlayerExitedMenu(playerid) {
menu[playerid]=0;
if(GetPlayerMenu(playerid)==gMenu){TogglePlayerControllable(playerid,1);SendClientMessage(playerid,0xFF8A00AA,"Successfully exited from the Settings Menu.");}
else if(GetPlayerMenu(playerid)==sp||GetPlayerMenu(playerid)==frt||GetPlayerMenu(playerid)==stf||GetPlayerMenu(playerid)==cwo)ShowMenuForPlayer(gMenu,playerid);
else if(GetPlayerMenu(playerid)==nt||GetPlayerMenu(playerid)==pm||GetPlayerMenu(playerid)==jd||GetPlayerMenu(playerid)==gz)ShowMenuForPlayer(sp,playerid);
else if(GetPlayerMenu(playerid)==mr||GetPlayerMenu(playerid)==start||GetPlayerMenu(playerid)==pfcw||GetPlayerMenu(playerid)==pfs)ShowMenuForPlayer(cwo,playerid);
else if(GetPlayerMenu(playerid)==start2)ShowMenuForPlayer(start,playerid);
else if(GetPlayerMenu(playerid)==spec||GetPlayerMenu(playerid)==frag||GetPlayerMenu(playerid)==grd||GetPlayerMenu(playerid)==soc||GetPlayerMenu(playerid)==addm||GetPlayerMenu(playerid)==skin||GetPlayerMenu(playerid)==ac||GetPlayerMenu(playerid)==vvx||GetPlayerMenu(playerid)==cv)ShowMenuForPlayer(stf,playerid);
return 1;
}

stock GetPlayersInCW() {
new count;
for(new i=0;i<=playersex;i++)if(incw[i]==1)count++;
return count;}


public OnGameModeExit()
{
	print("PHB GM 0.1 Successfully Unloaded!");
	SendClientMessageToAll(0xFF8A00AA,"Thanks for have played at Pearl Harbor Battle GM 0.1");
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid,-1430.6416,494.8804,3.0391);
	SetPlayerFacingAngle(playerid,88.6975);
	SetPlayerCameraPos(playerid,-1436.4863,494.7793,3.0391);
	SetPlayerCameraLookAt(playerid,-1436.4863,494.7793,3.0391);
	switch(classid) {
	case 0:gTeam[playerid]=TEAM_1,GameTextForPlayer(playerid,"~b~Team Blue", 5000, 3);
	case 1:gTeam[playerid]=TEAM_2,GameTextForPlayer(playerid,"~g~Team Orange", 5000, 3);
    case 2:gTeam[playerid]=TEAM_3,GameTextForPlayer(playerid,"~r~-NO TEAM-~n~Judge", 5000, 3);}
	return 1;}
	
public OnPlayerRequestSpawn(playerid)return 1;

IsKeyJustDown(key, newkeys, oldkeys)
{
	if((newkeys & key) && !(oldkeys & key)) return 1;
	return 0;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(death[playerid]==1) {
	if(IsKeyJustDown(KEY_FIRE,newkeys,oldkeys)) {
	switch(specex) {
	case 2:CameraControl(playerid);case 1:for(new i=0;i<=playersex;i++)if(spawned[i]==1&&playerid!=i)PlayerSpectatePlayer(playerid,x[playerid]=random(i));default:return TogglePlayerSpectating(playerid,0),death[playerid]=0;}
	}}
return 1;
}

public OnPlayerConnect(playerid)
{
	playersex++;
    SendClientMessage(playerid, 0xFF8A00AA, "Welcome to Pearl Harbor Battle GM 0.1 [coded by Chiarboss]");
    SendClientMessage(playerid, 0xFFFFFFAA, "Type /about if you don't now how this mode work");
    SendClientMessage(playerid, 0xFFFF00AA, "Type /help for knowing the rules of GM");
    //GameTextForPlayer(playerid, "~g~- ~r~Pearl Harbor ~y~Battle ~g~-", 6000, 1);
    TextDrawShowForPlayer(playerid,Textdraw);
    SendClientMessage(playerid,COLOR_RED,"Choice a character!");
	new name[MAX_PLAYER_NAME],string[256];GetPlayerName(playerid,name,sizeof(name));
	format(string,sizeof(string),"%s is inside.",name);
    GivePlayerMoney(playerid,1000);
    SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive
    if(jod==1)SendClientMessageToAll(COLOR_GREY,string);
	if(jod==2)SendDeathMessage(playerid, INVALID_PLAYER_ID, 200);
	if(jod==3)SendClientMessageToAll(COLOR_GREY,string);SendDeathMessage(playerid, INVALID_PLAYER_ID, 200);
    format(string,sizeof(string),"~b~Welcome, ~n~~w~%s",name),GameTextForPlayer(playerid,string,5000,1);
    format(string,sizeof(string),"~r~%s ~r~has been saved by SoC! ~w~U are all ~y~sfreezed!",name);
    if(cw==1&&socdelay!=0){KillTimer(soctimer);GameTextForAll(string,5000,6);for(new i=0;i<=playersex; i++)TogglePlayerControllable(i,1);}
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	playersex--;
    new name[MAX_PLAYER_NAME],string[256],rname[256];GetPlayerName(playerid,name,sizeof(name));
	spawned[playerid]=0;
	switch(reason){case 0:rname="TimeOut";case 1:rname="Leaving";case 2:rname="Kicked";}
	format(string,sizeof(string),"%s has left the server (%s)",name,rname);
	if(jod==1)SendClientMessageToAll(COLOR_BLUE,string);
	if(jod==2)SendDeathMessage(playerid, INVALID_PLAYER_ID, 200);
	if(jod==3)SendClientMessageToAll(COLOR_BLUE,string),SendDeathMessage(playerid, INVALID_PLAYER_ID, 200);
    format(string,sizeof(string),"~r~%s ~r~is crashed! ~w~U are all ~y~freezed!",name);
	if(cw==1&&socdelay!=0&&reason==0){GameTextForAll(string,5000,6);soctimer=SetTimer("Soc",socdelay,0);for(new i=0;i<=playersex;i++)TogglePlayerControllable(i,0);}
	return 1;
}

public Soc() {
GameTextForAll("~w~The ~r~player~y~/~r~players ~w~arent entered. ~r~Amen.",5000,6);
for(new i=0;i<=playersex;i++)TogglePlayerControllable(i,1);
return 1;
}

stock SetupForPrinciRound(playerid) {
new rand=0;
SetPlayerWorldBounds(playerid,gRandomSpawns[0][0],gRandomSpawns[0][1],gRandomSpawns[0][2],gRandomSpawns[0][3]);
if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns1BLUE));SetPlayerPos(playerid,gRandomSpawns1BLUE[rand][PlayerX],gRandomSpawns1BLUE[rand][PlayerY],gRandomSpawns1BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns1BLUE[rand][PlayerAngle]);}else if(gTeam[playerid]==TEAM_2){
rand=random(sizeof(gRandomSpawns1ORANGE));
SetPlayerPos(playerid,gRandomSpawns1ORANGE[rand][PlayerX],gRandomSpawns1ORANGE[rand][PlayerY],gRandomSpawns1ORANGE[rand][PlayerZ]);
SetPlayerFacingAngle(playerid,gRandomSpawns1ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,-1473.6237,391.0014,7.1875);SetPlayerFacingAngle(playerid,354.2406);}
return;
}

public OnPlayerSpawn(playerid) {
new rand=0,string[256];
SetPlayerInterior(playerid,0);
if(cw == 1) {
if(gTeam[playerid]!=TEAM_3){
if(death[playerid]!=1)
spawned[playerid]=1;
if(vv!=-1){switch(vv){case 0:format(string,sizeof(string),"~n~~n~~g~ROUND - %d~n~~g~(~w~%s~g~)",rounds,gName[map-1]);case 1:format(string,sizeof(string),"~n~~n~~g~ROUND - %d",rounds);case 2:format(string,sizeof(string),"~n~~g~(~w~%s~g~)",gName[map-1]);}GameTextForPlayer(playerid,string,3000,3);}
if(grenades>=1)GivePlayerWeapon(playerid,16,grenades);
else TogglePlayerControllable(playerid,0);
if(skinex==1)SetPlayerSkin(playerid,0);
}else{SetPlayerHealth(playerid, 100000),GivePlayerWeapon(playerid,43,1);}}else{if(IsPlayerAdmin(playerid)){GameTextForPlayer(playerid,"~n~~r~Type ~y~/MENU ~w~for enter ~w~in the ~r~Settings Menu.",3000,3);}ResetPlayerWeapons(playerid);for(new i=0;i<MAX_GANG_ZONES;i++)GangZoneShowForPlayer(playerid,i,COLOR_RED);}
SetupForPrinciRound(playerid);
if(incw[playerid]==1) {
switch(map) {
case 2:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns2BLUE));SetPlayerPos(playerid,gRandomSpawns2BLUE[rand][PlayerX],gRandomSpawns2BLUE[rand][PlayerY],gRandomSpawns2BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns2BLUE[rand][PlayerAngle]);}else if(gTeam[playerid]==TEAM_2){
rand=random(sizeof(gRandomSpawns2ORANGE));
SetPlayerPos(playerid,gRandomSpawns2ORANGE[rand][PlayerX],gRandomSpawns2ORANGE[rand][PlayerY],gRandomSpawns2ORANGE[rand][PlayerZ]);
SetPlayerFacingAngle(playerid,gRandomSpawns2ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,268.7087,1882.9696,-30.0938);SetPlayerFacingAngle(playerid,354.2406);}}
case 3:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns3BLUE));SetPlayerPos(playerid,gRandomSpawns3BLUE[rand][PlayerX],gRandomSpawns3BLUE[rand][PlayerY],gRandomSpawns3BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns3BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns3ORANGE));SetPlayerPos(playerid,gRandomSpawns3ORANGE[rand][PlayerX],gRandomSpawns3ORANGE[rand][PlayerY],gRandomSpawns3ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns3ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,263.6066,2539.1831,16.8125);SetPlayerFacingAngle(playerid,181.9291);}}
case 4:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns4BLUE));SetPlayerPos(playerid,gRandomSpawns4BLUE[rand][PlayerX],gRandomSpawns4BLUE[rand][PlayerY],gRandomSpawns4BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns4BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns4ORANGE));SetPlayerPos(playerid,gRandomSpawns4ORANGE[rand][PlayerX],gRandomSpawns4ORANGE[rand][PlayerY],gRandomSpawns4ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns4ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,-99.9700,1125.8005,27.8902);SetPlayerFacingAngle(playerid,0.2174);}}
case 5:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns5BLUE));SetPlayerPos(playerid,gRandomSpawns5BLUE[rand][PlayerX],gRandomSpawns5BLUE[rand][PlayerY],gRandomSpawns5BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns5BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns5ORANGE));SetPlayerPos(playerid,gRandomSpawns5ORANGE[rand][PlayerX],gRandomSpawns5ORANGE[rand][PlayerY],gRandomSpawns5ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns5ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,585.7374,865.0165,-37.7357);SetPlayerFacingAngle(playerid,178.3911);}}
case 6:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns6BLUE));SetPlayerPos(playerid,gRandomSpawns6BLUE[rand][PlayerX],gRandomSpawns6BLUE[rand][PlayerY],gRandomSpawns6BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns6BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns6ORANGE));SetPlayerPos(playerid,gRandomSpawns6ORANGE[rand][PlayerX],gRandomSpawns6ORANGE[rand][PlayerY],gRandomSpawns6ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns6ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,-2366.6204,1535.7305,2.1172);SetPlayerFacingAngle(playerid,178.7044);}}
case 7:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns7BLUE));SetPlayerPos(playerid,gRandomSpawns7BLUE[rand][PlayerX],gRandomSpawns7BLUE[rand][PlayerY],gRandomSpawns7BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns7BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns7ORANGE));SetPlayerPos(playerid,gRandomSpawns7ORANGE[rand][PlayerX],gRandomSpawns7ORANGE[rand][PlayerY],gRandomSpawns7ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns7ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,1363.4369,2211.8916,12.0156);SetPlayerFacingAngle(playerid,179.9812);}}
case 8:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns8BLUE));SetPlayerPos(playerid,gRandomSpawns8BLUE[rand][PlayerX],gRandomSpawns8BLUE[rand][PlayerY],gRandomSpawns8BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns8BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns8ORANGE));SetPlayerPos(playerid,gRandomSpawns8ORANGE[rand][PlayerX],gRandomSpawns8ORANGE[rand][PlayerY],gRandomSpawns8ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns8ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,-78.4223,-211.3669,1.4297);SetPlayerFacingAngle(playerid,268.6319);}}
case 9:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns9BLUE));SetPlayerPos(playerid,gRandomSpawns9BLUE[rand][PlayerX],gRandomSpawns9BLUE[rand][PlayerY],gRandomSpawns9BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns9BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns9ORANGE));SetPlayerPos(playerid,gRandomSpawns9ORANGE[rand][PlayerX],gRandomSpawns9ORANGE[rand][PlayerY],gRandomSpawns9ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns9ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){SetPlayerPos(playerid,2343.3225,1401.7599,30.0234);SetPlayerFacingAngle(playerid,269.6753);}}
case 10:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns10BLUE));SetPlayerPos(playerid,gRandomSpawns10BLUE[rand][PlayerX],gRandomSpawns10BLUE[rand][PlayerY],gRandomSpawns10BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns10BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns10ORANGE));SetPlayerPos(playerid,gRandomSpawns10ORANGE[rand][PlayerX],gRandomSpawns10ORANGE[rand][PlayerY],gRandomSpawns10ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns10ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,-1664.5929,703.1235,30.5870);SetPlayerFacingAngle(playerid,271.5553);}}
case 11:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns11BLUE));SetPlayerPos(playerid,gRandomSpawns11BLUE[rand][PlayerX],gRandomSpawns11BLUE[rand][PlayerY],gRandomSpawns11BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns11BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns11ORANGE));SetPlayerPos(playerid,gRandomSpawns11ORANGE[rand][PlayerX],gRandomSpawns11ORANGE[rand][PlayerY],gRandomSpawns11ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns11ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,1087.1479,1077.8188,10.8382);SetPlayerFacingAngle(playerid,214.8415);}}
case 12:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns12BLUE));SetPlayerPos(playerid,gRandomSpawns12BLUE[rand][PlayerX],gRandomSpawns12BLUE[rand][PlayerY],gRandomSpawns12BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns12BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns12ORANGE));SetPlayerPos(playerid,gRandomSpawns12ORANGE[rand][PlayerX],gRandomSpawns12ORANGE[rand][PlayerY],gRandomSpawns12ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns12ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,-5.5278,1358.5863,9.1719);SetPlayerFacingAngle(playerid,168.4677);}}
case 13:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns13BLUE));SetPlayerPos(playerid,gRandomSpawns13BLUE[rand][PlayerX],gRandomSpawns13BLUE[rand][PlayerY],gRandomSpawns13BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns13BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns13ORANGE));SetPlayerPos(playerid,gRandomSpawns13ORANGE[rand][PlayerX],gRandomSpawns13ORANGE[rand][PlayerY],gRandomSpawns13ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns13ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,1099.6432,1601.7482,12.5469);SetPlayerFacingAngle(playerid,181.6278);}}
case 14:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns14BLUE));SetPlayerPos(playerid,gRandomSpawns14BLUE[rand][PlayerX],gRandomSpawns14BLUE[rand][PlayerY],gRandomSpawns14BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns14BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns14ORANGE));SetPlayerPos(playerid,gRandomSpawns14ORANGE[rand][PlayerX],gRandomSpawns14ORANGE[rand][PlayerY],gRandomSpawns14ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns14ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,-2706.3579,375.4898,4.9690);SetPlayerFacingAngle(playerid,359.6028);}}
case 15:{if(gTeam[playerid]==TEAM_1){rand=random(sizeof(gRandomSpawns15BLUE));SetPlayerPos(playerid,gRandomSpawns15BLUE[rand][PlayerX],gRandomSpawns15BLUE[rand][PlayerY],gRandomSpawns15BLUE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns15BLUE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_2){rand=random(sizeof(gRandomSpawns15ORANGE));SetPlayerPos(playerid,gRandomSpawns15ORANGE[rand][PlayerX],gRandomSpawns15ORANGE[rand][PlayerY],gRandomSpawns15ORANGE[rand][PlayerZ]);SetPlayerFacingAngle(playerid,gRandomSpawns15ORANGE[rand][PlayerAngle]);}
else if(gTeam[playerid]==TEAM_3){SetPlayerPos(playerid,-2018.5168,-860.4671,32.1719);SetPlayerFacingAngle(playerid,0.2295);}}
}
SetPlayerWorldBounds(playerid,gRandomSpawns[map-1][0],gRandomSpawns[map-1][1],gRandomSpawns[map-1][2],gRandomSpawns[map-1][3]);}

switch(gTeam[playerid]){
case TEAM_1:SetPlayerColor(playerid,COLOR_LIGHTBLUE);
case TEAM_2:SetPlayerColor(playerid,COLOR_ORANGE);
case TEAM_3:SetPlayerColor(playerid,COLOR_RED);}

return 1;
}


public OnPlayerDeath(playerid, killerid, reason)
{new string[256],name[MAX_PLAYER_NAME];
	if(killerid == INVALID_PLAYER_ID) {

       SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
}else{
SendDeathMessage(killerid,playerid,reason);
    if (gTeam[playerid] != gTeam[killerid]) {
             SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
        }
        else {
            SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
        }


}
if(cw == 1&&spawned[playerid]==1) {
if(playersex<PLAYERS_FOR_CW)return 1;
spawned[playerid]=0,players--;
if(players>=PLAYERS_FOR_SPECTATE){death[playerid]=1;if(specex==1){TogglePlayerSpectating(playerid,1);if(players!=1)Control(playerid);for(new i=0;i<=playersex;i++)if(spawned[i]==1&&playerid!=i)PlayerSpectatePlayer(playerid,x[playerid]=random(i));}else{SetPlayerWorldBounds(playerid,2000.0,2000.0,-2000.0,-2000.0);SetPlayerPos(playerid,0.0,0.0,0.0);CameraControl(playerid);}}
GetPlayerName(x[playerid],name,sizeof(name));
format(string,sizeof(string),"~g~%s~n~~w~CAMERA~n~PRESS ~r~~k~~PED_FIREWEAPON~ ~w~FOR RANDOMIZE OPTIONS.",name);
if(vc==1&&ShowNameTags(!0))while(death[playerid]!=1)GameTextForPlayer(playerid,string,1,3);
if(players == 1 || IsLastManStanding(killerid)){
if(rounds==1){for(new i=0;i<MAX_GANG_ZONES;i++)GangZoneHideForAll(i);}
if(gTeam[killerid]==TEAM_1){score1++;}else{score2++;}
if(gang==1&&killerid!=INVALID_PLAYER_ID){GangZoneShowForAll(GangControl(),GangColorControl(killerid));}
if(rounds == maxrounds){SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Clanwar finished."),SetTimer("Winners",5000,0);}else{rounds++;SetTimer("SetupForRounds",5000,0);}if(map != 15){map++;}else{map=1;}format(string,sizeof(string),"GAMEMODE: Team %s: %d || Team %s: %d",team1,score1,team2,score2),SendClientMessageToAll(COLOR_GREEN,string);format(string,sizeof(string),"TEAM ~%s~~w~ WON THE ROUND!",SymbolControl(killerid));for(new i=0;i<playersex;i++)if(death[i]!=1)
GameTextForPlayer(i,string,3000,3);}}
return 1;
}

IsLastManStanding(killerid) {
for(new i=0;i<=playersex;i++) {
if(spawned[i] == 1 && gTeam[i] == gTeam[killerid])return 1;
}
return 0;
}

stock Control(playerid) {
for(new i=0;i<=playersex;i++)if(playerid==x[i])if(spawned[i]==1)PlayerSpectatePlayer(i,x[i]=random(i));
return 1;
}

public TextUpdate() {
new string[256];TextDrawDestroy(Textdraw),TextDrawDestroy(Info);
Textdraw = TextDrawCreate(272.000000,1.000000,"PEARL HARBOR BATTLE");
TextDrawAlignment(Textdraw,0);
TextDrawBackgroundColor(Textdraw,0x000000ff);
TextDrawFont(Textdraw,3);
TextDrawLetterSize(Textdraw,1.000000,2.000000);
TextDrawColor(Textdraw,0x0000ffff);
TextDrawSetOutline(Textdraw,1);
TextDrawSetProportional(Textdraw,1);
TextDrawSetShadow(Textdraw,1);
TextDrawShowForAll(Textdraw);
if(cw==1){
format(string,sizeof(string),"~b~%s: ~w~%d  ~y~%s: ~w~%d",team1,score1,team2,score2);
Info=TextDrawCreate(75.000000,427.000000,string);
TextDrawAlignment(Info,0);
TextDrawBackgroundColor(Info,0x000000ff);
TextDrawFont(Info,2);
TextDrawLetterSize(Info,1.000000,2.000000);
TextDrawColor(Info,0xffffffff);
TextDrawSetOutline(Info,1);
TextDrawSetProportional(Info,1);
TextDrawSetShadow(Info,1);
for(new i=0;i<=playersex;i++)if(death[i]!=1)TextDrawShowForPlayer(i,Info);}
return 1;
}

stock CameraControl(playerid) {
new rand;
switch(map) {
case 1:{rand=random(sizeof(gSpec1));SetPlayerCameraPos(playerid,gSpec1[rand][0],gSpec1[rand][1],gSpec1[rand][2]),SetPlayerCameraLookAt(playerid,gSpec1[rand][3],gSpec1[rand][4],gSpec1[rand][5]);}
case 2:{rand=random(sizeof(gSpec2));SetPlayerCameraPos(playerid,gSpec2[rand][0],gSpec2[rand][1],gSpec2[rand][2]),SetPlayerCameraLookAt(playerid,gSpec2[rand][3],gSpec2[rand][4],gSpec2[rand][5]);}
case 3:{rand=random(sizeof(gSpec3));SetPlayerCameraPos(playerid,gSpec3[rand][0],gSpec3[rand][1],gSpec3[rand][2]),SetPlayerCameraLookAt(playerid,gSpec3[rand][3],gSpec3[rand][4],gSpec3[rand][5]);}
case 4:{rand=random(sizeof(gSpec4));SetPlayerCameraPos(playerid,gSpec4[rand][0],gSpec4[rand][1],gSpec4[rand][2]),SetPlayerCameraLookAt(playerid,gSpec4[rand][3],gSpec4[rand][4],gSpec3[rand][5]);}
case 5:{rand=random(sizeof(gSpec5));SetPlayerCameraPos(playerid,gSpec5[rand][0],gSpec5[rand][1],gSpec5[rand][2]),SetPlayerCameraLookAt(playerid,gSpec5[rand][3],gSpec5[rand][4],gSpec5[rand][5]);}
case 6:{rand=random(sizeof(gSpec6));SetPlayerCameraPos(playerid,gSpec6[rand][0],gSpec6[rand][1],gSpec6[rand][2]),SetPlayerCameraLookAt(playerid,gSpec6[rand][3],gSpec6[rand][4],gSpec6[rand][5]);}
case 7:{rand=random(sizeof(gSpec7));SetPlayerCameraPos(playerid,gSpec7[rand][0],gSpec7[rand][1],gSpec7[rand][2]),SetPlayerCameraLookAt(playerid,gSpec7[rand][3],gSpec7[rand][4],gSpec7[rand][5]);}
case 8:{rand=random(sizeof(gSpec8));SetPlayerCameraPos(playerid,gSpec8[rand][0],gSpec8[rand][1],gSpec8[rand][2]),SetPlayerCameraLookAt(playerid,gSpec8[rand][3],gSpec8[rand][4],gSpec8[rand][5]);}
case 9:{rand=random(sizeof(gSpec9));SetPlayerCameraPos(playerid,gSpec9[rand][0],gSpec9[rand][1],gSpec9[rand][2]),SetPlayerCameraLookAt(playerid,gSpec9[rand][3],gSpec9[rand][4],gSpec9[rand][5]);}
case 10:{rand=random(sizeof(gSpec10));SetPlayerCameraPos(playerid,gSpec10[rand][0],gSpec10[rand][1],gSpec10[rand][2]),SetPlayerCameraLookAt(playerid,gSpec10[rand][3],gSpec10[rand][4],gSpec10[rand][5]);}
case 11:{rand=random(sizeof(gSpec11));SetPlayerCameraPos(playerid,gSpec11[rand][0],gSpec11[rand][1],gSpec11[rand][2]),SetPlayerCameraLookAt(playerid,gSpec11[rand][3],gSpec11[rand][4],gSpec11[rand][5]);}
case 12:{rand=random(sizeof(gSpec12));SetPlayerCameraPos(playerid,gSpec12[rand][0],gSpec3[rand][1],gSpec12[rand][2]),SetPlayerCameraLookAt(playerid,gSpec12[rand][3],gSpec12[rand][4],gSpec12[rand][5]);}
case 13:{rand=random(sizeof(gSpec13));SetPlayerCameraPos(playerid,gSpec13[rand][0],gSpec13[rand][1],gSpec13[rand][2]),SetPlayerCameraLookAt(playerid,gSpec13[rand][3],gSpec13[rand][4],gSpec13[rand][5]);}
case 14:{rand=random(sizeof(gSpec14));SetPlayerCameraPos(playerid,gSpec14[rand][0],gSpec14[rand][1],gSpec14[rand][2]),SetPlayerCameraLookAt(playerid,gSpec14[rand][3],gSpec14[rand][4],gSpec14[rand][5]);}
case 15:{rand=random(sizeof(gSpec15));SetPlayerCameraPos(playerid,gSpec15[rand][0],gSpec15[rand][1],gSpec15[rand][2]),SetPlayerCameraLookAt(playerid,gSpec15[rand][3],gSpec15[rand][4],gSpec15[rand][5]);}}
return;
}

stock GangColorControl(killerid){switch(gTeam[killerid]){case TEAM_1:return COLOR_LIGHTBLUE; case TEAM_2:return COLOR_ORANGE; default:return COLOR_RED;}return 1;}
stock SymbolControl(killerid){new string[256];switch(gTeam[killerid]){case TEAM_1:format(string,sizeof(string),"~b~%s",team1);case TEAM_2:format(string,sizeof(string),"~r~%s",team2);}return string;}
stock GangControl(){switch(map){case 1:return g1;case 2:return g2;case 3:return g3;case 4:return g4;case 5:return g5;case 6:return g6;case 7:return g7;case 8:return g8;case 9:return g9;case 10:return g10;case 11:return g11;case 12:return g12;case 13:return g13;case 14:return g14;case 15:return g15;default:return INVALID_GANG_ZONE;}return MAX_GANG_ZONES;}

public OnPlayerCommandText(playerid,cmdtext[]) {
new cmd[256],string[256];
new idx;
cmd = strtok(cmdtext,idx);

if(strcmp(cmd,"/cmdlist",true)==0) {
SendClientMessage(playerid,COLOR_YELLOW,"/cmdlist ;");
SendClientMessage(playerid,COLOR_YELLOW,"/kill ;");
SendClientMessage(playerid,COLOR_YELLOW,"/menu #;");
SendClientMessage(playerid,COLOR_YELLOW,"/freeze ;");
SendClientMessage(playerid,COLOR_YELLOW,"/mute ;");
SendClientMessage(playerid,COLOR_YELLOW,"/gethere ;");
SendClientMessage(playerid,COLOR_YELLOW,"/goto ;");
return 1;}

if(strcmp(cmd,"/kill",true)==0) {
if(cw==1)return SendClientMessage(playerid,COLOR_RED,"During the CW the /kill command is disabled.");
SetPlayerHealth(playerid,0);
return 1;
}

if(strcmp(cmd,"/menu",true)==0) {
if(IsPlayerAdmin(playerid)) {
ShowMenuForPlayer(gMenu,playerid);
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid,0xFF8A00AA,"Successfully entered in the Settings Menu.");
}else{SendClientMessage(playerid,COLOR_RED,"You arent admin!!!");}
return 1;
}

if(AdmCmd==1) {
if(strcmp(cmd,"/goto",true) == 0) {
if(IsPlayerAdmin(playerid) == 1) {
new playername[MAX_PLAYER_NAME];
new name[MAX_PLAYER_NAME];
new tmp[256];
new pid;
new Float:plx;
new Float:ply;
new Float:plz;
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) {
SendClientMessage(playerid,0xFF8A00AA,"Usage: /goto [playerid]");
return 1;
}
pid = strval(tmp);
if(pid != INVALID_PLAYER_ID) {
GetPlayerName(pid,playername,sizeof(playername));
GetPlayerName(playerid,name, sizeof(name));
GetPlayerPos(pid, plx, ply, plz);
if (IsPlayerInAnyVehicle(playerid) == 0) {
SetPlayerPos(playerid, plx, ply, plz);
} else {
SetVehiclePos(GetPlayerVehicleID(playerid),plx,ply,plz);
LinkVehicleToInterior(GetPlayerVehicleID(pid),GetPlayerInterior(playerid));
}
SetPlayerInterior(pid,GetPlayerInterior(playerid));
format(string,sizeof(string),"%s has warped to %s .",name,playername);
SendClientMessageToAll(0xFF8A00AA,string);
}else{SendClientMessage(playerid,COLOR_RED,"This is an invalid playerID. Press TAB for see the all valids playerID");}
} else {
SendClientMessage(playerid,COLOR_RED,"You arent admin!!!");
}
return 1;
}

if(strcmp(cmd,"/gethere",true) == 0) {
if(IsPlayerAdmin(playerid) == 1) {
new playername[MAX_PLAYER_NAME];
new name[MAX_PLAYER_NAME];
new tmp[256];
new pid;
new Float:plx;
new Float:ply;
new Float:plz;
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) {
SendClientMessage(playerid,0xFF8A00AA,"Usage: /gethere [playerid]");
return 1;
}
pid = strval(tmp);
if(pid != INVALID_PLAYER_ID) {
GetPlayerName(pid,playername,sizeof(playername));
GetPlayerName(playerid,name, sizeof(name));
GetPlayerPos(playerid, plx, ply, plz);
if (IsPlayerInAnyVehicle(pid) == 0) {
SetPlayerPos(pid, plx, ply, plz);
} else {
SetVehiclePos(GetPlayerVehicleID(pid),plx,ply,plz);
LinkVehicleToInterior(GetPlayerVehicleID(pid),GetPlayerInterior(playerid));
}
SetPlayerInterior(pid,GetPlayerInterior(playerid));
format(string,sizeof(string),"%s has teleported to him %s .",name,playername);
SendClientMessageToAll(0xFF8A00AA,string);
}else{SendClientMessage(playerid,COLOR_RED,"This is an invalid playerID. Press TAB for see the all valids playerID");}
} else {
SendClientMessage(playerid,COLOR_RED,"You arent admin!!!");
}
return 1;
}

if(strcmp(cmd,"/freeze",true) == 0) {
if(IsPlayerAdmin(playerid)) {
new name[MAX_PLAYER_NAME],tmp[256],pid,playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) {
if(freezedall == 0){format(string,sizeof(string),"The Admin %s has freezed all players connected.",name);freezedall=1;for(new i=0;i<=playersex;i++)TogglePlayerControllable(i,0);}else{format(string,sizeof(string),"The Admin %s has unfreezed all players connected.",name);freezedall=0;for(new i=0;i<=playersex;i++)TogglePlayerControllable(i,1);}
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
pid = strval(tmp);
GetPlayerName(pid,playername,sizeof(playername));
if(pid == playerid) {
SendClientMessage(playerid,COLOR_RED,"You cannot freeze yourself!");
return 1;
}
if(pid != INVALID_PLAYER_ID) {
if(freezed[pid] == 0){freezed[pid]=1;TogglePlayerControllable(pid,0);format(string,sizeof(string),"The Admin %s has freezed %s",name,playername);}else{
freezed[pid] = 0;TogglePlayerControllable(pid,1);format(string,sizeof(string),"The Admin %s has unfreezed %s",name,playername);
}
SendClientMessageToAll(0xFF8A00AA,string);
}else{SendClientMessage(playerid,COLOR_RED,"This is an invalid playerID. Press TAB for see the all valids playerID");}
} else {
SendClientMessage(playerid,COLOR_RED,"You arent admin!!!");
}
return 1;
}

if(strcmp(cmd,"/mute",true)==0) {
if(IsPlayerAdmin(playerid)) {
new name[MAX_PLAYER_NAME],tmp[256],pid,playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) {
if(mutedall == 0){format(string,sizeof(string),"The Admin %s has muted all players connected.",name);mutedall=1;for(new i=0;i<=playersex;i++)mute[i]=1;}else{format(string,sizeof(string),"The Admin %s has unmuted all players connected.",name);mutedall=0;for(new i=0;i<=playersex;i++)mute[i]=0;}
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
pid = strval(tmp);
if(pid == playerid) {
SendClientMessage(playerid,COLOR_RED,"You cannot mute yourself!");
return 1;
}
if(pid != INVALID_PLAYER_ID) {
if(mute[pid] == 0){mute[pid]=1;format(string,sizeof(string),"The Admin %s has muted %s",name,playername);}else{
mute[pid] = 0;format(string,sizeof(string),"The Admin %s has unmuted %s",name,playername);
}
SendClientMessageToAll(0xFF8A00AA,string);
}else{SendClientMessage(playerid,COLOR_RED,"This is an invalid playerID. Press TAB for see the all valids playerID");}
} else {
SendClientMessage(playerid,COLOR_RED,"You arent admin!!!");
}
return 1;
}
}else{SendClientMessage(playerid,COLOR_RED,"Administration system is disabled.");}return 0;}

public SetupForRounds() {
if(startmap!=-1)map=startmap,startmap=-1;
for(new i=0; i<=playersex; i++) {
TogglePlayerSpectating(i,0),TogglePlayerControllable(i,1),death[i]=0,ResetPlayerWeapons(i),SetCameraBehindPlayer(i),SpawnPlayer(i);
if(spawned[i] == 1){players++;}
}
return 1;
}

public Winners() {
new string[256];
format(string,sizeof(string),"~b~%s  ~y~%s~n~~w~%d   %d",team1,team2,score1,score2);
GameTextForAll(string,5000,6);
SetTimer("BestKiller",10000,0);
return 1;
}

stock CheckPlayerScore(){
   new score;
   new numberscorers;

   for (new playerid = 0; playerid<MAX_PLAYERS; playerid++){
      if(IsPlayerConnected(playerid)){
         score=GetPlayerScore(playerid);
         if(score > HighestScore){
            for (new i=0; i<MAX_PLAYERS; i++){
               HighestScorers[i] = 0;
            }
            HighestScorers[0]=playerid;
            HighestScore=score;
            numberscorers=1;
            score=0;
         } else {
            if(score == HighestScore && HighestScore > 0){
               HighestScorers[numberscorers]=playerid;
               numberscorers++;
            }
            score=0;
         }
      }
   }
   return numberscorers;
}
//-------------------------------------------------------------------------
//In the routine where you make the call for the highest score:
public BestKiller(){
new numberscorers=CheckPlayerScore();  //not sure if the () should be attached
new giveplayername[MAX_PLAYER_NAME];
new string[256];
for (new i=0; i<MAX_PLAYERS; i++) {
    if (IsPlayerConnected(i)) {
	     TogglePlayerControllable(i,0);
	   }
	 }
if(numberscorers > 0){
   for (new i=0; i<numberscorers; i++){
      GetPlayerName(HighestScorers[i], giveplayername, sizeof(giveplayername));
      format(string, sizeof(string), "~r~%s ~n~~w~is ~y~the best KILLER!!!", giveplayername);
      ResetVariables();
      GameTextForAll(string,5000,6);
   }
}
}

stock ResetVariables(){score1=0,score2=0,team1="Team 1",team2="Team 2",map=1,rounds=1,cw=0,maxrounds=15,TextDrawDestroy(Info);for(new i=0;i<MAX_GANG_ZONES;i++){GangZoneHideForAll(i);GangZoneShowForAll(i,COLOR_RED);}return;}

strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof (result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}