All pastes #732948 Raw Edit

Stuff

public text v1 · immutable
·published 2007-10-11 12:26 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

#define AdmCmd 1
#define UsePlayerPedAnimsEx 1
#define PLAYERS_FOR_SPECTATE 3

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 map=0,rounds=1,Text:Info,Text:Textdraw,maxrounds=15,players=0,cw=0,team1[256],team2[256],spawned[MAX_PLAYERS],HighestScore,HighestScorers[MAX_PLAYERS];
new Menu:gz,Menu:gMenu,Menu:sp,Menu:mr,Menu:nt,Menu:pm,Menu:cwo,Menu:frt,Menu:stf,Menu:spec,Menu:frag,Menu:grd,Menu:soc,Menu:jd,soctimer=0;
new grenades=0,gang=1,specex=1,death[MAX_PLAYERS]=0,menu[MAX_PLAYERS]=0,jod=1,fragx=1,/*modobj=0,*/socdelay=60000;
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();
#endif
DisableInteriorEnterExits();
SetTimer("TextUpdate",1000,1);
SetupForAdd();
team1="Team 1",team2="Team 2";
	SetGameModeText("Pearl Harbor Battle GM 0.1");
	AddPlayerClass(286,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(105,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]);

    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("SA-MP Stuffs",2, 200.0, 125.0, 220.0, 50.0);
    grd = CreateMenu("CW Options",2, 200.0, 125.0, 220.0, 50.0);
    spec = CreateMenu("NameTags",2, 200.0, 125.0, 220.0, 50.0);
    soc = CreateMenu("Player Mrkrs",2, 200.0, 125.0, 220.0, 50.0);
    jd = CreateMenu("Formats",2, 200.0, 125.0, 220.0, 50.0);
	gz = CreateMenu("Miscellaneous",2, 200.0, 125.0, 220.0, 50.0);
	addm = CreateMenu("Addictional Stuffs",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(cwo,0,"Stop CW");
	AddMenuItem(cwo,0,"Reset Game");
	AddMenuItem(cwo,0,"Max Rounds");AddMenuItem(addm,0,"On");AddMenuItem(addm,0,"Off");
	AddMenuItem(mr,0,"10");AddMenuItem(mr,0,"15");AddMenuItem(mr,0,"20");
	AddMenuItem(nt,0,"Off");AddMenuItem(pm,0,"On");AddMenuItem(pm,0,"Off");
	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(jd,0,"On");AddMenuItem(jd,0,"Off");AddMenuItem(soc,0,"Off");AddMenuItem(soc,0,"1");AddMenuItem(soc,0,"2");AddMenuItem(soc,0,"3");AddMenuItem(soc,0,"4");
	AddMenuItem(gz,0,"On"),AddMenuItem(gz,0,"Off");
	AddMenuItem(frag,0,"On");AddMenuItem(frag,0,"Off");AddMenuItem(spec,0,"On"),AddMenuItem(spec,0,"Off");
	AddMenuItem(grd,0,"Off"),AddMenuItem(grd,0,"2");AddMenuItem(grd,0,"4");AddMenuItem(grd,0,"8");
	return 1;
}

public OnPlayerSelectedMenuRow(playerid,row) {
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){GameTextForAll("~w~Ready players, ~y~CW begins...",4500,6);SetTimer("SetupForRounds",7000,0);cw=1;for(new i=0;i<MAX_PLAYERS;i++){TogglePlayerControllable(i,0);}}
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=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=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();}
}
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<MAX_PLAYERS;i++){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=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=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)==stf)ShowMenuForPlayer(soc,playerid);
else if(GetPlayerMenu(playerid)==addm){ShowMenuForPlayer(addm,playerid);add=0;SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Additional Bonus unspawned");SetupForAdd();}
}
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=0;ResetVariables();for(new i=0;i<MAX_PLAYERS;i++){ResetPlayerWeapons(i);TogglePlayerControllable(i,1);SpawnPlayer(i);GameTextForPlayer(i,"~y~ClanWar ~r~has been restored",3500,6);}}
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);
}
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);
}
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)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");}
}
case 5:{
if(GetPlayerMenu(playerid)==nt){ShowMenuForPlayer(nt,playerid),ShowNameTags(1);SetNameTagDrawDistance(50.0);SendClientMessageToAll(COLOR_GREEN,"GAMEMODE: Name Tags enableds");}
}
}
return 1;
}
stock SetupForAdd(){if(add==0)for(new i=0;i<MAX_PLAYERS;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) {
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(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)==spec||GetPlayerMenu(playerid)==frag||GetPlayerMenu(playerid)==grd||GetPlayerMenu(playerid)==soc)ShowMenuForPlayer(stf,playerid);
return 1;
}

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", 1000, 3);}
	case 1:{gTeam[playerid]=TEAM_2;GameTextForPlayer(playerid, "~g~Team Orange", 1000, 3);}
    case 2:{gTeam[playerid]=TEAM_3;GameTextForPlayer(playerid, "~r~Referee", 1000, 3);}
    }
    
	return 1;
	}
