All pastes #552805 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-06-09 13:26 UTC
rendered paste body
#include <a_samp>

//========================================================================================

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

#define COLOR_GREY       0xAFAFAFAA
#define COLOR_GREEN      0x33AA33AA
#define COLOR_RED        0xFF4500AA
#define COLOR_YELLOW     0xFFFF00AA
#define COLOR_WHITE      0xFFFFFFAA
#define COLOR_ORANGE     0xFF9900AA
#define COLOR_DODGEBLUE  0x1E90FFAA
#define COLOR_LIME       0x00FF00AA
#define COLOR_CORNBLUE   0x6495EDAA
#define COLOR_SEAGREEN   0x8FBC8FAA
#define COLOR_AQUAMARINE 0x7FFFD4AA
#define COLOR_HAKI       0xBDB76BAA
#define COLOR_CORAL      0xF08080AA

#define CLASS_OUTSIDE_INT   playerid,0
#define CLASS_PLAYER_POS    playerid,508.7362,-87.4335,998.9609
#define CLASS_CAM_POS       playerid,508.7362,-83.4335,998.9609
#define CLASS_CAM_LOOKAT    playerid,508.7362,-87.4335,998.9609
#define CLASS_FACE_ANGLE    playerid,0.0

//========================================================================================

new bool:CamMode[MAX_PLAYERS],
	Float:modz[MAX_PLAYERS],
	Float:modx[MAX_PLAYERS],
	Float:mody[MAX_PLAYERS];
	
new ownedcar[MAX_PLAYERS];
new owner[256];
new falseowner[MAX_PLAYERS];
new Float:gPositions[MAX_PLAYERS][4];

new CheckpointStatus[MAX_PLAYERS];
#define CP_NONE     0
#define CP_GF       1
#define CP_BERND    2


//We create our object variable
new MyObject;


// Camera follow (id) ///////////
new gPlayerCameraID[MAX_PLAYERS];
/////////////////////////////////

new bool:Director[MAX_PLAYERS];
new Float:MySpawnPos[MAX_PLAYERS][5];
new gClassInfo[MAX_PLAYERS];


new Skins[52] =
	{
    2,92,100,192,29,16,93,26,50,60,27,58,160,121,67,285,23,
	68,72,78,82,162,167,241,248,294,298,293,292,291,290,284,
	181,191,197,200,206,213,
	247,259,261,264,276,128,
	278,282,161,236,248,260,117,120
    };

new Float:SpawnClass[4] = {-2026.3768,149.1964,28.8359};

new SpawnWeapons[52][6] =
	{
	{9,1,0,0,0,0},
	{4,1,0,0,0,0},
	{17,50,0,0,0,0},
	{18,50,0,0,0,0},
    {16,50,0,0,0,0},
	{24,500,0,0,0,0},
	{25,500,0,0,0,0},
	{14,1,0,0,0,0},
	{18,50,0,0,0,0},
	{5,1,0,0,0,0},
	{43,50,0,0,0,0},
	{0,0,0,0,0,0},
    {37,5000,0,0,0,0},
	{9,1,0,0,0,0},
	{6,1,0,0,0,0},
	{28,9000,0,0,0,0},
	{31,900,0,0,0,0},
	{32,7000,0,0,0,0},
	{24,500,0,0,0,0},
	{0,0,0,0,0,0},
	{28,9000,0,0,0,0},
	{31,700,0,0,0,0},
	{26,7000,0,0,0,0},
	{22,1000,0,0,0,0},
	{31,700,0,0,0,0},
	{26,7000,0,0,0,0},
	{22,1000,0,0,0,0},
	{42,5000,0,0,0,0},
	{28,5000,0,0,0,0},
	{30,4000,0,0,0,0},
	{29,3000,0,0,0,0},
	{26,7000,0,0,0,0},
	{5,1,0,0,0,0},
	{7,1,0,0,0,0},
	{31,700,0,0,0,0},
	{9,1,0,0,0,0},
	{12,1,0,0,0,0},
	{14,1,0,0,0,0},
	{26,4000,0,0,0,0},
	{32,3000,0,0,0,0},
	{9,1,0,0,0,0},
	{4,1,0,0,0,0},
    {28,5000,0,0,0,0},
    {22,1000,0,0,0,0},
    {4,1,0,0,0,0},
    {4,1,0,0,0,0},
    {30,4000,0,0,0,0},
    {23,400,0,0,0,0},
	{2,1,0,0,0,0},
	{14,1,0,0,0,0},
	{34,100,0,0,0,0},
	{43,500,0,0,0,0}
	};

//========================================================================================

main()
{
	print("\n----------------------------------");
	print("  MOVIE MODE");
	print("----------------------------------\n");
}

//========================================================================================

