All pastes #135465 Raw Edit

oTTo

public text v1 · immutable
#135465 ·published 2006-08-16 23:57 UTC
rendered paste body
//------------------------------------------------------------------------------
//
// Los Santos TDM. A Team Deathmtach script for SA-MP 0.1b
//
//------------------------------------------------------------------------------

#include <a_samp>
#include <core>
#include <float>
#include <time>
#include <file>
#include <string>
#include <danticheat>
//Global stuff and defines
static gTeam[MAX_PLAYERS];
new gPlayerClass[MAX_PLAYERS];
new gPlayerName[MAX_PLAYERS];
//how many random respawns?
new numcars=40; //number of cars
new numpickups=15; //number of pickups
//Color Defines
#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_CYAN 0x00BFF3AA
#define COLOR_BLACK 0x000000AA
#define COLOR_WHITE 0xFFFFFFAA
//team colors
#define COLOR_TEAM_0 0x008000AA
#define COLOR_TEAM_1 0x8B008BAA
#define COLOR_TEAM_2 0xFFD700AA
#define COLOR_TEAM_3 0x00CED3AA
#define COLOR_TEAM_4 0x6A5ACDAA

//other colors
#define COLOR_ERROR 0xed1c24AA
#define COLOR_COMMAND 0x8c6239AA

//Team Defines
#define TEAM_GROVE 0
#define TEAM_BALLAS 1
#define TEAM_VAGOS 2
#define TEAM_AZTECAS 3
#define TEAM_COPS 4

#define MAX_GANGS 			32
#define MAX_GANG_MEMBERS	6
#define MAX_GANG_NAME       16
new gangMembers[MAX_GANGS][MAX_GANG_MEMBERS];
new gangNames[MAX_GANGS][MAX_GANG_NAME];
new gangInfo[MAX_GANGS][3]; //0-created,1-members,2-color
new playerGang[MAX_PLAYERS];
new gangInvite[MAX_PLAYERS];

#define COLOR_ORANGE 0xFF9900AA

// Round duration
new gRoundTime = 3600000; // 60 mins
//new gRoundTime = 1800000; // 30 mins
//new gRoundTime = 600000; //10 mins
//new gRoundTime = 300000; // 5 mins
//new gRoundTime = 120000; // 2 mins
//new gRoundTime = 60000; // 1 min
new startgame = 0;
//for stat
static points[MAX_PLAYERS];
static frags[MAX_PLAYERS];
static frags2[MAX_PLAYERS];
static frags3[MAX_PLAYERS];
static deaths[MAX_PLAYERS];
static suicides[MAX_PLAYERS];
static teamkills[MAX_PLAYERS];
static lastkill[MAX_PLAYERS];
static tknow[MAX_PLAYERS];

// others variables
new firstblood = 0;

//Vehicle id's for locked doors

new Vehicle1;
new Vehicle2;
new Vehicle3;
new Vehicle4;
new Vehicle5;
new Vehicle6;
new Vehicle7;
new Vehicle8;
new Vehicle9;
new Vehicle10;
new Vehicle11;
new Vehicle12;
new Vehicle13;
new Vehicle14;
new Vehicle15;
new Vehicle16;
new Vehicle17;

//------------------------------------------------------------------------------

main()
{
//	new i;
	print("\n");
	printf("\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432");
	print("\432  LSDM by oTTo [W]est[S]ide TeaM Yuklendi. Iyi Oyunlar! \1 \432");
	printf("\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432");
	print("\n");
//	new rand;
////	for (new i=0;i<100;i++) {
//	    rand=random(10);
//	    if (rand == 10 || rand == 0) print("asdasdasdasdasdasdasdasdasdasdasd");
///	//    printf("random=%d",rand);
//	}
//	for (i=0;i<100;i++) {
//		printf("%d = %c | %d = %c | %d = %c | %d = %c | %d = %c",i,i,i+100,i+100,i+200,i+200,i+300,i+300,i+400,i+400);
//	}
}

//------------------------------------------------------------------------------
//Get the distance to a car function

public Float:GetDistanceToCar(playerid,carid) {
   new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
   if (!IsPlayerConnected(playerid)) {
      return -1.00;
   }
   GetPlayerPos(playerid,x1,y1,z1);
   GetVehiclePos(carid,x2,y2,z2);
   return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}