public OnPlayerRequestSpawn(playerid){return 1;}
public OnPlayerConnect(playerid)
{
    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);
    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<MAX_PLAYERS; i++)TogglePlayerControllable(i,1);}
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    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);
    format(string,sizeof(string),"~r~%s ~r~is crashed! ~w~U are all ~y~freezed!",name);
	if(cw==1)if(socdelay!=0)GameTextForAll(string,5000,6);soctimer=SetTimer("Soc",socdelay,0);for(new i=0;i<MAX_PLAYERS;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<MAX_PLAYERS;i++)TogglePlayerControllable(i,1);
return 1;
}
public OnPlayerSpawn(playerid) {
new rand,string[256];
SetPlayerInterior(playerid,0);
if(cw == 1) {
if(gTeam[playerid]!=TEAM_3){
spawned[playerid]=1;
SetPlayerHealth(playerid,100);
format(string,sizeof(string),"~n~~n~~g~ROUND - %d",rounds);
GameTextForPlayer(playerid,string,3000,3);
if(grenades>=1)GivePlayerWeapon(playerid,16,grenades);
if(death[playerid]==1)TogglePlayerControllable(playerid,0);
}else{SetPlayerHealth(playerid, 100000);GivePlayerWeapon(playerid,43,1);}}else{ResetPlayerWeapons(playerid);
if(IsPlayerAdmin(playerid)&&cw!=1)GameTextForPlayer(playerid,"~n~~r~Type ~y~/MENU ~w~for enter ~w~in the ~r~Settings Menu.",3000,3);
for(new i=0;i<MAX_GANG_ZONES;i++)GangZoneShowForPlayer(playerid,i,COLOR_RED);}
switch(map) {
case 0,1:{
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,268.7087,1882.9696,-30.0938);SetPlayerFacingAngle(playerid,354.2406);}}
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);}}
}

switch(gTeam[playerid]){
case TEAM_1:SetPlayerColor(playerid,COLOR_LIGHTBLUE);
case TEAM_2:SetPlayerColor(playerid,COLOR_ORANGE);
case TEAM_3:SetPlayerColor(playerid,COLOR_RED);}
if(map==0||map==1)SetPlayerWorldBounds(playerid,gRandomSpawns[0][0],gRandomSpawns[0][1],gRandomSpawns[0][2],gRandomSpawns[0][3]);else SetPlayerWorldBounds(playerid,gRandomSpawns[map][0],gRandomSpawns[map][1],gRandomSpawns[map][2],gRandomSpawns[map][3]);

return 1;
}


public OnPlayerDeath(playerid, killerid, reason)
{
	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) {
spawned[playerid]=0;
players--;
if(specex==1&&players>=PLAYERS_FOR_SPECTATE){death[playerid]=1;TogglePlayerSpectating(playerid,1);if(players!=1)for(new i=0;i<MAX_PLAYERS;i++)if(spawned[i]==1)PlayerSpectatePlayer(playerid,random(i));}
if(rounds==1){for(new i=0;i<MAX_GANG_ZONES;i++)GangZoneHideForAll(i);}
if(players == 1 || IsLastManStanding(killerid)){
if(gTeam[killerid]==TEAM_1){score1++;}else{score2++;}
if(gang==1){GangZoneShowForAll(GangControl(),GangColorControl(killerid));}
if(rounds == maxrounds){SetTimer("Winners",5000,0);}else{rounds++;SetTimer("SetupForRounds",5000,0);}if(map != 15){map++;}else{map=1;}}}
return 1;
}

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

public TextUpdate() {
new string[256];
for(new i=0;i<MAX_PLAYERS;i++) {
if(IsPlayerConnected(i)) {
if(cw==1) {
/*if(x[i]!=INVALID_PLAYER_ID&&ShowNameTags(!0)) {
GetPlayerName(x[i],name[i],sizeof(name));
TextDrawDestroy(CameraInfo[i]);
format(string,sizeof(string),"%s~n~           CAMERA",name[i]);
CameraInfo[i] = TextDrawCreate(120.000000,301.000000,string[i]);
TextDrawAlignment(CameraInfo[i],0);
TextDrawBackgroundColor(CameraInfo[i],0x000000ff);
TextDrawFont(CameraInfo[i],2);
TextDrawLetterSize(CameraInfo[i],1.000000,3.000000);
TextDrawColor(CameraInfo[i],0xff0000ff);
TextDrawSetOutline(CameraInfo[i],1);
TextDrawSetProportional(CameraInfo[i],1);
TextDrawSetShadow(CameraInfo[i],1);
TextDrawShowForPlayer(i,CameraInfo[i]);
}*/
format(string,sizeof(string),"~b~%s: ~w~%d  ~y~%s: ~w~%d",team1,score1,team2,score2);
TextDrawDestroy(Info);
Info=TextDrawCreate(77.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);
TextDrawShowForPlayer(i,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);
TextDrawShowForPlayer(i,Textdraw);
}}
return 1;
}
stock GangColorControl(killerid)if(gTeam[killerid]==TEAM_1)return COLOR_LIGHTBLUE;else return COLOR_ORANGE;
stock GangControl() {
switch(map){
case 0,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,"/rounds",true)==0) {
format(string,sizeof(string),"%d",rounds);
SendClientMessage(playerid,COLOR_RED,string);
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<MAX_PLAYERS;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<MAX_PLAYERS;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<MAX_PLAYERS;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<MAX_PLAYERS;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.");
#endif

return 0;
}

public SetupForRounds() {
for(new i=0; i<MAX_PLAYERS; 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=0,rounds=1,cw=0,maxrounds=15;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;
}