public OnGameModeInit()
{

	//We create out object
	//icon camera(1253)  safe(2003-2006)  bodybags (16444)  bigroadblock(16436,1662)  ramps(1245,1503,1660,1631,1632)  cigarette(1485)
	//hütchen(1238)  boddyparts(2905-2908)
	MyObject = CreateObject(354, -2662.7451,1933.2261,225.7578, 0, 0, 0);
	CreateObject(2892,-974.6503,1725.9846,29.6337,0, 0, 0);//stinger
	CreateObject(16439,232.8440,23.6358,3.2509,0,0,0);//roadblock
	CreateObject(1662,316.2527,-386.7733,9.2345,0,0,0);//roadblock
	CreateObject(1228,-976.9357,1729.1188,30.3,0,0,0);//policeroadblock
	CreateObject(1228,-976.7708,1726.0425,30.3,0,0,0);//policeroadblock
	CreateObject(1228,-976.9357,1723.1188,30.3,0,0,0);//policeroadblock
	CreateObject(13666,1430.8425,1440.4988,14.5992,0,0,0);//loop
	CreateObject(1225,249.8412,-192.8656,0.9,0,0,0);//red ton
	CreateObject(1225,250.7245,-193.3244,0.9,0,0,0);//red ton
	CreateObject(1225,250.4381,-192.3530,0.9,0,0,0);//red ton
	CreateObject(13592,1412.5894,1529.5164,19.5992,0,0,0);//loop
	CreateObject(13666,1430.8425,1380.8024,14.5992,0,0,0);//loop
	CreateObject(13666,1445.9381,1665.6056,14.5992,0,0,0);//loop--
	CreateObject(13666,1441.95,1665.6056,14.5992,0,0,0);//loop--
	CreateObject(13666,1437.9619,1665.6056,14.5992,0,0,0);//loop--
	CreateObject(13666,1433.9738,1665.6056,14.5992,0,0,0);//loop--
	CreateObject(13666,1429.9857,1665.6056,14.5992,0,0,0);//loop--
	CreateObject(13594,1412.1583,1543.5493,14.0,0,0,0);//ring
	CreateObject(13594,1412.1583,1543.5493,22.0,0,0,0);//ring
	CreateObject(13593,1412.0242,1513.4432,10.3880,0,0,0);//ramp
	CreateObject(13590,161.8580,-237.3420,1.5781,0,0,0);//crashedbus
	CreateObject(13591,195.8430,-149.4131,0.9297,0,0,0);// crashedcars
	CreateObject(3091,-288.3009,-205.8520,0.8026,0,0,0);// barrier
	CreateObject(3007,261.3669,-163.6459,6.0,0,0,0);// policeguy
	CreateObject(3008,261.3669,-163.6459,6.0,0,0,0);// policeguy
	CreateObject(3009,261.3669,-163.6459,6.0,0,0,0);// policeguy
	CreateObject(3010,261.3669,-163.6459,6.0,0,0,0);// policeguy
	CreateObject(3011,261.3669,-163.6459,6.0,0,0,0);// policeguy
	CreateObject(3012,261.3669,-163.6459,6.0,0,0,0);// policeguy
	CreateObject(1598,-2745.9583,-260.1513,6.8,0,0,0);// beachball
	CreateObject(2905,942.5306,2127.7590,1011.4,0,0,0);// bodyparts
	CreateObject(2906,942.8290,2136.3936,1011.4,0,0,0);// bodyparts
	CreateObject(2907,941.9883,2128.7144,1011.4,0,0,0);// bodyparts
	CreateObject(2908,942.3177,2125.9216,1011.4,0,0,0);// bodyparts
    CreateObject(7979,1431.79 ,1333.62 ,12.82 ,0.00 ,0.00 ,0.00);//ramp-
    CreateObject(7979, 1432.95 ,1410.05 ,12.38, 0.00, 0.00 ,180.00);//ramp
    CreateObject(1632 ,1457.56 ,1664.97 ,9.42 ,0.00 ,0.00 ,90.00);//ramp
    CreateObject(1632 ,1420.75 ,1666.16 ,9.39 ,0.00 ,0.00 ,270.00);//ramp
    CreateObject(1632 ,1411.66 ,1592.44 ,10.53, 0.00 ,0.00 ,180.00);//ramp
    CreateObject(1632, 1389.02 ,1553.96 ,10.39 ,0.00 ,0.00 ,0.00);//ramp
    CreateObject(1632, 1389.01 ,1682.29 ,10.40 ,0.00 ,0.00 ,180.00);//ramp
    CreateObject(1632 ,1388.99 ,1675.05 ,14.34 ,12.00 ,0.00 ,180.00);//ramp
    CreateObject(1632, 1388.95, 1560.14, 14.38, 19.00, 0.00, 1.00);//ramp
    CreateObject(8493 ,1041.60 ,-3632.99 ,15.97 ,0.00 ,0.00 ,0.00);//piratship
	CreateObject(8493 ,1139.84 ,-3642.44 ,16.68 ,0.00 ,0.00 ,-290.00);//piratship
	CreateObject(16444, 947.37 ,2126.57 ,1010.22 ,0.00 ,0.00 ,0.00);//
	CreateObject(16444 ,934.58 ,2121.86 ,1010.23 ,0.00 ,0.00 ,0.00);//
	CreateObject(2905, 936.93 ,2129.23 ,1010.12 ,0.00 ,0.00 ,0.00);//
	CreateObject(2905 ,934.57 ,2137.08 ,1011.24 ,0.00, 0.00, 95.00);//
	CreateObject(2907 ,947.59 ,2125.69 ,1010.32 ,0.00 ,0.00 ,90.00);//
	CreateObject(2908 ,942.69 ,2177.47, 1011.22 ,180.00 ,350.00 ,40.00);//
	CreateObject(2907 ,939.37 ,2177.78, 1010.92 ,10.00 ,0.00 ,90.00);//
	CreateObject(2906 ,940.49 ,2177.84 ,1011.17 ,0.00 ,0.00 ,140.00);//
	CreateObject(2917, 934.86 ,2130.40 ,1015.52 ,0.00 ,0.00, 270.00);//
	CreateObject(2905 ,934.82 ,2131.36 ,1012.22 ,90.00 ,80.00 ,0.00);//
	CreateObject(2907 ,934.90, 2131.49 ,1011.48 ,100.00 ,0.00, 0.00);//
	CreateObject(2906 ,935.06 ,2131.53 ,1010.94 ,270.00 ,360.00 ,0.00);//
	CreateObject(2908, 934.81 ,2131.61 ,1010.17 ,180.00 ,180.00 ,0.00);//
	
	
	
	
	
	
	
	
	
	
	//---test objects
	/*CreateObject(3007,-2017.6959,146.9571,27.9086,0, 0, 0);
	CreateObject(3008,-2006.5129,137.9648,27.5391,0, 0, 0);
	CreateObject(3009,-2006.1654,123.7374,27.5391,0, 0, 0);
	CreateObject(3010,-2005.8464,110.6946,27.5391,0, 0, 0);*/
	
	
	
	print("GameModeInit()");
	SetGameModeText(" MOVIE making ");
	
	SetTimer("CamMod", 25, true);
	SetTimer("Health",500,1);
	
	SetWorldTime(1);
	ShowNameTags(0);
	AllowInteriorWeapons( 1 );
	AllowInteriorWeapons( 2 );
	AllowInteriorWeapons( 3 );
	AllowInteriorWeapons( 5 );
	AllowInteriorWeapons( 6 );
	AllowInteriorWeapons( 7 );
	AllowInteriorWeapons( 8 );
	AllowInteriorWeapons( 9 );
	AllowInteriorWeapons( 10 );
	AllowInteriorWeapons( 11 );
	AllowInteriorWeapons( 12 );
	AllowInteriorWeapons( 13 );
	AllowInteriorWeapons( 14 );
	AllowInteriorWeapons( 15 );
	AllowInteriorWeapons( 16 );
    AllowInteriorWeapons( 17 );
    AllowInteriorWeapons( 18 );
    
  

    
    
    






    AddStaticVehicle(468,-2024.2681,124.7069,28.7933,353.6881,3,3); // 
	AddStaticVehicle(520,292.0,2542.0,16.0,180.0,-1,-1); // hydra1
	AddStaticVehicle(520,-1286.0,501.5,18.0,270.0,-1,-1); // hydra
	AddStaticVehicle(520,307.35,1990.25,17.21,320.0,-1,-1); // hydra
	AddStaticVehicle(520,307.35,2031.36,17.21,320.0,-1,-1); // hydra
	AddStaticVehicle(520,2531.3438,-1677.6177,19.9302,89.3145,-1,-1); // hydra
	AddStaticVehicle(541,-2076.8,-84.0,33.7,1.1,-1,-1); // bullet2
	AddStaticVehicle(541,-2354.6,983.0,49.3,189.4,-1,-1); // bullet
	AddStaticVehicle(541,-1819.6407,-175.9792,9.0235,90.4424,-1,-1); //
	AddStaticVehicle(577,1586.941,1190.642,10.863,180.0,-1,-1); // at4003
	AddStaticVehicle(481,2412.52,-1326.49,23.74,177.92,-1,-1); // BMX4
	AddStaticVehicle(481,2499.18,-1648.26,13.0,158.61,-1,-1); //BMX
	AddStaticVehicle(481,2229.001,-1173.798,24.7331,90.5569,-1,-1); // BMX
	AddStaticVehicle(481,2215.2437,-1262.2479,23.4006,273.8036,-1,-1); //bmx
	AddStaticVehicle(481,1945.7219,-1376.7220,18.0963,123.7993,12,9); //bmx
	AddStaticVehicle(442,-2572.04,1148.564,55.7333,337.8434,-1,-1); // ROMERO5
	AddStaticVehicle(442,2258.8042,-33.5906,26.5514,270.3638,-1,-1); //ROMERO
	AddStaticVehicle(568,-379.5,-1443.115,25.7266,88.9244,-1,-1); //BANDITO6
    AddStaticVehicle(506,2229.3,1402.99,10.82,180.0,-1,-1); //SUPERGT7
    AddStaticVehicle(506,-2093.9,-83.7,33.9,359.1,-1,-1); //SUPERGT
    AddStaticVehicle(513,348.0,2537.1,17.42,180.0,-1,-1); //STUNT8
	AddStaticVehicle(425,365.51,2537.1,17.42,180.0,-1,-1); //hunter9
	AddStaticVehicle(425,-1608.724,286.14,6.22,55.0015,-1,-1); //hunter
	AddStaticVehicle(407,-2057.0,64.0,28.0,90.0,-1,-1); //FIRETRUK10
	AddStaticVehicle(407,1763.824,2075.757,9.9093,179.4753,-1,-1); //FIRETRUK
	AddStaticVehicle(407,1751.512,-1455.102,12.5547,263.5589,-1,-1); //FIRETRUK
	AddStaticVehicle(416,2033.888,-1432.67,16.6453,177.829,-1,-1); //AMBULAN11
	AddStaticVehicle(416,1178.048,-1338.175,13.405,269.4923,-1,-1); //AMBULAN
	AddStaticVehicle(416,-303.7814,1032.326,19.086,268.5016,-1,-1); //AMBULAN
	AddStaticVehicle(416,-1507.164,2525.455,55.1875,358.5728,-1,-1); //AMBULAN
	AddStaticVehicle(416,1229.665,297.6883,19.0547,154.9553,-1,-1); //AMBULAN
	AddStaticVehicle(416,-2202.52,-2315.986,30.1172,319.6815,-1,-1); //AMBULAN
	AddStaticVehicle(411,-2665.44,990.77,64.45,51.0,-1,-1); //infernus12
	AddStaticVehicle(411,-2072.5051,-84.0101,33.7,1.2385,-1,-1); //infernus
	AddStaticVehicle(432,2432.8958,-1673.3916,13.5231,90.7341,-1,-1); //
	AddStaticVehicle(557,2692.029,-1674.024,9.4656,178.8279,-1,-1); //MONSTER13
	AddStaticVehicle(557,-1778.178,1207.074,25.1194,91.9357,-1,-1); //MONSTER
	AddStaticVehicle(563,-2726.0,682.0,72.0,90.0,-1,-1); //raindance14
	AddStaticVehicle(563,273.0045,-1876.038,5.2935,271.51,-1,-1); //raindance
	AddStaticVehicle(563,-1190.1,22.14,13.9,45.0015,-1,-1); //raindance
	AddStaticVehicle(563,-1190.1,22.14,13.9,45.0015,-1,-1); //raindance
	AddStaticVehicle(522,-1696.7380,77.2173,3.1771,315.3344,-1,-1); //NRG50015
	AddStaticVehicle(522,2790.2002,-1454.9723,19.7398,270.9006,-1,-1); //NRG500
	AddStaticVehicle(522,1175.7766,1366.4608,10.3908,1.1198,-1,-1); //NRG500
    AddStaticVehicle(468,-1065.3875,-1183.5144,129.2188,269.1132,-1,-1); //sanchez
    AddStaticVehicle(468,-1446.239,-1494.731,101.0514,6.0,-1,-1); //sanchez16
    AddStaticVehicle(468,-1065.3875,-1183.5144,129.2188,269.1132,-1,-1); //sanchez
	AddStaticVehicle(468,-2048.856,-2521.276,31.125,171.0232,-1,-1); //sanchez
	AddStaticVehicle(468,623.3402,887.0944,-43.5625,347.2967,-1,-1); //sanchez
	AddStaticVehicle(468,1169.7926,1367.3535,10.3844,359.1712,-1,-1); //sanchez
	AddStaticVehicle(468,-2486.046,59.184,24.8284,180.0,-1,-1); //sanchez
	AddStaticVehicle(468,-2085.23,-2437.52,30.31,142.0,-1,-1); //sanchez
	AddStaticVehicle(468,-2408.511,-2186.024,32.89,321.692,-1,-1); //sanchez
	AddStaticVehicle(463,1173.7571,1367.4673,10.3881,359.5508,-1,-1); //freeway17
	AddStaticVehicle(463,1144.46,-1101.26,25.35,300.0,-1,-1); //freeway
    AddStaticVehicle(521,1171.4526,1367.0679,10.3826,4.7192,-1,-1); //fcr-90018
    AddStaticVehicle(521,2282.7,2535.88,10.39,180.0,-1,-1); //fcr-900
    AddStaticVehicle(476,325.12,2537.1,17.52,180.0,-1,-1); //rustler19
    AddStaticVehicle(476,-1374.1,-503.14,13.9,249.0015,-1,-1); //rustler
	AddStaticVehicle(434,-2064.4,-83.7,34.1,0.0,-1,-1); //HOTKNIFE20
    AddStaticVehicle(443,-1471.0923,-1601.5945,103.0323,180.8474,0,0); //packer21
    AddStaticVehicle(443,-1306.8074,466.5512,7.8220,55.3537,0,0); //packer
    AddStaticVehicle(443,-1468.8446,49.9289,14.9850,44.4182,0,0); //packer
    AddStaticVehicle(443,-1840.2673,1212.1012,59.0322,273.7331,0,0); //packer
    AddStaticVehicle(443,-1718.0134,1214.0750,49.4166,267.9409,0,0); //packer
    AddStaticVehicle(443,788.2861,-1537.1112,14.1858,177.2527,0,0); //packer
    AddStaticVehicle(443,1709.3287,-1593.1946,14.0830,184.0028,0,0); //packer
    AddStaticVehicle(443,2139.9346,-2464.2471,14.1808,273.7807,0,0); //packer
    AddStaticVehicle(443,2425.2925,1775.1334,11.3794,0.3843,0,0); //packer
    AddStaticVehicle(443,1381.4915,453.7328,20.5488,336.6380,0,0); //packer
    AddStaticVehicle(443,-1830.9526,116.3577,15.7344,173.9951,0,0); //packer
    AddStaticVehicle(443,-2506.6880,267.5138,35.8052,77.9049,0,0); //packer
    AddStaticVehicle(443,-2415.4744,312.0651,35.7265,356.5789,0,0); //packer
    AddStaticVehicle(443,-1987.1575,950.2078,46.0652,351.7755,0,0); //packer
    AddStaticVehicle(443,2132.7622,-1585.9465,14.9830,326.9660,0,0); //packer
    AddStaticVehicle(443,1992.3131,-1621.5724,14.8866,94.2796,0,0); //packer
    AddStaticVehicle(443,1835.1853,-1348.0718,14.9642,90.0196,0,0); //packer
    AddStaticVehicle(443,2170.2788,-1495.0942,24.6087,179.4285,0,0); //packer
    AddStaticVehicle(443,1088.7751,-1381.6683,14.4038,83.1424,0,0); //packer
    AddStaticVehicle(460,-959.0813,2629.206,43.229,110.0,-1,-1); //SKIMMER22
    AddStaticVehicle(460,-637.1,1811.953,1.7,180.0015,-1,-1); //SKIMMER
    AddStaticVehicle(487,1544.0,-1352.0,329.0,95.0,-1,-1); //MAVERICK23
	AddStaticVehicle(487,-1681.0,705.0,31.0,90.0,-1,-1); //MAVERICK
	AddStaticVehicle(487,-2630.0,684.0,72.0,180.0,-1,-1); //MAVERICK
	AddStaticVehicle(487,2092.0,2415.0,75.0,260.0,-1,-1); //MAVERICK
	AddStaticVehicle(487,-1244.674,-599.1741,13.9,48.6377,-1,-1); //MAVERICK
	AddStaticVehicle(402,886.3782,-25.6671,63.244,157.6212,-1,-1); //BUFFALO24
	AddStaticVehicle(402,-1673.94,439.02,7.01,136.0,-1,-1); //BUFFALO
	AddStaticVehicle(402,-2068.6238,-83.6438,33.7,0.7745,-1,-1); //BUFFALO-
	AddStaticVehicle(539,-2294.926,2546.978,5.9175,290.9339,-1,-1); //VORTEX25
	AddStaticVehicle(539,714.3436,-1488.273,0.9343,270.0,-1,-1); //VORTEX
	AddStaticVehicle(539,-1426.412,506.8391,2.9463,144.61,-1,-1); //VORTEX
	AddStaticVehicle(539,1971.92,1560.665,10.9635,262.615,-1,-1); //VORTEX
	AddStaticVehicle(539,-535.4126,-60.8884,63.5922,276.9756,-1,-1); //VORTEX
	AddStaticVehicle(539,-910.27,2699.06,42.8,110.8738,-1,-1); //VORTEX
	AddStaticVehicle(497,1561.865,-1701.953,27.948,0.0015,-1,-1); //POLMAV27
	AddStaticVehicle(417,-1215.1,-6.14,13.9,95.0015,-1,-1); //leviathn28
	AddStaticVehicle(417,383.178,2538.891,16.53,180.0,-1,-1); //leviathn
    AddStaticVehicle(420,1665.8561,-2248.4399,13.3453,91.6401,-1,-1); // taxi29
    AddStaticVehicle(420,1622.9042,-1891.9250,13.4400,357.1646,-1,-1); //taxi
    AddStaticVehicle(420,1721.7762,-1727.0770,13.3562,90.2709,-1,-1); //taxi
    AddStaticVehicle(420,1245.4320,-2025.5278,59.7346,268.8045,-1,-1); //taxi
    AddStaticVehicle(420,1062.3959,-1743.0487,13.3561,270.2338,-1,-1); //taxi
    AddStaticVehicle(420,803.0854,-1359.7280,13.3557,0.1110,-1,-1); //taxi
    AddStaticVehicle(420,1705.3882,-1069.3774,23.7980,179.3948,-1,-1); //taxi
    AddStaticVehicle(597,1535.6967,-1667.9448,13.1635,0.8662,-1,-1); //policecar30
    AddStaticVehicle(597,1570.5409,-1710.5768,5.6716,358.8192,-1,-1); //policecar
    AddStaticVehicle(597,1048.3859,-1342.2916,13.2440,182.3384,-1,-1); //policecar
    AddStaticVehicle(597,-1617.1313,651.8221,6.9688,3.6156,-1,-1); //policecar
    AddStaticVehicle(597,-1601.1345,672.3598,6.9684,180.5371,-1,-1); //policecar
    AddStaticVehicle(597,-1572.4496,718.1760,-5.4618,89.7378,-1,-1); //policecar
    AddStaticVehicle(597,-2764.9463,781.9814,52.5609,179.1226,-1,-1); //policecar
    AddStaticVehicle(597,-177.4103,1216.8887,19.5192,269.2944,-1,-1); //policecar
    AddStaticVehicle(597,2273.2996,2443.7136,10.5988,0.5396,-1,-1); //policecar
    AddStaticVehicle(597,2277.9993,2444.0676,10.5987,179.5193,-1,-1); //policecar
    AddStaticVehicle(597,2255.6516,2476.8496,10.5996,177.5161,-1,-1); //policecar
    AddStaticVehicle(597,2287.8083,2418.4832,10.5353,88.7077,-1,-1); //policecar
	AddStaticVehicle(605,264.1181,-64.2915,1.3941,25.0416,32,8); // sadler32
	AddStaticVehicle(604,257.9672,-72.0427,1.2504,299.2374,43,8); // glendale33
	AddStaticVehicle(532,4.4022,-27.8891,2.8591,341.5540,-1,-1); // combine34
	AddStaticVehicle(414,163.6267,-22.7397,1.3200,266.4562,-1,-1); // mule35
	AddStaticVehicle(600,233.8633,-73.7482,1.1666,137.1852,-1,-1); // picador36
    AddStaticVehicle(478,230.5184,-78.9412,1.1653,218.1940,-1,-1); // walton37
    AddStaticVehicle(514,61.3210,-263.6284,2.1798,1.0936,-1,-1); // tunker38
    AddStaticVehicle(584,61.5887,-273.8918,1.2754,1.3656,-1,-1); // trailer39
    AddStaticVehicle(491,195.8860,-140.4939,1.4072,180.5199,-1,-1); // vigro40
    AddStaticVehicle(508,211.9608,-139.9034,1.3946,359.0588,-1,-1); // journey41
    AddStaticVehicle(605,245.2505,-203.2015,1.3342,342.8906,-1,-1); // sadler
    AddStaticVehicle(531,-39.5753,-14.6016,2.8734,187.4544,-1,-1); //  43
    AddStaticVehicle(454,199.9702,348.2783,0.4087,288.8221,-1,-1); //  44
    AddStaticVehicle(586,218.7767,-180.6616,1.3344,268.8367,-1,-1); //  45
    AddStaticVehicle(600,218.8212,-173.0970,1.3343,329.0281,-1,-1); //
    AddStaticVehicle(414,211.9443,-29.7972,1.6716,357.0432,-1,-1); //
    AddStaticVehicle(416,245.7424,-209.6199,1.1371,270.7220,-1,-1); //
    AddStaticVehicle(466,184.4924,-214.7845,1.1345,205.3858,-1,-1); // 47
    AddStaticVehicle(498,187.6242,-222.2179,1.1768,324.2519,-1,-1); // 48
   	AddStaticVehicle(502,2676.695,-1673.756,9.4038,178.8279,-1,-1); //hotring
	AddStaticVehicle(502,-2089.9260,-84.2262,34.7888,359.7683,-1,-1); //hotring
    AddStaticVehicle(513,-1429.5247,-503.5835,14.7200,160.8887,-1,-1); //
    AddStaticVehicle(513,-1422.8264,-516.0543,14.7198,164.9986,-1,-1); //
    AddStaticVehicle(513,-1417.0144,-529.2245,14.7191,163.5759,-1,-1); //
    AddStaticVehicle(513,-1465.5208,-521.4464,14.7208,243.1537,-1,-1); //
    AddStaticVehicle(513,-1460.0302,-534.3749,14.7300,240.8676,-1,-1); //
    AddStaticVehicle(513,-1453.1151,-546.7817,14.7206,241.5057,-1,-1); //
    AddStaticVehicle(600,1268.3269,358.5647,19.2757,247.1956,-1,-1); //
    AddStaticVehicle(478,1220.0586,134.0432,20.5161,336.3609,-1,-1); //
    AddStaticVehicle(478,1385.4757,460.6808,20.1092,246.1025,-1,-1); //
    AddStaticVehicle(498,1367.1095,366.7216,20.6220,67.8096,-1,-1); //
    AddStaticVehicle(508,1350.0392,208.6645,19.9297,335.7994,-1,-1); //
    AddStaticVehicle(491,1326.1484,349.3660,19.3109,337.9938,-1,-1); //
    AddStaticVehicle(491,2331.0293,120.6290,26.7081,269.6332,-1,-1); //
    AddStaticVehicle(491,2552.1921,1.5846,26.2328,270.6526,-1,-1); //
    AddStaticVehicle(600,2503.4331,135.7242,26.1899,356.9474,-1,-1); //
    AddStaticVehicle(508,2279.8398,-72.8052,26.9047,1.6251,-1,-1); //
    AddStaticVehicle(586,2558.8618,71.6795,25.9967,57.7880,-1,-1); //
    AddStaticVehicle(586,1177.2241,1367.3021,10.3327,1.4013,-1,-1); //
    AddStaticVehicle(502,-360.2510,1197.9641,19.6239,179.4444,0,0); //
    AddStaticVehicle(508,-83.9405,1076.6003,20.1170,181.1642,-1,-1); //
    AddStaticVehicle(478,-249.7147,1059.0563,19.7305,271.1007,-1,-1); //
    AddStaticVehicle(531,-136.2039,1125.7417,19.7143,182.0245,-1,-1); //
    AddStaticVehicle(498,-167.1586,1027.9457,19.8036,182.3462,-1,-1); //
    AddStaticVehicle(597,-211.2332,1000.0678,19.4388,89.4543,-1,-1); //
    AddStaticVehicle(597,-210.7752,994.4658,19.3266,90.3842,-1,-1); //
    AddStaticVehicle(597,-208.9320,986.5941,19.1604,178.7915,1,1); //
    AddStaticVehicle(506,2429.4648,-1242.6583,23.9325,177.8225,126,126); //
    AddStaticVehicle(442,-336.4250,1055.7402,19.5709,89.7980,0,0); //
    AddStaticVehicle(411,114.2402,1047.9703,13.3365,178.8547,-1,-1); //
    AddStaticVehicle(460,2095.7441,-111.0774,1.6974,32.1289,-1,-1); //
    AddStaticVehicle(434,-1657.4312,1208.5518,21.1281,352.0611,-1,-1); //
    AddStaticVehicle(434,1699.4691,-2084.3391,13.5150,180.5826,-1,-1); //
    AddStaticVehicle(420,-2132.1648,-443.7558,35.1140,178.1259,-1,-1); //
    AddStaticVehicle(420,-1988.0305,137.6331,27.3185,1.1637,-1,-1); //
    AddStaticVehicle(420,-1425.5032,-295.4067,13.7772,48.6204,-1,-1); //
    AddStaticVehicle(420,1106.6794,1727.9359,10.5996,178.6578,-1,-1); //
    AddStaticVehicle(420,1706.3615,1439.3552,10.4711,177.4733,-1,-1); //
    AddStaticVehicle(577,1901.1929,-2389.9824,13.4555,91.2783,-1,-1); //
    AddStaticVehicle(481,1168.4786,1366.4314,10.3296,5.9713,-1,-1); //
    AddStaticVehicle(468,-1432.7699,-957.2657,200.6350,90.6732,-1,-1); //
    AddStaticVehicle(568,-1434.7994,-952.5947,200.8749,9.2657,-1,-1); //
    AddStaticVehicle(557,-1428.2650,-955.5185,201.3060,355.6299,-1,-1); //
    AddStaticVehicle(471,-1438.0403,-956.2127,200.8095,181.6380,43,8); //
    AddStaticVehicle(442,2230.9409,-1338.5609,23.8135,177.9475,0,0); //
    AddStaticVehicle(411,2507.4763,-1695.5056,13.2816,0.5195,0,0); //
    AddStaticVehicle(521,2503.9434,-1693.6986,13.1315,357.3586,0,0); //
    AddStaticVehicle(563,270.2481,2539.5605,17.2877,176.7767,-1,-1); //
    AddStaticVehicle(497,243.0793,2541.9194,17.2942,180.2894,-1,-1); //
    AddStaticVehicle(487,218.4344,2540.6750,16.6443,183.8065,-1,-1); //
    AddStaticVehicle(521,2406.8354,-1236.7466,23.3764,322.6600,126,126); //
    AddStaticVehicle(532,-250.3816,-1345.9093,8.9154,183.3234,-1,-1); //
    AddStaticVehicle(586,706.3354,1945.6632,5.0591,355.4392,126,126); //
    AddStaticVehicle(532,686.1965,1949.4023,6.5151,180.3358,126,126); //
    AddStaticVehicle(600,529.4434,2371.3328,30.0157,145.5124,-1,-1); //
    AddStaticVehicle(605,508.0522,2383.6018,29.9049,156.2706,-1,-1); //
    AddStaticVehicle(478,532.2014,2369.3237,30.3863,325.2691,39,1); //
    AddStaticVehicle(508,516.6005,2379.5886,30.5745,62.6488,1,1); //
    AddStaticVehicle(508,-195.7942,2780.2344,62.3008,90.9279,1,1); //
    AddStaticVehicle(508,-595.2000,2720.1780,72.6324,359.3754,1,1); //
    AddStaticVehicle(508,-1328.3428,2677.8809,50.4375,82.0446,1,1); // 
    AddStaticVehicle(508,-1666.6522,2559.4431,85.5241,87.7865,1,1); //
    AddStaticVehicle(491,523.0930,2375.6997,29.9872,327.5453,64,72); //
    AddStaticVehicle(491,711.6691,1945.1476,5.2953,180.1641,126,126); // pink
    AddStaticVehicle(491,107.5948,1068.1818,13.3656,179.1641,64,72); //
    AddStaticVehicle(491,-25.7985,1115.0093,19.5037,358.9615,64,72); //
    AddStaticVehicle(491,-201.6467,1119.5582,19.4984,179.9666,64,72); //
    AddStaticVehicle(491,-300.6939,1772.3710,42.4437,268.8738,64,72); //
    AddStaticVehicle(491,-237.3548,2608.3491,62.4593,182.4900,64,72); //
    AddStaticVehicle(491,-770.0189,2760.1685,45.5078,185.0856,64,72); //
    AddStaticVehicle(568,-35.1361,2342.9890,24.0083,89.7687,41,29); //
    AddStaticVehicle(568,-354.1325,2216.4866,42.3512,91.2019,41,29); //
    AddStaticVehicle(568,-809.9988,2428.3320,156.8381,342.0067,56,29); //
    AddStaticVehicle(568,1977.1780,-128.8625,-34.0671,162.6644,2,39); //
    AddStaticVehicle(568,-2241.8428,-1719.1125,480.3602,0.8247,9,39); //
    AddStaticVehicle(568,-2407.0769,-2179.7744,33.1546,327.4956,9,39); //
    AddStaticVehicle(468,-2817.8286,-1513.0996,138.9574,273.0097,6,6); //
    AddStaticVehicle(468,-2456.7007,-1929.7943,301.8218,244.3324,6,6); //
    AddStaticVehicle(468,-2453.7886,-1927.4711,302.6965,242.5518,6,6); //
    AddStaticVehicle(513,-1450.0742,-510.7200,15.0495,208.5761,30,34); // stuntplane
    AddStaticVehicle(513,-1439.7096,-505.9115,15.0244,200.4021,21,34); // stuntplane2
    AddStaticVehicle(513,-1457.9780,-514.8182,15.0259,206.2486,21,34); // stuntplane
    AddStaticVehicle(513,-1448.3821,-559.0584,15.0119,294.4497,21,34); // stuntplane
    AddStaticVehicle(513,-1407.8849,-539.9012,15.0300,118.0129,21,34); // stuntplane
    AddStaticVehicle(449,-2006.5890,154.2374,27.5020,0.2065,12,12); // tram
    AddStaticVehicleEx(538,-1947.4039,157.6738,25.7201,178.3177,12,12,360000);//train
    AddStaticVehicle(597,-973.3374,1719.1252,30.5162,342.0775,0,1); //
    AddStaticVehicle(427,-972.4407,1728.8892,30.3543,178.4628,0,1); // enforcer3
    AddStaticVehicle(523,-959.9453,1719.4155,30.1578,270.2857,0,1); // copbike4
    AddStaticVehicle(522,1309.4132,1279.3407,10.5992,179.3511,6,1); // NRG
    AddStaticVehicle(522,1312.6544,1279.4796,10.6003,1.7737,6,1); // NRG
    AddStaticVehicle(522,1322.3110,1279.0283,10.5996,180.7592,6,1); // NRG
    AddStaticVehicle(407,1319.0768,1279.5055,10.6007,180.7404,6,1); // fireturck
    AddStaticVehicle(451,1328.7218,1278.4028,10.5993,358.8716,6,1); // tourismo
    AddStaticVehicle(481,1328.9098,1261.1504,10.5991,227.7839,6,1); // BMX
    AddStaticVehicle(481,1329.5313,1254.2732,10.5997,223.7843,6,1); // BMX
    AddStaticVehicle(568,1325.5083,1278.6802,10.5275,178.6683,6,1); // bandito
    AddStaticVehicle(411,1306.4449,1279.1508,10.5267,359.6775,6,1); // infernus
    AddStaticVehicle(523,-216.0024,973.4315,18.8993,223.7947,0,1); // copbike
    AddStaticVehicle(427,-226.3898,999.7518,19.7328,269.3362,0,1); // police
    AddStaticVehicle(523,250.3768,-156.7315,1.1412,146.4794,0,1); //
    AddStaticVehicle(523,1534.9808,-1679.4426,12.9493,1.1937,0,1); //
    AddStaticVehicle(523,1587.1121,-1713.4155,5.4611,307.8158,0,1); //
    AddStaticVehicle(523,1587.1833,-1707.9886,5.4645,308.3630,0,1); //
    AddStaticVehicle(427,1578.8677,-1710.6184,6.0225,358.4553,0,1); //
    AddStaticVehicle(523,-1582.7378,672.9125,6.7583,180.9213,0,1); //
    AddStaticVehicle(427,-1592.8966,652.1391,7.3187,359.3013,0,1); //
    AddStaticVehicle(427,-1606.2721,672.2220,7.3195,1.4188,0,1); //
    AddStaticVehicle(451,-2081.2939,-83.9369,34.8699,358.9630,-1,-1); //
    AddStaticVehicle(451,-1951.5146,268.2581,35.1776,55.4315,-1,-1); //
    AddStaticVehicle(451,-1661.2430,1212.6100,6.9563,262.5327,-1,-1); //
    AddStaticVehicle(411,-1664.8704,1221.9744,13.4039,185.8825,-1,-1); //


    //-------------< pickups >------------
    AddStaticPickup(358,2,-2035.6456,139.0447,28.8359);//sniper
    AddStaticPickup(359,2,-2038.8273,139.3644,28.8429);//rocketl
    AddStaticPickup(360,2,-2041.1825,139.6185,28.8359);//rocket2
    AddStaticPickup(370,2,1285.0874,1342.6792,10.8203);//Jetpack
    AddStaticPickup(337,2,317.2943,-38.7857,1.5781);//SHOVEL
    AddStaticPickup(326,2,249.0645,-48.6469,1.5781);//Cane
    AddStaticPickup(334,2,90.9874,-184.2758,1.4844);//Police Trungeon/Night Stick
    AddStaticPickup(339,2,154.4634,-184.0862,1.5781);//Katana
    AddStaticPickup(341,2,210.6191,-107.7520,1.5516);//Chainsaw
    AddStaticPickup(343,2,168.4687,-245.1383,9.4838);//Tear Gas Grenade
    AddStaticPickup(368,2,196.4973,-232.5171,1.7786);//Night Vision Goggles
    AddStaticPickup(361,2,516.3564,-206.0613,30.0039);//Flamethrower
    AddStaticPickup(370,2,371.5324,-108.9494,1.2274);//Jetpack
    AddStaticPickup(363,2,-84.3129,-103.6613,6.4844);//Satchel
    AddStaticPickup(1241,2,256.2117,-103.6913,3.5418);//adrenaline
    AddStaticPickup(1241,2,2314.0969,-1145.0143,1051.4796);//adrenaline
    AddStaticPickup(339,2,2336.1057,-1135.3151,1050.7101);//Katana
    AddStaticPickup(343,2,2332.8582,-1135.8098,1050.7031);//Tear Gas Grenade
    AddStaticPickup(370,2,1813.9081,-1282.3732,122.7332);//Jetpack----
    AddStaticPickup(350,2,2319.3196,-1143.6372,1050.4922);//SAWEDOFF
    AddStaticPickup(366,2,2328.0225,-1138.2201,1050.4922);//FIREEXTINGUISHER
    AddStaticPickup(367,2,2329.4548,-1143.5232,1050.4922);//CAMERA
    AddStaticPickup(331,2,2329.4639,-1141.6631,1050.4922);//BRASS_KNUCKLES
    AddStaticPickup(341,2,2329.4751,-1140.0520,1050.4922);//CHAINSAW
    AddStaticPickup(371,2,2319.5005,-1139.8685,1050.4922);//PARACHUTE
    AddStaticPickup(1242,2,2319.3093,-1141.6156,1050.4922);//ARMOR

	for (new i; i < 52; i ++)
	 {
	     AddPlayerClass(Skins[i], SpawnClass[0], SpawnClass[1], SpawnClass[2], SpawnClass[3], SpawnWeapons[i][0], SpawnWeapons[i][1], SpawnWeapons[i][2], SpawnWeapons[i][3], SpawnWeapons[i][4], SpawnWeapons[i][5]);
	 }
    
 
 


	return 1;
}

