All pastes #759170 Raw Edit

Something

public text v1 · immutable
·published 2007-11-02 22:15 UTC
rendered paste body
//                          Pearl Harbor Disaster GM 0.2
//                              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 scores[3],nplayers;

#define SLOTS 28

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

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

new SavePlayerPos[SLOTS][SavePlayerPosEnum];
new UpdateSeconds = 1;

new Float:gRandomSpawnsForNAVYSEALS[][PlayerSpawnInfo] =
{
	{-1320.9856,485.5952,11.1875,270.3546},
	{-1388.0537,496.3751,3.0391,89.5596},
	{-1458.1912,483.6060,2.5910,272.2113},
	{-1377.9005,506.3049,18.2344,177.9204},
	{-1327.7294,508.1850,18.2344,178.2338},
	{-1345.2017,436.4435,7.1875,87.3663},
	{-1465.6479,404.4856,7.1875,176.3538},
	{-1385.9572,373.9840,7.1875,177.2937},
	{-1339.8870,325.1035,7.1875,91.7530},
	{-1429.8391,289.9128,2.4196,89.8729},
	{-1589.7070,292.3853,7.1875,91.4396},
	{-1527.6857,481.2990,7.1875,0.2587},
	{-1342.9539,489.3433,21.2500,174.4737},
	{-1352.5990,489.3220,21.2533,174.8432}
};

new Float:gRandomSpawnsForMILITARIES[][PlayerSpawnInfo] =
{
	{298.2916,1825.1398,7.8281,177.5219},
	{276.9770,1824.0865,7.8356,177.5219},
	{241.5603,1876.1477,11.4609,181.6186},
	{214.1321,1822.9869,6.4141,91.6910},
	{207.1331,1901.3431,17.6406,3.3536},
	{161.7952,1931.0378,33.8984,182.8485},
	{102.2773,1900.0621,33.8984,2.5398},
	{114.2123,1812.2242,33.8984,91.1905},
	{209.5918,1809.3684,21.8672,146.9877},
	{213.2647,1809.4849,21.8672,222.8152},
	{260.2170,1806.7716,33.8984,353.7430},
	{267.3517,1893.5565,33.8984,90.8773},
	{267.6908,1975.8479,17.6406,298.5164},
	{267.7210,2010.4597,17.6406,292.2496}
};

new Float:gRandomSpawnsForAVIATORS[][PlayerSpawnInfo] =
{
	{419.7373,2474.2380,16.5000,358.5481},
	{390.0001,2473.1790,16.5000,359.48810},
	{320.8210,2464.1228,16.4766,243.2403},
	{272.4957,2405.0688,17.5891,122.9192},
	{192.7596,2432.3462,17.5012,115.7125},
	{169.9559,2594.3000,17.2664,352.2580},
	{278.4530,2590.2178,16.7431,356.0180},
	{331.0031,2591.4653,17.4699,352.2579},
	{333.5912,2536.0837,16.8036,178.9829},
	{299.9667,2534.3477,16.8201,175.5129},
	{80.1430,2452.9021,20.5928,221.2600},
	{41.7949,2381.6006,17.2869,136.6358},
	{-26.0725,2360.8206,24.1406,180.1896},
	{-8.1908,2342.3840,24.1406,263.2471}
};

/*enum AdminStuffs {
armory=1,
teleport=1,
advex=1,
ooc,
honor,
briefingex=1,
minigun=0,
peacel,
namemod,
clockex,
bonusex
}

new AdminString[AdminStuffs][]={{"armory"},{"teleport"},{"advertisements"},{"oochannel"},{"honor"},{"briefing"},{"minigun"},{"peacemsg"},{"namemods"},{"clock"},{"bonustunts"}};*/

//colori
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_WHITE 0xFFFFFFAA
#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 COLOR_RED 0xAA3333AA
#define TEAM_GROVE_COLOR 0x00D900C8
#define COLOR_LIGHTNEUTRALBLUE 0xabcdef66
#define COLOR_DARKBLUE 0x300FFAAB
#define COLOR_DARKGREEN 0x12900BBF
#define COLOR_VIOLET 0x9955DEEE
#define COLOR_LIGHTRED 0xFF99AADD
#define COLOR_SEAGREEN 0x00EEADDF
#define COLOR_GRAYWHITE 0xEEEEFFC4
#define COLOR_LIGHTNEUTRALBLUE 0xabcdef66
#define COLOR_GREENISHGOLD 0xDEAD4370
#define COLOR_LIGHTBLUEGREEN 0x0FFDD349
#define COLOR_NEUTRALBLUE 0xABCDEF01
#define COLOR_LIGHTCYAN 0xAAFFCC33
#define COLOR_LIGHTYELLOW 0xDDDD2357
#define COLOR_MEDIUMBLUE 0x63AFF00A
#define COLOR_NEUTRAL 0xABCDEF97
#define COLOR_BLACK 0x00000000
#define COLOR_NEUTRALGREEN 0x81CFAB00
#define COLOR_DARKGREEN 0x12900BBF
#define COLOR_LIGHTGREEN 0x24FF0AB9
#define COLOR_DARKBLUE 0x300FFAAB
#define COLOR_BLUEGREEN 0x46BBAA00
#define COLOR_PINK 0xFF66FFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_PURPLE 0x800080AA
#define COLOR_CYAN 0x40FFFFFF
#define COLOR_INVIS 0xAFAFAFFF
#define COLOR_DARKYELLOW 0xF5DEB3AA


#define TEAM_N00B 0
#define TEAM_NAVYSEALS 1
#define TEAM_MILITARIES 2
#define TEAM_AVIATORS 3

#define AREA_PH -1477.3074,430.1296,7.1875
#define AREA_69 92.3150,1916.6799,17.9905
#define AREA_VM 432.4563,2538.1248,16.2301