//Game start
public OnGameModeInit()
{
	SetGameModeText("LSTDM WeSTSiDe GanG WaR");
	SetTeamCount(5);
	ShowNameTags(1);
	ShowPlayerMarkers(1);
	SetWorldTime(0);
//players
	AddPlayerClass(107,2512.6606,-1689.3367,13.5515,48.7638,22,68,29,60,27,28); // Grove
	AddPlayerClass(106,2523.2505,-1659.1217,15.4935,106.4177,22,68,29,60,27,28); // Grove
	AddPlayerClass(105,2497.8171,-1646.1243,13.5398,180.6784,22,68,29,60,27,28); // Grove
	AddPlayerClass(293,2483.9624,-1651.5681,13.4633,182.8717,22,68,29,60,27,28); // Grove
	AddPlayerClass(176,2470.9353,-1681.0172,13.4274,314.7864,22,68,29,60,27,28); // Grove
	AddPlayerClass(0,2495.1145,-1686.8292,13.5141,1.1602,22,68,29,60,27,28); // Grove
	AddPlayerClass(102,1872.6663,-1269.6407,13.5506,16.5641,23,58,30,90,26,8); // Ballas 1
	AddPlayerClass(103,1899.6895,-1202.5249,19.9033,169.1588,23,58,30,90,26,8); // Ballas 2
	AddPlayerClass(104,1836.6270,-1241.1743,15.0258,249.0596,23,58,30,90,26,8); // Ballas 3
	AddPlayerClass(7,1875.0950,-1253.0256,13.5468,179.8123,23,58,30,90,26,8); // Ballas 4
	AddPlayerClass(297,1883.0964,-1253.2370,13.5468,177.6189,23,58,30,90,26,8); // Ballas 5
	AddPlayerClass(21,1892.9754,-1253.4842,13.5559,178.8722,23,58,30,90,26,8); // Ballas 6
	AddPlayerClass(110,2682.4373,-1408.3500,30.4882,134.1774,28,90,31,100,4,0); // Vagos
	AddPlayerClass(109,2662.4937,-1439.7015,30.5021,332.8092,28,90,31,100,4,0); // Vagos
	AddPlayerClass(108,2686.6614,-1445.6199,30.5312,33.2831,28,90,31,100,4,0); // Vagos
	AddPlayerClass(30,2685.8874,-1429.7032,30.5117,96.8903,28,90,31,100,4,0); // Vagos
	AddPlayerClass(47,2663.8518,-1424.6518,30.4857,84.6702,28,90,31,100,4,0); // Vagos
	AddPlayerClass(179,2635.2043,-1407.9141,30.4034,274.2153,28,90,31,100,4,0); // Vagos
	AddPlayerClass(114,1798.4735,-1935.1747,13.4589,356.6592,32,60,25,45,9,0); // Aztecas
	AddPlayerClass(115,1767.8877,-1888.0836,13.5536,187.5536,32,60,25,45,9,0); // Aztecas
	AddPlayerClass(116,1802.1482,-1883.7207,13.5775,167.5000,32,60,25,45,9,0); // Aztecas
	AddPlayerClass(174,1782.3575,-1937.8620,13.5515,356.6592,32,60,25,45,9,0); // Aztecas
	AddPlayerClass(175,1772.2945,-1924.4899,13.5531,270.4917,32,60,25,45,9,0); // Aztecas
	AddPlayerClass(292,1771.7467,-1905.9449,13.5542,262.0316,32,60,25,45,9,0); // Aztecas
	AddPlayerClass(280,1551.1449,-1676.3922,15.7248,75.5556,24,21,31,100,25,45); // cops
	AddPlayerClass(284,1600.1106,-1675.2036,5.8906,105.9259,24,21,31,100,25,45); // cops
	AddPlayerClass(285,1579.8029,-1634.5599,13.5623,44.2219,24,21,31,100,25,45); // cops
	AddPlayerClass(281,1560.7862,-1635.2308,13.5580,5.0314,24,21,31,100,25,45); // Cops
	AddPlayerClass(286,1557.2742,-1606.8721,13.3828,183.9231,24,21,31,100,25,45); // Cops
	AddPlayerClass(282,1550.2827,-1654.3714,13.5594,95.2488,24,21,31,100,25,45); // Cops

//############################			cars    ############################

new rand, randid, randpos, randcol1, randcol2;
new usedposI=0,fl,i,j;

new Float:VehiclePos[116][4] = {
	{2403.6218,-1647.4016,13.5468,184.2198},
	{2235.5219,-1639.1542,15.5608,163.1983},
	{2124.5163,-1637.1197,13.4568,348.2605},
	{1989.9266,-1610.3903,13.5204,320.9385},
	{2019.5689,-1649.3551,13.5546,83.8590},
	{1937.7445,-1772.5880,13.3828,3.8780},
	{1948.1787,-1882.8950,13.5467,92.3034},
	{2065.3571,-1903.1011,13.5468,177.7543},
	{1719.2401,-1704.1693,13.5000,355.5477},
	{1711.3402,-1615.9056,13.5546,346.9055},
	{1695.5527,-1360.9783,17.4435,356.3208},
	{1730.5225,-1274.1777,13.5476,126.6447},
	{1955.5150,-1165.3322,20.6422,55.9877},
	{2409.7265,-1389.3155,24.3022,84.6583},
	{2138.2385,-1286.7852,24.4422,175.1966},
	{2095.6799,-1315.3432,24.5170,181.4013},
	{2329.5063,-1409.7474,23.9925,179.3094},
	{2416.7709,-1539.6947,24.0000,3.8815},
	{2409.3581,-1539.6464,24.0000,1.7445},
	{2398.5324,-1539.5236,24.0000,1.7445},
	{2414.3596,-1486.2451,23.8281,88.6709},
	{2660.0292,-1634.6035,10.8428,101.3106},
	{2658.2836,-1640.8853,10.8550,85.5661},
	{2059.6833,-1902.9057,13.5468,180.671768},
	{1863.8914,-1602.2917,13.5416,357.791046},
	{1925.3468,-1698.3691,13.5468,177.069442},
	{2119.3735,-1784.4771,13.3872,3.1367},
	{2106.2858,-1784.3941,13.3873,354.6037},
	{2121.3293,-1775.3820,13.3917,4.3131},
	{2163.9531,-1694.3243,15.0859,351.1560},
	{2111.2246,-1558.1876,13.3577,246.9459},
	{1865.2639,-1364.5895,13.4991,1.3056},
	{1813.4522,-1378.9407,14.4218,92.9392},
	{1587.0170,-1647.7772,19.8791,1.5224},
	{1588.6503,-1655.5338,19.8791,270.6549},
	{1589.5090,-1679.1193,19.8791,270.9682},
	{1590.3823,-1699.9207,19.8791,268.4615},
	{1813.8669,-1703.1979,13.5468,178.5432},
	{1813.8220,-1789.5566,13.5468,184.5082},
	{1920.3693,-1925.1796,13.5468,267.7719},
	{2511.1865,-1776.3419,13.5468,273.0138},
	{2083.7233,-1587.7169,13.4665,267.3307},
	{2054.6149,-1694.7956,13.5546,265.7559},
	{2066.1772,-1694.8430,13.5468,266.6959},
	{2106.5898,-1774.6695,13.3920,355.6584},
	{2167.3889,-1921.5549,13.5216,265.8391},
	{2230.9101,-1786.0122,13.5613,87.1065},
	{2306.6879,-1672.4636,14.2006,354.3420},
	{2390.6262,-1503.9531,23.8348,274.6387},
	{2397.6350,-1917.8693,13.3828,268.9465},
	{2396.9152,-1891.8035,13.3828,261.3193},
	{2380.1230,-1891.6842,13.3891,262.2594},
	{2304.2685,-1785.5694,13.5591,93.2203},
	{2253.0661,-1796.1761,13.5468,267.9696},
	{1865.0435,-1858.4916,13.5807,346.8889},
	{2286.4494,-1854.7136,-0.1344,267.6148},
	{2253.0661,-1796.1761,13.5468,267.9696},
	{1900.8970,-1482.5451,10.8207,88.4129},
	{2004.3499,-1443.8055,13.5623,137.6643},
	{2031.7061,-1418.3122,16.9921,124.5041},
	{2167.8776,-1507.9443,23.9210,354.6188},
	{2069.5539,-1655.1284,13.5468,275.8742},
	{2059.5888,-1553.8944,13.4598,73.9251},
	{2290.7553,-1528.4270,26.8750,178.6236},
	{2443.6306,-1376.2871,24.0000,179.0048},
	{2474.5751,-1279.9097,34.8470,1.3899},
	{2408.2458,-1238.9432,23.8125,180.2815},
	{2436.4738,-1238.8551,24.6582,90.6674},
	{2436.8901,-1303.4694,24.6001,264.8590},
	{1484.2366,-1246.0893,14.5625,95.1819},
	{1462.2597,-1277.2749,13.5519,177.5893},
	{1476.2437,-1419.8007,11.8828,174.7693},
	{1525.2764,-1461.8355,9.5000,176.6259},
	{1512.7551,-1462.1845,9.5000,181.9526},
	{1639.4781,-1459.6680,13.5468,354.8909},
	{1672.5500,-1493.9165,18.5468,81.9750},
	{1669.6322,-1530.9979,18.5468,179.1092},
	{2481.7348,-1748.4934,13.5468,345.2579},
	{2496.1210,-1751.8996,13.4668,357.4153},
	{2628.7309,-1755.6080,11.1288,265.4027},
	{2629.3361,-1644.2540,11.6322,265.6391},
	{2768.1511,-1605.1949,10.9218,265.1781},
	{2768.8022,-1615.4958,10.9218,279.9049},
	{2262.8371,-1249.7912,23.9765,175.1634},
	{2208.7321,-1284.5915,24.5304,184.2858},
	{2214.8239,-1368.5058,23.9901,181.8923},
	{2230.6933,-1358.9364,23.9878,182.2057},
	{2186.1079,-1465.7233,25.5390,276.5018},
	{2194.1870,-1453.4197,25.5390,178.1142},
	{2526.7644,-1357.6702,29.1423,93.1154},
	{2578.5327,-1404.3482,26.1704,359.7457},
	{1355.0338,-630.4597,108.8411,15.8993},
	{2052.7651,-1904.0513,13.2740,180.6526},
	{599.0422,-1873.4364,4.6746,168.4479},
	{555.8792,-1911.7756,0.3477,183.1009},
	{567.0980,-1911.4384,0.2580,173.4404},
	{371.4564,-2044.3452,7.6398,88.7252},
	{319.4981,-1809.9900,4.1701,358.5054},
	{328.1766,-1809.1205,4.1120,0.0799},
	{344.2243,-1810.1364,4.2700,0.9710},
	{156.3121,-1977.0475,1.6561,177.1444},
	{185.8977,-1873.2195,3.0445,354.2627},
	{213.2383,-1422.8496,13.0227,225.9205},
	{716.8338,-1245.0641,13.9230,274.8734},
	{708.4464,-1424.0962,13.2147,0.1223},
	{477.4511,-1526.2524,19.7820,352.8512},
	{1218.3623,-877.8999,42.8045,94.7515},
	{2029.6174,-960.8205,40.5820,206.9758},
	{2271.8445,-1041.2769,50.2807,141.7058},
	{2761.5588,-1177.2522,69.1200,84.1676},
	{2794.1851,-1428.2480,19.9236,188.6449},
	{2796.9985,-1434.4459,23.8490,183.6681},
	{2908.0706,-1629.3085,10.5677,150.7781},
	{2311.5298,-1996.6154,14.1978,0.9217},
	{2117.6843,-1919.5791,12.7307,143.8210},
	{2117.7429,-1826.3710,13.1545,5.2556}
};
new VehicleIDs[41] = {
	//2 doors (19)
 	602, 496, 401, 518, 527, 589, 419, 533, 526, 474, 545, 517, 410, 600, 436, 580, 439, 549, 491,
	//bikes (12)
	581, 509, 481, 462, 521, 463, 510, 522, 461, 448, 468, 586,
//Light Trucks & Vans (10)
	459, 422, 482, 605, 530, 418, 572, 582, 413, 440
};
new UsedPos[200] = {
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
if (numcars > sizeof(VehiclePos)) numcars=sizeof(VehiclePos)-1;

for (i=0;i<numcars;i++) {
	randid=VehicleIDs[random(sizeof(VehicleIDs))];
	fl=0;
	while(fl==0) {
	    fl=1;
		rand=random(sizeof(VehiclePos));
		for (j=0;j<usedposI;j++) {
			if (UsedPos[j]==rand) {fl=0;break;}
		}
		if (fl==1) {
			randpos = rand;
			UsedPos[usedposI]=rand;
			usedposI++;
		 	break;
		}
	}
	randcol1=random(127);	randcol2=random(127);
    AddStaticVehicle(randid,VehiclePos[randpos][0],VehiclePos[randpos][1],VehiclePos[randpos][2],VehiclePos[randpos][3],randcol1,randcol2);
}
//for test

//##################################################################################
//############################			PickUPs    ############################

new usedpickupI=0;

new Float:PickUPPos[46][3] = {
	{2355.4655,-1634.5524,13.4712},
	{2377.5837,-1684.4559,13.6144},
	{2152.3005,-1597.1105,14.3447},
	{2112.1027,-1498.0804,10.4218},
	{1879.5561,-1429.2154,10.3593},
	{1911.9077,-1384.6624,10.3593},
	{1988.0382,-1641.4335,15.9612},
	{1987.1959,-1666.2346,15.9690},
	{2034.5400,-1642.0423,13.5546},
	{485.6536,-23.3642,1003.1093},
	{475.3234,-12.2139,1003.6953},
	{506.1972,-6.4034,1000.6718},
	{1434.4266,-1454.2852,125.3671},
	{2152.3005,-1597.1105,14.3447},
	{2112.1027,-1498.0804,10.4218},
	{2414.5468,-1827.1435,9.2734},
	{2654.6074,-1306.9321,58.9453},
	{1541.9826,-1365.7584,326.2109},
	{1714.2120,-1912.1910,13.5667},
	{2617.7302,-1221.3946,61.7827},
	{2749.3869,-1195.7609,69.2156},
	{2480.7326,-1362.2326,28.8322},
	{2064.5725,-1395.2630,23.9202},
	{1715.0196,-1673.5644,20.2187},
	{1733.9782,-1640.6091,23.7543},
	{1709.4952,-1659.5869,23.7013},
	{1512.1176,-1478.7342,9.5000},
	{1721.9354,-1562.1843,13.5471},
	{1727.2017,-1540.1932,13.4963},
	{1741.6466,-1562.1593,14.1623},
	{1869.8686,-1362.9899,19.1406},
	{1863.3071,-1352.3021,13.4881},
	{2670.3090,-1541.7824,24.6355},
	{2682.1206,-1540.9321,25.8348},
	{2777.3593,-1580.3133,17.0382},
	{2467.6120,-1754.2009,13.5468},
	{2779.2263,-1515.3684,24.2106},
	{2537.5544,-1400.2620,34.6484},
	{2534.2070,-1393.3039,39.0298},
	{2463.8793,-1327.4499,26.5089},
	{2437.6213,-1320.8336,24.5399},
	{2399.0285,-1227.2932,25.0337},
	{2244.6208,-1369.1885,41.2922},
	{2244.5290,-1325.9138,41.4256},
	{2171.5156,-1520.3137,23.5625},
	{2518.0251,-1233.1883,45.3446}
};
new PickUPIDs[2] = {
	//health adrenaline pillarmor
	1240, 1241
};
new UsedPickUp[100] = {
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
if (numpickups > sizeof(PickUPPos)) numpickups=sizeof(PickUPPos);

for (i=0;i<numpickups;i++) {
	randid=PickUPIDs[random(sizeof(PickUPIDs))];
	fl=0;
	while(fl==0) {
	    fl=1;
		rand=random(sizeof(PickUPPos));
		for (j=0;j<usedpickupI;j++) {
			if (UsedPickUp[j]==rand) {fl=0;break;}
		}
		if (fl==1) {
			randpos = rand;
			UsedPickUp[usedpickupI]=rand;
			usedpickupI++;
		 	break;
		}
	}
    AddStaticPickup(randid,3,PickUPPos[randpos][0],PickUPPos[randpos][1],PickUPPos[randpos][2]);
}

//non random
/*AddStaticPickup(1240,15,1209.1538,-1282.6701,63.5066);//na krane id
AddStaticPickup(1240,15,1564.5225,-1675.6745,61.8762);//kynol mentov
AddStaticPickup(1240,15,1491.5371,-1265.2104,113.7795);//krisha1
AddStaticPickup(1240,15,1484.0250,-1206.9689,108.3357);//krisha2/1
AddStaticPickup(1240,15,1481.6129,-1170.7115,99.6732);//krisha2/2
AddStaticPickup(1240,15,1678.3546,-1256.5126,129.3648);//KLEVOE MESTO*/

AddStaticPickup(363,15,1464.3415,-1227.8062,99.6562);//krisha2/3
AddStaticPickup(363,15,1514.7111,-1356.1918,190.8000);//krisha0
AddStaticPickup(363,15,1799.5933,-1721.7868,25.7923);//grysha:)

AddStaticPickup(371,15,1408.2049,-1486.9174,125.3678);//napashyt
AddStaticPickup(371,15,1244.4196,-1253.1408,63.0422);//narashyt(na krane)
AddStaticPickup(371,15,1499.4918,-1199.4739,99.6567);//parashyt (krisha2)

//war's
//Pickups
	AddStaticPickup(321,2,261.5758,71.1758,1003.2422); // dildoo
	AddStaticPickup(334,2,215.5700,75.4520,1005.0391); // nitestick
	AddStaticPickup(348,2,215.6942,80.3350,1005.0391); // deagle
	AddStaticPickup(323,2,263.0155,83.1653,1001.0391); // big vibrator
	AddStaticPickup(371,2,1555.8761,-1349.4685,329.4609); // parashut

	AddStaticPickup(338,2,491.1993,-81.7832,998.7578); //kiy
	AddStaticPickup(324,2,2285.1851,-1133.7953,1050.8984); //vibro4
	AddStaticPickup(336,2,2331.6721,-1184.1545,1031.9766); //bat
	AddStaticPickup(365,2,2495.4417,-1704.3696,1018.3438); //spray can
	AddStaticPickup(356,3,1119.1102,-829.1891,107.4688); //m4
	AddStaticPickup(341,2,2193.4851,-1225.7588,1049.0234); //chainsaw
	AddStaticPickup(325,2,2194.1440,-1200.6184,1049.0234); //flowers
	AddStaticPickup(326,2,2278.5007,-1134.6949,1050.8984); //cane

	AddStaticPickup(337,2,872.9695,-1115.4866,24.1018); //shovel
	AddStaticPickup(333,2,731.1327,-1276.4025,17.6484); //klushka
	AddStaticPickup(353,3,648.4689,-1384.2911,22.7225); //mp5
	AddStaticPickup(355,3,2144.4534,-1039.6595,70.9141); // ak-47
	AddStaticPickup(1242,3,2860.6865,-1428.4222,29.2188); //bronnik

//Grove Vehicles
	AddStaticVehicle(492,2484.6628,-1655.9478,13.0530,90.5136,86,86); //
	AddStaticVehicle(492,2477.1872,-1656.4765,13.3201,94.3659,86,86); //
	AddStaticVehicle(492,2492.6806,-1655.9713,13.3713,83.4118,86,86); //
	AddStaticVehicle(412,2475.7773,-1681.8276,13.1203,339.3870,86,86); //
	AddStaticVehicle(412,2480.0095,-1683.2073,13.3293,346.1543,86,86); //
	AddStaticVehicle(475,2505.1086,-1695.0637,13.3612,2.7333,86,86); //
	AddStaticVehicle(461,2509.3687,-1677.6377,13.1314,67.1459,86,86); //
	AddStaticVehicle(481,2469.2573,-1678.5652,13.0234,39.4958,86,86); //
	AddStaticVehicle(567,2506.9902,-1663.9484,13.2748,45.5117,86,86); //
	AddStaticVehicle(567,2507.6835,-1671.2508,13.3778,346.0497,86,86); //
// Vagos cars
	AddStaticVehicle(474,2662.2056,-1435.9623,30.2591,88.6047,81,1); //
	AddStaticVehicle(467,2662.9900,-1427.8962,30.2280,88.6401,58,8); //
	AddStaticVehicle(576,2662.1431,-1419.6113,30.0828,92.1153,68,96); //
	AddStaticVehicle(575,2638.1819,-1403.4094,29.9302,179.0165,19,96); //
	AddStaticVehicle(462,2653.3303,-1382.8475,30.0290,199.6677,13,13); //
	AddStaticVehicle(521,2682.7803,-1394.8186,30.2497,96.1270,75,13); //
// cop cas
	AddStaticVehicle(596,1554.0859,-1608.3030,13.1040,180.9425,0,1); //
	AddStaticVehicle(596,1560.4459,-1608.2982,13.1019,179.9717,0,1); //
	AddStaticVehicle(528,1593.5459,-1610.5184,13.5328,88.8995,0,1); //
	AddStaticVehicle(601,1530.8094,-1685.0070,5.6508,272.8328,1,1); //
	AddStaticVehicle(596,1531.0225,-1644.4117,5.6119,177.7084,0,1); //
	AddStaticVehicle(523,1586.2479,-1674.8734,5.4633,277.2755,0,0); //
	AddStaticVehicle(523,1583.1127,-1681.0920,5.4673,271.0948,0,0); //
	AddStaticVehicle(596,1544.7028,-1653.0553,13.2778,93.0430,0,1); //

//Ballas cars
	AddStaticVehicle(566,1875.9742,-1249.5018,13.4280,98.5057,30,8); //
	AddStaticVehicle(566,1883.1483,-1248.7847,13.4382,270.7162,30,8); //
	AddStaticVehicle(412,1859.8281,-1237.8130,15.4851,182.8141,10,8); //
	AddStaticVehicle(581,1893.7911,-1229.6036,15.1557,93.5403,66,1); //
	AddStaticVehicle(471,1894.6156,-1225.6929,15.6744,134.3081,103,111); //
	AddStaticVehicle(471,1901.3557,-1231.7278,15.3377,154.7738,120,114); //
	AddStaticVehicle(517,1899.0067,-1268.3265,13.2930,90.2993,26,96); //
	AddStaticVehicle(517,1888.7485,-1268.3692,13.2845,270.7162,26,26); //
//Aztecas cars
	AddStaticVehicle(536,1758.3960,-1890.3652,13.2929,179.9916,12,1); //
	AddStaticVehicle(575,1804.1582,-1915.7855,13.1576,355.3434,28,1); //
	AddStaticVehicle(575,1804.0769,-1922.6032,13.9943,179.8759,28,1); //
	AddStaticVehicle(474,1794.8895,-1886.1208,13.2752,94.4029,24,1); //
	AddStaticVehicle(474,1802.6372,-1885.7761,13.1685,11.5957,24,1); //
	AddStaticVehicle(466,1787.2330,-1929.7397,13.5030,356.1396,48,48); //
	AddStaticVehicle(466,1790.6472,-1930.0122,13.9905,355.3433,48,48); //
	AddStaticVehicle(466,1794.2281,-1929.9079,13.0999,356.4666,48,48); //
	
//SF car showroom spawns

	Vehicle1 = AddStaticVehicle(560,-1951.9344,301.2165,40.9174,178.3483,13,23); //Sultan
 	Vehicle2 = AddStaticVehicle(411,-1957.2834,301.9644,40.9152,180.4329,92,93); //Infernus
  	Vehicle3 = AddStaticVehicle(415,-1945.4662,257.4331,40.9166,359.6798,79,79); //Cheetah
 	Vehicle4 = AddStaticVehicle(429,-1950.9156,257.7579,40.9170,359.8694,1,2); //Banshee
 	Vehicle5 = AddStaticVehicle(475,-1955.9065,257.6106,40.9135,1.0206,3,3);  //Sabre
 	Vehicle6 = AddStaticVehicle(477,-1945.3999,273.2839,35.3427,88.8040,41,9); //Zr350
 	Vehicle7 = AddStaticVehicle(506,-1945.3353,269.3972,35.3407,90.6095,16,1); //Supergt
    Vehicle8 = AddStaticVehicle(535,-1945.6040,265.0452,35.3413,90.3844,6,6); //Slamvan
 	Vehicle9 = AddStaticVehicle(541,-1945.4299,260.8985,35.3356,89.2809,0,11); //Bullet
 	Vehicle10 = AddStaticVehicle(559,-1945.8987,255.0587,35.3371,89.3658,87,36);  //Jester
 	Vehicle11 = AddStaticVehicle(405,-1955.0566,305.0432,35.3371,90.6156,102,106); // Sentinel
   	Vehicle12 = AddStaticVehicle(411,-1954.1021,299.8945,35.3351,90.2938,32,97); // Infernus
   	Vehicle13 = AddStaticVehicle(415,-1954.1477,294.9549,35.3353,89.7457,2,0); // Cheetah
   	Vehicle14 = AddStaticVehicle(429,-1954.0110,290.7222,35.3387,88.9322,3,1); // Banshee
   	Vehicle15 = AddStaticVehicle(475,-1957.1311,285.7732,35.3396,90.4374,14,3); // Sabre
   	Vehicle16 = AddStaticVehicle(477,-1955.6929,281.8165,35.3370,89.7357,78,5); // Zr350
   	Vehicle17 = AddStaticVehicle(506,-1955.8882,277.1920,35.3350,89.9642,112,73); // Supergt

//non random
	AddStaticVehicle(539,1661.5609,-1244.4250,232.7351,0.0000,79,74); //vortex

///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
//AddStaticPickup(370,15,2494.6306,-1670.5992,13.3359);//
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
	SetTimer("GameModeShowWinTeam", gRoundTime-7000, 0);
	SetTimer("GameModeExitFunc", gRoundTime, 0);
	startgame=GetTickCount();
	return 1;
 }

//------------------------------------------------------------------------------

public OnPlayerConnect(playerid)
{
//	print("onconnect");
	GameTextForPlayer(playerid,"Los Santos: ~g~TDM HoSGeLDiNiZ",2500,5);
	SendClientMessage(playerid,COLOR_GREEN, "LSTDM by oTTo. Mod Bilgi icin /modbilgi yaziniz veya yardim icin /modyardim yaziniz. Iyi Oyunlar!");
	GameTextForPlayer(playerid, "~g~Yaratici by ~r~oTTo ~g~Los Santos GanG WaR", 10000, 1);
	GivePlayerMoney(playerid, 10000);
//	print("onconnect1");
	points[playerid]=0;
	frags[playerid]=0;
	frags2[playerid]=0;
	frags3[playerid]=0;
	deaths[playerid]=0;
	suicides[playerid]=0;
	lastkill[playerid]=0;
	tknow[playerid]=0;
	SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive
	GetPlayerName(playerid, gPlayerName[playerid], MAX_PLAYER_NAME);
//	print("onconnectend");
	return 1;
}
//------------------------------------------------------------------------------
public OnPlayerDisconnect(playerid)
{
//	print("ondisconnect");
	gPlayerName[playerid] = 0;
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerSpawn(playerid)
{
//	print("onspawn");
//	SetPlayerInterior(playerid,0);
	switch (gTeam[playerid]) {
	    case 0: {SetPlayerColor(playerid,COLOR_TEAM_0);}
		case 1: {SetPlayerColor(playerid,COLOR_TEAM_1);}
		case 2: {SetPlayerColor(playerid,COLOR_TEAM_2);}
		case 3: {SetPlayerColor(playerid,COLOR_TEAM_3);}
		case 4: {SetPlayerColor(playerid,COLOR_TEAM_4);}
    }
    SetVehicleParamsForPlayer(Vehicle1,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle2,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle3,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle4,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle5,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle6,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle7,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle8,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle9,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle10,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle11,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle12,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle13,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle14,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle15,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle16,playerid,0,1);
        SetVehicleParamsForPlayer(Vehicle17,playerid,0,1);
      SetPlayerCheckpoint(playerid,1291.0771,-788.2956,96.4609,10);
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerDeath(playerid, killerid, reason)
{
	new name[MAX_PLAYER_NAME];
	new warning[256];
	new tempstring[256];
	new string[256];
	new deathreason[20];
    new Float: phealth;
    new killyes=0,bon1yes=0;
	new killer[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, sizeof(name));
	GetWeaponName(reason, deathreason, 20);
	SendDeathMessage(killerid,playerid,reason);
	if (killerid == INVALID_PLAYER_ID) {
/*	    switch (reason) {
			case WEAPON_DROWN:
				format(string, sizeof(string), "*** %s drowned.", name);
			default:
			{
			    if (strlen(deathreason) > 0) {
					format(string, sizeof(string), "*** %s died. (%s)", name, deathreason);
				} else {
				    format(string, sizeof(string), "*** %s died.", name);
				}
			}
		}
*/
		suicides[playerid]++;
		frags2[playerid]=0;
		frags3[playerid]=0;
	}
	else {
	    if (GetPlayerState(killerid) == 2 && reason != '1') {
			SetPlayerHealth(killerid,0);
			SendClientMessage(killerid,0xAA3333AA, "THAT IS NOT ALLOWED!!!");
//			SendDeathMessage(killerid,playerid,reason);
			return 1;
		}
		GetPlayerName(killerid, killer, sizeof(killer));

		if (gTeam[playerid] == gTeam[killerid]) {
		/*	if (strlen(deathreason) > 0) {
				format(string, sizeof(string), "*** %s killed team-mate %s. (%s)", killer, name, deathreason);
			} else {
				format(string, sizeof(string), "*** %s killed team-mate %s.", killer, name);
			}

			SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
        */  GivePlayerMoney(killerid, -1000);
			if (teamkills[killerid] == 0) {
	            format(warning, sizeof(warning), "Kendi Cetendeki Adami Oldurdun %s.", name);
				SendClientMessage(killerid, 0xFFFF00AA, warning);
			} else if (teamkills[killerid] == 1) {
				SetPlayerInterior(killerid,6);
         	    SetPlayerPos(killerid,264.6296,77.1372,1001.0390);
		 		ResetPlayerWeapons(killerid);
				SendClientMessage(killerid, 0xFFFF00AA, "2 dakika icinde kacirilabilirsin...");
				SendClientMessage(killerid, 0xFFFF00AA, "Kacmak icin /kacis yazarak kacabilirsin. (price: $5.000) veya /kill yazarak kendini oldurebilirsin.");
				SetTimer("RescueTK", 120000, 1);
				//SetTimer("RescueTK", 15000, 1);
				tknow[killerid]=1;
            } else {
				SendClientMessage(killerid, 0xFFFF00AA, "Kick for you. Teamkill - bad.");
				Kick(killerid);
			}
			teamkills[killerid]++;
			points[killerid]--;
			frags2[playerid]=0;
			frags3[playerid]=0;
		} else {
		    killyes=1;
		/*    if (strlen(deathreason) > 0) {
				format(string, sizeof(string), "*** %s killed %s. (%s)", killer, name, deathreason);
			} else {
				format(string, sizeof(string), "*** %s killed %s.", killer, name);
			}
			SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
          */GivePlayerMoney(killerid, 2000);
			frags[killerid]++;
			frags2[killerid]++;
			frags3[killerid]++;
			points[killerid]++;
			frags2[playerid]=0;
			frags3[playerid]=0;
			if (GetTickCount() - lastkill[killerid] < 15000) {
				bon1yes=1;
			} else {
			    frags3[killerid]=1;
			}
		}
	}
	points[playerid]--;
	deaths[playerid]++;
 //   SendClientMessageToAll(COLOR_RED, string);
   //format(string, sizeof(string), "(debug)LAST kill %d, raznica=%d, bonus-%d",lastkill[killerid],(tickcount()-lastkill[killerid])/1000,bon1yes);
   // SendClientMessageToAll(COLOR_GREY, string);
	SetPlayerColor(playerid,COLOR_GREY);
	if (killyes) {
		    if (!firstblood) {
		        firstblood++;
 				format(string, sizeof(string), "First Blood! (+5000) (%s)",killer);
				SendClientMessageToAll(COLOR_LIGHTBLUE, string);
				GivePlayerMoney(killerid, 5000);
		    }
  		if (bon1yes==1) {
		    switch (frags3[killerid]) {
				case 2: {
 					format(string, sizeof(string), "DOUBLE KILL! (+2000) (%s)",killer);
					SendClientMessageToAll(COLOR_PINK, string);
					GivePlayerMoney(killerid, 2000);
				}
				case 3: {
 					format(string, sizeof(string), "TRIPLE KILL! (+3000) (%s)",killer);
					SendClientMessageToAll(COLOR_PINK, string);
				 	GivePlayerMoney(killerid, 3000);
				}
				case 4: {
 					format(string, sizeof(string), "Tquadruple KILL! (+4000) (%s)",killer);
					SendClientMessageToAll(COLOR_PINK, string);
				 	GivePlayerMoney(killerid, 4000);
				}
 				case 5: {
 					format(string, sizeof(string), "Quintuple KILL! (+5000) (%s)",killer);
					SendClientMessageToAll(COLOR_PINK, string);
				 	GivePlayerMoney(killerid, 5000);
				}
 				case 6..100: {
 					format(string, sizeof(string), "Inconceivable KILL! (+10000) (%s)",killer);
					SendClientMessageToAll(COLOR_PINK, string);
				 	GivePlayerMoney(killerid, 10000);
				}
			}
		  }
		  GetPlayerHealth(killerid, phealth);
		  format(tempstring, sizeof(tempstring), "*** %s have %2.f hp.", killer, phealth);
 		  SendClientMessage(playerid,COLOR_GREY, tempstring);
		    switch (frags2[killerid]) {
				case 3: {
 					format(string, sizeof(string), "KILLING SPREE! (+1000) (%s)",killer);
					SendClientMessageToAll(COLOR_LIGHTBLUE, string);
					GivePlayerMoney(killerid, 1000);
				}
				case 4: {
 					format(string, sizeof(string), "DOMINATING! (+2000) (%s)",killer);
					SendClientMessageToAll(COLOR_LIGHTBLUE, string);
					GivePlayerMoney(killerid, 2000);
				}
				case 5: {
 					format(string, sizeof(string), "MEGA KILL! (+3000) (%s)",killer);
					SendClientMessageToAll(COLOR_LIGHTBLUE, string);
					GivePlayerMoney(killerid, 2000);
				}
				case 6: {
 					format(string, sizeof(string), "UNSTOPPABLE! (+4000) (%s)",killer);
					SendClientMessageToAll(COLOR_LIGHTBLUE, string);
					GivePlayerMoney(killerid, 2000);
				}
				case 7: {
 					format(string, sizeof(string), "WICKED SICK! (+5000) (%s)",killer);
					SendClientMessageToAll(COLOR_LIGHTBLUE, string);
					GivePlayerMoney(killerid, 2000);
				}
				case 8: {
 					format(string, sizeof(string), "MOSNTER KILL! (+6000) (%s)",killer);
					SendClientMessageToAll(COLOR_LIGHTBLUE, string);
					GivePlayerMoney(killerid, 2000);
				}
 				case 9..100: {
 					format(string, sizeof(string), "GODLIKE! (+10000) (%s)",killer);
					SendClientMessageToAll(COLOR_LIGHTBLUE, string);
				 	GivePlayerMoney(killerid, 10000);
				}
			}
		lastkill[killerid]=GetTickCount();
	 }
	SetPlayerScore(playerid,points[playerid]);
//	points[playerid]=100;
	SetPlayerScore(killerid,points[killerid]);
	 return 1;
}
//------------------------------------------------------------------------------

public SetupPlayerForClassSelection(playerid)
{
//	SetPlayerInterior(playerid,10);
		SetPlayerPos(playerid,2489.2221,-1656.2525,13.3606);
		SetPlayerFacingAngle(playerid, 180.0);
		SetPlayerCameraPos(playerid,2489.3806,-1661.4866,13.3359);
		SetPlayerCameraLookAt(playerid,2489.2221,-1656.2525,13.3606);
}

//------------------------------------------------------------------------------

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerClass(playerid, classid);
	SetupPlayerForClassSelection(playerid);
	gPlayerClass[playerid] = classid;
	switch (classid) {
	    case 0..5:   {
				SetPlayerFacingAngle(playerid, 180.0);
			 	SetPlayerPos(playerid,2489.2221,-1656.2525,13.3606);
				SetPlayerCameraPos(playerid,2489.3806,-1661.4866,13.3359);
				SetPlayerCameraLookAt(playerid,2489.2221,-1656.2525,13.3606);
			GameTextForPlayer(playerid, "~g~Grove", 1000, 3);
		}
		case 6..11:   {
				SetPlayerFacingAngle(playerid, 180.0);
		 		SetPlayerPos(playerid,1881.9139,-1255.8211,13.5468);
				SetPlayerCameraPos(playerid,1879.5007,-1260.9143,13.3906);
				SetPlayerCameraLookAt(playerid,1881.9139,-1255.8211,13.5468);
			GameTextForPlayer(playerid, "~p~Ballas", 1000, 4);
		}
		case 12..17:   {
				SetPlayerFacingAngle(playerid, 180.0);
			 	SetPlayerPos(playerid,2638.7700,-1414.4694,30.2867);
				SetPlayerCameraPos(playerid,2638.6892,-1419.2049,30.2878);
				SetPlayerCameraLookAt(playerid,2638.7700,-1414.4694,30.2867);
			GameTextForPlayer(playerid, "~y~Vagos", 1000, 5);
		}
		case 18..23:  {
				SetPlayerFacingAngle(playerid, 180.0);
			 	SetPlayerPos(playerid,1775.1835,-1901.3182,13.3857);
				SetPlayerCameraPos(playerid,1775.6403,-1907.9654,13.3861);
				SetPlayerCameraLookAt(playerid,1775.1835,-1901.3182,13.3857);
			GameTextForPlayer(playerid, "~ñ~Aztecas", 1000, 3);
		}
		case 24..29: {
				SetPlayerFacingAngle(playerid, 90.0);
		 		SetPlayerPos(playerid,1523.9155,-1668.9237,13.5468);
				SetPlayerCameraPos(playerid,1518.6901,-1669.5471,13.5468);
				SetPlayerCameraLookAt(playerid,1523.9155,-1668.9237,13.5468);
			GameTextForPlayer(playerid, "~b~Cops", 1000, 6);
		}
    }
	return 1;
}

//------------------------------------------------------------------------------

public GameModeExitFunc()
 {
	GameModeExit();
	return 1;
 }

//------------------------------------------------------------------------------
public GameModeShowWinTeam()
 {
    new summpoints[5];
    new i,j,maxi,fl,Float: phealth;
    summpoints[0]=summpoints[1]=summpoints[2]=summpoints[3]=summpoints[4]=0;
	for (i=j = 0; i < MAX_PLAYERS; i++) {
		if ((IsPlayerConnected(i))) {
			GetPlayerHealth(i,phealth);
			if (phealth <= 0.0) continue;
			ResetPlayerWeapons(i);
			j++;
			SetPlayerInterior(i,0);
			SetPlayerPos(i,2739.4345,-1765.2652,450.5814+j*10.0);
				switch(gTeam[i]) {
					case 0: summpoints[0]+=points[i];
					case 1: summpoints[1]+=points[i];
					case 2: summpoints[2]+=points[i];
					case 3: summpoints[3]+=points[i];
					case 4: summpoints[4]+=points[i];
				}
		}
	}
	//	new tempstring[512];
	//	format(tempstring, sizeof(tempstring), "--- stat0=%d,stat1=%d,stat2=%d,stat3=%d,stat4=%d",summpoints[0],summpoints[1],summpoints[2],summpoints[3],summpoints[4]);
	//	SendClientMessageToAll(COLOR_COMMAND, tempstring);
	maxi=0,fl=0;
	for (i=0;i<5;i++) {
	    if (summpoints[i] > summpoints[maxi]) {maxi = i;}
	}
	for (i=0;i<5;i++) {
		if (summpoints[i] == summpoints[maxi] && i != maxi) {fl=1;}
	}
	if (fl==1) maxi=-1;
	switch (maxi) {
			case -1:	{
				GameTextForAll("~r~No winners",7000,5);
				SendClientMessageToAll(COLOR_TEAM_0,"No winners");
			}
			case 0:	{
				GameTextForAll("~g~Grove Street 4 life",7000,5);
				SendClientMessageToAll(COLOR_TEAM_0,"Grove Street 4 life");
			}
			case 1: {
				GameTextForAll("~p~Ballas da rule",7000,5);
				SendClientMessageToAll(COLOR_TEAM_1,"Ballas da rule");
			}
			case 2: {
 				GameTextForAll("~c~Vagos win",7000,5);
				SendClientMessageToAll(COLOR_TEAM_3,"Vagos win");
			}
			case 3: {
				GameTextForAll("~y~Aztecas in da house",7000,5);
				SendClientMessageToAll(COLOR_TEAM_2,"Aztecas in da house");
			}
			case 4: {
				GameTextForAll("~b~Cops win",7000,5);
				SendClientMessageToAll(COLOR_TEAM_4,"Cops win");
			}
	}
	 return 1;
 }
//------------------------------------------------------------------------------
SetPlayerClass(playerid, classid) {
	switch (classid) {
	    case 0..5: {gTeam[playerid] = TEAM_GROVE;}
		case 6..11: {gTeam[playerid] = TEAM_BALLAS;}
		case 12..17: {gTeam[playerid] = TEAM_VAGOS;}
		case 18..23: {gTeam[playerid] = TEAM_AZTECAS;}
		case 24..29: {gTeam[playerid] = TEAM_COPS;}
    }
}
//------------------------------------------------------------------------------
StrToInt(text[]) {
	new number=0;
	switch (strlen(text)) {
 	    case 1: {number=(text[0]-48);}
 	    case 2: {number=10*(text[0]-48)+(text[1]-48);}
 	    case 3: {number=100*(text[0]-48)+(10*(text[1]-48))+(text[2]-48);}
 	    case 4: {number=1000*(text[0]-48)+(100*(text[1]-48))+(10*(text[2]-48))+(text[3]-48);}
 	    case 5: {number=10000*(text[0]-48)+1000*(text[1]-48)+100*(text[2]-48)+10*(text[3]-48)+(text[4]-48);}
  	    case 6: {number=100000*(text[0]-48)+10000*(text[1]-48)+1000*(text[2]-48)+100*(text[3]-48)+10*(text[4]-48)+(text[5]-48);}
  	    case 7..20: {number=1000000;}
    }
	 return number;
}
//------------------------------------------------------------------------------
public OnVehicleSpawn(vehicleid)
{
        printf("OnVehicleSpawn(%d)", vehicleid);
        return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
        printf("OnVehicleDeath(%d, %d)", vehicleid, killerid);
        return 1;
}
//------------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
	new tempstring[256];
	new giveplayerid,idx;
	new cmd[256];
	cmd = strtok(cmdtext, idx);
	new string[256];
	new sendername[MAX_PLAYER_NAME];
	new giveplayer[MAX_PLAYER_NAME];
//	strmid(string,cmdtext,0,strlen(cmdtext));

	//	format(tempstring, sizeof(tempstring), "--- strcmp(time)=%d,strfind(time)=%d. strcmp(time )=%d,strfind(time )=%d", strcmp(cmdtext, "/time"),strfind(cmdtext,"/time",true,0),strcmp(cmdtext, "/time "),strfind(cmdtext,"/time ",true,0));
	//	SendClientMessage(playerid, COLOR_GREY, tempstring);
//	format(tempstring, sizeof(tempstring), "Your admin status=%d", IsPlayerAdmin(playerid));
//	SendClientMessage(playerid, COLOR_GREY, tempstring);
	if(strcmp(cmd, "/gangcommands", true) == 0) {
		SendClientMessage(playerid, COLOR_GREEN,"Gang commands:");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang create [isim]");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang join [Gang ID]");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang invite [Player ID]");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang quit");
		SendClientMessage(playerid, COLOR_YELLOW,"/ganginfo [Gang ID] (ID siniz yazdiginiz gang in bilgisini gosterir.)");
		return 1;
	}
//Car showroom code

   if(strcmp(cmd, "/Buycar", true) == 0)
   {
   if(GetPlayerMoney(playerid) < 5000)
    {
    SendClientMessage(playerid, COLOR_RED, "You don't have enough money to buy a car");
    SendClientMessage(playerid, COLOR_RED, "It costs $5000 to buy one");
   }
   else
    {
    GivePlayerMoney(playerid, -5000);
    SendClientMessage(playerid, COLOR_RED, "You bought a car, you can get in now");
   if(GetDistanceToCar(playerid,Vehicle1) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle1, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle2) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle2, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle3) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle3, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle4) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle4, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle5) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle5, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle6) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle6, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle7) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle7, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle8) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle8, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle9) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle9, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle10) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle10, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle11) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle11, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle12) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle12, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle13) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle13, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle14) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle14, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle15) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle15, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle16) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle16, playerid, 0, 0);
   }
   if(GetDistanceToCar(playerid,Vehicle17) < 2)
   {
   SetVehicleParamsForPlayer(Vehicle17, playerid, 0, 0);
   }
   }
   return 1;
   }