//========================================================================================

public OnPlayerRequestClass(playerid, classid)
{
	printf("OnPlayerRequestClass(%d, %d)", playerid, classid);
	SetPlayerInterior(playerid,0);
	SetPlayerFacingAngle(playerid,0);
    SetPlayerPos(playerid,2215.3259,-1260.3477,23.8842);
	SetPlayerCameraPos(playerid,2220.5183,-1259.2188,23.8931);
	SetPlayerCameraLookAt(playerid,1569.8306,-1353.0221,248.5738);
	
	MySpawnPos[playerid][0] = 0;
	
	gClassInfo[playerid] = classid;
	
    return 1;
}

//========================================================================================

public OnPlayerRequestSpawn(playerid)
{
	printf("OnPlayerRequestSpawn(%d)", playerid);
	
	if (MySpawnPos[playerid][0] != 0)
     {
              SetSpawnInfo(playerid, 0, Skins[gClassInfo[playerid]], MySpawnPos[playerid][0], MySpawnPos[playerid][1], MySpawnPos[playerid][2], MySpawnPos[playerid][3], SpawnWeapons[gClassInfo[playerid]][0], SpawnWeapons[gClassInfo[playerid]][1], SpawnWeapons[gClassInfo[playerid]][2], SpawnWeapons[gClassInfo[playerid]][3], SpawnWeapons[gClassInfo[playerid]][4], SpawnWeapons[gClassInfo[playerid]][5]);
	 }
	 
	return 1;
}