#define WARNING "You dont have enough money! Kill to earn and come back!"
//-------------------------------------------------------------------------
new inarea[MAX_PLAYERS];
new inarrive[MAX_PLAYERS];
new consecutive[MAX_PLAYERS];
new HighestScore;
new HighestScorers[MAX_PLAYERS];
new st;
new removep[MAX_PLAYERS], removev[MAX_PLAYERS];
new confirmspeedo[MAX_PLAYERS],speedo;
new briefing[MAX_PLAYERS],briefingex;
new inshop[MAX_PLAYERS],Menu:gMenu,Menu:gMenuCars;
new bonusclock[MAX_PLAYERS]=1,clockex=1,bonus[MAX_PLAYERS]=0,bonusex=1;
new tk[MAX_PLAYERS];
new ooclock=0,honorlock=0;
new peace[MAX_PLAYERS],peacelock=0;
new inarmory[MAX_PLAYERS],armory;
new teleport;
new minigun;
new advex=1,adverts=0;
new gang1,gang2,gang3,gang1a,gang2a,gang3a;
new gRoundTimer=0,gRoundTimerEx[MAX_PLAYERS]=0;
new DMTime,alert[MAX_PLAYERS]=0,color[MAX_PLAYERS]=0,colorex[MAX_PLAYERS]=0;
new curPlayerSkin[MAX_PLAYERS],gPlayerTimerSkin[MAX_PLAYERS]=0;
new gPlayerCheckpointStatus[MAX_PLAYERS],check=1,item[MAX_PLAYERS][2];
//-------------------------------------------------------------------------
forward ExitShop(playerid);
forward ExitVehicle(playerid);
forward UpdateSpeed();
forward CheckScore();
forward GameModeExitFunc();
forward IsPlayerNameOnline(compname[]);forward SkinSelect(playerid);
forward isPlayerInArea(playerID,Float:min_x,Float:min_y,Float:max_x,Float:max_y);
forward UnlockCamera(playerid);forward CheckpointUpdate(playerid);
forward DMTimer();forward ExitLauncherConfigCash(playerid);
forward Adverts();
//-------------------------------------------------------------------------
main()
{
        print("\n----------------------------------");
		print(" Chiarboss's Pearl Harbor Disaster\n");
		print("----------------------------------\n");
}
//-------------------------------------------------------------------------
public OnGameModeInit() {

	armory = 1;
	minigun = 1;
	teleport = 0;
	speedo = 1;
	briefingex = 1;
	st = 0;
    UsePlayerPedAnims();
    SetGameModeText("Chiarboss's PHD GM 0.2");
    ShowPlayerMarkers(1);
    ShowNameTags(1);
    DMTime = 1200;
    gRoundTimer = SetTimer("DMTimer", 1000, 1);
    SetTimer("UpdateSpeed", UpdateSeconds*1000, 1);

    AddPlayerClass(281,-1371.1803,516.4844,11.1971,81.4363,0,0,0,0,0,0);
    AddPlayerClass(287,268.6916,1887.6003,-29.5313,181.6185,0,0,0,0,0,0); 
    AddPlayerClass(184,426.6436,2536.5178,16.5391,271.7539,0,0,0,0,0,0);

    AddStaticVehicle(432,-1476.4437,458.1437,7.1965,359.9542,16,16); // offensive vehicle
    AddStaticVehicle(432,-1467.9777,457.3620,7.1961,358.3032,16,16); // offensive vehicle
    AddStaticVehicle(432,-1460.4590,457.1293,7.1981,1.1569,16,16); // offensive vehicle
    AddStaticVehicle(432,-1453.3082,457.2888,7.1994,359.6725,16,16); // offensive vehicle
    AddStaticVehicle(432,-1443.7625,457.4734,7.1988,358.4820,16,16); // offensive vehicle
    AddStaticVehicle(432,-1436.5111,457.6724,7.1947,0.2114,16,16); // offensive vehicle
    AddStaticVehicle(432,-1429.9917,457.7480,7.1982,0.6951,16,16); // offensive vehicle
    AddStaticVehicle(432,-1423.1045,457.6961,7.1988,358.5876,16,16); // offensive vehicle
    AddStaticVehicle(432,-1412.4529,457.3716,7.2026,1.5691,16,16); // offensive vehicle
    AddStaticVehicle(432,-1405.0011,457.6650,7.1948,1.5144,16,16); // offensive vehicle
    AddStaticVehicle(432,-1398.1091,457.8824,7.1951,1.3452,16,16); // offensive vehicle
    AddStaticVehicle(432,-1391.2191,458.1023,7.1999,1.5638,16,16); // offensive vehicle
    AddStaticVehicle(432,-1383.9812,458.1622,7.2015,0.4000,16,16); // offensive vehicle
    AddStaticVehicle(432,-1373.0188,458.0551,7.2000,0.8151,16,16); // offensive vehicle
    AddStaticVehicle(432,-1365.4542,458.0095,7.2023,358.5297,16,16); // offensive vehicle
    AddStaticVehicle(432,-1358.1519,457.7715,7.2004,358.7256,16,16); // offensive vehicle
    AddStaticVehicle(432,-1350.6398,457.5541,7.2022,357.5025,16,16); // offensive vehicle
    AddStaticVehicle(432,-1343.0050,457.3885,7.2008,0.3278,16,16); // offensive vehicle
    AddStaticVehicle(470,-1233.6864,448.5077,7.1820,132.5083,43,0);
    AddStaticVehicle(497,-1456.8031,501.0815,18.4445,86.8188,0,1);
    AddStaticVehicle(433,-1457.0422,318.6442,7.6238,158.3001,32,1);
    AddStaticVehicle(520,-1415.6375,515.9694,18.9660,271.6486,32,1); // offensive vehicle
    AddStaticVehicle(520,-1263.6095,508.2881,18.9559,270.1735,32,1); // offensive vehicle
    AddStaticVehicle(520,-1263.9739,495.0256,18.9577,269.4709,32,1); // offensive vehicle
    AddStaticVehicle(539,-1429.4872,504.8242,3.0391,263.9541,16,3);
    AddStaticVehicle(430,-1486.6591,490.3060,-0.1494,359.0152,1,0); // offensive vehicle
    AddStaticVehicle(430,-1491.9495,490.5464,-0.1823,358.3671,1,0); // offensive vehicle
    AddStaticVehicle(472,-1515.6285,487.0993,0.0720,0.6779,1,1);
    AddStaticVehicle(446,-1476.8229,688.1165,-0.5970,359.5958,3,1);
    AddStaticVehicle(595,-1447.7743,432.0022,0.0909,270.4658,7,0);
    AddStaticVehicle(453,-1476.6588,701.1883,-0.5054,358.3412,16,0);
    AddStaticVehicle(425,-1607.2675,285.0563,7.7563,358.9558,44,44); // offensive vehicle
    AddStaticVehicle(434,213.8933,1900.3259,17.3176,358.8646,16,3);
    AddStaticVehicle(568,98.2234,1943.3845,18.1421,358.8528,0,0);
    AddStaticVehicle(568,101.0651,1943.4187,18.2610,0.3140,0,0);
    AddStaticVehicle(568,106.6574,1943.3862,18.4932,357.5977,0,0);
    AddStaticVehicle(568,109.1899,1943.3973,18.5961,359.3956,0,0);
    AddStaticVehicle(568,111.9657,1943.2653,18.7103,356.8536,0,0);
    AddStaticVehicle(568,127.1742,1943.9843,19.2034,359.9926,0,0);
    AddStaticVehicle(568,124.0315,1944.1931,19.1942,355.2515,0,0);
    AddStaticVehicle(470,309.4539,1838.8220,17.6335,231.7113,32,1);
    AddStaticVehicle(520,328.8237,1890.2919,18.3684,224.0104,32,1); // offensive vehicle
    AddStaticVehicle(520,335.7085,2058.2844,18.3639,320.0751,32,1); // offensive vehicle
    AddStaticVehicle(490,145.4882,1813.5706,17.7682,145.5777,0,0);
    AddStaticVehicle(490,260.4710,1826.8971,17.7685,21.6519,0,0);
    AddStaticVehicle(490,245.7021,1911.8810,19.5458,159.3245,0,0);
    AddStaticVehicle(490,129.4951,1927.3000,19.3260,143.8674,0,0);
    AddStaticVehicle(425,277.9973,2023.3601,18.2205,268.9986,32,1); // offensive vehicle
    AddStaticVehicle(432,275.4637,1986.7098,17.6545,270.9816,32,1);
    AddStaticVehicle(593,279.3994,1997.4490,18.1022,235.3439,1,3);
    AddStaticVehicle(432,274.3554,1952.7855,17.6552,269.9521,32,1);
    AddStaticVehicle(593,278.4035,1961.7936,18.1060,241.7683,1,3);
    AddStaticVehicle(583,250.4686,1848.5529,8.3137,222.2029,1,1);
    AddStaticVehicle(583,286.3429,1817.6218,4.2584,321.7743,1,1);
    AddStaticVehicle(476,326.5540,2540.2112,17.5231,178.6076,6,7); // offensive vehicle
    AddStaticVehicle(476,369.9487,2494.4102,17.1940,89.8291,6,7); // offensive vehicle
    AddStaticVehicle(476,371.5177,2513.9875,17.2810,88.2051,16,3); // offensive vehicle
    AddStaticVehicle(476,312.1640,2497.5820,17.1758,86.6485,16,3); // offensive vehicle
    AddStaticVehicle(476,313.9215,2519.4500,17.4054,85.9582,16,3); // offensive vehicle
    AddStaticVehicle(476,247.0588,2500.4016,17.1899,87.4960,16,3); // offensive vehicle
    AddStaticVehicle(476,248.3871,2521.8337,17.4121,92.5911,16,3); // offensive vehicle
	AddStaticVehicle(476,140.5873,2484.7234,17.1928,86.8574,16,3); // offensive vehicle
    AddStaticVehicle(476,143.5839,2517.4897,17.3384,88.3930,16,3); // offensive vehicle
    AddStaticVehicle(476,143.3017,2504.1902,17.1992,88.4143,6,7);  // offensive vehicle
    AddStaticVehicle(520,291.1724,2543.1931,17.5438,177.7684,6,7); // offensive vehicle
    AddStaticVehicle(513,384.3882,2536.9800,17.0893,179.8014,3,2);
    AddStaticVehicle(425,347.6346,2540.7566,17.3125,181.7411,43,0); // offensive vehicle
    AddStaticVehicle(417,365.0824,2538.7078,16.7410,179.9234,27,61);
    AddStaticVehicle(470,417.5408,2455.1409,16.4914,2.9022,43,0);
    AddStaticVehicle(470,414.2750,2454.8093,16.4914,2.6664,43,0);
    AddStaticVehicle(520,392.1653,2457.0142,17.2233,303.3323,6,7); // offensive vehicle
    AddStaticVehicle(470,390.6077,2438.6580,16.4911,358.9595,43,0);
    AddStaticVehicle(470,393.5475,2438.5029,16.4932,359.0305,43,0);
    AddStaticVehicle(520,411.3429,2442.6509,17.2233,311.4664,6,7); // offensive vehicle
    AddStaticVehicle(489,316.0116,2437.5378,16.6254,287.2838,46,26);
    AddStaticVehicle(489,213.2620,2442.9805,16.6184,240.0406,46,26);
    AddStaticVehicle(568,-19.3326,2336.3325,24.0061,213.8403,43,0);
    AddStaticVehicle(440,232.3566,2540.7471,16.7275,191.5323,52,0);
    AddStaticVehicle(440,92.7373,1920.6738,18.1071,88.8184,52,0);
    AddStaticVehicle(443,-1300.3024,476.6212,7.8208,180.1582,40,1); 
    AddStaticVehicle(443,-1304.5031,476.4158,7.8221,180.6873,40,1); 
    AddStaticVehicle(440,-1528.3407,392.3776,7.3012,91.1049,87,6); // offensive vehicle
    AddStaticVehicle(404,-1528.5914,361.6890,6.9197,86.4885,84,105);
    AddStaticVehicle(522,-1697.4794,76.7314,3.1239,317.3174,6,79);
    AddStaticVehicle(530,-1703.3199,13.6469,3.3185,351.4750,44,16);
    AddStaticVehicle(601,-1463.5885,360.7235,7.1804,205.9251,43,0); // offensive vehicle
    AddStaticVehicle(514,-1637.2845,-67.3687,3.1326,315.4374,36,75);
    AddStaticVehicle(410,-1659.6526,452.6024,7.1754,167.6721,3,3);
    AddStaticVehicle(518,-1654.4611,450.6376,7.1734,168.7830,37,0);
    AddStaticVehicle(571,-1714.6964,408.7980,7.7144,319.1115,3,2);
    AddStaticVehicle(551,-1746.9690,-33.3527,3.5547,90.5152,91,91);
    AddStaticVehicle(420,-120.9752,2061.8821,17.5904,269.1002,6,6);
    AddStaticVehicle(495,-373.9601,1594.5558,76.6726,91.5657,27,6);
    AddStaticVehicle(463,-9.3519,1391.4910,8.7440,229.8567,44,44);
    AddStaticVehicle(463,-7.1077,1342.2668,8.7467,7.8647,44,44);
    AddStaticVehicle(586,-94.3266,1358.2538,9.8452,277.1286,109,0);
    AddStaticVehicle(466,-93.7649,1361.2010,9.8369,280.8005,43,43);
    AddStaticVehicle(466,-94.6031,1391.6777,9.5567,115.4451,43,43);
    AddStaticVehicle(590,-1930.5797,159.5300,25.5178,357.3647,52,52);
    AddStaticVehicle(590,-1946.4640,120.2108,25.5185,0.2531,52,52);
    AddStaticVehicle(590,-1950.7330,-60.1257,25.7127,264.3686,52,52);
    AddStaticVehicle(486,-2054.9180,275.7414,34.9626,121.9033,71,71);
    AddStaticVehicle(486,-2094.2539,160.6936,34.8554,45.0337,71,71);
    AddStaticVehicle(586,783.6401,1900.5292,5.0915,269.7710,109,122);

    AddStaticPickup(370, 15, -1293.6033,506.3013,11.1953);
    AddStaticPickup(370, 15, 268.7046,1883.7684,-30.0938);
    AddStaticPickup(370, 15, 429.7084,2536.8289,16.2972);
    AddStaticPickup(365, 15, -1335.9526,499.8391,11.3047);
    AddStaticPickup(365, 15, -1397.9510,502.9400,11.3047);
    AddStaticPickup(362, 15, -1496.1395,589.5775,42.2578);
    AddStaticPickup(361, 15, -1579.1755,24.4093,17.3281);
    AddStaticPickup(349, 15, -1288.3523,483.7534,1.1774);
    AddStaticPickup(359, 15, -1723.8442,13.7283,3.5625);
    AddStaticPickup(344, 15, -1581.6809,135.7577,-11.1161);
    AddStaticPickup(367, 15, -1528.0736,153.3039,3.5547);
    AddStaticPickup(362, 15, 247.1456,1859.0193,14.0840);
    AddStaticPickup(342, 15, 245.0640,1862.3138,20.7301);
    
    gang1=GangZoneCreate(-1732.6976,263.2776,-1210.5920,519.7761),gang2=GangZoneCreate(88.4963,1739.7535,393.5974,2116.4121),gang3=GangZoneCreate(441.2056,2584.4185,-34.1631,2326.1580);
    gang1a=GangZoneCreate(-1658.5121,-79.6428,-1610.4392,228.4042),gang2a=GangZoneCreate(103.8651,1331.5334,288.1530,1486.4320),gang3a=GangZoneCreate(-388.0111,1707.7238,-270.9821,1856.0289);
    
    gMenu = CreateMenu("Professional Tactical Shop", 2, 200.0, 150.0, 120.0, 50.0);
    gMenuCars = CreateMenu("SHOP: Docks Section", 2, 0.0, 120.0, 500.0, 800.0);
    
        if(IsValidMenu(gMenu)) {
                SetMenuColumnHeader(gMenu, 0, "Element");
                SetMenuColumnHeader(gMenu, 1, "Price");

                AddMenuItem(gMenu, 0, "100-hp");
                AddMenuItem(gMenu, 0, "Armour");
                AddMenuItem(gMenu, 0, "Shotgun");
                AddMenuItem(gMenu, 0, "Sawn Off Shotgun");
                AddMenuItem(gMenu, 0, "Sachet Charges");
                AddMenuItem(gMenu, 0, "Grenade");
                AddMenuItem(gMenu, 0, "Smoke bomb");
                AddMenuItem(gMenu, 0, "Flamethrower");
                AddMenuItem(gMenu, 0, "Extinguisher");
                AddMenuItem(gMenu, 0, "Sniper rifle");
                AddMenuItem(gMenu, 1, "1000$");
                AddMenuItem(gMenu, 1, "1200$");
                AddMenuItem(gMenu, 1, "2000");
                AddMenuItem(gMenu, 1, "4500$");
                AddMenuItem(gMenu, 1, "5000$");
                AddMenuItem(gMenu, 1, "6100$");
                AddMenuItem(gMenu, 1, "7550$");
                AddMenuItem(gMenu, 1, "8200$");
                AddMenuItem(gMenu, 1, "9510$");
                AddMenuItem(gMenu, 1, "10000$");
        }
        if(IsValidMenu(gMenuCars)) {
                SetMenuColumnHeader(gMenuCars, 0, "Cars        Max Speed");
                SetMenuColumnHeader(gMenuCars, 1, "Price");

                AddMenuItem(gMenuCars, 0, "Buffalo      200 KM/H");
                AddMenuItem(gMenuCars, 0, "Bullet       230 KM/H");
                AddMenuItem(gMenuCars, 0, "Turismo      240 KM/H");
                AddMenuItem(gMenuCars, 0, "Hotknife     200 KM/H");
                AddMenuItem(gMenuCars, 0, "Patriot      170 KM/H");
                AddMenuItem(gMenuCars, 0, "Barracks OL  180 KM/H");
                AddMenuItem(gMenuCars, 0, "Enforcer     170 KM/H");
                AddMenuItem(gMenuCars, 0, "Rustler      200 KM/H");
                AddMenuItem(gMenuCars, 0, "Rhino        80  KM/H");
                AddMenuItem(gMenuCars, 0, "Hydra        200 KM/H");
                AddMenuItem(gMenuCars, 1, "14000$");
                AddMenuItem(gMenuCars, 1, "18000$");
                AddMenuItem(gMenuCars, 1, "20000");
                AddMenuItem(gMenuCars, 1, "40000$");
                AddMenuItem(gMenuCars, 1, "45000$");
                AddMenuItem(gMenuCars, 1, "58000$");
                AddMenuItem(gMenuCars, 1, "63000$");
                AddMenuItem(gMenuCars, 1, "80000$");
                AddMenuItem(gMenuCars, 1, "95000$");
                AddMenuItem(gMenuCars, 1, "100000$");
        }

    SetWorldTime(21);
    SetTeamCount(3);
    
    return 1;
}
//------------------------------------------------------------------------
public UpdateSpeed() {
new Float:x,Float:y,Float:z;
new Float:distance,value,string[256];
for(new i=0; i<SLOTS; i++){
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && speedo == 1) {
GetPlayerPos(i, x, y, z);
distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
value = floatround(distance * 3600);
if(UpdateSeconds > 1){
value = floatround(value / UpdateSeconds);
}
switch(confirmspeedo[i]) {
case 1:format(string,256,"~n~~n~~n~~n~~n~~n~                                ~r~Speed: ~w~%d MpH",floatround(value/1600));
case 2:format(string,256,"~n~~n~~n~~n~~n~~n~                                ~r~Speed: ~w~%d KM/H",floatround(value/1000));
case 3:format(string,256,"~n~~n~~n~~n~~n~~n~                                ~r~Speed: ~w~%d KpH",floatround(value/1400));
}
GameTextForPlayer(i, string, 1100, 3);
}
SavePlayerPos[i][LastX] = x;
SavePlayerPos[i][LastY] = y;
SavePlayerPos[i][LastZ] = z;
}
}
//-------------------------------------------------------------------------
public DMTimer()
{
new tmp[256],Text:Time;
    if(DMTime != 0.0) {
    DMTime --;
    TextDrawDestroy(Time);
    format(tmp, sizeof tmp, "%s", TimeConvert(DMTime));
    } else {
    EndTheRound();
    return 1;
    }
    
	Time=TextDrawCreate(300.0, 10.0, tmp);
    TextDrawUseBox(Time,1);
    TextDrawTextSize(Time, 350.0, 30.0);
    TextDrawSetShadow(Time, 0);
    TextDrawSetOutline(Time, 1);
	TextDrawShowForAll(Time);
   
	new tmpnak[256];
	if(DMTime == 900) {
    for(new i=0; i<MAX_PLAYERS; i++)format(tmpnak,sizeof(tmpnak),"~n~~%s~Time Remaining: ~w~15 minutes!",TildeControl(i)),GameTextForPlayer(i,tmpnak,3500,3),PlayerPlaySound(i,1056,0,0,0);
    return 1;
    }
    else if(DMTime == 600) {
    if(nplayers!=0){
	format(tmpnak,sizeof(tmpnak),"~n~~b~Navy Seals: ~w~%d points ~n~~g~ Militaries: ~w~%d points ~n~~r~Aviators: ~w~%d points",scores[0],scores[1],scores[2]);
	GameTextForAll(tmpnak,3000,3);}
	return 1;
	}
    else if(DMTime == 300) {
    SendClientMessageToAll(0xFF8A00AA,"Time Remaining: 5 minutes!");
    for(new i=0; i<MAX_PLAYERS; i++)PlayerPlaySound(i,1056,0,0,0);
    return 1;
    }
    else if(DMTime == 150) {
    for(new i=0;i<MAX_PLAYERS;i++)format(tmpnak,sizeof(tmpnak),"~n~~%s~Time Remaining: 2 minutes!",TildeControl(i)),GameTextForPlayer(i,tmpnak,3500,3),PlayerPlaySound(i,1056,0,0,0);
    for(new g=0; g<MAX_GANG_ZONES; g++)GangZoneFlashForAll(g,COLOR_YELLOW);
    return 1;
    }

 	return 0;
}
//-------------------------------------------------------------------------
TimeConvert(seconds) {
	new tmp[256];
 	new minutes = floatround(seconds/60);
	seconds -= minutes*60;
	format(tmp, sizeof(tmp), "%d:%02d", minutes, seconds);
	return tmp;
}
//-------------------------------------------------------------------------
public OnPlayerSelectedMenuRow(playerid,row) {
new name[MAX_PLAYER_NAME],stringshop[256];
new price1,price2,model,weapon,wguns,mname[256],wname[256];
GetPlayerName(playerid,name, sizeof(name));

switch(row){
case 0:{price1=1000;price2=14000;model=402;mname="Buffalo";}
case 1:{price1=1200;price2=18000;model=541;mname="Bullet";}
case 2:{price1=2000;price2=20000;model=451;weapon=25;wguns=2550;mname="Turismo";wname="Shotgun";}
case 3:{price1=4500;price2=25000;model=434;weapon=26;wguns=520;mname="Hotknife";wname="Sawn Off Shotgun";}
case 4:{price1=5000;price2=45000;model=470;weapon=39;wguns=20;mname="Patriot";wname="Sachet Charges Pack";}
case 5:{price1=6100;price2=58000;model=433;weapon=16;wguns=20;mname="Barracks OL";wname="Grenades Pack";}
case 6:{price1=7550;price2=63000;model=427;weapon=17;wguns=1;mname="Enforcer";wname="Smoke Bomb";}
case 7:{price1=9510;price2=80000;model=476;weapon=37;wguns=2500;mname="Rustler";wname="Flamethrower";}
case 8:{price1=10000;price2=95000;model=432;weapon=42;wguns=500;mname="Rhino";wname="Extinguisher";}
case 9:{price2=100000;model=520;mname="Hydra";}
}

if(gPlayerCheckpointStatus[playerid]==0&&(row==0||row==1)) {
if(GetPlayerMoney(playerid) >= price1) {
if(row == 0) {
format(stringshop, sizeof(stringshop), "- %s recharged his healthbar for 1000$. -",name);
SetPlayerHealth(playerid,100);
}
else if(row == 1) {
format(stringshop, sizeof(stringshop), "- %s recharged his armourbar for 1200$. -",name);
SetPlayerArmour(playerid,100);
}
SendClientMessageToAll(0xFF8A00AA,stringshop);
}else{SendClientMessage(playerid,0xFF8A00AA,WARNING),ShowMenuForPlayer(gMenu,playerid);}
return 1;
}

if(gPlayerCheckpointStatus[playerid]==0) {
if(GetPlayerMoney(playerid) >= price1) {
GivePlayerWeapon(playerid,weapon,wguns);
GivePlayerMoney(playerid,-price1);
format(stringshop,sizeof(stringshop),"- %s have bought a %s for %d$ -",name,wname,price1);
SendClientMessageToAll(0xFF8A00AA,stringshop);
}else{SendClientMessage(playerid,COLOR_RED,WARNING),ShowMenuForPlayer(gMenu,playerid);}
} else {
if(GetPlayerMoney(playerid) >= price2) {
SetupForMobile(playerid,model);
SetTimerEx("UnlockCamera",4500,0,"d",playerid);
GivePlayerMoney(playerid,-price2);
format(stringshop,sizeof(stringshop),"- You have bought a %s for %d$ -",mname,price2);
}else{SendClientMessage(playerid,COLOR_RED,WARNING),ShowMenuForPlayer(gMenuCars,playerid);}
}

return 1;
}
public UnlockCamera(playerid)return TogglePlayerControllable(playerid,1),SetCameraBehindPlayer(playerid);
//-------------------------------------------------------------------------
stock SetupForMobile(playerid,model) {
TogglePlayerControllable(playerid,0);
if(isPlayerInArea(playerid,-1658.5121,-79.6428,-1610.4392,228.4042))CreateVehicle(model,-1576.6221,59.2409,17.3281,313.6929,-1,-1,0),SetPlayerPos(playerid,-1558.9014,59.9428,17.3281),SetPlayerCameraPos(playerid,-1558.9014,59.9428,17.3281),SetPlayerCameraLookAt(playerid,-1569.8920,59.4751,17.3281);
else if(isPlayerInArea(playerid,103.8651,1331.5334,288.1530,1486.4320))CreateVehicle(model,280.0654,1439.2772,10.5859,89.1309,-1,-1,0),SetPlayerPos(playerid,267.8284,1447.4916,10.5859),SetPlayerCameraPos(playerid,267.8284,1447.4916,10.5859),SetPlayerCameraLookAt(playerid,273.0097,1443.2058,10.5859);
else if(isPlayerInArea(playerid,-388.0111,1707.7238,-270.9821,1856.0289))CreateVehicle(model,-301.5339,1749.3748,42.6875,271.4406,-1,-1,0),SetPlayerPos(playerid,-291.6115,1741.9810,42.6875),SetPlayerCameraPos(playerid,-291.6115,1741.9810,42.6875),SetPlayerCameraLookAt(playerid,-295.8248,1744.8260,42.6875);
return;
}
//-------------------------------------------------------------------------
public OnPlayerExitedMenu(playerid){inshop[playerid]=0,ResetVariables(playerid);return 1;}
stock ResetVariables(playerid) {
KillTimer(removep[playerid]);
TogglePlayerControllable(playerid,1);

if(gPlayerCheckpointStatus[playerid]==0) {
if(isPlayerInArea(playerid,-1658.5121,-79.6428,-1610.4392,228.4042))SetPlayerPos(playerid,-1475.2085,420.8415,7.1875);
else if(isPlayerInArea(playerid,103.8651,1331.5334,288.1530,1486.4320))SetPlayerPos(playerid,254.6236,1403.1294,10.7075);
else if(isPlayerInArea(playerid,-388.0111,1707.7238,-270.9821,1856.0289))SetPlayerPos(playerid,-306.1966,1767.7438,42.7813);
if(inshop[playerid] == 1)SendClientMessage(playerid,COLOR_RED,"For disable/enable the inarea variable, press /inarea");
}else if(gPlayerCheckpointStatus[playerid]==1){
if(isPlayerInArea(playerid,-1732.6976,263.2776,-1210.5920,519.7761))SetPlayerPos(playerid,-1570.5338,139.9544,3.5547);
else if(isPlayerInArea(playerid,88.4963,1739.7535,393.5974,2116.4121))SetPlayerPos(playerid,299.1891,1818.5527,2.2567);
else if(isPlayerInArea(playerid,441.2056,2584.4185,-34.1631,2326.1580))SetPlayerPos(playerid,314.0279,2440.1750,16.4841);
}else if(gPlayerCheckpointStatus[playerid]==3)SetPlayerPos(playerid,-2506.8867-2,2347.9814,4.9802);

return inshop[playerid] = 0;
}
//-------------------------------------------------------------------------
public OnPlayerConnect(playerid) {

    SendClientMessage(playerid, 0xFF8A00AA, "Welcome to Pearl Harbor Disaster GM 0.2 [coded by Chiarboss]");
    SendClientMessage(playerid, 0xFF8A00AA, "Type /phd help for more info - www.gta-expert.com");
    GameTextForPlayer(playerid, "~g~- ~r~Pearl Harbor ~y~Disaster ~g~-", 6000, 1);
    SendClientMessage(playerid,COLOR_RED,"Choice a character with directional keys!");
    GivePlayerMoney(playerid, 10000);
    SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive
    new Text:gText[MAX_PLAYERS];gText[playerid]=TextDrawCreate(5.0, 431.0, "Pearl Harbor Disaster created By Chiarboss");TextDrawUseBox(gText[playerid],1),TextDrawShowForPlayer(playerid,gText[playerid]);
    inarmory[playerid] = 0;
    peace[playerid] = 0;
    inshop[playerid] = 0;
    inarea[playerid] = 0;
    inarrive[playerid] = 0;
    confirmspeedo[playerid] = 1;
    briefing[playerid] = 1;
    nplayers++;
	return 1;
}
//-------------------------------------------------------------------------
public OnPlayerText(playerid,text[])
{
  if(text[0] == '!') {
    new name[24], string[256];
    GetPlayerName(playerid, name, 24);
    format(string, sizeof(string), "%s (TEAM): %s", name, text[1]);

    for(new i = 0; i < MAX_PLAYERS; i++) {
          if(IsPlayerConnected(i)) {
                if(gTeam[i] == gTeam[playerid])
        
	return 0;
	}        SendClientMessage(i, GetPlayerColor(playerid), string);
                }
          }
  return 1;
}
//-------------------------------------------------------------------------
public OnPlayerInfoChange(playerid)
{
printf("OnPlayerInfoChange(%d)");
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerStateChange(playerid,newstate,oldstate) {

new vehicleid = GetPlayerVehicleID(playerid);
new name[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid,name,sizeof(name));

if(newstate == PLAYER_STATE_DRIVER) {
if(vehicleid == 78||vehicleid == 79||vehicleid == 82) {
if(GetPlayerScore(playerid) >= 2) {
  removev[playerid] = SetTimerEx("ExitVehicle",30000,0,"d",playerid);
  TogglePlayerControllable(playerid,0);
  GetPlayerName(playerid,name, sizeof(name));
  format(string, sizeof(string), "- Welcome to Vehicle Shop, %s; -", name);
  SendClientMessage(playerid, 0xFF8A00AA, string);
  SendClientMessage(playerid,0xFF8A00AA,"Type (/v)shop for view the weapons availables");
  SendClientMessage(playerid,COLOR_RED,"Type /exit for exit from the Vehicle Shop.");
  	} else
{
RemovePlayerFromVehicle(playerid),format(string,sizeof(string),"~n~~%s~You ~w~dont have ~%s~enough points! ~w~Kill to earn and ~%s~come back!",TildeControl(playerid),TildeControl(playerid),TildeControl(playerid));
GameTextForPlayer(playerid,string,3000,3);
}
}
if ( vehicleid == 1 || vehicleid == 2 || vehicleid == 3 || vehicleid == 4 || vehicleid == 5 || vehicleid == 6 || vehicleid == 7 || vehicleid == 8 || vehicleid == 9 || vehicleid == 10 || vehicleid == 11 || vehicleid == 12 || vehicleid == 13 || vehicleid == 14 || vehicleid == 15 || vehicleid == 16 || vehicleid == 17 || vehicleid == 18 || vehicleid == 22 || vehicleid == 23 || vehicleid == 24 || vehicleid == 42 || vehicleid == 43 || vehicleid == 65 || vehicleid == 71 || vehicleid == 74 || vehicleid == 32) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s entered into Offensive Vehicle ::..", name);
for(new i=0; i<MAX_PLAYERS; i++) {
if(briefing[i] == 1 && briefingex == 1 && gTeam[i] != gTeam[playerid]) {
SendClientMessage(i,0xAA3333AA,string);
return true;
}
}
}
if ( vehicleid == 48 || vehicleid == 67 || vehicleid == 55 || vehicleid == 56 || vehicleid == 57 || vehicleid == 58 || vehicleid == 59 || vehicleid == 60 || vehicleid == 61 || vehicleid == 62 || vehicleid == 63 || vehicleid == 64 || vehicleid == 65 || vehicleid == 26 || vehicleid == 27 || vehicleid == 86) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s entered into Offensive Vehicle ::..", name);
for(new i=0; i<MAX_PLAYERS; i++) {
if(briefing[i] == 1 && briefingex == 1 && gTeam[i] != gTeam[playerid]) {
SendClientMessage(i,0xAA3333AA,string);
return true;
}}}}

