rendered paste body#include <a_samp>
//#include <YSI>
#pragma tabsize 0
//---/VIEW--//
#define SPEC_TYPE_NONE 0
#define SPEC_TYPE_PLAYER 1
//---COLORS--//
#define GREEN 0x21DD00FF
#define RED 0xE60000FF
#define ADMIN_RED 0xFB0000FF
#define YELLOW 0xFFFF00FF
#define ORANGE 0xF97804FF
#define LIGHTRED 0xFF8080FF
#define LIGHTBLUE 0x00C2ECFF
#define PLAYER_COLOR 0x04CBE1FF
#define ADMIN_COLOR 0x0DE6CBFF
//---MISC--//
new playername[MAX_PLAYER_NAME];
new Peds[217][1] = {
{264},
{288},
{286},{287},{228},{113},{120},{147},{294},{227},{61},{171},
{247},
{248},{100},{256},{263},{262},{261},{260},{259},{258},{257},{256},{255},
{253},{252},{251},{249},{246},{245},{244},{243},{242},{241},{240},{239},
{238},{237},{236},{235},{234},{233},{232},{231},{230},{229},
{226},{225},{173},{174},{175},{224},{223},{222},{221},{220},{219},{218},
{217},{216},{215},{214},{213},{212},{211},{210},{209},
{207},{206},{205},{204},{203},{202},{201},{200},{199},{198},{197},{196},
{195},{194},{193},{192},{191},{190},{189},{185},{184},{183},
{182},{181},{180},{179},{178},{176},{172},{170},{168},{167},{162},
{161},{160},{159},{158},{157},{156},{155},{154},{153},{152},{151},
{146},{145},{144},{143},{142},{141},{140},{139},{138},{137},{136},{135},
{134},{133},{132},{131},{130},{129},{128},{254},{99},{97},{96},{95},{94},
{92},{90},{89},{88},{87},{85},{84},{83},{82},{81},{80},{79},{78},{77},{76},
{75},{73},{72},{69},{68},{67},{66},{64},{63},{62},{58},{57},{56},{55},
{54},{53},{52},{51},{50},{49},{45},{44},{43},{41},{39},{38},{37},{36},{35},
{34},{33},{32},{31},{30},{29},{28},{27},{26},{25},{24},{23},{22},{21},{20},
{19},{18},{17},{16},{15},{14},{13},{12},{11},{10},{1},{2},
{290},
{291},
{292},
{293},
{187},
{296},
{297},
{298},
{299}
};
new player[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new CountDelay[MAX_PLAYERS];
new Race[MAX_PLAYERS];
new SpectateID[MAX_PLAYERS];
new SpectateType[MAX_PLAYERS];
new DMArena[MAX_PLAYERS];
new deagle;
new shotgun;
new sawnoff;
new spaz;
new uzi;
new mp5;
new ak;
new m4;
new tec9;
new pistol;
new sniper1;
new sniper2;
new rocketlaunch;
new armor;
new DMexitICON;
new knife;
new barrelplayer;
const cpa=28; ///total number of CheckPoints Allocated
new cpc=0; // sets the CheckPointCounter to zero
new Float:CP[cpa][20] =
{
{-302.255035, 1505.969238, 74.411736}, // x,y,z coordinates of the 1st CheckPoint
{-441.163452, 1448.191895, 32.653084},
{-394.743042, 1758.622070, 42.693645},
{-400.210571, 1914.289307, 57.094341},
{-438.057556, 1761.635742, 71.032410},
{-435.510254, 2001.613647, 73.374550},
{-385.328156, 2076.848877, 59.959751},
{-552.458923, 2007.411377, 59.382813},
{-883.589722, 1974.647339, 59.181732},
{-933.603333, 1798.130859, 59.263165},
{-1193.072998, 1798.982544, 40.252300},
{-1506.610229, 1843.736206, 29.534857},
{-1734.920532, 1822.965698, 22.676218},
{-1812.130127, 2109.986084, 7.296963},
{-1990.656372, 2263.711182, 16.179716},
{-1915.336304, 2507.300537, 42.769444},
{-1739.025757, 2728.958008, 59.358620},
{-1317.115723, 2651.428711, 48.921650},
{-1172.758423, 2691.815186, 44.867188},
{-795.664185, 2729.944092, 44.339096},
{-769.773560, 2693.295654, 46.184345},
{-702.479370, 2679.611572, 56.226120},
{-659.634583, 2492.241943, 74.390343},
{-469.553284, 2442.402100, 48.676949},
{-360.234619, 2497.114746, 36.368027},
{-353.467896, 2529.799805, 35.023438},
{-408.920227, 2591.400391, 42.016609},
{-504.122131, 2592.951172, 52.459160} // NOTICE THERE IS NO COMMA AFTER THE FINAL CHECKPOINT!
};
new DM;
new Text:dms;
new Text:dmk;
new Text:dmh;
new Text:dmr;
new Text:dmrh;
new Stats[MAX_PLAYERS];
new DMs;
new Ramp[MAX_PLAYERS];
new ramp;
new ScoreBarrel;
forward CountDown(playerid);
forward CountDown2(playerid);
forward CountDown3(playerid);
forward IsPlayerInArea(playerid,Float:max_x,Float:min_x,Float:max_y,Float:min_y);
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
forward ScoreCheck(playerid,killerid);
forward DMStatsCheck(playerid);
forward ObjectAttachedToPlayer(playerid);
main()
{
print("|-------------------------|");
print(" Stunts'n'Drifts'n'Racez");
print("|-------------------------|");
}
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 OnGameModeInit()
{
SetTimer("CMCheck",500,1);
UsePlayerPedAnims();
SetDisabledWeapons(43,44,45);
SetGameModeText("Stunts'n'Drifts'n'Racez'n'Pwn");
/*--------------------------Objects [ 144 ] --------------------------*/
//DeathMatch Arena//
CreateObject(1225, 1394.421143, 2801.646973, 10.226068, 0, 0, 0);
CreateObject(1225, 1394.421143, 2801.646973, 10.226068, 0, 0, 0);
CreateObject(1225, 1382.974365, 2779.775146, 10.374505, 0, 0, 0);
CreateObject(1225, 1379.300537, 2820.208008, 10.226068, 0, 0, 0);
CreateObject(1225, 1359.069336, 2835.471436, 10.226068, 0, 0, 0);
CreateObject(1225, 1341.266602, 2807.391602, 10.226068, 0, 0, 0);
CreateObject(1225, 1333.386597, 2838.064697, 10.226068, 0, 0, 0);
CreateObject(1225, 1316.230713, 2819.156250, 10.226068, 0, 0, 0);
CreateObject(1225, 1306.382324, 2841.635498, 10.226068, 0, 0, 0);
CreateObject(1225, 1274.138794, 2817.096680, 10.226068, 0, 0, 0);
CreateObject(1225, 1309.834595, 2770.504150, 10.226068, 0, 0, 0);
CreateObject(1225, 1259.328857, 2786.661133, 10.226068, 0, 0, 0);
CreateObject(1225, 1261.476440, 2757.732666, 10.226068, 0, 0, 0);
CreateObject(1225, 1236.798218, 2820.575439, 10.226068, 0, 0, 0);
CreateObject(1225, 1212.357300, 2810.865479, 10.226068, 0, 0, 0);
CreateObject(1225, 1232.160889, 2773.733887, 10.226068, 0, 0, 0);
CreateObject(1225, 1204.170654, 2741.543701, 10.233880, 0, 0, 0);
CreateObject(1225, 1188.199097, 2764.743652, 10.226068, 0, 0, 0);
CreateObject(1225, 1173.148926, 2792.352539, 10.226068, 0, 0, 0);
CreateObject(1225, 1152.216187, 2775.703613, 10.226068, 0, 0, 0);
CreateObject(1225, 1163.331299, 2836.286377, 10.226068, 0, 0, 0);
CreateObject(1225, 1201.100220, 2852.451904, 10.226068, 0, 0, 0);
CreateObject(1225, 1137.832275, 2804.354004, 10.374505, 0, 0, 0);
CreateObject(1225, 1125.284546, 2763.734619, 9.697108, 0, 0, 0);
CreateObject(1225, 1126.142700, 2763.629395, 9.669478, 0, 0, 0);
CreateObject(1225, 1126.700562, 2762.705566, 9.565567, 0, 0, 0);
CreateObject(1225, 1126.184814, 2761.928711, 9.534018, 0, 0, 0);
CreateObject(1225, 1125.394775, 2761.738281, 9.610239, 0, 0, 0);
CreateObject(1225, 1124.428345, 2762.278564, 9.656989, 0, 0, 0);
CreateObject(1225, 1374.238281, 2738.846436, 10.226068, 0, 0, 0);
CreateObject(1225, 1410.170044, 2745.029053, 10.226068, 0, 0, 0);
CreateObject(1225, 1409.693604, 2745.737061, 10.226068, 0, 0, 0);
CreateObject(1225, 1410.321655, 2746.420410, 10.226068, 0, 0, 0);
CreateObject(1225, 1411.273315, 2744.817139, 10.226068, 0, 0, 0);
CreateObject(1225, 1411.375488, 2746.298828, 10.226068, 0, 0, 0);
CreateObject(3279, 1367.569092, 2854.406006, 9.895929, 0, 0, 258.75);
CreateObject(3279, 1170.504150, 2770.411865, 10.426961, 0, 0, 11.25);
CreateObject(16641, 1171.471680, 2750.984863, 11.582980, 0, 0, 0);
CreateObject(16641, 1159.371704, 2800.570068, 11.575168, 0, 0, 270);
CreateObject(16641, 1218.682007, 2837.512695, 11.340486, 0, 0, 0);
CreateObject(16641, 1294.750488, 2833.845703, 11.575168, 0, 0, 0);
CreateObject(16641, 1303.165161, 2756.475586, 11.575168, 0, 0, 0);
CreateObject(16641, 1356.359741, 2799.102539, 11.122785, 0, 0, 0);
CreateObject(16641, 1361.933350, 2760.661377, 11.057704, 0, 0, 0);
CreateObject(3374, 1323.385498, 2753.027588, 11.314289, 0, 0, 0);
CreateObject(3374, 1352.437988, 2736.644287, 11.314289, 0, 0, 0);
CreateObject(3374, 1361.510498, 2783.245605, 11.306578, 0, 0, 0);
CreateObject(3374, 1329.457275, 2808.185791, 11.314289, 0, 0, 0);
CreateObject(3374, 1350.745850, 2819.493164, 11.314289, 0, 0, 0);
CreateObject(3374, 1381.715576, 2815.797607, 11.314289, 0, 0, 0);
CreateObject(3374, 1404.882813, 2788.174561, 11.314289, 0, 0, 0);
CreateObject(3374, 1395.840332, 2761.134033, 11.314289, 0, 0, 0);
CreateObject(3374, 1255.182861, 2840.455566, 11.314289, 0, 0, 0);
CreateObject(3374, 1180.170654, 2784.366455, 11.314289, 0, 0, 0);
CreateObject(3374, 1202.893799, 2776.871826, 11.783143, 0, 0, 0);
CreateObject(3374, 1197.304565, 2816.789307, 11.314289, 0, 0, 0);
CreateObject(3374, 1139.212769, 2759.207275, 11.314289, 0, 0, 0);
CreateObject(3267, 1170.062134, 2770.009277, 26.065529, 0, 0, 0);
CreateObject(3267, 1367.281250, 2854.297852, 25.534498, 0, 0, 0);
CreateObject(1676, 1362.489136, 2825.782227, 11.401179, 0, 0, 0);
CreateObject(1676, 1297.444336, 2810.228516, 11.549617, 0, 0, 0);
CreateObject(4811, 1364.545654, 2868.894531, 21.551491, 0, 0, 66.4859);
CreateObject(4811, 1265.006226, 2865.138428, 20.723425, 0, 0, 65.6265);
CreateObject(4812, 1181.717773, 2876.913574, 20.780191, 0, 0, 98.6717);
CreateObject(4812, 1099.657104, 2807.638428, 21.188910, 0, 0, 185.0794);
CreateObject(4811, 1156.019531, 2725.143066, 20.634317, 0, 0, 243.2028);
CreateObject(4811, 1221.966431, 2718.852539, 20.751495, 0, 0, 251.0151);
CreateObject(4811, 1315.453735, 2723.069824, 20.712118, 0, 0, 245.7811);
CreateObject(4811, 1376.420532, 2723.234375, 20.803871, 0, 0, 247.5);
CreateObject(987, 1427.196533, 2728.195801, 9.820313, 0, 0, 91.6415);
CreateObject(987, 1418.045410, 2811.082520, 9.824651, 0, 0, 90);
CreateObject(986, 1420.075684, 2807.672852, 11.535318, 0, 0, 123.7499);
CreateObject(987, 1417.714233, 2858.898438, 9.770313, 0, 0, 94.3745);
CreateObject(987, 1417.201904, 2858.638672, 9.824650, 0, 0, 270);
CreateObject(987, 1416.880615, 2846.676758, 9.820313, 0, 0, 270);
CreateObject(987, 1416.816895, 2834.728516, 9.820313, 0, 0, 270);
CreateObject(987, 1118.174194, 2731.062500, 9.732239, 0, 0, 105.5471);
CreateObject(967, 1247.997925, 2778.881836, 9.820313, 0, 0, 0);
CreateObject(967, 1270.463745, 2812.674316, 10.310163, 0, 0, 0);
CreateObject(967, 1287.631104, 2776.083252, 9.820313, 0, 0, 0);
CreateObject(967, 1230.198242, 2810.858887, 9.820309, 0, 0, 0);
CreateObject(967, 1325.816772, 2851.327881, 10.202387, 0, 0, 258.75);
CreateObject(967, 1335.731689, 2792.430176, 9.820313, 0, 0, 348.75);
CreateObject(967, 1339.117676, 2757.069092, 8.825546, 0, 0, 0);
CreateObject(5837, 1158.857300, 2836.626953, 11.537807, 0, 0, 258.75);
CreateObject(5837, 1410.495972, 2822.632568, 11.537807, 0, 0, 90);
CreateObject(10401, 1381.745361, 2794.018311, 11.909883, 0, 0, 45);
CreateObject(10401, 1257.122925, 2804.777100, 12.111685, 0, 0, 45);
CreateObject(11446, 1313.495483, 2779.866211, 9.995216, 0, 0, 258.75);
CreateObject(11445, 1316.503662, 2831.822754, 9.992058, 0, 0, 0);
CreateObject(971, 1427.333008, 2741.441895, 15.565273, 0, 0, 0);
CreateObject(971, 1426.133057, 2802.419189, 16.065266, 0, 0, 333.3575);
CreateObject(972, 1413.454956, 2825.735352, 2.710287, 87.6625, 0, 34.4548);
CreateObject(986, 1433.862549, 2810.784180, 17.611643, 0, 0, 0);
CreateObject(986, 1437.726685, 2813.354004, 15.941191, 0, 38.6747, 89.0632);
CreateObject(986, 1441.507935, 2815.814453, 14.248710, 0, 0, 0);
CreateObject(985, 1449.451538, 2815.796631, 14.260550, 0, 0, 0);
CreateObject(980, 1457.772339, 2809.617188, 15.414513, 0, 0, 90);
CreateObject(971, 1453.763550, 2815.362793, 16.101299, 0, 0, 0);
CreateObject(980, 1457.717407, 2798.072510, 15.443264, 0, 0, 90);
CreateObject(980, 1457.756714, 2786.542236, 15.422686, 0, 0, 90);
CreateObject(980, 1457.691040, 2775.065186, 15.457050, 0, 0, 90);
CreateObject(980, 1457.737427, 2763.560547, 15.432798, 0, 0, 90);
CreateObject(980, 1457.681030, 2752.095947, 15.462240, 0, 0, 90);
CreateObject(980, 1457.718750, 2740.607910, 15.442511, 0, 0, 90);
CreateObject(980, 1451.967285, 2731.772705, 15.315205, 0, 0, 0);
CreateObject(980, 1443.126465, 2731.962891, 15.442654, 0, 0, 0);
CreateObject(971, 1437.652344, 2733.520752, 17.747494, 0, 32.6586, 269.0632);
CreateObject(971, 1433.451172, 2737.007813, 19.269344, 0, 0, 0);
CreateObject(1225, 1260.257324, 2804.757813, 14.378963, 0, 0, 0);
CreateObject(1225, 1255.277710, 2804.867676, 14.359201, 0, 0, 0);
CreateObject(1225, 1262.293579, 2793.773438, 14.530579, 0, 0, 0);
CreateObject(1225, 1254.716553, 2793.174316, 14.422736, 0, 0, 0);
CreateObject(11446, 1230.040771, 2746.384521, 10.003029, 0, 0, 191.25);
CreateObject(11446, 1275.472168, 2752.257813, 9.995216, 0, 0, 258.75);
CreateObject(11446, 1193.948486, 2792.116455, 9.987423, 0, 0, 101.25);
CreateObject(11446, 1267.886841, 2842.820557, 9.987425, 0, 0, 11.25);
CreateObject(11446, 1177.591553, 2841.525879, 9.995216, 0, 0, 90);
CreateObject(11442, 1408.403320, 2860.745850, 9.994064, 0, 0, 270);
CreateObject(1428, 1406.435547, 2861.713135, 13.180086, 336.7952, 3.4377, 94.2972);
CreateObject(1428, 1408.133301, 2861.673096, 11.035156, 336.7952, 3.4377, 94.2972);
CreateObject(1209, 1404.833984, 2860.707764, 14.651329, 91.9597, 0, 180.8594);
CreateObject(14409, 1124.451538, 2821.911377, 12.987204, 0, 0, 0);
CreateObject(14409, 1133.530029, 2819.432861, 19.191597, 0, 0, 89.0632);
CreateObject(14409, 1136.479614, 2810.435547, 25.445990, 0, 0, 3.515);
CreateObject(14409, 1144.968628, 2807.541504, 31.800381, 0, 0, 90.7821);
CreateObject(1437, 1147.651123, 2804.999512, 35.900089, 332.498, 1.7189, 183.4378);
CreateObject(3277, 1147.690186, 2798.914307, 40.439747, 0, 0, 345.3896);
CreateObject(1225, 1149.026611, 2799.351807, 41.337807, 0, 0, 0);
CreateObject(1225, 1146.267334, 2799.723877, 41.337807, 0, 0, 0);
CreateObject(1225, 1147.710938, 2808.235352, 35.393635, 0, 0, 0);
CreateObject(1225, 1136.560425, 2807.892578, 29.039244, 0, 0, 0);
CreateObject(1225, 1136.302856, 2819.112549, 22.784851, 0, 0, 0);
CreateObject(1225, 1124.397217, 2819.413818, 16.580458, 0, 0, 0);
CreateObject(1225, 1124.044922, 2825.017578, 13.087718, 0, 0, 0);
CreateObject(1225, 1131.103394, 2819.662842, 19.745953, 0, 0, 0);
CreateObject(1225, 1135.991821, 2813.396973, 25.626303, 0, 0, 0);
CreateObject(1225, 1143.025269, 2807.322510, 32.699654, 0, 0, 0);
CreateObject(1222, 1147.832275, 2806.813477, 35.463947, 0, 0, 0);
CreateObject(969, 1457.347900, 2734.993652, 9.390577, 1.7189, 270.6186, 92.5783);
CreateObject(3359, 1262.328247, 2735.483643, 9.281633, 0, 0, 168.75);
CreateObject(11292, 1237.817627, 2853.018555, 11.284345, 0, 0, 0);
barrelplayer = CreateObject(1225,0,0,0,0,0,0);
CreateObject(1225,1260.3066,2735.6462,10.3923,0,0,0); // explosive barrel
/*--------------------------Vehicles [ 61 ]--------------------------*/
//Cars in Drifting Zones//
AddStaticVehicle(480,2301.5095,1405.1792,42.5501,270.0606,-1,-1); // lv driftlot
AddStaticVehicle(560,2301.6406,1408.4753,42.5501,269.9618,-1,-1); //lv driftlot
AddStaticVehicle(558,2302.4795,1412.1815,42.5501,270.7119,-1,-1); //lv driftlot
AddStaticVehicle(603,2302.1626,1415.8214,42.5500,269.6354,-1,-1); //lv driftlot
AddStaticVehicle(451,2301.9263,1419.2104,42.5501,271.0471,-1,-1); //lv driftlot
AddStaticVehicle(506,2300.7449,1422.8412,42.5498,269.0851,-1,-1); //lv driftlot
AddStaticVehicle(550,2301.1982,1426.4480,42.5500,268.7574,-1,-1); //lv driftlot
AddStaticVehicle(477,2301.6213,1430.1429,42.5500,270.4868,-1,-1); //lv driftlot
AddStaticVehicle(411,2302.1357,1433.7285,42.5500,268.8563,-1,-1); //lv driftlot
AddStaticVehicle(559,2301.8879,1437.3514,42.5499,269.7635,-1,-1); //lv driftlot
AddStaticVehicle(562,2301.8054,1440.4999,42.5499,269.7474,-1,-1); //lv driftlot
AddStaticVehicle(429,2301.6523,1444.4962,42.5499,267.5894,-1,-1); //lv driftlot
AddStaticVehicle(568,2302.5938,1447.8400,42.5500,269.9099,-1,-1); //lv driftlot
AddStaticVehicle(587,2301.4534,1451.7228,42.5499,267.3141,-1,-1); //lv driftlot
AddStaticVehicle(522,2352.9937,1444.3778,42.5454,90.7260,-1,-1); //lv driftlot
AddStaticVehicle(522,2353.2419,1447.9402,42.5454,90.2651,-1,-1); //lv driftlot
AddStaticVehicle(522,2353.2422,1451.7985,42.5454,90.8421,-1,-1); ///lv driftlot
AddStaticVehicle(602,-2502.0293,-600.3530,132.1321,178.3081,-1,-1); // driftzones
AddStaticVehicle(560,-2505.5940,-600.6416,132.1321,180.2393,-1,-1); // driftzones
AddStaticVehicle(558,-2509.4561,-602.0853,132.1328,180.1262,-1,-1); // driftzones
AddStaticVehicle(562,-2513.2363,-602.8759,132.1327,179.8866,-1,-1); // driftzones
AddStaticVehicle(541,-2516.9885,-601.9250,132.1326,180.3385,-1,-1); // driftzones
AddStaticVehicle(451,-2520.4460,-603.0859,132.1293,180.6989,-1,-1); // driftzones
AddStaticVehicle(560,-317.9033,1514.2576,74.9291,358.5075,-1,-1); // driftzones
AddStaticVehicle(550,-324.1991,1515.8608,74.9325,357.5335,-1,-1); // driftzones
AddStaticVehicle(558,-330.5212,1515.3676,74.9301,359.9252,-1,-1); // driftzones
AddStaticVehicle(559,-336.6664,1515.0902,74.9301,359.1841,-1,-1); // driftzones
AddStaticVehicle(411,-342.7112,1515.8678,74.9275,357.8769,-1,-1); //driftzones
AddStaticVehicle(522,-346.1451,1516.0438,74.9314,359.2783,-1,-1); // driftzones
AddStaticVehicle(522,-314.8004,1514.8811,74.9278,359.7531,-1,-1); // driftzones
//Cars in Car Gallery//
AddStaticVehicle(536,-2092.4338,-220.0101,35.0500,269.3897,-1,-1); // CarGallery
AddStaticVehicle(536,-2092.4338,-215.0101,35.0114,269.3897,-1,-1); // CarGallery
AddStaticVehicle(402,-2092.4338,-210.0101,35.0324,269.3897,-1,-1); // CarGallery
AddStaticVehicle(402,-2092.4338,-205.0101,35.0546,269.3897,-1,-1); // CarGallery
AddStaticVehicle(415,-2092.4338,-200.0101,35.0430,269.3897,-1,-1); // CarGallery
AddStaticVehicle(415,-2092.4338,-195.0101,35.0313,269.3897,-1,-1); // CarGallery
AddStaticVehicle(558,-2092.4338,-190.0101,35.0178,269.3897,-1,-1); // CarGallery
AddStaticVehicle(558,-2092.4338,-185.0101,35.0359,269.3897,-1,-1); // CarGallery
AddStaticVehicle(480,-2092.4338,-180.0101,35.0182,269.3897,-1,-1); // CarGallery
AddStaticVehicle(480,-2092.4338,-175.0101,35.0598,269.3897,-1,-1); // CarGallery
AddStaticVehicle(562,-2092.4338,-170.0101,35.0234,269.3897,-1,-1); // CarGallery
AddStaticVehicle(562,-2092.4338,-165.0101,35.0481,269.3897,-1,-1); // CarGallery
AddStaticVehicle(587,-2092.4338,-160.0101,35.0467,269.3897,-1,-1); // CarGallery
AddStaticVehicle(587,-2092.4338,-155.0101,35.0332,269.3897,-1,-1); // CarGallery
AddStaticVehicle(565,-2092.4338,-150.0101,35.0488,269.3897,-1,-1); // CarGallery
AddStaticVehicle(407,-2092.4338,-145.0101,35.0348,269.3897,-1,-1); // CarGallery
AddStaticVehicle(457,-2015.0078,-209.8852,35.0519,90.0784,-1,-1); // CarGallery
AddStaticVehicle(431,-2018.0494,-204.3858,35.4219,93.1552,-1,-1); // CarGallery
AddStaticVehicle(437,-2017.8690,-199.9139,35.4230,89.7317,-1,-1); // CarGallery
AddStaticVehicle(541,-2015.0083,-194.8847,35.0166,90.0792,-1,-1); // CarGallery
AddStaticVehicle(434,-2015.0072,-189.8838,35.0374,90.0803,-1,-1); // CarGallery
AddStaticVehicle(502,-2015.0076,-184.8849,35.0231,90.0791,-1,-1); // CarGallery
AddStaticVehicle(503,-2015.0076,-179.8847,35.0508,90.0793,-1,-1); // CarGallery
AddStaticVehicle(494,-2015.0076,-174.8847,35.0358,90.0793,-1,-1); // CarGallery
AddStaticVehicle(571,-2015.0076,-169.8847,35.0478,90.0793,-1,-1); // CarGallery
AddStaticVehicle(411,-2015.0076,-164.8847,35.0317,90.0793,-1,-1); // CarGallery
AddStaticVehicle(411,-2015.0076,-159.8847,35.0160,90.0793,-1,-1); // CarGallery
AddStaticVehicle(603,-2015.0076,-154.8847,35.0310,90.0793,-1,-1); // CarGallery
AddStaticVehicle(560,-2015.0076,-149.8847,35.0141,90.0793,-1,-1); // CarGallery
AddStaticVehicle(559,-2015.0076,-144.8847,35.0205,90.0793,-1,-1); // CarGallery
AddStaticVehicle(559,-2015.0076,-139.8829,35.0168,90.0816,-1,-1); // CarGallery
AddStaticVehicle(451,-2015.0118,-134.8868,35.0339,90.0789,-1,-1); // CarGallery
AddStaticVehicle(423,2460.2656,1351.0656,10.8466,89.5078,1,17); // mr whoop
//---------DeathMatch Pickups---------//
deagle = CreatePickup(348,23,1233.9321,2853.1243,11.0783);
shotgun = CreatePickup(349,23,1236.2939,2853.3032,11.0783);
sawnoff = CreatePickup(350,23,1237.7905,2853.3423,11.0783);
spaz = CreatePickup(351,23,1239.1871,2853.3784,11.0783);
uzi = CreatePickup(352,23,1240.5386,2853.4141,11.0783);
mp5 = CreatePickup(353,23,1241.7808,2853.4778,11.0783);
ak = CreatePickup(355,23,1267.0879,2737.4995,10.1228);
m4 = CreatePickup(356,23,1266.0609,2732.8618,10.8203);
tec9 = CreatePickup(372,23,1262.1416,2731.9580,10.8203);
knife = CreatePickup(335,23,1257.7263,2733.2354,10.7284); // knife
pistol = CreatePickup(346,23,1257.8317,2739.6201,10.9355);
sniper1 = CreatePickup(358,19,1369.3722,2855.2625,26.9741);
sniper2 = CreatePickup(358,19,1169.0966,2771.9470,27.5051);
rocketlaunch = CreatePickup(359,19,1149.6584,2798.1980,41.9397);
armor = CreatePickup(373,2,1145.1918,2799.5039,41.9321);
CreatePickup(1240,2,1410.9412,2745.6846,10.8203);// health
CreatePickup(1240,2,1125.4552,2762.5769,10.1958);// health
DMexitICON = CreatePickup(1254,23,1422.3750,2773.7910,10.8203);
//---------Player Skins---------//
for(new i = 0; i <= sizeof(Peds); i++)
{
AddPlayerClass(Peds[i][0],2304.3674,1422.4849,42.8203,347.5988,0,0,0,0,0,0);
}
//=-GameModeInit~END-=//
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerInterior(playerid,10);
SetPlayerPos(playerid,375.6171,-65.8491,1001.5078);
SetPlayerFacingAngle(playerid,180);
SetPlayerCameraPos(playerid, 377.4231,-68.8445,1001.7078);
SetPlayerCameraLookAt(playerid,376.5215,-67.4382,1001.5078);
PlayerPlaySound(playerid, 1185, 0.0, 0.0, 0.0);
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
SetPlayerInterior(playerid,0);
return 1;
}
public OnPlayerConnect(playerid)
{
SetPlayerMapIcon(playerid,1,-2068.5393,-150.7940,35.3203,55,0xF5F5F5F5); // CARGAL
SetPlayerMapIcon(playerid,2,1260.7228,2737.6238,10.6730,18,0xF5F5F5F5); // DM ZONE WEP1
SetPlayerMapIcon(playerid,3,1235.7006,2851.3086,10.8203,18,0xF5F5F5F5); // DM ZONE WEP2
SendDeathMessage(INVALID_PLAYER_ID, playerid, 200);
GameTextForPlayer(playerid,"~r~Stunt~w~'n'~y~Drift~w~'n'~b~Race'n'~p~Pwn",5000,6);
CountDelay[playerid] = 1;
Race[playerid] = 0;
DMArena[playerid] = 0;
//=-DM Stats TextDraw-=//
dms = TextDrawCreate(252.000000,390.000000,"Stats");
TextDrawUseBox(dms,1);
TextDrawBoxColor(dms,0xffffff33);
TextDrawTextSize(dms,355.000000,78.000000);
TextDrawAlignment(dms,0);
TextDrawBackgroundColor(dms,0x0000ff99);
TextDrawFont(dms,3);
TextDrawLetterSize(dms,1.000000,2.000000);
TextDrawColor(dms,0x00ffffcc);
TextDrawSetOutline(dms,1);
TextDrawSetProportional(dms,1);
TextDrawSetShadow(dms,1);
dmk = TextDrawCreate(196.000000,411.000000,"Kills:");
TextDrawTextSize(dmk,408.000000,78.000000);
TextDrawAlignment(dmk,0);
TextDrawBackgroundColor(dmk,0x00000099);
TextDrawFont(dmk,1);
TextDrawLetterSize(dmk,1.000000,2.000000);
TextDrawColor(dmk,0xff0000cc);
TextDrawSetOutline(dmk,1);
TextDrawSetProportional(dmk,1);
TextDrawSetShadow(dmk,1);
dmh = TextDrawCreate(196.000000,426.000000,"Health:");
TextDrawBoxColor(dmh,0x00ffff00);
TextDrawTextSize(dmh,310.000000,2.000000);
TextDrawAlignment(dmh,0);
TextDrawBackgroundColor(dmh,0x000000ff);
TextDrawFont(dmh,1);
TextDrawLetterSize(dmh,1.000000,2.000000);
TextDrawColor(dmh,0xff00ff99);
TextDrawSetOutline(dmh,1);
TextDrawSetProportional(dmh,1);
TextDrawSetShadow(dmh,1);
Stats[playerid] = 0;
Ramp[playerid] = 0;
SendClientMessage(playerid,RED,"**NOTE** This is a PUBLIC TEST server! Things aren't finished yet! Report Bugs if due!");
SendClientMessage(playerid,GREEN,"Server Progress: 50%");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SendDeathMessage(INVALID_PLAYER_ID, playerid, 201);
DMArena[playerid] = 0;
Ramp[playerid] = 0;
Race[playerid] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
PlayerPlaySound(playerid, 1185+1, 0.0, 0.0, 0.0);
if (IsPlayerAdmin(playerid))
{
SetPlayerColor(playerid,ADMIN_COLOR);
}
else
{
SetPlayerColor(playerid,PLAYER_COLOR);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
KillTimer(ScoreBarrel);
new string[256];
new killer[MAX_PLAYER_NAME];
new deathreason[20];
GetPlayerName(killerid, killer, sizeof(killer));
GetPlayerName(playerid, player, sizeof(player));
SetPlayerWorldBounds(playerid, 20000.0000,-20000.0000,20000.0000,-20000.0000); // Bounderies Off
DMArena[playerid] = 0;
KillTimer(DMs);
TextDrawHideForPlayer(playerid,dms);
TextDrawHideForPlayer(playerid,dmh);
TextDrawHideForPlayer(playerid,dmk);
TextDrawDestroy(dmr);
TextDrawDestroy(dmrh);
Stats[playerid] = 0;
SetPlayerScore(playerid,0);
if (IsPlayerInArea(killerid, 1439.348, 1091.817, 2861.89, 2711.035))
{
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
format(string, sizeof(string), "[DM NEWS]: %s killed %s with a %d !", killer,player,deathreason);
SendClientMessageToAll(YELLOW,string);
}
DisablePlayerRaceCheckpoint(playerid);
Race[playerid] = 0;
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
new string[256];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "[%i] %s: %s", playerid, playername, text);
SendClientMessageToAll(GetPlayerColor(playerid),string);
return 0;
}
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
if (IsPlayerAdmin(playerid))
{
new receiver[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, player, sizeof(player));
GetPlayerName(recieverid, receiver, sizeof(receiver));
format(string, sizeof(string), "PM from [%i]%s to [%i]%s: %s",playerid,player,recieverid,receiver);
SendPlayerMessageToPlayer(recieverid,IsPlayerAdmin(playerid),string);
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new giveplayerid, idx;
new sendername[MAX_PLAYER_NAME];
new tmp[256];
new cmd[256];
cmd = strtok(cmdtext, idx);
if (strcmp("/commands", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, ORANGE, " |-Stunts'n'Drifts'n'Racez'n'Pwn Server Commands -|");
SendClientMessage(playerid, RED, "IMPORTANT: /rules /help /credits");
SendClientMessage(playerid, ORANGE, "TELEPORTS: /drift1 /drift2 /drift3 /ap1 /ap2 /ap3 /ap /trans /arch /loco /chilliad /cargal /repair");
SendClientMessage(playerid, ORANGE, "RACES: /drift1race [playerid] /raceoff");
SendClientMessage(playerid, ORANGE, "DM: /dm /exitdm /stats /statsoff");
SendClientMessage(playerid, ORANGE, "STUNTS: /ramp /rampoff");
SendClientMessage(playerid, ORANGE, "MISC: /heal /int /view /viewoff /cash");
SendClientMessage(playerid, RED, "Please note that the server isn't done yet. More commands are to be added.");
return 1;
}
if (strcmp("/rules", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, ORANGE, " |- Stunts'n'Drifts'n'Racez'n'Pwn Server Rules -|");
SendClientMessage(playerid, RED, "Warn-able: -Player/Admin disrespect -DeathMatching outside /dm -Several Carjacking(Do NOT carjack except in /dm!)");
SendClientMessage(playerid, RED, "Warn-able: -BEGGING to be an admin(Do NOT beg to be an admin!) -Using Map Mods(DON'T!) -Spawnkilling(anyhow)");
SendClientMessage(playerid, RED, "Mute-able: -Excessive swearing -Talking in another language than english(DON'T).");
SendClientMessage(playerid, RED, "Kick-able: -Ignoring the rules -Admin Disrespect -Begging to be an admin -Ignoring an admin's order -Being a complete retard");
SendClientMessage(playerid, RED, "BAN-ABLE: -Any sort of cheats/hackers -Kicked 3 times for almost the same reason -Trying to access/crack RCON");
SendClientMessage(playerid, GREEN, "Follow these rules and you shall be safe.");
return 1;
}
if (strcmp("/help", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, ORANGE, " |- Stunts'n'Drifts'n'Racez'n'Pwn Server Help Guide -|");
SendClientMessage(playerid, ORANGE, "This server is about Stunts, drifts, races and DeathMatching but only in its arena( /dm ).");
SendClientMessage(playerid, ORANGE, "/cash is available to earn money. Soon, you will have to stunt/drift/race/kill to receive cash.");
SendClientMessage(playerid, ORANGE, "If you need any help with the commands, type /commands for a full available list of commands.");
SendClientMessage(playerid, ORANGE, "Make sure to read the /rules and have fun !");
return 1;
}
if (strcmp("/credits", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, ORANGE, " |- Stunts'n'Drifts'n'Racez'n'Pwn Server Credits -|");
SendClientMessage(playerid, ORANGE, "Server Coding: Seif[CC]");
SendClientMessage(playerid, ORANGE, "Special Thanks to: [SAP]Francis");
SendClientMessage(playerid, ORANGE, "Helper(s): Mike_Jones");
SendClientMessage(playerid, ORANGE, "Thanks to: >Fear/Astro for the big skin selection >kyeman for the /view /viewoff commands.");
return 1;
}
/*------------------------------------------------/Teleports\------------------------------------------------*/
new string[256];
GetPlayerName(playerid, player, sizeof(player));
//Big ear drifting zone
if (strcmp("/drift1", cmdtext, true, 10) == 0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
new car = GetPlayerVehicleID(playerid);
new State = GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
format(string, sizeof(string), "%s warped to Big Ear's Drifting Zone ! ( /drift1 )", player);
SendClientMessageToAll(YELLOW, string);
GameTextForPlayer(playerid, "~y~Welcome to Big Ear !", 3000,6);
if(State!=PLAYER_STATE_DRIVER)
{
SetPlayerPos(playerid,-308.1003,1538.7532,75.5625);
SetPlayerInterior(playerid,0);
SetCameraBehindPlayer(playerid);
SetPlayerFacingAngle(playerid,127);
}
else if(State==PLAYER_STATE_DRIVER)
{
LinkVehicleToInterior(car,0);
SetVehiclePos(car,-369.9355,1578.9448,75.7916);
SetVehicleZAngle(car,138);
}
else
{
SetPlayerPos(playerid,-308.1003,1538.7532,75.5625);
SetPlayerInterior(playerid,0);
SetCameraBehindPlayer(playerid);
SetPlayerFacingAngle(playerid,127);
}
return 1;
}
//Teleport Pay n'spray
if (strcmp(cmdtext, "/repair", true)==0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
new cartype = GetPlayerVehicleID(playerid);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
if(State!=PLAYER_STATE_DRIVER)
{SendClientMessage(playerid, RED, "You are not in a vehicle");}
else if(IsPlayerInVehicle(playerid, cartype) == 1)
{SetVehiclePos(cartype,-99.8960,1117.1212,19.7417);
SetVehicleZAngle(cartype,0);}
else
{SendClientMessage(playerid, RED, "You are not in a vehicle");}
return 1;}
//Teleport Transfender
if (strcmp(cmdtext, "/trans", true)==0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
new cartype = GetPlayerVehicleID(playerid);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
if(State!=PLAYER_STATE_DRIVER)
{SendClientMessage(playerid, RED, "You are not in a vehicle");}
else if(IsPlayerInVehicle(playerid, cartype) == 1)
{SetVehiclePos(cartype,1041.6660,-1021.4000,32.1075);
SetVehicleZAngle(cartype,186);}
else
{SendClientMessage(playerid, RED, "You are not in a vehicle");}
return 1;}
//Teleport ArchAngels
if (strcmp(cmdtext, "/arch", true)==0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
new cartype = GetPlayerVehicleID(playerid);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
if(State!=PLAYER_STATE_DRIVER)
{SendClientMessage(playerid, RED, "You are not in a vehicle");}
else if(IsPlayerInVehicle(playerid, cartype) == 1)
{SetVehiclePos(cartype,-2721.6619,217.9559,4.2147);
SetVehicleZAngle(cartype,90);}
else
{SendClientMessage(playerid, RED, "You are not in a vehicle");}
return 1;}
//Teleport LocoLow
if (strcmp(cmdtext, "/loco", true)==0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, 0xE60000FF, "You are not allowed to teleport while DeathMatching!");
new cartype = GetPlayerVehicleID(playerid);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
if(State!=PLAYER_STATE_DRIVER)
{SendClientMessage(playerid, 0xE60000FF, "You are not in a vehicle");}
else if(IsPlayerInVehicle(playerid, cartype) == 1)
{SetVehiclePos(cartype,2644.9258,-2042.1495,13.6004);
SetVehicleZAngle(cartype,180);}
else
{SendClientMessage(playerid, 0xE60000FF, "You are not in a vehicle");}
return 1;}
//Teleport Chilliad
if (strcmp(cmdtext, "/chilliad", true)==0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
new cartype = GetPlayerVehicleID(playerid);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
format(string, sizeof(string), "%s warped to San Andreas' biggest mountain; Chilliad ! ( /chilliad )", player);
SendClientMessageToAll(YELLOW, string);
GameTextForPlayer(playerid, "~y~Welcome to Chilliad !", 3000,6);
if(State!=PLAYER_STATE_DRIVER)
{SetPlayerPos(playerid,-2319.6096,-1644.9589,483.3630);SetPlayerFacingAngle(playerid,221);}
else if(IsPlayerInVehicle(playerid, cartype) == 1)
{SetVehiclePos(cartype,-2319.6096,-1644.9589,483.3630);
SetVehicleZAngle(cartype,78.1831);}
else
{SetPlayerPos(playerid,-2319.6096,-1644.9589,483.3630);SetPlayerFacingAngle(playerid,221);}
return 1;}
//Teleport AirPort3
if (strcmp(cmdtext, "/ap3", true)==0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
new cartype = GetPlayerVehicleID(playerid);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
format(string, sizeof(string), "%s warped to San Fierro's Airport ! ( /ap3 )", player);
SendClientMessageToAll(YELLOW, string);
GameTextForPlayer(playerid, "~y~Welcome to the 3rd Airport !", 3000,6);
if(State!=PLAYER_STATE_DRIVER)
{SetPlayerPos(playerid,-1220.5699,-164.0306,13.8082);SetPlayerFacingAngle(playerid,69);}
else if(IsPlayerInVehicle(playerid, cartype) == 1)
{SetVehiclePos(cartype,-1220.5699,-164.0306,13.8082);
SetVehicleZAngle(cartype,78.1831);}
else
{SetPlayerPos(playerid,-1220.5699,-164.0306,13.8082);SetPlayerFacingAngle(playerid,69);}
return 1;}
//Teleport AirPort2
if (strcmp(cmdtext, "/ap2", true)==0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
new cartype = GetPlayerVehicleID(playerid);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
format(string, sizeof(string), "%s warped to Los Santos' Airport ! ( /ap2 )", player);
SendClientMessageToAll(YELLOW, string);
GameTextForPlayer(playerid, "~y~Welcome to the 2nd Airport !", 3000,6);
if(State!=PLAYER_STATE_DRIVER)
{SetPlayerPos(playerid,1398.4218,-2420.0742,13.2148);SetPlayerFacingAngle(playerid,263);}
else if(IsPlayerInVehicle(playerid, cartype) == 1)
{SetVehiclePos(cartype,1398.4218,-2420.0742,13.2148);
SetVehicleZAngle(cartype,78.1831);}
else
{SetPlayerPos(playerid,1398.4218,-2420.0742,13.2148);SetPlayerFacingAngle(playerid,263);}
return 1;}
//Teleport AirPort1
if (strcmp(cmdtext, "/ap1", true)==0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
new cartype = GetPlayerVehicleID(playerid);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
format(string, sizeof(string), "%s warped to Las Venturas' Airport ! ( /ap1 )", player);
SendClientMessageToAll(YELLOW, string);
GameTextForPlayer(playerid, "~y~Welcome to 1st Airport !", 3000,6);
if(State!=PLAYER_STATE_DRIVER)
{SetPlayerPos(playerid,1326.3910,1300.7324,10.4790);SetPlayerFacingAngle(playerid,355);}
else if(IsPlayerInVehicle(playerid, cartype) == 1)
{SetVehiclePos(cartype,1326.3910,1300.7324,10.4790);
SetVehicleZAngle(cartype,78.1831);}
else
{SetPlayerPos(playerid,1326.3910,1300.7324,10.4790);SetPlayerFacingAngle(playerid,355);}
return 1;}
//Teleport Drift2
if (strcmp(cmdtext, "/drift2", true)==0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
new cartype = GetPlayerVehicleID(playerid);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
format(string, sizeof(string), "%s warped to Las Venturas' Drifting Lot ! ( /drift2 )", player);
SendClientMessageToAll(YELLOW, string);
GameTextForPlayer(playerid, "~y~Welcome to the Drifting Lot!", 3000,6);
if(State!=PLAYER_STATE_DRIVER)
{SetPlayerPos(playerid,2269.0488,1398.2474,42.4808);SetPlayerFacingAngle(playerid,268);}
else if(IsPlayerInVehicle(playerid, cartype) == 1)
{SetVehiclePos(cartype,2269.0488,1398.2474,42.8203);
SetVehicleZAngle(cartype,269);}
else
{SetPlayerPos(playerid,2269.0488,1398.2474,42.4808);SetPlayerFacingAngle(playerid,268);}
return 1;}
//Teleport Drift3
if (strcmp(cmdtext, "/drift3", true)==0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
new cartype = GetPlayerVehicleID(playerid);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
format(string, sizeof(string), "%s warped to the Missionary Hill ! ( /drift3 )", player);
SendClientMessageToAll(YELLOW, string);
GameTextForPlayer(playerid, "~y~Welcome to Missionary Hill !", 3000,6);
if(State!=PLAYER_STATE_DRIVER)
{SetPlayerPos(playerid,-2521.2998,-624.5188,132.7820);SetPlayerFacingAngle(playerid,0);}
else if(IsPlayerInVehicle(playerid, cartype) == 1)
{SetVehiclePos(cartype,-2491.6145,-617.9402,132.5648);
SetVehicleZAngle(cartype,269);}
else
{SetPlayerPos(playerid,-2521.2998,-624.5188,132.7820);SetPlayerFacingAngle(playerid,0);}
return 1;}
//Teleport CarGallery
if (strcmp(cmdtext, "/cargal", true)==0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
new cartype = GetPlayerVehicleID(playerid);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,0);
format(string, sizeof(string), "%s warped to the Car Gallery arena ! ( /cargal )", player);
SendClientMessageToAll(YELLOW, string);
GameTextForPlayer(playerid, "~y~Welcome to the Car Gallery !", 3000,6);
if(State!=PLAYER_STATE_DRIVER)
{SetPlayerPos(playerid,-2057.0549,-183.4372,35.3203);SetPlayerFacingAngle(playerid,0);}
else if(IsPlayerInVehicle(playerid, cartype) == 1)
{SetVehiclePos(cartype,-2057.0549,-183.4372,35.3203);
SetVehicleZAngle(cartype,45);}
else
{SetPlayerPos(playerid,-2057.0549,-183.4372,35.3203);SetPlayerFacingAngle(playerid,0);}
return 1;}
if (strcmp(cmdtext, "/racearena",true)==0)
{
SetPlayerPos(playerid,-4963.251953, 784.945618, 7.913298);
return 1;
}
if (strcmp(cmdtext, "/int",true)==0)
{
SetPlayerInterior(playerid,GetPlayerInterior(playerid));
SendClientMessage(playerid, GREEN, "Your interior is now clear.");
return 1;
}
if (strcmp("/heal", cmdtext, true, 10) == 0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You can't heal yourself in DeathMatch! Find the health icon.");
SetPlayerHealth(playerid,100);
return 1;
}
if (strcmp("/cash", cmdtext, true, 10) == 0)
{
GivePlayerMoney(playerid,30000);
return 1;
}
/*------------------------------------------------/Races\------------------------------------------------*/
if(strcmp(cmd, "/drift1race", true) == 0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You can't race someone if you're in the DeathMatching arena!");
if(Race[playerid] == 1) return SendClientMessage(playerid, RED, "You already started a race! Type /raceoff to leave the current race!");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, ORANGE, "USAGE: /drift1race [playerid/name]");
SendClientMessage(playerid, ORANGE, "FUNCTION: Challenges a player to a race in /drift1(must be in /drift1)");
return 1;
}
if (IsPlayerInArea(playerid, -280.269, -385.3699, 1646.58, 1518.124) || IsPlayerInArea(giveplayerid, -280.269, -385.3699, 1646.58, 1518.124))
{
giveplayerid = strval(tmp);
if (giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s has challenged %s to a race! Type /view %i or %i to watch them!", sendername,giveplayer,playerid,giveplayerid);
SendClientMessageToAll(YELLOW, string);
SetTimerEx("CountDown",500,0,"d",playerid);
SetTimerEx("CountDown",500,0,"d",giveplayerid);
CountDelay[playerid] = 0;
CountDelay[giveplayerid] = 0;
Race[playerid] = 1;
Race[giveplayerid] = 1;
}
else if (giveplayerid == INVALID_PLAYER_ID)
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, RED, string);
}
else if (giveplayerid ==playerid)
{
SendClientMessage(playerid, RED, "You cannot challenge yourself...");
}
}
else
{
SendClientMessage(playerid, 0xE60000FF, "Either you or your opponet are not on top of Big Ear(/drift1) !");
}
return 1;
}
/*------------------------------------------------/View CMD\------------------------------------------------*/
if(strcmp(cmd, "/view", true) == 0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, 0xE60000FF, "You are not allowed to spectate someone in the DeathMatch arena.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "|__________________________________|");
SendClientMessage(playerid, ORANGE, "USAGE: /view [playerid]");
SendClientMessage(playerid, ORANGE, "FUNCTION: Will spectate a player.");
SendClientMessage(playerid, ORANGE, "HELP: /viewoff to stop spectating");
SendClientMessage(playerid, ORANGE, "|__________________________________|");
return 1;
}
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid))
{
SendClientMessage(playerid, RED, "Player is not active.");
return 1;
}
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, giveplayerid);
SetPlayerInterior(playerid,GetPlayerInterior(giveplayerid));
SpectateID[playerid] = giveplayerid;
SpectateType[playerid] = SPEC_TYPE_PLAYER;
return 1;
}
//-----|Spec-Off|-----//
if(strcmp(cmd, "/viewoff", true) == 0)
{
TogglePlayerSpectating(playerid, 0);
SpectateID[playerid] = INVALID_PLAYER_ID;
SpectateType[playerid] = SPEC_TYPE_NONE;
return 1;
}
/*------------------------------------------------/Admin Commands\------------------------------------------------*/
/*if(strcmp(cmd, "/makeadmin", true) == 0)
{
new level;
if (PlayerInfo[playerid][pAdminLevel] == 5 || IsPlayerAdmin(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USAGE: /makeadmin [playerid] [level 1-5]");
SendClientMessage(playerid, ORANGE, "FUNCTION: Player will be an admin.");
return 1;
}
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[giveplayerid][pAdminLevel] = level;
SavePlayer(giveplayerid);
printf("ADMIN|NEWS: %s made %s a level %d admin.", sendername, giveplayer, level);
format(string, sizeof(string), "You are now an administrator level %d thanks to %s.", level, sendername);
SendClientMessage(giveplayerid, LIGHTBLUE, string);
format(string, sizeof(string), "You have given %s level %d admin.", giveplayer,level);
SendClientMessage(playerid, LIGHTBLUE, string);
}
}
else
{
SendClientMessage(playerid, RED, "You are not an admin!");
}
return 1;
}
if(strcmp(cmd, "/nuke", true) == 0)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
if (PlayerInfo[playerid][pAdminLevel] < 3)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USAGE: /nuke [playerid]");
SendClientMessage(playerid, ORANGE, "FUNCTION: Player will explode.");
return 1;
}
new Float:X,Float:Y,Float:Z;
giveplayerid = strval(tmp);
if(IsPlayerConnected(giveplayerid))
{
GetPlayerPos(giveplayerid, X,Y,Z);
CreateExplosion(X,Y,Z,2,7.0);
SetPlayerHealth(giveplayerid, 0.0);
format(string, sizeof(string), "%s Got Nuked!",giveplayer);
SendClientMessage(playerid, GREEN, string);
}
else if (!IsPlayerConnected(giveplayerid))
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, RED, string);
}
}
else
{
SendClientMessage(playerid, RED, "You're not an admin.");
}
return 1;
}*/
if(strcmp(cmd, "/score", true) == 0)
{
new score;
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
if (IsPlayerAdmin(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USAGE: /score [playerid] [score]");
SendClientMessage(playerid, ORANGE, "FUNCTION: Will set a specified player's score");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USAGE: /score [playerid] [score]");
SendClientMessage(playerid, ORANGE, "FUNCTION: Will set a specified player's score");
return 1;
}
score = strval(tmp);
if(IsPlayerConnected(giveplayerid))
{
GetPlayerScore(giveplayerid);
SetPlayerScore(giveplayerid, score);
format(string, sizeof(string), "You have changed %s's score number.",giveplayer);
SendClientMessage(playerid, GREEN, string);
}
else if (!IsPlayerConnected(giveplayerid))
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, RED, string);
}
}
else
{
SendClientMessage(playerid, RED, "You're not an admin.");
}
return 1;
}
if(strcmp(cmd, "/angle", true) == 0)
{
if (IsPlayerAdmin(playerid))
{
new Float:angle;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USAGE: /angle [angle degree]");
SendClientMessage(playerid, ORANGE, "FUNCTION: Will change your current angle.");
GetPlayerFacingAngle(playerid,angle);
format(string, sizeof(string), "HELP: Your current angle is %f **NOTE**: Bugged a little.",angle);
SendClientMessage(playerid, ORANGE, string);
return 1;
}
angle = strval(tmp);
if (IsPlayerAdmin(playerid))
{
if (GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
{
SetVehicleZAngle(GetPlayerVehicleID(playerid),angle);
format(string, sizeof(string), "You have changed your angle degree to %f",angle);
SendClientMessage(playerid, GREEN, string);
}
else
{
SetPlayerFacingAngle(playerid,angle);
format(string, sizeof(string), "You have changed your angle degree to %f",angle);
SendClientMessage(playerid, GREEN, string);
}
}
}
else
{SendClientMessage(playerid, RED, "You're not an admin.");}
return 1;
}
/*if(strcmp(cmd, "/ban", true) == 0)
{
new reason;
if (PlayerInfo[playerid][pAdminLevel] < 1)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USAGE: /ban [playerid] [reason]");
SendClientMessage(playerid, ORANGE, "FUNCTION: Will ban the specified player. **PLEASE ENTER THE ID ONLY!**");
return 1;
}
tmp = strtok(cmdtext, idx);
reason = strval(tmp);
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
printf("ADMIN|NEWS: Admin %s banned %s. Reason: %s", sendername, giveplayer, reason);
format(string, sizeof(string), "-| Administrator %s banned %s. [Reason: %s ]|-", sendername,giveplayer,reason);
SendClientMessageToAll(ADMIN_RED, string);
Ban(giveplayerid);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, RED, string);
}
}
else
{
SendClientMessage(playerid, RED, "You are not an admin.");
}
return 1;
}
if(strcmp(cmd, "/kick", true) == 0)
{
new reason;
if (PlayerInfo[playerid][pAdminLevel] < 1)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USAGE: /kick [playerid] [reason]");
SendClientMessage(playerid, ORANGE, "FUNCTION: Will kick the specified player. **PLEASE ENTER THE ID ONLY!**");
return 1;
}
tmp = strtok(cmdtext, idx);
reason = strval(tmp);
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
printf("ADMIN|NEWS: Admin %s kicked %s. Reason: %s", sendername, giveplayer, reason);
format(string, sizeof(string), "-| Administrator %s kicked %s. [Reason: %s ]|-", sendername,giveplayer,reason);
SendClientMessageToAll(ADMIN_RED, string);
Kick(giveplayerid);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, RED, string);
}
}
else
{
SendClientMessage(playerid, RED, "You are not an admin.");
}
return 1;
}*/
/*------------------------------------------------/Other Player Commands\------------------------------------------------*/
if (strcmp("/dm", cmdtext, true, 10) == 0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to teleport while DeathMatching!");
DMArena[playerid] = 1;
SetPlayerPos(playerid,1422.3750,2773.7910,10.8203);
SetPlayerFacingAngle(playerid,90);
ResetPlayerWeapons(playerid);
format(string, sizeof(string), "%s warped to the deadly DeathMatching arena ! ( /dm )", player);
SendClientMessageToAll(YELLOW, string);
SendClientMessage(playerid, RED, "Vehicles/Weapons Disabled.");
SendClientMessage(playerid, GREEN, "You have teleported to the Deadly Arena!");
SendClientMessage(playerid, GREEN, "Pick up some weapons and kill your enemies before they kill you!");
SendClientMessage(playerid, ORANGE, "To exit the arena, go to the icon at the arena spawn and type /exitdm.");
SetPlayerWorldBounds(playerid, 1439.348, 1091.817, 2861.89, 2711.035);
DM = SetTimerEx("ScoreCheck",1000,1,"d",playerid);
return 1;
}
if (strcmp("/exitdm", cmdtext, true, 10) == 0)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if (PlayerToPoint(3.0, playerid, 1422.3750,2773.7910,10.8203))
{
DMArena[playerid] = 0;
SetPlayerPos(playerid,1456.4766,2773.2573,10.8203);
SetPlayerFacingAngle(playerid,280);
ResetPlayerWeapons(playerid);
SendClientMessage(playerid, GREEN, "You have left the Deadly Arena.");
SetPlayerWorldBounds(playerid, 20000.0000,-20000.0000,20000.0000,-20000.0000); // Bounderies Off
KillTimer(DMs);
TextDrawHideForPlayer(playerid,dms);
TextDrawHideForPlayer(playerid,dmh);
TextDrawHideForPlayer(playerid,dmk);
TextDrawDestroy(dmr);
TextDrawDestroy(dmrh);
}
else
{
SendClientMessage(playerid, RED, "You're not at the exit icon or not DeathMatching !");
}
return 1;
}
if (strcmp("/id", cmdtext, true, 10) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USAGE: /id [playerid/name]");
SendClientMessage(playerid, ORANGE, "FUNCTION: Will track the specified player's ID.");
return 1;
}
giveplayerid = strval(tmp);
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "Player Info: [%d]%s", giveplayerid,giveplayer);
SendClientMessage(playerid, GREEN, string);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, RED, string);
}
return 1;
}
if (strcmp("/stats", cmdtext, true, 10) == 0)
{
if(DMArena[playerid] == 1)
{
if (Stats[playerid] == 1)
{
SendClientMessage(playerid, RED, "Your stats are already shown!");
}
else
{
format(string, sizeof(string), "%d", GetPlayerScore(playerid));
dmr = TextDrawCreate(331.000000,411.000000,string);
TextDrawBackgroundColor(dmr,0xffff00ff);
TextDrawFont(dmr,2);
TextDrawLetterSize(dmr,1.000000,2.000000);
TextDrawColor(dmr,0x00ff0099);
TextDrawSetOutline(dmr,1);
TextDrawSetProportional(dmr,1);
TextDrawSetShadow(dmr,1);
new Float:health;
format(string, sizeof(string), "%.0f", GetPlayerHealth(playerid,health));
dmrh = TextDrawCreate(331.000000,426.000000,string);
TextDrawBackgroundColor(dmrh,0xffff00ff);
TextDrawFont(dmrh,2);
TextDrawLetterSize(dmrh,1.000000,2.000000);
TextDrawColor(dmrh,0x00ff0099);
TextDrawSetOutline(dmrh,1);
TextDrawSetProportional(dmrh,1);
TextDrawSetShadow(dmrh,1);
SendClientMessage(playerid, GREEN, "Your DM stats are now visible.");
SendClientMessage(playerid, RED, "**NOTE**: If you are willing to pause, do /statsoff otherwise it might bug !!");
TextDrawShowForPlayer(playerid,dms);
TextDrawShowForPlayer(playerid,dmk);
TextDrawShowForPlayer(playerid,dmh);
DMs = SetTimerEx("DMStatsCheck",10,1,"d",playerid);
TextDrawShowForPlayer(playerid,dmr);
TextDrawShowForPlayer(playerid,dmrh);
Stats[playerid] = 1;
}
}
else
{
SendClientMessage(playerid, RED, "You are not DeathMatching !");
}
return 1;
}
if (strcmp("/statsoff", cmdtext, true, 10) == 0)
{
if(DMArena[playerid] == 1 && Stats[playerid] == 1)
{
KillTimer(DMs);
Stats[playerid] = 0;
SendClientMessage(playerid, GREEN, "Your DM stats are now Invisible.");
TextDrawHideForPlayer(playerid,dms);
TextDrawHideForPlayer(playerid,dmk);
TextDrawHideForPlayer(playerid,dmh);
TextDrawDestroy(dmr);
TextDrawDestroy(dmrh);
}
else if (DMArena[playerid] == 0)
{
SendClientMessage(playerid, RED, "You are not DeathMatching !");
}
else if (Stats[playerid] == 0)
{
SendClientMessage(playerid, RED, "Your stats aren't even shown up.");
}
return 1;
}
if (strcmp("/ramp", cmdtext, true, 10) == 0)
{
if(DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "You are not allowed to create a ramp while DeathMatching !");
if (Ramp[playerid] == 1)
{
SendClientMessage(playerid, RED, "You already spawned a ramp! Type /rampoff to remove your previous ramp.");
}
else
{
new Float:X,Float:Y,Float:Z;
new Float:angle;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,angle);
ramp = CreatePlayerObject(playerid,13593,X,Y+10,Z,0,0,0);
SendClientMessage(playerid, GREEN, "Ramp created. Type /rampoff to remove it.");
Ramp[playerid] = 1;
}
return 1;
}
if (strcmp("/rampoff", cmdtext, true, 10) == 0)
{
if (Ramp[playerid] == 0)
{
SendClientMessage(playerid, RED, "You don't have a ramp.");
}
else
{
DestroyPlayerObject(playerid,ramp);
SendClientMessage(playerid, GREEN, "Ramp deleted.");
Ramp[playerid] = 0;
}
return 1;
}
if (strcmp("/raceoff", cmdtext, true, 10) == 0)
{
if (Race[playerid] == 1)
{
DisablePlayerRaceCheckpoint(playerid);
format(string, sizeof(string), "[%i]%s left his race.", giveplayerid,giveplayer);
SendClientMessageToAll(YELLOW, string);
Race[playerid] = 0;
}
else
{
SendClientMessage(playerid,RED, "You are not racing.");
}
}
/*------------------------------------------------/Invalid Command\------------------------------------------------*/
else
{
format(string, sizeof(string), "%s is an Unknown Command. Type /commands for all the commands you can use.", cmdtext);
SendClientMessage(playerid, RED, string);
}
return 1;
}
public OnPlayerInfoChange(playerid)
{
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
new giveplayerid;
new string[256];
DisablePlayerRaceCheckpoint(playerid);
if (cpc==27)// if it's the last checkpoint
{
GetPlayerName(playerid, player, sizeof(player));
GameTextForPlayer(playerid,"~g~YOU WON !",5000,5);
format(string, sizeof(string), "RACE: %s won !!", player);
SendClientMessageToAll(YELLOW, string);
Race[playerid] = 0;
DisablePlayerRaceCheckpoint(playerid);
DisablePlayerRaceCheckpoint(giveplayerid);
}
else
{
cpc++;// Advance the counter
SetPlayerRaceCheckpoint(playerid,2,CP[cpc][0],CP[cpc][1],CP[cpc][2],CP[cpc][3],CP[cpc][4],CP[cpc][5],20);// activate the next CheckPoint
}
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if (pickupid == DMexitICON)
{GameTextForPlayer(playerid,"Type ~r~/exitdm~n~~w~to exit the arena.",5000,5);}
if (pickupid == deagle)
{GivePlayerWeapon(playerid,24,9999999);}
if (pickupid == shotgun)
{GivePlayerWeapon(playerid,25,9999999);}
if (pickupid == sawnoff)
{GivePlayerWeapon(playerid,26,9999999);}
if (pickupid == spaz)
{GivePlayerWeapon(playerid,27,9999999);}
if (pickupid == uzi)
{GivePlayerWeapon(playerid,28,9999999);}
if (pickupid == mp5)
{GivePlayerWeapon(playerid,29,9999999);}
if (pickupid == ak)
{GivePlayerWeapon(playerid,30,9999999);}
if (pickupid == m4)
{GivePlayerWeapon(playerid,31,9999999);}
if (pickupid == pistol)
{GivePlayerWeapon(playerid,22,9999999);}
if (pickupid == tec9)
{GivePlayerWeapon(playerid,32,9999999);}
if (pickupid == sniper1)
{GivePlayerWeapon(playerid,34,50);}
if (pickupid == sniper2)
{GivePlayerWeapon(playerid,34,50);}
if (pickupid == rocketlaunch)
{GivePlayerWeapon(playerid,35,5);}
if (pickupid == armor)
{SetPlayerArmour(playerid,100);}
if (pickupid == knife)
{GivePlayerWeapon(playerid,4,1);}
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public CountDown(playerid)
{
new giveplayerid;
GameTextForPlayer(playerid,"~p~Ready",3000,5);
CountDelay[playerid] = 1;
CountDelay[giveplayerid] = 1;
SetTimerEx("CountDown2",2000,0,"d",playerid);
SetTimerEx("CountDown2",2000,0,"d",giveplayerid);
return 1;
}
public CountDown2(playerid)
{
new giveplayerid;
GameTextForPlayer(playerid,"~r~Set",3000,5);
SetTimerEx("CountDown3",2000,0,"d",playerid);
SetTimerEx("CountDown3",2000,0,"d",giveplayerid);
return 1;
}
public CountDown3(playerid)
{
new giveplayerid;
GameTextForPlayer(playerid,"~g~!! GO GO GO !!",1000,5);
CountDelay[playerid] = 0;
CountDelay[giveplayerid] = 0;
Race[playerid] = 1;
SetPlayerRaceCheckpoint(playerid,2,-302.255035, 1505.969238, 74.411736,CP[cpc][0],CP[cpc][1],CP[cpc][2],20);
return 1;
}
stock IsPlayerInArea(playerid,Float:max_x,Float:min_x,Float:max_y,Float:min_y)
{
new Float:X;
new Float:Y;
new Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(X <= max_x && X >= min_x && Y <= max_y && Y >= min_y) {
return 1;
}
return 0;
}
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
return 0;
}
public ScoreCheck(playerid,killerid)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
if (GetPlayerScore(playerid) == 10)
{
KillTimer(DM);
SetPlayerScore(playerid, 11);
SetObjectPos(barrelplayer,X,Y,Z);
ScoreBarrel = SetTimer("ObjectAttachedToPlayer",700,1);
DM = SetTimerEx("ScoreCheck",1000,1,"d",playerid);
}
if (GetPlayerScore(playerid) == 20)
{
KillTimer(DM);
SetPlayerScore(playerid, 21);
new string[256];
format(string, sizeof(string), "%s is on fire !",player);
SendClientMessageToAll(LIGHTRED,string);
GivePlayerWeapon(playerid,35,3);
SetObjectPos(barrelplayer,X,Y,Z);
ScoreBarrel = SetTimer("ObjectAttachedToPlayer",700,1);
DM = SetTimerEx("ScoreCheck",1000,1,"d",playerid);
}
if (GetPlayerScore(playerid) == 50)
{
KillTimer(DM);
SetPlayerScore(playerid, 51);
new string[256];
format(string, sizeof(string), "%s is on killing spree!!",player);
SendClientMessageToAll(LIGHTRED,string);
SetObjectPos(barrelplayer,X,Y,Z);
GivePlayerWeapon(playerid,38,30);
SendClientMessageToAll(GREEN,"Shhh, use this carefuly. Pwn those noobs !");
ScoreBarrel = SetTimer("ObjectAttachedToPlayer",700,1);
DM = SetTimerEx("ScoreCheck",1000,1,"d",playerid);
}
}
public ObjectAttachedToPlayer(playerid)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
SetObjectPos(barrelplayer,X,Y,Z);
return 1;
}
public DMStatsCheck(playerid)
{
TextDrawDestroy(dmr);
TextDrawDestroy(dmrh);
new string[256];
new Float:health;
format(string, sizeof(string), "%d", GetPlayerScore(playerid));
dmr = TextDrawCreate(331.000000,411.000000,string);
TextDrawBackgroundColor(dmr,0xffff00ff);
TextDrawFont(dmr,2);
TextDrawLetterSize(dmr,1.000000,2.000000);
TextDrawColor(dmr,0x00ff0099);
TextDrawSetOutline(dmr,1);
TextDrawSetProportional(dmr,1);
TextDrawSetShadow(dmr,1);
GetPlayerHealth(playerid,health);
format(string, sizeof(string), "%.0f", health);
dmrh = TextDrawCreate(331.000000,426.000000,string);
TextDrawBackgroundColor(dmrh,0xffff00ff);
TextDrawFont(dmrh,2);
TextDrawLetterSize(dmrh,1.000000,2.000000);
TextDrawColor(dmrh,0x00ff0099);
TextDrawSetOutline(dmrh,1);
TextDrawSetProportional(dmrh,1);
TextDrawSetShadow(dmrh,1);
TextDrawShowForPlayer(playerid,dmr);
TextDrawShowForPlayer(playerid,dmrh);
return 1;
}