//========================================================================================

public OnGameModeExit()
{
	print("GameModeExit()");
	return 1;
}

//========================================================================================

public OnPlayerConnect(playerid)
{
    SendClientMessage(playerid, COLOR_AQUAMARINE,  "----------------------------------------------------------------------- ");
    SendClientMessage(playerid, COLOR_YELLOW,      "----------------------------------------------------------------------- ");
    SendClientMessage(playerid, COLOR_YELLOW,      "                                     ");
    SendClientMessage(playerid, COLOR_YELLOW,      "                 Welcome to the          ");
    SendClientMessage(playerid, COLOR_YELLOW,      "           FM-A GUILD MOVIE making  ");
    SendClientMessage(playerid, COLOR_YELLOW,      "                                     ");
    SendClientMessage(playerid, COLOR_YELLOW,      "----------------------------------------------------------------------- ");
    SendClientMessage(playerid, COLOR_AQUAMARINE,  "----------------------------------------------------------------------- ");
    SendClientMessage(playerid, COLOR_GREEN,       "          if u need help, type /help ");
	GameTextForPlayer(playerid, "~w~the~r~-~w~FM~r~-~w~A~r~-~w~Guild",10000,3);
	printf("OnPlayerConnect(%d)", playerid);

	///////////////////////////////
	gPlayerCameraID[playerid] = -1;
	///////////////////////////////
	
	MySpawnPos[playerid][0] = 0;
	MySpawnPos[playerid][1] = 0;
	MySpawnPos[playerid][2] = 0;
	MySpawnPos[playerid][3] = 0;
	
	Director[playerid] = false;
	
	return 1;
}