return 1;
}
//-------------------------------------------------------------------------
public ExitVehicle(playerid) {
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1);
if(IsPlayerInVehicle(playerid,78) || IsPlayerInVehicle(playerid,79)) {
SendClientMessage(playerid, 0xFF8A00AA, "You got removed from this Vehicle Shop! Dont use it like a n00b!");
}
else if(IsPlayerInVehicle(playerid,82)) {
SendClientMessage(playerid, 0xFF8A00AA, "You got removed from Lamer Van! Dont use it like a n00b!");
}
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
printf("OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerExitVehicle(playerid, vehicleid)
{
new string[256];
new name[MAX_PLAYER_NAME];
for(new i=0; i<MAX_PLAYERS; i++) {
if(briefing[i] == 1 && briefingex == 1 && gTeam[i] != gTeam[playerid]) {
if ( vehicleid == 1 || vehicleid == 2 || vehicleid == 3 || vehicleid == 4 || vehicleid == 5 || vehicleid == 6 || vehicleid == 7 || vehicleid == 8 || vehicleid == 9 || vehicleid == 10 || vehicleid == 11 || vehicleid == 12 || vehicleid == 13 || vehicleid == 14 || vehicleid == 15 || vehicleid == 16 || vehicleid == 17 || vehicleid == 18 || vehicleid == 22 || vehicleid == 23 || vehicleid == 24 || vehicleid == 42 || vehicleid == 43 || vehicleid == 65 || vehicleid == 71 || vehicleid == 74 || vehicleid == 32) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s exited from Offensive Vehicle ::..", name);
SendClientMessage(i,0xAA3333AA,string);
}
if ( vehicleid == 48 || vehicleid == 67 || vehicleid == 55 || vehicleid == 56 || vehicleid == 57 || vehicleid == 58 || vehicleid == 59 || vehicleid == 60 || vehicleid == 61 || vehicleid == 62 || vehicleid == 63 || vehicleid == 64 || vehicleid == 65 || vehicleid == 26 || vehicleid == 27) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s exited from Offensive Vehicle ::..", name);
SendClientMessage(i,0xAA3333AA,string);
}
}
}
printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerSpawn(playerid)