//Lock your car door

   if (strcmp(cmdtext, "/lock", true)==0)
    {
   if(IsPlayerInAnyVehicle(playerid))
    {
    new i;
    for(i=0;i<MAX_PLAYERS;i++)
    {
    if(i != playerid)
    {
     SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
    }
    }
    SendClientMessage(playerid,COLOR_YELLOW,"Vehicle Locked");
    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW,"You're not in a vehicle!");
    }
    return 1;
    }

   //Unlock your car door

   if (strcmp(cmdtext, "/unlock", true)==0)
    {
   if(IsPlayerInAnyVehicle(playerid))
    {
     new i;
    for(i=0;i<MAX_PLAYERS;i++)
    {
    SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
    }
    SendClientMessage(playerid,COLOR_YELLOW,"Vehicle Unlocked");
    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW,"You're not in a vehicle!");
    }
    return 1;
     }
     
     
	if (strfind(cmdtext,"/modbilgi",true,0) == 0) {
		SendClientMessage(playerid,COLOR_GREEN, "LSTDM by oTTo ver. 1 (06.07.2006).");
		SendClientMessage(playerid,COLOR_GREEN, "Butun sorular icin www.senoyna.com.");
		return 1;
	} else if (strfind(cmdtext,"/modyardim",true,0) == 0) {
		SendClientMessage(playerid,COLOR_GREEN, "Yardim: /modbilgi , /modyardim ");
		SendClientMessage(playerid,COLOR_GREEN, "Yardim: /saglik (Saglinizi gosterir.), /bilgi (bilgilerinizi gosterir), /bilgi ID(Id yazdiniz kisiyi gosterir.) (suanlik calismiyor)...");
		SendClientMessage(playerid,COLOR_GREEN, "Yardim: /saat (Saat'i Gosterir), /kalansure (Round zamanini gosterir), /give ID(veya nick) yazarak baska kisiye para gonderirsiniz. ");
		SendClientMessage(playerid,COLOR_GREEN, "Yardim: /gangcommands yazdiginizda gang komutlarini gosterir");
	 	return 1;
	} else if (strfind(cmdtext,"/saglik",true,0) == 0) {
	    new Float: phealth;
 		GetPlayerHealth(playerid, phealth);
		format(tempstring, sizeof(tempstring), "--- Sagligin %2.f hp.", phealth);
		SendClientMessage(playerid, COLOR_GREEN, tempstring);
		return 1;
	} else if (strfind(cmdtext,"/bilgi",true,0) == 0 && strfind(cmdtext,"/bilgi ",true,0) != 0) {
		format(tempstring, sizeof(tempstring), "--- Durumun: puan =%3.d, oldurdun =%3.d, oldun =%3.d, kendini oldurdun =%3.d, takim oldurdun =%3.d.", points[playerid],frags[playerid],deaths[playerid],suicides[playerid],teamkills[playerid]);
		SendClientMessage(playerid, COLOR_GREEN, tempstring);
		return 1;
 	} else if (strfind(cmdtext,"/bilgi ",true,0) == 0) {
	    if (strlen(cmdtext) < 7) {
			SendClientMessage(playerid, COLOR_ERROR, "--- Format command: /bilgi ID(veya nick)");
			return 1;
	    }
		new targetid;
		new tmp[10];
		strmid(tmp,cmdtext,6,strlen(cmdtext),sizeof(tmp));
		if (IsNumeric(tmp)) {
			targetid=StrToInt(tmp);
		} else {
		    targetid=GetPlayerId(tmp);
		}
	 //   if (targetid < 0 || targetid > 99) {
	//		SendClientMessage(playerid, COLOR_ERROR, "--- Player ID must be between 0 and 99.");
	//		return 1;
	 //   }
		if (!IsPlayerConnected(targetid)) {
			format(tempstring, sizeof(tempstring), "--- Player #%d not connected.",targetid);
			SendClientMessage(playerid, COLOR_ERROR, tempstring);
			return 1;
		}
		new target[MAX_PLAYER_NAME];
 		GetPlayerName(targetid,target,MAX_PLAYER_NAME);
 		format(tempstring, sizeof(tempstring), "--- %s stat: puan =%3.d, oldurdun =%3.d, oldun =%3.d, kendini oldurdun =%3.d, takim oldurdun =%3.d.",target,points[targetid],frags[targetid],deaths[targetid],suicides[targetid],teamkills[targetid]);
		SendClientMessage(playerid, COLOR_GREEN, tempstring);
		return 1;
	} else if (strfind(cmdtext,"/kordinat",true,0) == 0) {
	    new Float: x;	    new Float: y; 	    new Float: z;  	    new Float: z2;
		GetPlayerPos(playerid,x,y,z);
		GetPlayerFacingAngle(playerid,z2);
		format(tempstring, sizeof(tempstring), "--- Pozisyonun: %f,%f,%f,%f",x,y,z,z2);
		SendClientMessage(playerid, COLOR_GREEN, tempstring);
		return 1;
	} else if (strfind(cmdtext,"/saat",true,0) == 0 && strfind(cmdtext,"/kalansure",true,0) != 0) {
	    new hour,minute,second;
		gettime(hour,minute,second);
		format(tempstring, sizeof(tempstring), "--- Suan Saat: %d:%d:%d.",hour,minute,second);
		SendClientMessage(playerid, COLOR_GREEN, tempstring);
		return 1;
	} else if (strfind(cmdtext,"/kalansure",true,0) == 0) {
	    if ((gRoundTime-(GetTickCount()-startgame))/60000 < 0) {
			SendClientMessage(playerid, COLOR_GREEN, "--- Oyun Bitti.");
			return 1;
	    }
	    new ttime=(gRoundTime-(GetTickCount()-startgame))/1000;
		format(tempstring, sizeof(tempstring), "--- Kalan sure: %d minutes and %d seconds",ttime/60,ttime%60);
		SendClientMessage(playerid, COLOR_GREEN, tempstring);
		return 1;
	} else if (strfind(cmdtext,"/give",true,0) == 0 && strfind(cmdtext,"/givemoney",true,0) != 0) {
	//	SendClientMessage(playerid, COLOR_RED, "--- transfer money closed");
	//	return 1;
	    if (strlen(cmdtext) < 8) {
			SendClientMessage(playerid, COLOR_ERROR, "--- Format command: /give ID(veya nick) MONEY");
			return 1;
	    }
	  //  if (cmdtext[7] != ' ' && cmdtext[8] != ' ') {
	//		SendClientMessage(playerid, COLOR_ERROR, "--- Player ID must be between 0 and 99.");
	//		return 1;
	//    }
		new name[MAX_PLAYER_NAME], target[MAX_PLAYER_NAME];
		new havemoney=0, transfmoney=0, targetid=0;
		targetid=0;
		transfmoney=1;
		new pos=-1;
		new tmp[10];
		for (new i=0;i<strlen(cmdtext);i++) {
			if (cmdtext[i]==' ') {pos=i;}
		}
		if (pos<0) {
			SendClientMessage(playerid, COLOR_ERROR, "--- Format command: /give ID(or nick) PARA.");
			return 1;
		}
		strmid(tmp,cmdtext,6,pos,sizeof(tmp));
		if (IsNumeric(tmp)) {
			targetid=StrToInt(tmp);
		} else {
		    targetid=GetPlayerId(tmp);
		}
		strmid(tmp,cmdtext,pos+1,strlen(cmdtext),sizeof(tmp));
	//	format(tempstring, sizeof(tempstring), "--- Money=%s.",tmp);
	//	SendClientMessage(playerid, COLOR_ERROR, tempstring);
		if (!IsNumeric(tmp)) {
			SendClientMessage(playerid, COLOR_ERROR, "--- Summ must be beetween 1 and 1.000.000.");
			return 1;
		}
		transfmoney=StrToInt(tmp);
		if (!IsPlayerConnected(targetid)) {
			format(tempstring, sizeof(tempstring), "--- Player #%d oyunda deil.",targetid);
			SendClientMessage(playerid, COLOR_ERROR, tempstring);
			return 1;
		}
		if (targetid==playerid) {
			SendClientMessage(playerid, COLOR_ERROR, "You can't transfer to yourself.");
			return 1;
		}
		havemoney=GetPlayerMoney(playerid);
		if (transfmoney < 1 || havemoney < 1 || havemoney < transfmoney) {
			SendClientMessage(playerid, COLOR_ERROR, "--- You have not enough lack of money.");
			return 1;
		}
 		GetPlayerName(targetid,target,MAX_PLAYER_NAME);
		format(tempstring, sizeof(tempstring), "--- You gave %s $%d.",target,transfmoney);
 		GivePlayerMoney(playerid,-transfmoney);
		SendClientMessage(playerid, COLOR_GREEN, tempstring);
		GetPlayerName(playerid,name,MAX_PLAYER_NAME);
		format(tempstring, sizeof(tempstring), "--- %s gave you $%d.",name,transfmoney);
		GivePlayerMoney(targetid,transfmoney);
		SendClientMessage(targetid, COLOR_GREEN, tempstring);
	} else if (strfind(cmdtext,"/saatayarla",true,0) == 0 && IsPlayerAdmin(playerid) == 1) {
	    if (strlen(cmdtext) < 18) {
			SendClientMessage(playerid, COLOR_ERROR, "--- Format command: /saatayarla HOUR");
			return 1;
	    }
	    if (strlen(cmdtext) > 19) {
			SendClientMessage(playerid, COLOR_ERROR, "--- Hour must be between 0 and 24.");
			return 1;
	    }
 		new tmp[10];
		strmid(tmp,cmdtext,17,strlen(cmdtext),sizeof(tmp));
		new hour=StrToInt(tmp);
	    if (hour < 0 || hour > 23) {
			SendClientMessage(playerid, COLOR_ERROR, "--- Hour must be between 0 and 24.");
			return 1;
	    }
		SetWorldTime(hour);
		format(tempstring, sizeof(tempstring), "The time has been changed!");
		SendClientMessage(playerid, COLOR_GREEN, tempstring);
		return 1;
	} else if (strfind(cmdtext,"/teleport",true,0) == 0 && IsPlayerAdmin(playerid) == 1) {
		new Float:ListPos[5][3] = {
			{2489.3806,-1661.4866,13.3359},
			{1879.5007,-1260.9143,13.3906},
			{2638.6892,-1419.2049,30.2878},
			{1775.6403,-1907.9654,13.3861},
			{1518.6901,-1669.5471,13.5468}
		};
 		new tmp[10];
		strmid(tmp,cmdtext,10,strlen(cmdtext),sizeof(tmp));
		new pos=StrToInt(tmp)-1;
	    if (pos < 0 || pos > sizeof(ListPos)) {
			SendClientMessage(playerid, COLOR_ERROR, "--- You will be teleported in the random place.");
			pos=random(sizeof(ListPos));
	    }
	    SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid,ListPos[pos][0],ListPos[pos][1],ListPos[pos][2]);
		return 1;
 // commands for help in map creating
	} else if (strfind(cmdtext,"/putcar",true,0) == 0 && IsPlayerAdmin(playerid) == 1) {
	    new Float: x;	    new Float: y; 	    new Float: z;  	    new Float: z2;
	    new comment[100];
		strmid(comment,cmdtext,7,strlen(cmdtext),sizeof(comment));
		GetPlayerPos(playerid,x,y,z);
		GetPlayerFacingAngle(playerid,z2);
		format(tempstring, sizeof(tempstring), "--- Put car to pos: %.4f,%.4f,%.4f,%.4f",x,y,z,z2);
		SendClientMessage(playerid, COLOR_COMMAND, tempstring);
		if (IsPlayerInAnyVehicle(playerid))	{
			SendClientMessage(playerid, COLOR_RED, "Get out of the car, asshole!");
			return 1;
		}
		printf("AddStaticVehicle(429,%.4f,%.4f,%.4f,%.4f,58,8);//%s",x,y,z,z2,comment);
		return 1;
	} else if (strfind(cmdtext,"/putid",true,0) == 0 && IsPlayerAdmin(playerid) == 1) {
	    new Float: x;	    new Float: y; 	    new Float: z;
	    new comment[100];
		strmid(comment,cmdtext,7,strlen(cmdtext),sizeof(comment));
		GetPlayerPos(playerid,x,y,z);
		format(tempstring, sizeof(tempstring), "--- Put PickUp to pos: %.4f,%.4f,%.4f",x,y,z);
		SendClientMessage(playerid, COLOR_COMMAND, tempstring);
		printf("AddStaticPickup(370,15,%.4f,%.4f,%.4f);//%s",x,y,z,comment);
		return 1;
	} else if (strfind(cmdtext,"/getcarNOW",false,0) == 0 && IsPlayerAdmin(playerid) == 1) {
	    new Float: x;	    new Float: y; 	    new Float: z;
		GetPlayerPos(playerid,x,y,z);
		SendClientMessage(playerid, COLOR_COMMAND, "getting byke");
		AddStaticPickup(370, 15, x,y,z);
		return 1;
	} else if (strfind(cmdtext,"/kacis",false,0) == 0) {
	//	format(tempstring, sizeof(tempstring), "--- tknow=: %d, money = %d",tknow[playerid], GetPlayerMoney(playerid));
	//	SendClientMessageToAll(COLOR_COMMAND, tempstring);
	    if (tknow[playerid] == 0) {
			SendClientMessage(playerid, COLOR_GREEN, "Hapsite degilsin.");
			return 1;
	    }
		if (GetPlayerMoney(playerid) < 5000) {
			SendClientMessage(playerid, COLOR_GREEN, "Yeterli Paran yok.");
			return 1;
		}
		SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,1553.0318,-1675.4394,16.1953);
		GivePlayerMoney(playerid,-5000);
		tknow[playerid]=0;
		return 1;
	}else {
	    return 0;
	}
	if(strcmp(cmd, "/gang", true) == 0) {
	    new tmp[256];
	    new gangcmd, gangnum;
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [create/join/quit] [name/number]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if(strcmp(tmp, "create", true)==0)
		    gangcmd = 1;
		else if(strcmp(tmp, "join", true)==0)
		    gangcmd = 2;
		else if(strcmp(tmp, "invite", true)==0)
		    gangcmd = 3;
		else if(strcmp(tmp, "quit", true)==0)
		    gangcmd = 4;

		tmp = strtok(cmdtext, idx);
		if(gangcmd < 4 && !strlen(tmp)) {
		    if(gangcmd==0)
				SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [create/join/invite/quit] [name/number]");
			else if(gangcmd==1)
				SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [create] [name]");
			else if(gangcmd==2)
				SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [join] [number]");
			else if(gangcmd==3)
				SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [invite] [playerID]");
			return 1;
		}

		//Create Gang//
		if(gangcmd==1) {
		    if(playerGang[playerid]>0) {
				SendClientMessage(playerid, COLOR_RED, "You are already in a gang!");
				return 1;
		    }

			for(new i = 1; i < MAX_GANGS; i++) {
				if(gangInfo[i][0]==0) {
				    //name gang
					format(gangNames[i], MAX_GANG_NAME, "%s", tmp);
					//Gang exists
					gangInfo[i][0]=1;
					//There is one member
					gangInfo[i][1]=1;

					//Player is the first gang member
					gangMembers[i][0] = playerid;
					format(string, sizeof(string),"You have created the gang '%s' (id: %d)", gangNames[i], i);
					SendClientMessage(playerid, COLOR_GREEN, string);

					playerGang[playerid]=i;

					return 1;
				}
			}

			return 1;

		//Join Gang//
		} else if (gangcmd==2) {
	 		gangnum = strval(tmp);

//		    if(playerGang[playerid]>0) {
//				SendClientMessage(playerid, COLOR_RED, "You are already in a gang!");
//				return 1;
//		    }
			if(gangInfo[gangnum][0]==0) {
				SendClientMessage(playerid, COLOR_RED, "No such gang exists!");
				return 1;
			}
	 		if(gangInvite[playerid]!=gangnum) {
				SendClientMessage(playerid, COLOR_RED, "You need to be invited to the gang to join.");
				return 1;
			}

//			for(new i = 0; i < MAX_GANG_MEMBERS; i++) {
//				if(gangMembers[gangnum][i] > 0) {

				if(gangInfo[gangnum][1] < MAX_GANG_MEMBERS) {
				    new i = gangInfo[gangnum][1];

					gangMembers[gangnum][i] = playerid;

				    GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
					for(new j = 0; j < gangInfo[gangnum][1]; j++) {
						format(string, sizeof(string),"%s has joined your gang.", sendername);
						SendClientMessage(gangMembers[gangnum][j], COLOR_ORANGE, string);
					}

					gangInfo[gangnum][1]++;
					playerGang[playerid] = gangnum;

					SetPlayerColor(playerid,gangInfo[gangnum][2]);

					format(string, sizeof(string),"You have joined the gang '%s' (id: %d)", gangNames[gangnum], gangnum);
					SendClientMessage(playerid, COLOR_GREEN, string);

					return 1;
				}
//			}

			SendClientMessage(playerid, COLOR_RED, "That gang is full.");
			return 1;

		//Invite to Gang//
		} else if (gangcmd==3) {
	 		giveplayerid = strval(tmp);

			if(playerGang[playerid]==0) {
				SendClientMessage(playerid, COLOR_RED, "You are not in a gang!");
				return 1;
			}
//			if(gangMembers[playerGang[playerid]][0]!=playerid) {
//				SendClientMessage(playerid, COLOR_RED, "You need to be the gang leader to send an invite.");
//				return 1;
//			}

			if(IsPlayerConnected(giveplayerid)) {
				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));

				format(string, sizeof(string),"You have sent a gang invite to %s.", giveplayer);
				SendClientMessage(playerid, COLOR_GREEN, string);
				format(string, sizeof(string),"You have recieved a gang invite from %s to '%s' (id: %d)", sendername, gangNames[playerGang[playerid]],playerGang[playerid]);
				SendClientMessage(giveplayerid, COLOR_GREEN, string);

				gangInvite[giveplayerid]=playerGang[playerid];

			} else
				SendClientMessage(playerid, COLOR_RED, "No such player exists!");

		//Leave Gang//
		} else if (gangcmd==4) {
		    PlayerLeaveGang(playerid);
		}

		return 1;
	}

	//------------------- /ganginfo

	if(strcmp(cmd, "/ganginfo", true) == 0) {
	    new tmp[256];
	    new gangnum;
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp) && playerGang[playerid]==0) {
			SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ganginfo [number]");
			return 1;
		} else if (!strlen(tmp))
			gangnum = playerGang[playerid];
		else
			gangnum = strval(tmp);

		if(gangInfo[gangnum][0]==0) {
			SendClientMessage(playerid, COLOR_RED, "No such gang exists!");
			return 1;
		}

		format(string, sizeof(string),"'%s' Gang Members (id: %d)", gangNames[gangnum], gangnum);
		SendClientMessage(playerid, COLOR_GREEN, string);

		for(new i = 0; i < gangInfo[gangnum][1]; i++) {
			GetPlayerName(gangMembers[gangnum][i], giveplayer, sizeof(giveplayer));
			format(string, sizeof(string),"%s (%d)", giveplayer, gangMembers[gangnum][i]);

			SendClientMessage(playerid, COLOR_YELLOW, string);
		}

		return 1;
	}