//========================================================================================

public OnPlayerDisconnect(playerid)
{
	printf("OnPlayerDisconnect(%d)", playerid);
	return 1;
}

//========================================================================================

public OnPlayerSpawn(playerid)
{
	printf("OnPlayerSpawn(%d)", playerid);
	GivePlayerMoney(playerid,500000);
	SetPlayerInterior(playerid,0);
	CheckpointStatus[playerid] = CP_NONE;
	
	///////////////////////////////
	gPlayerCameraID[playerid] = -1;
	///////////////////////////////
	
	return 1;
}

//========================================================================================

public OnPlayerDeath(playerid, killerid, reason)
{
	printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason);
	return 1;
}

//========================================================================================

public OnVehicleSpawn(vehicleid)
{
	printf("OnVehicleSpawn(%d)", vehicleid);
	return 1;
}

//========================================================================================

public OnVehicleDeath(vehicleid, killerid)
{
	printf("OnVehicleDeath(%d, %d)", vehicleid, killerid);
	return 1;
}

//========================================================================================

public OnPlayerText(playerid, text[])
{
	printf("OnPlayerText(%d)", playerid);
	return 1;
}

//========================================================================================

//Dcmd functions

dcmd_fp(playerid, params[])
{
	#pragma unused params

	if (!CamMode[playerid])
	 {
		 CamMode[playerid] = true;
	 }
	else
	 {
		 CamMode[playerid] = false;

		 new Float:x,
			 Float:y,
			 Float:z,
			 Float:angle;

		 GetPlayerFacingAngle(playerid, angle);

		 GetPlayerPos(playerid, x, y, z);

		 SetSpawnInfo(playerid, 0, 0, x, y, z, angle, 0, 0, 0, 0, 0, 0);

		 SpawnPlayer(playerid);
	 }

	return 1;
}