{
new randNAVYSEALS = random(sizeof(gRandomSpawnsForNAVYSEALS));
new randMILITARIES = random(sizeof(gRandomSpawnsForMILITARIES));
new randAVIATORS = random(sizeof(gRandomSpawnsForAVIATORS));
switch(inarea[playerid]) {
case 1:SetPlayerPos(playerid,gRandomSpawnsForNAVYSEALS[randNAVYSEALS][PlayerX],gRandomSpawnsForNAVYSEALS[randNAVYSEALS][PlayerY],gRandomSpawnsForNAVYSEALS[randNAVYSEALS][PlayerZ]),SetPlayerFacingAngle(playerid,gRandomSpawnsForNAVYSEALS[randNAVYSEALS][PlayerAngle]);
case 2:SetPlayerPos(playerid,gRandomSpawnsForMILITARIES[randMILITARIES][PlayerX],gRandomSpawnsForMILITARIES[randMILITARIES][PlayerY],gRandomSpawnsForMILITARIES[randMILITARIES][PlayerZ]),SetPlayerFacingAngle(playerid,gRandomSpawnsForMILITARIES[randMILITARIES][PlayerAngle]);
case 3:SetPlayerPos(playerid,gRandomSpawnsForAVIATORS[randAVIATORS][PlayerX],gRandomSpawnsForAVIATORS[randAVIATORS][PlayerY],gRandomSpawnsForAVIATORS[randAVIATORS][PlayerZ]),SetPlayerFacingAngle(playerid,gRandomSpawnsForAVIATORS[randAVIATORS][PlayerAngle]);
}
consecutive[playerid] = 0;
SetPlayerInterior(playerid,0);
PlayerPlaySound(playerid, 1098, 0, 0, 0);
new string[256];
if(clockex == 1 && bonusclock[playerid] == 1) {
TogglePlayerClock(playerid,1);
}
if(peace[playerid] == 0) {
SetupForCheckpoint(playerid,0,1);
SetVehicleParamsForPlayer(88,playerid,0,1),SetVehicleParamsForPlayer(89,playerid,0,1),SetVehicleParamsForPlayer(92,playerid,0,1);
GangZoneShowForPlayer(playerid,gang1,COLOR_DARKBLUE),GangZoneShowForPlayer(playerid,gang2,COLOR_DARKGREEN),GangZoneShowForPlayer(playerid,gang3,COLOR_DARKRED),GangZoneShowForPlayer(playerid,gang1a,COLOR_LIGHTBLUE),GangZoneShowForPlayer(playerid,gang2a,COLOR_GREEN),GangZoneShowForPlayer(playerid,gang3a,COLOR_RED);
SendClientMessage(playerid,0xFF8A00AA,"Type (/a)rmory to enter in your Personal Armory."),inarmory[playerid]=0;
format(string,sizeof(string),"~n~~n~~%s~Destroy ~w~the opposing ~%s~teams bases~w~!!!",TildeControl(playerid),TildeControl(playerid),TildeControl(playerid));
GameTextForPlayer(playerid,string,5000,3);
}else{GameTextForPlayer(playerid,"~n~~n~~w~Enjoy your new life and ~r~dont make hauled.",5000,3);SetPlayerSkin(playerid,264);}
new name[MAX_PLAYER_NAME];GetPlayerName(playerid,name,sizeof(name));
if(gTeam[playerid] == TEAM_NAVYSEALS) {

SetPlayerColor(playerid,COLOR_BLUE); // Blue
GivePlayerWeapon(playerid, 24, 2000);
GivePlayerWeapon(playerid, 27, 1500);
GivePlayerWeapon(playerid, 31, 1100);
format(string,sizeof(string),"[NS]%s",name);

 }

else if(gTeam[playerid] == TEAM_MILITARIES) {

SetPlayerColor(playerid,COLOR_GREEN); // Green
GivePlayerWeapon(playerid, 23, 2000);
GivePlayerWeapon(playerid, 25, 1500);
GivePlayerWeapon(playerid, 30, 1250);
format(string,sizeof(string),"[MT]%s",name);

 }

else if(gTeam[playerid] == TEAM_AVIATORS) {

SetPlayerColor(playerid,COLOR_RED); // Red
GivePlayerWeapon(playerid, 22, 1000);
GivePlayerWeapon(playerid, 26, 800);
GivePlayerWeapon(playerid, 29, 2500);
format(string,sizeof(string),"[AV]%s",name);

 }
SetPlayerName(playerid,string);

return 1;
}
//-------------------------------------------------------------------------
stock TildeControl(playerid){switch(gTeam[playerid]){case TEAM_NAVYSEALS:return'b';case TEAM_MILITARIES:return'g';case TEAM_AVIATORS:return 'r';}return 256;}
stock SetupForCheckpoint(playerid,checkid,scheckid){
gPlayerCheckpointStatus[playerid]=checkid;
for(new i=0;i<4;i++)DisablePlayerCheckpoint(playerid);
switch(gPlayerCheckpointStatus[playerid]) {
case 0: {
switch(scheckid) {
case 1: {
switch(gTeam[playerid]) {
case 1:SetPlayerCheckpoint(playerid,-1477.3074,430.1296,7.1875,2.5);
case 2:SetPlayerCheckpoint(playerid,290.3155,1815.5868,1.0078,2.5);
case 3:SetPlayerCheckpoint(playerid,290.3155,1815.5868,1.0078,2.5);
}
}
case 2: {
switch(gTeam[playerid]) {
case 1:SetPlayerCheckpoint(playerid,323.9011,2463.9285,16.4766,2.5);
case 2:SetPlayerCheckpoint(playerid,323.9011,2463.9285,16.4766,2.5);
case 3:SetPlayerCheckpoint(playerid,-1477.3074,430.1296,7.1875,2.5);
}
}
}}
case 1: {
switch(gTeam[playerid]){case 1:SetPlayerCheckpoint(playerid,-1574.4635,136.2941,3.5547,5.0);case 2:SetPlayerCheckpoint(playerid,246.8970,1410.5839,23.3703,5.0);case 3:SetPlayerCheckpoint(playerid,-311.7212,1764.9708,43.6406,5.0);}
}
case 2: {
switch(gTeam[playerid]){case TEAM_NAVYSEALS:SetPlayerCheckpoint(playerid,-1289.7195,490.9418,11.1953,2.0);case TEAM_MILITARIES:SetPlayerCheckpoint(playerid,214.9903,1822.8807,6.4141,2.0);case TEAM_AVIATORS:SetPlayerCheckpoint(playerid,414.5822,2533.2874,19.1484,2.0);}
}
case 3:SetPlayerCheckpoint(playerid,-2506.8867,2347.9814,4.9802,3.0);
}
return 1;}
//-------------------------------------------------------------------------
//+----------------------+--------------------------+
//|   AntiTeamkill 0.3   |   Coded by Franc[e]sco   |
//|                      |   noffaganzo@hotmail.it  |
//|                      |            and           |
//|                      |   Yom yomki@hotmail.fr   |
//+----------------------+--------------------------+
//|   Dont edit the code without my permission.     |
//| To get permission contact noffaganzo@hotmail.it |
//+- - - - - - - - - - - Updates - - - - - - - - - -+
//| Yom - added console message when kick           |
//+-------------------------------------------------+
public OnPlayerDeath(playerid, killerid, reason)