if(strcmp(cmd, "/gangs", true) == 0)
	{
		new x;

		SendClientMessage(playerid, COLOR_GREEN, "Current Gangs:");
	    for(new i=0; i < MAX_GANGS; i++) {
			if(gangInfo[i][0]==1) {
				format(string, sizeof(string), "%s%s(%d) - %d members", string,gangNames[i],i,gangInfo[i][1]);

				x++;
				if(x > 2) {
				    SendClientMessage(playerid, COLOR_YELLOW, string);
				    x = 0;
					format(string, sizeof(string), "");
				} else {
					format(string, sizeof(string), "%s, ", string);
				}
			}
		}

		if(x <= 2 && x > 0) {
			string[strlen(string)-2] = '.';
		    SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		return 1;
	}
	return 1;
}

//-----------------------------------------------------------------------------
public GetPlayerId(playername[])
{
	for (new i = 0; i < MAX_PLAYERS; i++) {
	// printf("zaproc-%s,tekyshee-%s",playername,gPlayerName[i]);
		if ((IsPlayerConnected(i)) && (strcmp(playername, gPlayerName[i], false) == 0)) return i;
	}
	return  -1;
}
//-----------------------------------------------------------------------------
public IsNumeric(const string[])
{
	for (new i = 0, j = strlen(string); i < j; i++) {
    	if (string[i] > '9' || string[i] < '0') return 0;
	}
	return 1;
}
//-----------------------------------------------------------------------------