dcmd_up(playerid, params[])
{
	if (!strlen(params))
	 {
		  return SendClientMessage(playerid, COLOR_RED, "Usage: /up [amount]");
	 }

	new Float:mod;

	mod = floatround(strval(params));

	modz[playerid] += mod;

	return 1;
}

dcmd_dn(playerid, params[])
{
	if (!strlen(params))
	 {
		  return SendClientMessage(playerid, COLOR_RED, "Usage: /dn [amount]");
	 }

	new Float:mod;

	mod = floatround(strval(params));

	modz[playerid] -= mod;

	return 1;
}

dcmd_ne(playerid, params[])
{
	if (!strlen(params))
	 {
		  return SendClientMessage(playerid, COLOR_RED, "Usage: /ne [amount]");
	 }

	new Float:mod;

	mod = floatround(strval(params));

	modx[playerid] += mod;

	mody[playerid] += mod;

	return 1;
}

dcmd_sw(playerid, params[])
{
	if (!strlen(params))
	 {
		  return SendClientMessage(playerid, COLOR_RED, "Usage: /sw [amount]");
	 }

	new Float:mod;

	mod = floatround(strval(params));

	modx[playerid] -= mod;

	mody[playerid] -= mod;

	return 1;
}
//========================================================================================

dcmd_savespawn(playerid, params[])
{
	#pragma unused params
	
	new Float:x,
		Float:y,
		Float:z,
		Float:angle;

    GetPlayerPos(playerid, x, y, z);
    
    GetPlayerFacingAngle(playerid, angle);
    
    MySpawnPos[playerid][0] = x;
    MySpawnPos[playerid][1] = y;
    MySpawnPos[playerid][2] = z;
    MySpawnPos[playerid][3] = angle;

    SetSpawnInfo(playerid, 0, Skins[gClassInfo[playerid]], MySpawnPos[playerid][0], MySpawnPos[playerid][1], MySpawnPos[playerid][2], MySpawnPos[playerid][3], SpawnWeapons[gClassInfo[playerid]][0], SpawnWeapons[gClassInfo[playerid]][1], SpawnWeapons[gClassInfo[playerid]][2], SpawnWeapons[gClassInfo[playerid]][3], SpawnWeapons[gClassInfo[playerid]][4], SpawnWeapons[gClassInfo[playerid]][5]);
    
    SendClientMessage(playerid, COLOR_YELLOW, "You saved the spawn position, until you change class you will spawn here");
    
    return 1;
}

//========================================================================================

dcmd_forward(playerid, params[])
{
	if (!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "Usage: /forward [units]");

	if (!IsNumeric(params)) return SendClientMessage(playerid, COLOR_RED, "Usage: /forward [units]");
	
	new Float:x,
		Float:y,
		Float:z,
		Float:angle;
		
    GetPlayerPos(playerid, x, y, z);

    GetPlayerFacingAngle(playerid, angle);

    x = x + strval(params) * floatsin(360 - angle, anglemode:degrees);

    y = y + strval(params) * floatcos(360 - angle, anglemode:degrees);
    
    SetPlayerPos(playerid, x, y, z + 3);
    
    return 1;
}

//========================================================================================

dcmd_say(playerid, params[])
{
	if (!Director[playerid]) return SendClientMessage(playerid, COLOR_RED, "Only directors can use that command");

	if (!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "Usage: /say [text]");
	
	new str[96];
	
	format(str, sizeof(str), "~w~%s", params);
	
	GameTextForAll(str, 5000, 5);
	
	return 1;
}

//========================================================================================

dcmd_time(playerid, params[])
{
	if (!Director[playerid]) return SendClientMessage(playerid, COLOR_RED, "Only directors can use that command");

	if (!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "Usage: /time [number]");

	if ((strval(params) < 0) || (strval(params) > 23)) return SendClientMessage(playerid, COLOR_RED, "Usage: A number between 0 - 23");
	
	if (!IsNumeric(params)) return SendClientMessage(playerid, COLOR_RED, "Usage: A number between 0 - 23");

	SetWorldTime(strval(params));
	
	new str[64];
	
	format(str, sizeof(str), "The time is now : %d", strval(params));
	
	SendClientMessage(playerid, COLOR_YELLOW, str);

	return 1;
}

//========================================================================================

dcmd_direct(playerid, params[])
{
	#pragma unused params
	
    for (new i; i < MAX_PLAYERS; i ++)
	 {
		  if (IsPlayerConnected(i))
		   {
				if (!Director[i])
				 {
					  Director[playerid] = true;
					  
					  return SendClientMessage(playerid, COLOR_YELLOW, "You are now the director");
				 }
				else
				 {
                      SendClientMessage(playerid, COLOR_RED, "The Director position is allready taken");
				 }
				 
			    if (Director[playerid])
				 {
					 Director[playerid] = false;
					 
					 SendClientMessage(playerid, COLOR_YELLOW, "You quit the Director position");
				 }
		   }
	  }

    return 1;
}

//========================================================================================

dcmd_skydiveall(playerid, params[])
{
	#pragma unused params

	if (!Director[playerid]) return SendClientMessage(playerid, COLOR_RED, "Only directors can use that command");

    new Float:x,
        Float:y,
        Float:z;

	for (new i; i < MAX_PLAYERS; i ++)
	 {
		  if (IsPlayerConnected(i))
		   {
				GetPlayerPos(i, x, y, z);
				
				GivePlayerWeapon(i, 46, 1);
				
				SetPlayerPos(i, x, y, 1250);
		   }
     }
     
	return 1;
}

//========================================================================================

dcmd_weather(playerid, params[])
{
	if (!Director[playerid]) return SendClientMessage(playerid, COLOR_RED, "Only directors can use that command");

	if (!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "Usage: /weather [number]");

	if ((strval(params) < 0) || (strval(params) > 45)) return SendClientMessage(playerid, COLOR_RED, "Usage: A number between 0 - 45");

	if (!IsNumeric(params)) return SendClientMessage(playerid, COLOR_RED, "Usage: A number between 0 - 45");

	SetWeather(strval(params));

	new str[64];

	format(str, sizeof(str), "The Weather id being used is now : %d", strval(params));

	SendClientMessage(playerid, COLOR_YELLOW, str);

	return 1;
}

//========================================================================================

dcmd_gravity(playerid, params[])
{
	if (!Director[playerid]) return SendClientMessage(playerid, COLOR_RED, "Only directors can use that command");

	if (!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "Usage: /gravity [number]");

	SetGravity(floatstr(params));

	new str[64];

	format(str, sizeof(str), "The Gravity is now : %f", floatstr(params));

	SendClientMessage(playerid, COLOR_YELLOW, str);

	return 1;
}