{
new string[256];
new name[MAX_PLAYER_NAME];
/*if(gTeam[killerid] == TEAM_N00B) {
SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
ResetPlayerWeapons(killerid);
GameTextForPlayer(killerid,"~n~~n~~w~You cannot ~r~kill the soldier -.-",5000,3);
return 1;
}*/

if(killerid == INVALID_PLAYER_ID) {

       SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);

} else {

       

    if(gTeam[killerid] != gTeam[playerid]) {

     // Valid kill

	scores[gTeam[killerid]-1]++;
	consecutive[killerid]++;
	st++;
	GetPlayerName(killerid,name, sizeof(name));
	SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
	if(st != 1 && consecutive[killerid] != 5 && consecutive[killerid] !=6 && consecutive[killerid] !=7 && consecutive[killerid] !=8) {
    GameTextForPlayer(playerid, "~n~~y~Wasted!", 1000, 3);
    GameTextForPlayer(killerid, "~n~~y~Good shot!", 1000, 3);
    }
	else if(st == 1)
	{
        format(string, sizeof(string), "~y~%s ~w~made the first kill! +3 kills to him!",name);
        SetPlayerScore(killerid, GetPlayerScore(killerid) + 2);
        GameTextForAll(string, 6000, 6);
	}
    else if(consecutive[killerid] == 5)
    {
        format(string, sizeof(string), "~y~%s ~w~is rockin' out!",name);
        GameTextForAll(string, 6000, 6);
	}
	else if(consecutive[killerid] == 6)
	{
        format(string, sizeof(string), "OMG! ~y~%s ~w~is pwning you all!",name);
        GameTextForAll(string, 6000, 6);
	}
	else if(consecutive[killerid] == 7)
	{
        format(string, sizeof(string), "WOW! ~y~%s ~w~is an omicide fury!",name);
        GameTextForAll(string, 6000, 6);
	}
	else if(consecutive[killerid] >= 8)
	{
 		format(string, sizeof(string), "~y~%s~w~: the king of the server... 0.0",name);
        GameTextForAll(string, 6000, 6);
	}
    SendDeathMessage(killerid,playerid,reason);
	SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
    GivePlayerMoney(killerid, 1000);
    GivePlayerMoney(playerid, -1000);
    
	} else {
SendClientMessage(killerid, COLOR_RED, "No teamkilling! Be careful the next time!");
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
GivePlayerMoney(killerid, -2000);
new Float:x;
new Float:y;
new Float:z;
GetPlayerPos(playerid, x, y, z);
z = 1000;
SetPlayerPos(killerid, Float:x, Float:y, Float:z);
tk[killerid] ++;
if(tk[killerid] == 2)
{
SendClientMessage(killerid, COLOR_RED, "Once again and you will be kicked!");
}
if(tk[killerid] >= 3)
{
GetPlayerName(killerid,name, sizeof(name));
printf("     -A.T.K Script-: %s kicked for teamkilling",name);
Kick(killerid);
format(string, sizeof(string), "The AntiTeamkill system kicked %s for teamkilling!",name);
SendClientMessageToAll(COLOR_GREEN, string);
}
}
}
return 1;
}
//-------------------------------------------------------------------------
stock SetupPlayerForClassSelection(playerid)
{
PlayerPlaySound(playerid, 1187, 0, 0, 0);
if(gTeam[playerid] == TEAM_NAVYSEALS) {
   SetPlayerCameraPos(playerid, -1341.4191,493.8939,33.2447);
   SetPlayerPos(playerid, -1338.7267,493.9419,33.2447);
   SetPlayerFacingAngle(playerid, 86.0381);
   SetPlayerCameraLookAt(playerid, -1341.4191,493.8939,33.2447);
   GameTextForPlayer(playerid, "~n~~b~Navy Seals Member~n~~n~~w~Favourite vehicle: ~b~Rhino;~n~~w~Weapon: ~b~Desert Eagle, Combat Shotgun, AK47.", 5000, 3);
}
else if(gTeam[playerid] == TEAM_MILITARIES) {
   SetPlayerCameraPos(playerid, 203.0809,1870.1016,13.1406);
   SetPlayerPos(playerid, 205.3826,1870.1285,13.1406);
   SetPlayerFacingAngle(playerid, 90.3161);
   SetPlayerCameraLookAt(playerid, 203.0809,1870.1016,13.1406);
   GameTextForPlayer(playerid, "~n~~g~Japanese Soldier~n~~n~~w~Favourite vehicle: ~g~FBI Rancher;~n~~w~Weapon: ~g~Silenced Pistol, Shotgun, M4.", 5000, 3);
}
else if(gTeam[playerid] == TEAM_AVIATORS) {
SetPlayerCameraPos(playerid, 286.8959,2544.8494,24.9199);
   SetPlayerPos(playerid, 289.3453,2544.9053,25.3203);
   SetPlayerFacingAngle(playerid, 87.7172);
   SetPlayerCameraLookAt(playerid, 286.8959,2544.8494,24.9199);
   GameTextForPlayer(playerid, "~n~~r~Aviator~n~~n~~w~Favourite vehicle: ~r~Rustler;~n~~w~Weapon: ~r~Pistol, Sawn Off Shotgun, MP5.", 5000, 3);
}
}
//-------------------------------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
{
printf("OnPlayerRequestClass(%d, %d)", playerid, classid);
SetPlayerClass(playerid, classid);
SetupPlayerForClassSelection(playerid);
ApplyAnimation(playerid, "benchpress", "gym_bp_celebrate", 4.000000, 1, 1, 1, 1, -1);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerRequestSpawn(playerid)
{
        ClearAnimations(playerid);
        return 1;
}
//-------------------------------------------------------------------------
public OnPlayerEnterCheckpoint(playerid)
{
  new string[256],name[MAX_PLAYER_NAME];
  switch(gPlayerCheckpointStatus[playerid]) {
  case 0,1,3: {
  if(gPlayerCheckpointStatus[playerid]!=3)SendClientMessage(playerid, COLOR_GREEN, "Use the arrow keys to move through the menu, space to select or enter to exit.");
  SendClientMessage(playerid, 0xFF8A00AA, "PS: if you dont exit the shop in 30 second you will be removed.");
  TogglePlayerControllable(playerid,0);
  removep[playerid] = SetTimerEx("ExitShop", 30000, 0, "d", playerid);
  if(gPlayerCheckpointStatus[playerid]==1)return ShowMenuForPlayer(gMenuCars,playerid);
  if(gPlayerCheckpointStatus[playerid]==3)goto skip;
  ShowMenuForPlayer(gMenu,playerid);
  inshop[playerid] = 1,inarrive[playerid]=1;
  if(isPlayerInArea(playerid,-1732.6976,263.2776,-1210.5920,519.7761))inarea[playerid] = 1;
  else if(isPlayerInArea(playerid,88.4963,1739.7535,393.5974,2116.4121))inarea[playerid]=2;
  else if(isPlayerInArea(playerid,441.2056,2584.4185,-34.1631,2326.1580))inarea[playerid]=3;}
  case 2:SendClientMessage(playerid,0xFF8A00AA,"HINT: Now you can use the command /briefing");}
  skip:
  format(string,sizeof(string),"Welcome in the ExtraShop, ~n~%s",GetPlayerName(playerid,name,sizeof(name))),GameTextForPlayer(playerid,string,2500,0);
  SendClientMessage(playerid, 0xFF8A00AA, "Usage: (/s)hop [iname]");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
  SendClientMessage(playerid, 0xFF8A00AA, "- skin   [1000$]");
  SendClientMessage(playerid, 0xFF8A00AA, "- car    [1200$]");
  SendClientMessage(playerid, 0xFF8A00AA, "- g0d    [2000$]");
  SendClientMessage(playerid, 0xFF8A00AA, "- kph    [4000$]");
  SendClientMessage(playerid, 0xFF8A00AA, "- aitems [8000$]");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
  SendClientMessage(playerid, COLOR_RED, "Type /exit for exit from the Shop.");
    return 1;
}
//-------------------------------------------------------------------------
public isPlayerInArea(playerID, Float:min_x,Float:min_y,Float:max_x,Float:max_y)
{
	new Float:X, Float:Y, Float:Z;

	GetPlayerPos(playerID, X, Y, Z);
	if(X >= min_x && X <= max_x && Y >= min_y && Y <= max_y) {
		return 1;
	}
	return 0;
}
SendClientAdminMessage(string[]) {
for(new i=0;i<MAX_PLAYERS;i++) {
if(IsPlayerAdmin(i))SendClientMessage(i,COLOR_LIGHTBLUE,string);
}return 1;}
//-------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{

 new string[256];
 new cmd[256];
 new idx;
 

 cmd = strtok(cmdtext, idx);
 
if(strcmp(cmd, "/phd", true)==0) {
cmd=strtok(cmdtext,idx);
if(strcmp(cmd,"help",true,4)==0) {
SendClientMessage(playerid,0xFFFF00AA,"This is a special Gamemode,");
SendClientMessage(playerid,0xFFFF00AA,"there are three various teams in which to spawn: Navy Seals, Militaries and Aviators;");
SendClientMessage(playerid,0xFFFF00AA,"The first team will spawn in the area of the naval base of Pearl Harbor,");
SendClientMessage(playerid,0xFFFF00AA,"and must defend it from the arrival of the enemy teams, that is the others two;");
SendClientMessage(playerid,0xFFFF00AA,"while the second and the third team will have to attack Pearl Harbor,");
SendClientMessage(playerid,0xFFFF00AA,"obviously, attacking themselves between they.");
SendClientMessage(playerid,0xFFFF00AA,"The first team that will kill more players,");
SendClientMessage(playerid,0xFFFF00AA,"in a total of twenty minuteren, will gain GM.");
SendClientMessage(playerid,0xFFFF00AA,"Numerous and special bonus, type the Pearl Harbor's Extremely Armory, equips all.");
SendClientMessage(playerid,0xFFFF00AA,"Type /cmdlist for knowing the list of Commands...");
return 1;
}
if(strcmp(cmd,"cmdlist",true,7)==0) {
SendClientMessage(playerid,0xFFFF00AA,"/phd cmdlist help about (/ad)vertisement /time");
SendClientMessage(playerid,0xFFFF00AA,"/speedo /score /kill /teleport /honour /peacemsg /ooc");
SendClientMessage(playerid,0xFFFF00AA,"/bonus /clock /check");
if(IsPlayerAdmin(playerid)){SendClientMessage(playerid,0xFFFF00AA,"/lock armory teleport briefing hud peacemsg honors ;");
SendClientMessage(playerid,0xFFFF00AA,"... bonus check /cnn /cnnn /noooc");}
return 1;
}
if(strcmp(cmd,"about",true,5)==0) {
SendClientMessage(playerid,0xFFFFFFAA,"Pearl Harbor Disaster GM 0.2");
SendClientMessage(playerid,0xFFFFFFAA,"This gamemode was created by Chiarboss");
SendClientMessage(playerid,0xFFFFFFAA,"Do NOT copy this gamemode code or part of it.");
return 1;
}
}

if(strcmp(cmd, "/cnn", true) == 0)
	{
  new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
		if (IsPlayerAdmin(playerid))
		{
			new length = strlen(cmdtext);
			while ((idx < length) && (cmdtext[idx] <= ' '))
			{
				idx++;
			}
			new offset = idx;
			new result[64];
			while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
			{
				result[idx - offset] = cmdtext[idx];
				idx++;
			}
			result[idx - offset] = EOS;
			if(!strlen(result))
			{
				SendClientMessage(playerid, COLOR_RED, "Usage: /cnn [cnn textformat ~n~=Newline ~r~=Red ~g~=Green ~b~=Blue ~w~=White ~y~=Yellow]");
				return 1;
			}
			format(string, sizeof(string), "~b~%s: ~w~%s",name,result);
			for(new i = 0; i <= MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i) == 1)
				{
					GameTextForPlayer(i, string, 5000, 6);
				}
			}
			return 1;
		}
		else
		{
			SendClientMessage(playerid, COLOR_RED, "You arent admin!!!");
		}
	}
	if(strcmp(cmd, "/cnnn", true) == 0)
	{
	new tmp[256];
		if (IsPlayerAdmin(playerid))
		{
			tmp = strtok(cmdtext, idx);
			new txtid;
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_RED, "Usage: /cnnn <type> ");
				return 1;
			}
			txtid = strval(tmp);
			if(txtid == 2)
			{
				SendClientMessage(playerid, COLOR_RED, "You cannot select 2 txtid");
				return 1;
			}
			new length = strlen(cmdtext);
			while ((idx < length) && (cmdtext[idx] <= ' '))
			{
				idx++;
			}
			new offset = idx;
			new result[64];
			while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
			{
				result[idx - offset] = cmdtext[idx];
				idx++;
			}
			result[idx - offset] = EOS;
			if(!strlen(result))
			{
				SendClientMessage(playerid, COLOR_RED, "Usage: /cnnn <type> [cnnc textformat ~n~=Newline ~r~=Red ~g~=Green ~b~=Blue ~w~=White ~y~=Yellow]");
				return 1;
			}
			format(string, sizeof(string), "~w~%s",result);
			for(new i = 0; i <= MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i) == 1)
				{
					GameTextForPlayer(i, string, 5000, txtid);
				}
			}
			return 1;
		}
		else
		{
			SendClientMessage(playerid, COLOR_RED, "You arent admin!!!");
		}
	}
	
if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
	{
	if(advex == 1) {
	if(adverts == 0) {
	new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name));
		new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
		new offset = idx;
		new result[64];
		while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
		{
			result[idx - offset] = cmdtext[idx];
			idx++;
		}
		result[idx - offset] = EOS;
		if(!strlen(result))
		{
			SendClientMessage(playerid, COLOR_RED, "Usage: (/ad)vertise [advert text]");
			return 1;
		}
		format(string, sizeof(string), "Advertisement: %s, Contact: %s",  result, name);
		SendClientMessageToAll(TEAM_GROVE_COLOR,string);
		SetTimer("Adverts",15000,0);
		adverts=1;
		printf("%s", string);
		}else{SendClientMessage(playerid,COLOR_RED,"Must passing at least 15 seconds.");}
		}else{SendClientMessage(playerid,COLOR_RED,"Advertisement system is currently disabled.");}
		return 1;
	}
	
	
if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0)
	{
		if (ooclock == 1)
		{
			SendClientMessage(playerid, COLOR_RED, "The OOC chanel has been disabled.");
			return 1;
		}
		new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name));
		new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
		new offset = idx;
		new result[64];
		while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
		{
			result[idx - offset] = cmdtext[idx];
			idx++;
		}
		result[idx - offset] = EOS;
		if(!strlen(result))
		{
			SendClientMessage(playerid, COLOR_RED, "Usage: (/o)oc [ooc chat]");
			return 1;
		}
		format(string, sizeof(string), "(( %s: %s ))", name, result);
	    SendClientMessageToAll(COLOR_ORANGE,string);
		printf("%s", string);
		return 1;
	}
	if(strcmp(cmd, "/noooc", true) == 0)
	{
	new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
		if (IsPlayerAdmin(playerid))
		{
			if(ooclock == 0) {
			ooclock = 1;
			format(string,sizeof(string),"The Admin %s has disabled the OOC chat channel.",name);
		}else{
		ooclock = 0;
		format(string,sizeof(string),"The Admin %s has enabled the OOC chat channel.",name);
		}
		SendClientMessageToAll(0xFF8A00AA,string);
	} else {
SendClientMessage(playerid, COLOR_RED, "You arent admin!!!");
	}
		return 1;
	}
	
if(strcmp(cmd,"/peacemsg",true)==0) {
new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
if(peacelock == 0) {
if(peace[playerid] != 1) {
GameTextForPlayer(playerid,"~n~~n~~w~Enjoy your new life and ~r~dont make hauled.",5000,3);
format(string,sizeof(string),"%s asks peace. Make a little favor to him! :(",name);
SendClientMessageToAll(COLOR_WHITE,string);
GivePlayerMoney(playerid,10000);
peace[playerid] = 1;
gTeam[playerid] = TEAM_N00B;
DisablePlayerCheckpoint(playerid);
SetPlayerScore(playerid,-1);
SetPlayerColor(playerid,COLOR_WHITE);
SpawnPlayer(playerid);
}else{SendClientMessage(playerid,COLOR_RED,"You have already maked the PeaceMsg. Now you are a free citizen.");}
}else{SendClientMessage(playerid,COLOR_RED,"PeaceMsg system is currently disabled.");}
return 1;
}

if(strcmp(cmd,"/peacelock",true)==0) {
new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
if(IsPlayerAdmin(playerid)) {
if(peacelock == 0) {
peacelock = 1;
format(string,sizeof(string),"The Admin %s has disabled the PeaceMsg system.",name);
}else{
peacelock = 0;
format(string,sizeof(string),"The Admin %s has enabled the PeaceMsg system.",name);
}
SendClientMessageToAll(0xFF8A00AA,string);
} else {
SendClientMessage(playerid, COLOR_RED, "You arent admin!!!");
}
return 1;
}

if(strcmp(cmd, "/inarea", true)==0) {
if(inarrive[playerid]==1) {
if(inarea[playerid]!=gTeam[playerid])SendClientMessage(playerid,COLOR_RED,"You have restored the inarea variable."),inarea[playerid]=gTeam[playerid];
else SendClientMessage(playerid,COLOR_RED,"You have enabled the inarea variable."),inarea[playerid]=inarrive[playerid];
}else{SendClientMessage(playerid,COLOR_RED,"You havent arrived into the checkpoint!");}
return 1;
}

