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;
}