//========================================================================================

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp(cmdtext, "/help", true)==0)
	{
	    SendClientMessage(playerid, COLOR_YELLOW, "Welcome to vinewoodstudios Help Center!");
	    SendClientMessage(playerid, COLOR_YELLOW, "To see the list of commands, please type /commands");
	    return 1;
	}
	else if (strcmp(cmdtext, "/commands", true)==0)
	{
	    SendClientMessage(playerid, COLOR_YELLOW, "Available Commands in the Gamemode:");
	    SendClientMessage(playerid, COLOR_YELLOW, "/fp | /up | /dn | /ne | /sw | /gravity | /weather");
	    SendClientMessage(playerid, COLOR_YELLOW, "/basejump1 | /basejump2 | /basejump3 /basejump4 | /basejump5 | /basejump6 /basejump7 | /basejump8 | /basejump9 | /basejump10");
	    SendClientMessage(playerid, COLOR_YELLOW, "/basejump11 | /basejump12 | /basejump13  | /basejump14  | /basejump15 | /parachute");
        SendClientMessage(playerid, COLOR_YELLOW, "/airbase | /armyship | /home | /room1 | /room2 | /room3 | /room4 | /policeHQ | /SM | /plane1 | /plane2 | /amu1 | /amu2");
	    SendClientMessage(playerid, COLOR_YELLOW, "/underground1 | /underground2 | /underground3 | /underground4 | /diner1 | /diner2 | /diner3 | /stadion1 | /stadion2 | /stadion3");
	    SendClientMessage(playerid, COLOR_YELLOW, "/airport | /airport_ls | /airport_sf | /airport_lv | /butcher | /battlefield | /bordello1 | /bordello2");
        SendClientMessage(playerid, COLOR_YELLOW, "/offroad | /stuntplane  | /stunt  | /givemepower  | /piratship1  | /piratship2");
   	    SendClientMessage(playerid, COLOR_YELLOW, "/savepoint | /loadpoint | /savespawn | /say | /time, /direct | /skydiveall");
	    SendClientMessage(playerid, COLOR_YELLOW, "/buycar | /getmycar");
	    SendClientMessage(playerid, COLOR_YELLOW, "/bikes | /cars | /4x4 ");
	    return 1;
	}
	/*
	dcmd(com,strlen,string)
	*/




	dcmd(fp,2, cmdtext);
	dcmd(up,2, cmdtext);
	dcmd(dn,2, cmdtext);
	dcmd(ne,2, cmdtext);
	dcmd(sw,2, cmdtext);
	dcmd(airport_ls,10, cmdtext);
	dcmd(airport_sf,10, cmdtext);
	dcmd(airport_lv,10, cmdtext);
	dcmd(savepoint,9, cmdtext);
	dcmd(loadpoint,9, cmdtext);
	dcmd(buycar,6, cmdtext);
	dcmd(getmycar,8, cmdtext);
    dcmd(airbase,7, cmdtext);
	dcmd(basejump1,9, cmdtext);
	dcmd(basejump2,9, cmdtext);
	dcmd(basejump3,9, cmdtext);
	dcmd(basejump4,9, cmdtext);
	dcmd(basejump5,9, cmdtext);
	dcmd(basejump6,9, cmdtext);
	dcmd(basejump7,9, cmdtext);
	dcmd(basejump8,9, cmdtext);
	dcmd(basejump9,9, cmdtext);
	dcmd(basejump10,10, cmdtext);
	dcmd(basejump11,10, cmdtext);
	dcmd(basejump12,10, cmdtext);
	dcmd(basejump13,10, cmdtext);
	dcmd(basejump14,10, cmdtext);
	dcmd(basejump15,10, cmdtext);
	dcmd(bernd,5, cmdtext);
	dcmd(armyship,8, cmdtext);
	dcmd(mount1,6, cmdtext);
	dcmd(home,4, cmdtext);
	dcmd(Eyzi,4, cmdtext);
	dcmd(underground1,12, cmdtext);
	dcmd(underground2,12, cmdtext);
	dcmd(underground3,12, cmdtext);
	dcmd(underground4,12, cmdtext);
	dcmd(underground5,12, cmdtext);
	dcmd(cars,4, cmdtext);
	dcmd(bikes,5, cmdtext);
	dcmd(4x4,3, cmdtext);
	dcmd(room1,5, cmdtext);
	dcmd(room2,5, cmdtext);
	dcmd(room3,5, cmdtext);
	dcmd(room4,5, cmdtext);
	dcmd(policeHQ,8, cmdtext);
	dcmd(SM,2, cmdtext);
	dcmd(airport,7, cmdtext);
	dcmd(plane1,6, cmdtext);
	dcmd(plane2,6, cmdtext);
	dcmd(amu1,4, cmdtext);
	dcmd(amu2,4, cmdtext);
	dcmd(butcher,7, cmdtext);
	dcmd(diner1,6, cmdtext);
	dcmd(diner2,6, cmdtext);
	dcmd(diner3,6, cmdtext);
	dcmd(stadion1,8, cmdtext);
	dcmd(stadion2,8, cmdtext);
	dcmd(stadion3,8, cmdtext);
	dcmd(battlefield,11, cmdtext);
	dcmd(bordello1,9, cmdtext);
	dcmd(bordello2,9, cmdtext);
	dcmd(forward, 7, cmdtext);
	dcmd(savespawn, 9, cmdtext);
	dcmd(time, 4, cmdtext);
	dcmd(say, 3, cmdtext);
	dcmd(direct, 6, cmdtext);
	dcmd(skydiveall, 10, cmdtext);
	dcmd(offroad,7, cmdtext);
	dcmd(stuntplane,10, cmdtext);
	dcmd(parachute,9, cmdtext);
	dcmd(weather,7, cmdtext);
	dcmd(gravity, 7, cmdtext);
	dcmd(light, 5, cmdtext);
	dcmd(stunt, 5, cmdtext);
	dcmd(givemepower,11, cmdtext);
	dcmd(piratship1,10, cmdtext);
	dcmd(piratship2,10, cmdtext);
	return 0;
}

//========================================================================================

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	printf("OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger);
	return 1;
}

//========================================================================================

public OnPlayerExitVehicle(playerid, vehicleid)
{
	printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid);
	return 1;
}

//========================================================================================

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	printf("OnPlayerStateChange(%d, %d, %d)", playerid, newstate, oldstate);
	return 1;
}

//========================================================================================

public OnPlayerEnterCheckpoint(playerid)
{
	printf("OnPlayerEnterCheckpoint(%d)", playerid);
	if (CheckpointStatus[playerid]==CP_BERND)
	{
	    SetPlayerPos(playerid,294.9592,-55.4038,2.7772);
	    CheckpointStatus[playerid]=CP_NONE;
	}
	else if (CheckpointStatus[playerid]==CP_GF)
	{
	    SetPlayerPos(playerid,13.4985,-92.3341,3.5354);
	    CheckpointStatus[playerid]=CP_NONE;
	}
	else
	{
	    SendClientMessage(playerid,COLOR_YELLOW,"What the hell are you doing here?");
	}
	SetPlayerInterior(playerid,0);
	return 1;
}

//========================================================================================

public OnPlayerLeaveCheckpoint(playerid)
{
	printf("OnPlayerLeaveCheckpoint(%d)", playerid);
	return 1;
}

//========================================================================================

public OnPlayerPrivmsg(playerid, recieverid, text[])
{
	return 1;
}

//========================================================================================

GetPointBehindPlayer(playerid, &Float:x, &Float:y, Float:distance) // By Sacky (name changed)
{
    new Float:a;
    GetPlayerPos(playerid, x, y, a);
    GetPlayerFacingAngle(playerid, a);
    x -= (distance * floatsin(-a, degrees));
    y -= (distance * floatcos(-a, degrees));
}
#pragma unused GetPointBehindPlayer

//========================================================================================

GetPointInfrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance) // By Simon based on the above (name changed)
{
    new Float:a;
    GetPlayerPos(playerid, x, y, a);
    GetPlayerFacingAngle(playerid, a);
    x += (distance * floatsin(-a, degrees));
    y += (distance * floatcos(-a, degrees));
}
#pragma unused GetPointInfrontOfPlayer

//========================================================================================

forward CamMod();

public CamMod()
{
	for (new i; i < MAX_PLAYERS; i ++)
	 {
		  if ((IsPlayerConnected(i)) && (CamMode[i]))
		   {
				new Float:x,
					Float:xx,
					Float:y,
					Float:yy,
					Float:z,
					Float:angle,
					hyp = 9, /* (15)distance from cam pos to cam look at pos */
					dis = 5; /* (7)distance from player to cam pos */

                GetPlayerPos(i, x, y, z);

                GetPlayerFacingAngle(i, angle);

                xx = x + hyp * floatsin(360 - angle, anglemode:degrees);

                yy = y + hyp * floatcos(360 - angle, anglemode:degrees);

                x = x + dis * floatsin(360 - angle, anglemode:degrees);

                y = y + dis * floatcos(360 - angle, anglemode:degrees);

                SetPlayerCameraPos(i, x + modx[i], y + mody[i], z + modz[i]);

                SetPlayerCameraLookAt(i, xx, yy, z + modz[i]);
		   }
	 }
}

//========================================================================================

forward Health();

public Health()
{
	for(new i=0; i<MAX_PLAYERS; i++)
	{
		SetPlayerHealth(i,100);
	}
	return 1;
}

//========================================================================================

dcmd_piratship1(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1042.7664,-3625.6248,6.4640);
	return 1;
}

dcmd_piratship2(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1154.4047,-3648.8296,5.3985);
	return 1;
}

dcmd_light(playerid, params[]) {
	#pragma unused params

	AttachObjectToPlayer(MyObject, playerid, 0, 0, 0, 0, 0, 0);
	return 1;
}


dcmd_givemepower(const playerid, const params[]) {
	#pragma unused params
	GivePlayerWeapon(playerid,1,1);
	GivePlayerWeapon(playerid,8,1);
	GivePlayerWeapon(playerid,24,500);
	GivePlayerWeapon(playerid,25,500);
	GivePlayerWeapon(playerid,28,5000);
	GivePlayerWeapon(playerid,31,5000);
	GivePlayerWeapon(playerid,34,1000);
	GivePlayerWeapon(playerid,36,150);
	GivePlayerWeapon(playerid,39,150);
	GivePlayerWeapon(playerid,42,1000);
	GivePlayerWeapon(playerid,14,1);
	GivePlayerWeapon(playerid,45,1);
	
	return 1;
}

dcmd_stunt(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1319.9019,1255.0181,14.2731);
	GameTextForPlayer(playerid, "~r~-~w~have~r~-~w~fun~r~!~w~!~r~!",5000,3);
	return 1;
}

dcmd_offroad(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-2461.4814,-1924.3505,302.4714);
	return 1;
}