public RescueTK()
 {
	for (new i = 0; i < MAX_PLAYERS; i++) {
		if (IsPlayerConnected(i) && tknow[i]== 1) {
            SetPlayerInterior(i,0);
		    SetPlayerPos(i,1553.0318,-1675.4394,16.1953);
			tknow[i]=0;
		}
	}

 }

//------------------------------------------------------------------------------

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 PlayerLeaveGang(playerid) {
	new string[256];
	new playername[MAX_PLAYER_NAME];
	new gangnum = playerGang[playerid];

    if(gangnum > 0) {
		for(new i = 0; i < gangInfo[gangnum][1]; i++) {
			if(gangMembers[gangnum][i]==playerid) {

			    //One less gang member
			    gangInfo[gangnum][1]--;

      		    for(new j = i; j < gangInfo[gangnum][1]; j++) {
				    //Shift gang members
				    gangMembers[gangnum][j]=gangMembers[gangnum][j+1];
	    		}

			    //Disband gang if no more members
			    if(gangInfo[gangnum][1]<1) {
			        gangInfo[gangnum][0]=0;
			        gangInfo[gangnum][1]=0;
       			}

				//Notify other members
				for(new j = 0; j < gangInfo[gangnum][1]; j++) {

				    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
					format(string, sizeof(string),"%s has quit your gang.", playername);
					SendClientMessage(gangMembers[gangnum][j], COLOR_ORANGE, string);
				}

				format(string, sizeof(string),"You have quit the gang '%s' (id: %d)", gangNames[gangnum], gangnum);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				playerGang[playerid]=0;

				return;
			}
		}
	} else {
		SendClientMessage(playerid, COLOR_RED, "You are not in a gang.");
	}
}

public OnPlayerText(playerid, text[])
{
	if(text[0] == '!') {
		if(playerGang[playerid] > 0) {
		    new gangChat[256];
		    new senderName[MAX_PLAYER_NAME];
		    new string[256];

//		    for(new i = 1; i < strlen(text)+1; i++)
//				gangChat[i]=text[i];

			strmid(gangChat,text,1,strlen(text));

			GetPlayerName(playerid, senderName, sizeof(senderName));
			format(string, sizeof(string),"%s: %s", senderName, gangChat);

			for(new i = 0; i < gangInfo[playerGang[playerid]][1]; i++) {
				SendClientMessage(gangMembers[playerGang[playerid]][i], COLOR_LIGHTBLUE, string);
			}
		}
	}
	return 1;
}
public OnPlayerInfoChange(playerid)
{
        printf("OnPlayerInfoChange(%d)");
        return 1;
}

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);
        return 1;
}

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