if(strcmp(cmd, "/score", true)==0){
if(gTeam[playerid] == TEAM_NAVYSEALS){
if(nplayers!=0){new tmp[256];
format(tmp,sizeof(tmp),"~n~~b~Your currently Team: ~w~%d points ~n~~g~Militaries: ~w~%d points ~n~~r~Aviators: ~w~%d points",scores[0],scores[1],scores[2]);
GameTextForAll(tmp,3000,3);}
}
if(gTeam[playerid] == TEAM_MILITARIES){
if(nplayers!=0){new tmp[256];
format(tmp,sizeof(tmp),"~n~~b~Navyseals: ~w~%d points ~n~~g~Your currently Team: ~w~%d points ~n~~r~Aviators: ~w~%d points",scores[0],scores[1],scores[2]);
GameTextForAll(tmp,3000,3);}
}
if(gTeam[playerid] == TEAM_AVIATORS){
if(nplayers!=0){new tmp[256];
format(tmp,sizeof(tmp),"~n~~b~Navyseals: ~w~%d points ~n~~g~Militaries: ~w~%d points ~n~~r~Your currently Team: ~w~%d points",scores[0],scores[1],scores[2]);
GameTextForAll(tmp,3000,3);}
}
return 1;
}

if(strcmp(cmd, "/armorylock", true)==0) {
if(IsPlayerAdmin(playerid) == 1) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname, sizeof(pname));
 if(armory == 1) {
 armory = 0;
 format(string, sizeof(string), "The Admin %s has disabled the /armory command.", pname);
 SendClientMessageToAll(0xFF8A00AA,string);
} else {
armory = 1;
format(string, sizeof(string), "The Admin %s has enabled the /armory command.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}

if(strcmp(cmd,"/teleportlock",true)==0) {
if(IsPlayerAdmin(playerid) == 1) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname, sizeof(pname));
 if(teleport == 1) {
 teleport = 0;
 format(string, sizeof(string), "The Admin %s has disabled the /teleport command.", pname);
 SendClientMessageToAll(0xFF8A00AA,string);
} else {
teleport = 1;
format(string, sizeof(string), "The Admin %s has enabled the /teleport command.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}

if(strcmp(cmd,"/briefinglock",true)==0) {
if(IsPlayerAdmin(playerid) == 1) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname, sizeof(pname));
 if(briefingex == 1) {
 briefingex = 0;
 format(string, sizeof(string), "The Admin %s has disabled the Briefing Mode.", pname);
 SendClientMessageToAll(0xFF8A00AA,string);
} else {
briefingex = 1;
format(string, sizeof(string), "The Admin %s has enabled the Briefing Mode.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}

if(strcmp(cmd,"/bonuslock",true)==0) {
if(IsPlayerAdmin(playerid) == 1) {
new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
if(bonusex == 1) {
bonusex = 0;
EnableStuntBonusForAll(0);
format(string, sizeof(string), "The Admin %s has disabled the Bonus Mode.", name);
SendClientMessageToAll(0xFF8A00AA,string);
}else{
bonusex = 1;
EnableStuntBonusForAll(1);
format(string, sizeof(string), "The Admin %s has enabled the Bonus Mode.", name);
SendClientMessageToAll(0xFF8A00AA,string);
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}

if(strcmp(cmd,"/bonus",true)==0) {
if(bonusex == 1) {
if(bonus[playerid] == 1) {
SendClientMessage(playerid,0xFF8A00AA,"You have disabled to yourself the Bonus Mode.");
EnableStuntBonusForPlayer(playerid,0);
bonus[playerid] = 0;
}else{
SendClientMessage(playerid,0xFF8A00AA,"You have enabled to yourself the Bonus Mode.");
EnableStuntBonusForPlayer(playerid,1);
bonus[playerid] = 1;
}
}else{SendClientMessage(playerid,COLOR_RED,"Bonus Mode is already disabled!");}
return 1;
}

if(strcmp(cmd,"/clock",true)==0) {
if(clockex == 1) {
if(bonusclock[playerid] == 1) {
SendClientMessage(playerid,0xFF8A00AA,"You have disabled to yourself the Clock Mode.");
bonusclock[playerid] = 0;
}else{
SendClientMessage(playerid,0xFF8A00AA,"You have enabled to yourself the Clock Mode.");
bonusclock[playerid] = 1;
}
}else{
SendClientMessage(playerid,COLOR_RED,"Clock Mode is already disabled!");
}
return 1;
}

if(strcmp(cmd,"/adverts",true)==0) {
if(IsPlayerAdmin(playerid)) {
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
if(advex == 0) {
advex = 1;
format(string,sizeof(string),"The Admin %s has enabled the Advertisement system.",name);
} else {
advex = 0;
format(string,sizeof(string),"The Admin %s has disabled the Advertisement system.",name);
}
SendClientMessageToAll(0xFF8A00AA,string);
} else {
SendClientMessage(playerid,COLOR_RED,"You arent admin!!!");
}
return 1;
}

if(strcmp(cmd,"/clocklock",true)==0) {
if(IsPlayerAdmin(playerid)) {
new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
if(clockex == 1) {
  format(string,sizeof(string),"The Admin %s has disabled the Clock function.",name);
  SendClientMessageToAll(0xFF8A00AA,string);
  clockex = 0;
  } else {
  format(string,sizeof(string),"The Admin %s has enabled the Clock function.",name);
  SendClientMessageToAll(0xFF8A00AA,string);
  for(new i=0; i<MAX_PLAYERS; i++){TogglePlayerClock(i,0); bonusclock[i] = 0;}
  clockex = 1;
  }
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}

if(strcmp(cmd,"/hudlock",true)==0) {
  if(IsPlayerAdmin(playerid)) {
  new name[MAX_PLAYER_NAME];
  GetPlayerName(playerid,name,sizeof(name));
  if(speedo == 1) {
  format(string,sizeof(string),"The Admin %s has disabled the speedometer function.",name);
  SendClientMessageToAll(0xFF8A00AA,string);
  speedo = 0;
  } else {
  format(string,sizeof(string),"The Admin %s has enabled the speedometer function.",name);
  SendClientMessageToAll(0xFF8A00AA,string);
  speedo = 1;
  }
  } else {
  SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
  }
  return 1;
  }
  
if(strcmp(cmd,"/minigunlock",true)==0) {
if(IsPlayerAdmin(playerid) == 1) {
 if(minigun == 1) {
 minigun = 0;
 SendClientMessage(playerid,0xFF8A00AA,"You have disabled the Money-Check at the Lamer Van.");
} else {
minigun = 1;
SendClientMessage(playerid,0xFF8A00AA,"You have enabled the Money-Check at the Lamer Van.");
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}

if(strcmp(cmd,"/honorlock",true)==0) {
  if(IsPlayerAdmin(playerid)) {
  new name[MAX_PLAYER_NAME];
  GetPlayerName(playerid,name,sizeof(name));
  if(honorlock == 0) {
  format(string,sizeof(string),"The Admin %s has disabled the honor function.",name);
  SendClientMessageToAll(0xFF8A00AA,string);
  honorlock = 1;
  } else {
  format(string,sizeof(string),"The Admin %s has enabled the honor function.",name);
  SendClientMessageToAll(0xFF8A00AA,string);
  honorlock = 0;
  }
  } else {
  SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
  }
  return 1;
  }
  
if(strcmp(cmd,"/checklock",true)==0) {
new name[MAX_PLAYER_NAME];GetPlayerName(playerid,name,sizeof(name));
if(IsPlayerAdmin(playerid))
if(check==1)check=0,format(string,sizeof(string),"The Admin %s has disabled the Check function.",name),SendClientMessageToAll(0xFF8A00AA,string);else check=1,format(string,sizeof(string),"The Admin %s has enabled the Check function.",name);
else SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");return 1;}

if(strcmp(cmd,"/honour",true)==0) {
if(honorlock == 0) {
new pid,money,tmp[256],name[MAX_PLAYER_NAME],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))return SendClientMessage(playerid,COLOR_RED,"Usage: /honour [playerid]");
pid=strval(tmp),tmp=strtok(cmdtext,idx);
if(!strlen(tmp))return SendClientMessage(playerid,COLOR_RED,"Usage: /honour [playerid] [money]");
money = strval(tmp);
if(pid == playerid)return SendClientMessage(playerid,COLOR_RED,"You cannot use the Honour Command to yourself.");
if(pid != INVALID_PLAYER_ID) {
if(GetPlayerScore(playerid) >= 10) {
if(money <= GetPlayerMoney(playerid)) {
if(money >= 100000) {
if(gTeam[pid] == gTeam[playerid]) {
GetPlayerName(pid,playername,sizeof(playername));
format(string,sizeof(string),"%s has placed a Honour Contract to %s for %d",name,playername,money);
SendClientMessageToAll(0xFF8A00AA,string),
format(string,sizeof(string),"G00d job %s. Now your health is upgraded to %s",name,money);
SendClientMessage(playerid,COLOR_WHITE,string);
GivePlayerMoney(playerid,-money);
GivePlayerMoney(pid,money);
new Float:health;
GetPlayerHealth(playerid,health);
SetPlayerHealth(playerid,health+money);
SetPlayerScore(playerid,GetPlayerScore(playerid)+10);
}else{SendClientMessage(playerid,COLOR_RED,"You can use the Honour Command only at the member of your Team.");}
}else{SendClientMessage(playerid,COLOR_RED,"You must give at least 100000$ for upgrade your health.");}
}else{SendClientMessage(playerid,0xFF8A00AA,"You dont have enough money! Kill to earn and come back!.");}
}else{SendClientMessage(playerid,0xFF8A00AA, "You dont have enough points! Kill to earn and come back!");}
}else{SendClientMessage(playerid,COLOR_RED,"This is an invalid playerID. Press TAB for see the all valids playerID");}
}else{SendClientMessage(playerid,COLOR_RED,"Honour Function has been disabled.");}
return 1;
}

if(strcmp(cmd,"/briefing",true)==0){switch(gTeam[playerid]){case 1:SetupForBriefing(playerid,-1732.6976,263.2776,-1210.5920,519.7761);case 2:SetupForBriefing(playerid,88.4963,1739.7535,393.5974,2116.4121);case 3:SetupForBriefing(playerid,441.2056,2584.4185,-34.1631,2326.1580);}return 1;}

if(strcmp(cmd,"/checkscan",true)==0) {
if(IsPlayerAdmin(playerid)) {
if(check==1) {
new pid,name[MAX_PLAYER_NAME],playername[MAX_PLAYER_NAME];
cmd=strtok(cmdtext,idx);
if(!strlen(cmd))return SendClientMessage(playerid,COLOR_RED,"Usage: /checkscan [playerid]");
pid=strval(cmd);
if(pid==INVALID_PLAYER_ID)return SendClientMessage(playerid,COLOR_RED,"This is an invalid playerID. Press TAB for see the all valids playerID");
GetPlayerName(playerid,name,sizeof(name)),GetPlayerName(pid,playername,sizeof(playername));
format(string,sizeof(string),"NEWS: Currently %s's Check is (%s)",name,gPlayer(pid)),SendClientMessage(playerid,0xFF8A00AA,string);
format(string,sizeof(string),"ADVISE: The Admin %s has checked your Currently Status...",name),SendClientMessage(pid,COLOR_RED,string);
}else{SendClientMessage(playerid,COLOR_RED,"Check system is currently disabled.");}}else{SendClientMessage(playerid, COLOR_RED, "You arent admin!!!");}return 1;}

if(strcmp(cmd,"/check",true)==0) {
cmd=strtok(cmdtext,idx);
if(check==0)return SendClientMessage(playerid,COLOR_RED,"Check system is currently disabled.");
if(GetPlayerMoney(playerid)<1800)return SendClientMessage(playerid,COLOR_RED,WARNING);
if(strcmp(cmd,"shop",true,4)==0) {
cmd=strtok(cmdtext,idx);
if(!strlen(cmd))return SendClientMessage(playerid,COLOR_RED,"Usage: (/c)heck shop [type]");
if(strval(cmd)<1&&strval(cmd)>2)return SendClientMessage(playerid,COLOR_RED,"Syntax Error: <1 or 2>");
return SetupForCheckpoint(playerid,0,strval(cmd)),GivePlayerMoney(playerid,-1800),SendClientMessage(playerid,0xFF8A00AA,"HINT: Current Checkpoint: Shop");}
GivePlayerMoney(playerid,-1800);
if(strcmp(cmd,"docks",true,4)==0)return SetupForCheckpoint(playerid,1,0),SendClientMessage(playerid,0xFF8A00AA,"HINT: Current Checkpoint: CarShop");
if(strcmp(cmd,"briefing",true,4)==0)return SetupForCheckpoint(playerid,2,0),SendClientMessage(playerid,0xFF8A00AA,"HINT: Current Checkpoint: Briefing");
if(strcmp(cmd,"extrashop",true,9)==0)return SetupForCheckpoint(playerid,3,0),SendClientMessage(playerid,0xFF8A00AA,"HINT: Current Checkpoint: ExtraShop");
SendClientMessage(playerid, 0xFF8A00AA, "Usage: (/c)heck [cname]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
SendClientMessage(playerid, 0xFF8A00AA, "- shop (1-2)");
SendClientMessage(playerid, 0xFF8A00AA, "- docks");
SendClientMessage(playerid, 0xFF8A00AA, "- briefing");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
SendClientMessage(playerid,COLOR_RED,"ADVISE: At Least 1800$ for each selection.");
return 1;}

if(strcmp(cmd,"/speedo",true)==0) {
cmd=strtok(cmdtext,idx);
 if(speedo == 1) {
 if(strcmp(cmd,"kmh",true,3)==0)return confirmspeedo[playerid]=2,SendClientMessage(playerid,0xFF8A00AA,"You have choiced the KM/H speedometer.");
 if(strcmp(cmd,"mph",true,3)==0)return confirmspeedo[playerid] = 1,SendClientMessage(playerid,0xFF8A00AA,"You have choiced the MpH (default) speedometer.");
 if(strcmp(cmd,"kph",true,3)==0) {
 if(item[playerid][0]==1)return confirmspeedo[playerid]=3,SendClientMessage(playerid,0xFF8A00AA,"You have choiced the KpH speedometer.");
 SendClientMessage(playerid,COLOR_RED,"- Not a buyable element (404) -");
 }
SendClientMessage(playerid, 0xFF8A00AA, "Usage: /speedo [sname]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
SendClientMessage(playerid, 0xFF8A00AA, "- mph ");
SendClientMessage(playerid, 0xFF8A00AA, "- kmh");
if(item[playerid][0]==1)SendClientMessage(playerid, 0xFF8A00AA, "- kph");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
}else{SendClientMessage(playerid,COLOR_RED,"One admin has disabled this command.");}return 1;}
  
if(strcmp(cmd,"/shop",true)==0||strcmp(cmd,"/s",true)==0) {
cmd=strtok(cmdtext,idx);
new Float:x,Float:y,Float:z,Float:zangle;GetPlayerPos(playerid,x,y,z),GetPlayerFacingAngle(playerid,zangle);
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
if(gPlayerCheckpointStatus[playerid]==3) {
if(IsPlayerInCheckpoint(playerid)) {
if(strcmp(cmd,"skin",true,4)==0){
if(GetPlayerMoney(playerid) >= 1000)return SetPlayerSkin(playerid,0),GivePlayerMoney(playerid,-1000),format(string,sizeof(string),"- %s has bought a Skin for 1000$ -",name),SendClientAdminMessage(string);
SendClientMessage(playerid,COLOR_RED,WARNING);
}
if(strcmp(cmd,"car",true,3)==0){
if(GetPlayerMoney(playerid)>=1200)return PutPlayerInVehicle(playerid,CreateVehicle(411,x-2.5,y,z,zangle,13,13,0),0),GivePlayerMoney(playerid,-1200),format(string,sizeof(string),"- %s has bought an Infernus for 1200$ -",name),SendClientAdminMessage(string);
SendClientMessage(playerid,COLOR_RED,WARNING);
}
if(strcmp(cmd,"kph",true,3)==0){
if(GetPlayerMoney(playerid)>=2000)return item[playerid][0]=1,GivePlayerMoney(playerid,-2000),SendClientMessage(playerid,COLOR_GREEN,"You have bought a KpH stabilizer for 2000$.");
SendClientMessage(playerid,COLOR_RED,WARNING);
}
if(strcmp(cmd,"g0d",true,3)==0) {
if(GetPlayerMoney(playerid)>=4000)return SetPlayerHealth(playerid,100000),format(string,sizeof(string),"- WARNING! %s is a g0d. He's n00b$ -",name),SendClientMessageToAll(0xC10000AA,string),SendClientMessage(playerid,COLOR_YELLOW,"You have now a g0d. But dont abuse it!!!");
}
if(strcmp(cmd,"aitems",true,6)==0) {
if(GetPlayerMoney(playerid)>=8000)return item[playerid][1]=1,GivePlayerMoney(playerid,-8000),format(string,sizeof(string),"- %s has bought a Additional Armory Items for 8000$ -",name),SendClientAdminMessage(string);
SendClientMessage(playerid,COLOR_RED,WARNING);
}
}else{SendClientMessage(playerid,COLOR_RED,"You arent in the ExtraShop Checkpoint.");}}else{SendClientMessage(playerid,COLOR_RED,"Your currently checkpoint isnt ExtraShop.");}return 1;}

if(strcmp(cmd, "/armory", true)==0||strcmp(cmd,"/a",true)==0)
{
cmd=strtok(cmdtext,idx);
 if(armory == 1) {
 if(gTeam[playerid] != TEAM_N00B) {
if(inarmory[playerid]==1) {
if (strcmp(cmd, "combat", true,6)==0) {
  if(GetPlayerMoney(playerid) >= 1000){
  SendClientMessage(playerid, COLOR_RED, "- You have bought a Combat Shotgun for 1200$. -");
  GivePlayerWeapon(playerid, 27, 99999);
  GivePlayerMoney(playerid, -1000);
  inarmory[playerid]=0;
}else{SendClientMessage(playerid, COLOR_RED, "You dont have enough money! Kill to earn and come back!");}return 1;}
if(strcmp(cmd,"grenades", true,8)==0) {
  if(GetPlayerMoney(playerid) >= 1200){
  SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a Grenades Pack for 1200$. -");
  GivePlayerWeapon(playerid, 16, 20);
  GivePlayerMoney(playerid, -1200);
  inarmory[playerid]=0;
}else{SendClientMessage(playerid, COLOR_RED, "You dont have enough money! Kill to earn and come back!");}return 1;}
if(strcmp(cmd,"rocket", true,6)==0) {
  if(GetPlayerMoney(playerid) >= 2000){
  SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a Rocket Launcher for 1200$. -");
  GivePlayerWeapon(playerid, 36, 5);
  GivePlayerMoney(playerid, -2000);
  inarmory[playerid]=0;
}else{SendClientMessage(playerid, COLOR_RED, "You dont have enough money! Kill to earn and come back!");}return 1;}
if(item[playerid][1]==1) {
if(strcmp(cmd,"skinsel", true,7)==0) {
if(GetPlayerMoney(playerid)>=4000) {
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerCameraLookAt(playerid, x, y, z);
GetXYInFrontOfPlayer(playerid, x, y, 3.5);
SetPlayerCameraPos(playerid, x, y, z);
TogglePlayerControllable(playerid, 0);
gPlayerTimerSkin[playerid]=SetTimerEx("SkinSelect", 200, 1, "i", playerid);
}else{SendClientMessage(playerid,COLOR_RED,WARNING);}return 1;}
if(strcmp(cmd,"colorsel",true,8)==0) {
if(GetPlayerMoney(playerid)>=4100) {
cmd=strtok(cmdtext,idx);
if(!strlen(cmd)) {
SendClientMessage(playerid, 0xFF8A00AA,"Usage: /a colorsel [ncol]");
//SendClientMessage(playerid,0xFF8A00AA,"You can choice:");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
SendClientMessage(playerid, 0xFF8A00AA, "- yellow - red - blue - green");
SendClientMessage(playerid, 0xFF8A00AA, "- grey - pink - white - black");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
SendClientMessage(playerid, COLOR_RED, "For any color, you can use the prefix -light- or -dark-");
return 1;
}
new name[MAX_PLAYER_NAME];
if(strcmp(cmd,"red",true)==0)SetPlayerColor(playerid,COLOR_RED),string="Red";
else if(strcmp(cmd,"yellow",true)==0)SetPlayerColor(playerid,COLOR_YELLOW),string="Yellow";
else if(strcmp(cmd,"blue",true)==0)SetPlayerColor(playerid,COLOR_BLUE),string="Blue";
else if(strcmp(cmd,"green",true)==0)SetPlayerColor(playerid,COLOR_GREEN),string="Green";
else if(strcmp(cmd,"grey",true)==0)SetPlayerColor(playerid,COLOR_GREY),string="Grey";
else if(strcmp(cmd,"white",true)==0)SetPlayerColor(playerid,COLOR_WHITE),string="White";
else if(strcmp(cmd,"darkgreen",true)==0)SetPlayerColor(playerid,COLOR_DARKGREEN),string="Green";
else if(strcmp(cmd,"darkred",true)==0)SetPlayerColor(playerid,COLOR_DARKRED),string="Red";
else if(strcmp(cmd,"darkblue",true)==0)SetPlayerColor(playerid,COLOR_DARKBLUE),string="Blue";
else if(strcmp(cmd,"darkyellow",true)==0)SetPlayerColor(playerid,COLOR_DARKYELLOW),string="Yellow";
else if(strcmp(cmd,"lightgreen",true)==0)SetPlayerColor(playerid,COLOR_LIGHTGREEN),string="Green";
else if(strcmp(cmd,"lightred",true)==0)SetPlayerColor(playerid,COLOR_LIGHTRED),string="Red";
else if(strcmp(cmd,"lightblue",true)==0)SetPlayerColor(playerid,COLOR_LIGHTBLUE),string="Blue";
else if(strcmp(cmd,"lightyellow",true)==0)SetPlayerColor(playerid,COLOR_LIGHTYELLOW),string="Yellow";
else if(strcmp(cmd,"pink",true)==0)SetPlayerColor(playerid,COLOR_PINK),string="Pink";
else if(strcmp(cmd,"invis",true)==0)if(GetPlayerMoney(playerid)>=20000)SetPlayerColor(playerid,COLOR_INVIS),GivePlayerMoney(playerid,-2000),string="White";else SendClientMessage(playerid,COLOR_RED,WARNING);
else if(strcmp(cmd,"black",true)==0)SetPlayerColor(playerid,COLOR_BLACK),string="Black";
format(string,sizeof(string),"- %s changed his color as (%s) -",GetPlayerName(playerid,name,sizeof(name)),string),SendClientMessageToAll(COLOR_WHITE,string);
}else{SendClientMessage(playerid,COLOR_RED,WARNING);}return 1;
}
if(strcmp(cmd,"namesel",true,7)==0) {
new oldname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
if(GetPlayerMoney(playerid)>=4500) {
cmd=strtok(cmdtext,idx),GetPlayerName(playerid,oldname,sizeof(oldname));
if(!strlen(cmd))return SendClientMessage(playerid,COLOR_RED,"Usage: /a namesel [name]");
SetPlayerName(playerid,cmd);
format(string,sizeof(string),"WARNING! %s changed his name in: %s",oldname,GetPlayerName(playerid,name,sizeof(name))),SendClientAdminMessage(string);
}else{SendClientMessage(playerid,COLOR_RED,WARNING);}return 1;}
if(strcmp(cmd,"alert",true,5)==0) {
if(GetPlayerMoney(playerid)>=8000) {
if(!strlen(cmd))return SendClientMessage(playerid,COLOR_RED,"Usage: /a alert");
if(alert[playerid]==0){alert[playerid]=1,color[playerid]=GetPlayerColor(playerid),gRoundTimerEx[playerid]=SetTimerEx("ExitLauncherConfigCash",1000,1,"d",playerid);}else{alert[playerid]=0,color[playerid]=0,KillTimer(gRoundTimerEx[playerid]);}
}else{SendClientMessage(playerid,COLOR_RED,WARNING);}return 1;}
}else{return SendClientMessage(playerid,COLOR_RED,"- Not a buyable element (404) -");}
}
  new pname[MAX_PLAYER_NAME];
  GetPlayerName(playerid,pname, sizeof(pname));
  inarmory[playerid] = 1;
  format(string, sizeof(string), "- Welcome to your Personal Armory, %s; -", pname);
  SendClientMessage(playerid, COLOR_RED, string);
  if(item[playerid][1]<1)SendClientMessage(playerid, 0xFF8A00AA, "Usage: (/a)rmory [wname]");else SendClientMessage(playerid, COLOR_RED, "Usage: (/a)rmory [iname]");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
  SendClientMessage(playerid, 0xFF8A00AA, "- combat   [1000$]");
  SendClientMessage(playerid, 0xFF8A00AA, "- grenades [1200$]");
  SendClientMessage(playerid, 0xFF8A00AA, "- rocket   [2000$]");
  if(item[playerid][1]==1){SendClientMessage(playerid, 0xFF8A00AA, "- skinsel  [4000$]");
  SendClientMessage(playerid, 0xFF8A00AA, "- colorsel [4100$]");
  SendClientMessage(playerid, 0xFF8A00AA, "- namesel  [4500$]");
  SendClientMessage(playerid, 0xFF8A00AA, "- alert    [8000$]");}
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
}else{GameTextForPlayer(playerid,"~n~~n~~w~You cannot use this command. ~r~Remember ~w~your ~r~promise?",5000,3);}
} else {
SendClientMessage(playerid,0xFF8A00AA,"This command has been disabled.");
}
return 1;
}

if (strcmp(cmd, "/teleport", true)==0||strcmp(cmd,"/t",true)==0) {
 if(teleport == 1) {
  if(GetPlayerScore(playerid) >= 5) {
  if(GetPlayerMoney(playerid) >= 1200){
  new pname[MAX_PLAYER_NAME];
  new pid;
  new tmp[256];
  tmp = strtok(cmdtext,idx);
  if(!strlen(tmp)) {
  if(gTeam[playerid]==TEAM_NAVYSEALS){SetPlayerPos(playerid,AREA_PH);}
  else if(gTeam[playerid]==TEAM_MILITARIES){SetPlayerPos(playerid,AREA_69);}
  else if(gTeam[playerid]==TEAM_AVIATORS){SetPlayerPos(playerid,AREA_VM);}
  }
  pid = strval(tmp);
  GetPlayerName(playerid,pname, sizeof(pname));
  if(pid > 0 && pid < 4) {
  switch(pid) {
  case 1: {
  format(string, sizeof(string), "- %s teleported to Pearl Harbor Naval Base for 1000$. -",pname);
  SendClientMessageToAll(0xFF8A00AA,string);
  SetPlayerPos(playerid,AREA_PH);
  }
  case 2: {
  format(string, sizeof(string), "- %s teleported to Area69 Military Base for 1000$. -",pname);
  SendClientMessageToAll(0xFF8A00AA,string);
  SetPlayerPos(playerid,AREA_69);
  }
  case 3: {
  format(string, sizeof(string), "- %s teleported to Verdant Meadows Plane's Cemetary for 1000$. -",pname);
  SendClientMessageToAll(0xFF8A00AA,string);
  SetPlayerPos(playerid,AREA_VM);
  }
  }
  GivePlayerMoney(playerid, -1200);
  } else {
  SendClientMessage(playerid,COLOR_RED,"Invalid Area ID!");
  SendClientMessage(playerid,0xFF8A00AA,"You can choice:");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
  SendClientMessage(playerid, 0xFF8A00AA, "- Pearl Harbor Naval Base (1)");
  SendClientMessage(playerid, 0xFF8A00AA, "- Area69 Military Base (2)");
  SendClientMessage(playerid, 0xFF8A00AA, "- Verdant Meadows Plane's Cemetary (3)");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
  }
} else {
  SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!.");
}
} else {
  SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough points! Kill to earn and come back!.");
}
} else {
SendClientMessage(playerid,0xFF8A00AA,"This command has been disabled.");
}
return 1;
}

if(strcmp(cmd,"/kill",true)==0) {
if(gTeam[playerid] != TEAM_N00B) {
SetPlayerHealth(playerid,0);
}else{GameTextForPlayer(playerid,"~n~~n~~w~YOU CANNOT SUICIDE. ~r~N00B.",5000,3);}
return 1;
}

if(strcmp(cmd,"/vshop",true)==0||strcmp(cmd,"/v",true)==0) {
cmd=strtok(cmdtext,idx);
if(IsPlayerInVehicle(playerid,78) || IsPlayerInVehicle(playerid,79) || IsPlayerInVehicle(playerid,82))
{
if(strcmp(cmd, "ammunation", true,9) == 0||strcmp(cmd,"ammu",true,4)==0){
if(GetPlayerMoney(playerid) >= 1000)
	{
        new name[MAX_PLAYER_NAME];
	    GetPlayerName(playerid,name, sizeof(name));
	    switch(gTeam[playerid]){case 1:string="Ocean Flats",SetPlayerPos(playerid,-2624.3574,209.5999,4.6575);case 2:string="Fort Carson",SetPlayerPos(playerid,-314.9772,828.3542,14.2422);case 3:string="Whitewood Estate",SetPlayerPos(playerid,778.1782,1869.5940,4.8951);}
             format(string, sizeof(string), "- %s teleported to %s Ammunation for 1000$. -",name,string);
             KillTimer(removev[playerid]);
 SendClientMessageToAll(0xFF8A00AA,string);
 GivePlayerMoney(playerid, -1000);
}else{SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");}return 1;}
if(strcmp(cmd, "mac10", true,5) == 0)
{
if(GetPlayerMoney(playerid) >= 1200)
	{
       new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name, sizeof(name));
             format(string, sizeof(string), "- %s bought a Mac10 for 1200$. -",name);
             GivePlayerWeapon(playerid, 28, 2000);
             KillTimer(removev[playerid]);
 SendClientMessageToAll(0xFF8A00AA, string);
 GivePlayerMoney(playerid, -1200);
}else{SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");}return 1;}
if(strcmp(cmd, "rifle", true,5) == 0)
{
if(GetPlayerMoney(playerid) >= 2000)
	{
        new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name, sizeof(name));
             format(string, sizeof(string), "- %s bought a Rifle for 2000$. -",name);
             GivePlayerWeapon(playerid, 33, 500);
             KillTimer(removev[playerid]);
  SendClientMessageToAll(0xFF8A00AA, string);
  GivePlayerMoney(playerid, -2000);
}else{SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");}return 1;}
SendClientMessage(playerid, 0xFF8A00AA, "Usage: (/v)shop [wname]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
SendClientMessage(playerid, 0xFF8A00AA, "- ammunation [1000$]");
SendClientMessage(playerid, 0xFF8A00AA, "- mac10      [1200$]");
SendClientMessage(playerid, 0xFF8A00AA, "- rifle      [2000$]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
}else{SendClientMessage(playerid, 0xFF8A00AA, "You arent in one of Vehicle Shop!");}
return 1;}

if(strcmp(cmd, "/exit", true) == 0)
{
if((IsPlayerInVehicle(playerid,78)||IsPlayerInVehicle(playerid,79)||IsPlayerInVehicle(playerid,82))||gPlayerCheckpointStatus[playerid]==3&&IsPlayerInCheckpoint(playerid)) {
if(IsPlayerInVehicle(playerid,78)||IsPlayerInVehicle(playerid,79)||IsPlayerInVehicle(playerid,82)) {
TogglePlayerControllable(playerid,1);
RemovePlayerFromVehicle(playerid);
KillTimer(removev[playerid]);
}else{if(gPlayerCheckpointStatus[playerid]==3&&IsPlayerInCheckpoint(playerid))SendClientMessage(playerid,COLOR_LIGHTBLUE,"Successfully exited from the ExtraShop."),SetPlayerPos(playerid,-2506.8867-2,2347.9814,4.9802);}
}else{SendClientMessage(playerid,COLOR_RED,"ERROR: Unavailable Command. (404)");}
return 1;}

return SendClientMessage(playerid,COLOR_WHITE,"ERROR: Unknown Command");
}
//-------------------------------------------------------------------------
GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
{	// Created by Y_Less

	new Float:as;
	GetPlayerPos(playerid, x, y, as);
	GetPlayerFacingAngle(playerid, as);

	if (GetPlayerVehicleID(playerid)) {
	GetVehicleZAngle(GetPlayerVehicleID(playerid), as);
	}

	x += (distance * floatsin(-as, degrees));
	y += (distance * floatcos(-as, degrees));
}
//-------------------------------------------------------------------------
public SkinSelect(playerid)
{ // Created by Simon
   /*
	// Make sure the player is not in skin selection before continuing
	if (gPlayerStatus[playerid] != SKIN_SEL_STAT) {
		KillTimer(skinTimerID[playerid]);
return;
	}*/


	new keys, updown, leftright;

GetPlayerKeys(playerid, keys, updown, leftright);

	new cString[128];

	// Right key increases Skin ID
	if (leftright == KEY_RIGHT) {
		if(curPlayerSkin[playerid] == 299) {
			curPlayerSkin[playerid] = 0;
		}
		else {
			curPlayerSkin[playerid]++;
	}
		while(IsInvalidSkin(curPlayerSkin[playerid])) {
			curPlayerSkin[playerid]++;
		}

		format(cString, 128, "[SKIN] Skin ID: %d", curPlayerSkin[playerid]);
	GameTextForPlayer(playerid, cString, 1500, 3);
	SetPlayerSkin(playerid, curPlayerSkin[playerid]);
	}

	// Left key decreases Skin ID
	if(leftright == KEY_LEFT) {
 		if(curPlayerSkin[playerid] == 0) {
			curPlayerSkin[playerid] = 299;
		}
		else {
			curPlayerSkin[playerid]--;
		}
		while(IsInvalidSkin(curPlayerSkin[playerid])) {
			curPlayerSkin[playerid]--;
		}

		format(cString, 128, "[SKIN] Skin ID: %d", curPlayerSkin[playerid]);
		GameTextForPlayer(playerid, cString, 1500, 3);
		SetPlayerSkin(playerid, curPlayerSkin[playerid]);
	}

	// Action key exits skin selection
	if(keys & KEY_ACTION)
	{
		SetCameraBehindPlayer(playerid);
		TogglePlayerControllable(playerid, 1);

		format(cString, 128, "[SKIN] You selected %d", curPlayerSkin[playerid]);
		GivePlayerMoney(playerid,-4000);
		//skins[playerid] = curPlayerSkin[playerid];
		SendClientMessage(playerid, COLOR_GREEN, cString);
		KillTimer(gPlayerTimerSkin[playerid]);
	}
}

stock IsInvalidSkin(skinid)
{ // Created by Simon
	// Checks whether the skinid parsed is crashable or not.

	#define	MAX_BAD_SKINS 15

	new badSkins[MAX_BAD_SKINS] = {
		0, 3, 4, 5, 6, 8, 42, 65, 74, 86,
		119, 149, 208, 273, 289
	};

	for (new i = 0; i < MAX_BAD_SKINS; i++) {
	if (skinid == badSkins[i]) return true;
	}

	return false;
}
//-------------------------------------------------------------------------
stock gPlayer(playerid){new string[256];switch(gPlayerCheckpointStatus[playerid]){case 0:string="Shop";case 1:string="Docks Section";case 2:string="Briefing Control";}return string;}
stock SetupForBriefing(playerid,Float:min_x,Float:min_y,Float:max_x,Float:max_y) {
if(!isPlayerInArea(playerid,min_x,min_y,max_x,max_y))return SendClientMessage(playerid,COLOR_RED,"You arent in the checkpoint Zone.");
if(gPlayerCheckpointStatus[playerid]==1) {
if(IsPlayerInCheckpoint(playerid)) {
if(briefingex == 1) {
 if(briefing[playerid] == 1) {
 briefing[playerid] = 0;
 SendClientMessage(playerid,0xFF8A00AA,"You have disabled the Briefing Mode to yourself");
} else {
briefing[playerid] = 1;
SendClientMessage(playerid,0xFF8A00AA,"You have enabled the Briefing Mode to yourself");
}
} else {
SendClientMessage(playerid,COLOR_RED,"Briefing Mode is already disabled!");
}
}else{SendClientMessage(playerid,COLOR_RED,"You arent in the Briefing Checkpoint!!!");}
}else{SendClientMessage(playerid,COLOR_RED,"Type /check, so you can modify the Checkpoint variable");}
return 1;
}
//-------------------------------------------------------------------------
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;
}
public ExitShop(playerid){
SendClientMessage(playerid, 0xFF8A00AA, "You got removed from shop! Dont use the shop like a n00b!"),ResetVariables(playerid);
return 1;}
//-------------------------------------------------------------------------
public IsPlayerNameOnline(compname[])
{
	new playername[MAX_PLAYER_NAME];
    for(new i=0;i<=MAX_PLAYERS;i++)
	{
        if(IsPlayerConnected(i))
		{
            GetPlayerName(i, playername, sizeof(playername));
            if(strcmp(playername,compname,false) == 0)
			{
                return i;
			}
		}
	}
	return 100;
}
//-------------------------------------------------------------------------
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 CheckScore(){
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);
	   }
	 }
SetTimer("GameModeExitFunc", 5000, 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 SOLDIER!!!", giveplayername);
      GameTextForAll(string,5000,6);
   }
}
}
//-------------------------------------------------------------------------
stock EndTheRound() {
for (new i=0; i<MAX_PLAYERS; i++) {
    if (IsPlayerConnected(i)) {
	     TogglePlayerControllable(i,0);
	     RemovePlayerFromVehicle(i);
	   }
	 }
KillTimer(gRoundTimer);
for(new g=0; g<MAX_GANG_ZONES; g++)GangZoneStopFlashForAll(g);
if(scores[0]>scores[1]>scores[2]){GameTextForAll("The ~b~Navyseals Team ~y~wins!", 5000, 6);for(new g=0; g<MAX_GANG_ZONES; g++){GangZoneShowForAll(g,COLOR_DARKBLUE);}}
else if(scores[1]>scores[0]>scores[2]){GameTextForAll("The ~g~Militaries Team ~y~wins!", 5000, 6);for(new g=0; g<MAX_GANG_ZONES; g++){GangZoneShowForAll(g,COLOR_DARKGREEN);}}
else if(scores[2]>scores[0]>scores[1]){GameTextForAll("The ~r~Aviators Team ~y~wins!", 5000, 6);for(new g=0; g<MAX_GANG_ZONES; g++){GangZoneShowForAll(g,COLOR_DARKRED);}}
else if(scores[0] == scores[1] && scores[1] == scores[2] && scores[2] == scores[0]){GameTextForAll("~y~Incredible... DRAW!!!", 5000, 6);}
SetTimer("CheckScore",6000,0);
return 1;}
//-------------------------------------------------------------------------
public GameModeExitFunc() {
for (new i=0; i<MAX_PLAYERS; i++) {
    if (IsPlayerConnected(i)) {
     SendClientMessage(i,0xFF8A00AA,"Thanks for have played at Pearl Harbor Disaster GM 0.2");
	   }
	 }
GameModeExit(); }
public ExitLauncherConfigCash(playerid){if(colorex[playerid]==1)colorex[playerid]=0,SetPlayerColor(playerid,color[playerid]);else colorex[playerid]=1,SetPlayerColor(playerid,COLOR_INVIS);
return 1;}
//-------------------------------------------------------------------------
SetPlayerClass(playerid, classid) {

if(peace[playerid] == 0) {
if(classid == 0) {
gTeam[playerid] = TEAM_NAVYSEALS,inarea[playerid]=1;

} else if(classid == 1) {

gTeam[playerid] = TEAM_MILITARIES,inarea[playerid]=2;

} else if(classid == 2) {

gTeam[playerid] = TEAM_AVIATORS,inarea[playerid]=3;
}
}else{
gTeam[playerid] = TEAM_N00B;
}
}
public Adverts()return adverts=0;