dcmd_stuntplane(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-1438.2880,-564.0271,14.1484);
	return 1;
}

dcmd_bordello2(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,6);
	SetPlayerPos(playerid,747.8596,1438.5229,1102.9531);
	return 1;
}

dcmd_bordello1(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,3);
	SetPlayerPos(playerid,961.9481,-48.3315,1001.1172);
	return 1;
}

dcmd_battlefield(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,10);
	SetPlayerPos(playerid,-1021.2667,1073.5367,1346.8525);
	return 1;
}

dcmd_stadion3(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,14);
	SetPlayerPos(playerid,-1485.1116,1640.8212,1060.6719);
	return 1;
}

dcmd_stadion2(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,4);
	SetPlayerPos(playerid,-1414.9352,-664.2064,1058.9496);
	return 1;
}

dcmd_stadion1(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,7);
	SetPlayerPos(playerid,-1397.3379,-192.6365,1051.4636);
	return 1;
}

dcmd_diner3(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,1);
	SetPlayerPos(playerid,681.5267,-455.4620,-25.6099);
	return 1;
}

dcmd_diner2(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,1);
	SetPlayerPos(playerid,446.1725,-6.6123,1000.7344);
	return 1;
}

dcmd_diner1(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,4);
	SetPlayerPos(playerid,454.3579,-88.8554,999.5547);
	return 1;
}

dcmd_butcher(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,1);
	SetPlayerPos(playerid,956.1627,2123.2576,1011.0234);
	return 1;
}

dcmd_room4(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,12);
	SetPlayerPos(playerid,449.1001,510.1590,1001.4195);
	return 1;
}

dcmd_amu2(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,7);
	SetPlayerPos(playerid,286.8592,-134.4400,1004.0625);
	return 1;
}

dcmd_amu1(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,7);
	SetPlayerPos(playerid,301.3533,-137.1527,1004.0625);
	return 1;
}

dcmd_plane2(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,9);
	SetPlayerPos(playerid,315.5135,1028.2705,1948.7520);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_plane1(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,1);
	SetPlayerPos(playerid,1.6154,29.5560,1199.5938);
	return 1;
}

dcmd_airport(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,14);
	SetPlayerPos(playerid,-1832.8470,13.2980,1061.1436);
	return 1;
}

dcmd_SM(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,6);
	SetPlayerPos(playerid,346.8700,308.3268,999.1557);
	return 1;
}

dcmd_policeHQ(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,5);
	SetPlayerPos(playerid,323.4527,305.8528,999.1484);
	return 1;
}

dcmd_room3(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,4);
	SetPlayerPos(playerid,301.4166,303.5079,1003.5391);
	return 1;
}

dcmd_room2(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,2);
	SetPlayerPos(playerid,271.8850,306.6320,999.1484);
	return 1;
}

dcmd_room1(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,1);
	SetPlayerPos(playerid,245.5584,305.0414,999.1484);
	return 1;
}

dcmd_airport_ls(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1685.6631,-2238.3914,13.5469);
	return 1;
}

dcmd_airport_sf(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-1419.2921,-288.7450,14.1484);
	return 1;
}

dcmd_airport_lv(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1674.2263,1448.3473,10.7831);
	return 1;
}

dcmd_bikes(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1173.5220,1350.3903,10.9219);
	return 1;
}


dcmd_cars(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-2056.9275,-80.1014,35.3203);
	return 1;
}

dcmd_4x4(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-1428.6240,-963.8055,200.8914);
	return 1;
}

dcmd_underground1(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1359.8949,-1735.4429,8.0773);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_underground2(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,1);
	SetPlayerPos(playerid,-2758.3904,-256.9466,7.1875);
    return 1;
}

dcmd_underground3(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,2074.1431,-129.2195,-29.1452);
	return 1;
}

dcmd_underground4(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,2447.0950,1807.3107,16.3222);
	return 1;
}

dcmd_underground5(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1813.9081,-1282.3732,126.7332);
	GivePlayerWeapon(playerid,46,1);
	
	return 1;
}

dcmd_Eyzi(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,4);
	SetPlayerPos(playerid,304.2932,301.1159,999.1484);
	CheckpointStatus[playerid] = CP_GF;
	SetPlayerCheckpoint(playerid, 299.3521,303.4252,999.1484, 2);
	return 1;
}

dcmd_basejump15(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-1480.1273,920.2022,71.3504);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump14(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1669.1265,-1261.4250,233.3750);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump13(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1660.6019,-1642.4775,87.3735);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump12(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-85.0262,-223.2227,80.1250);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump11(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-1752.9055,885.6354,295.8750);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump10(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-2827.9297,2178.0920,177.4415);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump9(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-2718.2002,-320.5259,57.4873);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump8(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-2512.9507,-689.9366,279.7344);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump7(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-1825.4650,540.7672,150.8125);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump6(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1481.6581,-1790.3058,156.7533);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump5(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1210.2484,-1281.6752,63.5066);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump4(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-2662.3428,1594.6285,225.7578);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump3(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-608.0198,1924.7239,113.1564);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_basejump2(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-346.5296,1626.3246,136.3084);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_home(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,2486.7524,-1647.1285,14.0703);
	return 1;
}

dcmd_mount1(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-2310.9902,-1639.6561,483.7031);
	return 1;
}

dcmd_parachute(const playerid, const params[]) {
	#pragma unused params
	
	GivePlayerWeapon(playerid,46,1);
	GameTextForPlayer(playerid, "~r~-~w~have~r~-~w~fun~r~-~w~with~r~-~w~your~r~-~w~new~r~-~n~~r~-~w~parachute~r~-",5000,3);
	return 1;
}

dcmd_armyship(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-1347.0604,493.3945,18.2278);
	return 1;
}

dcmd_bernd(const playerid, const params[]) {
	#pragma unused params
	
	SetPlayerInterior(playerid,12);
	SetPlayerPos(playerid,2324.4329,-1146.6653,1050.7101);
	CheckpointStatus[playerid] = CP_BERND;
	SetPlayerCheckpoint(playerid,2324.4028,-1141.8567,1050.9835,2);
	
	return 1;
}


dcmd_airbase(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,416.0566,2537.7620,19.1484 );
	return 1;
}

dcmd_basejump1(const playerid, const params[]) {
	#pragma unused params
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,-1791.8593,568.3589,332.8019);
	GivePlayerWeapon(playerid,46,1);
	return 1;
}

dcmd_savepoint(const playerid, const params[]) {
	#pragma unused params
	GetPlayerPos(playerid, gPositions[playerid][0], gPositions[playerid][1], gPositions[playerid][2]);
	GetPlayerFacingAngle(playerid, gPositions[playerid][3]);
	GameTextForPlayer(playerid,"Point Saved!",2000,5);
	return 1;
}

dcmd_loadpoint(const playerid, const params[]) {
	#pragma unused params
 	SetPlayerPos(playerid, gPositions[playerid][0], gPositions[playerid][1], gPositions[playerid][2]);
	SetPlayerFacingAngle(playerid, gPositions[playerid][3]);
	GameTextForPlayer(playerid,"Point Loaded!",2000,5);
	return 1;
}

dcmd_buycar(const playerid, const params[]) {
	#pragma unused params
	if(GetPlayerMoney(playerid) < 40000) {
		SendClientMessage(playerid,COLOR_WHITE, "Sorry, you don't have enough money to buy a car.");
	}
	else {
		if(IsPlayerInAnyVehicle(playerid)) {
			SetVehicleToRespawn(ownedcar[playerid]);
			ownedcar[playerid] = GetPlayerVehicleID(playerid);
			owner[ownedcar[playerid]] = playerid;
			SendClientMessage(playerid,COLOR_WHITE, "Congragulations! You have bought a new car.");
			RemovePlayerFromVehicle(playerid);
			GivePlayerMoney(playerid,-40000);
            falseowner[playerid] = 0;
    	}
     }
    return 1;
}

dcmd_getmycar(const playerid, const params[]) {
	#pragma unused params
	if(ownedcar[playerid] != 0)	{
        if (GetPlayerMoney(playerid) < 500) {
				SendClientMessage(playerid,COLOR_WHITE, "Sorry, you don't have enough money to use the car teleport service.");
		}
		else {
			new Float:playerpos[4];
		    GetPlayerPos(playerid,playerpos[0],playerpos[1],playerpos[2]);
		    GetPlayerFacingAngle(playerid,playerpos[3]);
		    SetVehicleZAngle(ownedcar[playerid],playerpos[3]+90.0);
		    SetVehiclePos(ownedcar[playerid],playerpos[0]+3.0*floatsin(-playerpos[3],degrees),playerpos[1]+3.0*floatcos(-playerpos[3],degrees),playerpos[2]+0.5); // This one is cool that I am using trigo functions to set the vehicle just before you.
		    SendClientMessage(playerid,COLOR_WHITE, "Thank you for using car teleport service.");
		    GivePlayerMoney(playerid,-500);
		}
	}
	else {
	   	SendClientMessage(playerid,COLOR_WHITE, "You don't own any cars");
	}
	return 1;
}

//========================================================================================

IsNumeric(const string[]) // By Mike (http://forum.sa-mp.com/index.php?topic=638.0)
{
	for (new i = 0, j = strlen(string); i < j; i++)
	{
	    if (string[i] > '9' || string[i] < '0') return 0;
	}
	return 1;
}