Код:
#include <a_samp>
#include <dini>
#include <utils>
#include "gl_common.inc"
#if defined FILTERSCRIPT
#endif
//--------------/GLOBAL VARIABLES/---------------
new Kills[MAX_PLAYERS];
new Deaths[MAX_PLAYERS];
new gTeam[MAX_PLAYERS];
new isLogged[MAX_PLAYERS];
new Level[MAX_PLAYERS];
new Admin[MAX_PLAYERS];
new isMuted[MAX_PLAYERS];
new Warns[MAX_PLAYERS];
new Text3D:levl[MAX_PLAYERS];
new SkillPoints[MAX_PLAYERS];
new Deagle[MAX_PLAYERS];
new Shotgun[MAX_PLAYERS];
new Spas[MAX_PLAYERS];
new MP5[MAX_PLAYERS];
new Ak47[MAX_PLAYERS];
new M4[MAX_PLAYERS];
new Sniper[MAX_PLAYERS];
new Duty[MAX_PLAYERS];
new Text3D:admlabl[MAX_PLAYERS];
new CanInfa;
new EventStarted;
new EventType;
new bool:IsInEvent[MAX_PLAYERS];
//-----------------------------------------------
//--------------/DEFINES/------------------------
///TEAMS
#define LSPD 1
#define Bloods 2
#define Surenos 3
#define Nortenos 4
#define Purpz 5
#define Bailey 6
#define Mongols 7
#define Dawgs 8
///
//ANOTHER
#define SCM SendClientMessage
#define SCMT SendClientMessageToAll
///
//-----------------------------------------------
//-------------/FORWARDS/------------------------
forward IsInfaAvaible();
forward AntiSpawnKill(playerid);
//-----------------------------------------------
main()
{
print(" TDM Advanced Version 0.1 started!");
}
public OnGameModeInit()
{
SetGameModeText("TDM Advanced v0.1");
// CLASSES
// CHANGE SKINS FOR YOUR TEAMS HERE
AddPlayerClass(281,1597.8793,-1706.9119,5.8906,48.5541,0,0,0,0,0,0); // LSPD
AddPlayerClass(280,1597.8793,-1706.9119,5.8906,48.5541,0,0,0,0,0,0); //LSPD
AddPlayerClass(283,1597.8793,-1706.9119,5.8906,48.5541,0,0,0,0,0,0); //LSPD
AddPlayerClass(284,1597.8793,-1706.9119,5.8906,48.5541,0,0,0,0,0,0); //LSPD
AddPlayerClass(285,1597.8793,-1706.9119,5.8906,48.5541,0,0,0,0,0,0); //LSPD
AddPlayerClass(19,1177.4844,-1323.8638,14.0730,269.5144,0,0,0,0,0,0); //BLOODS
AddPlayerClass(22,1177.4844,-1323.8638,14.0730,269.5144,0,0,0,0,0,0); //BLOODS
AddPlayerClass(180,1177.4844,-1323.8638,14.0730,269.5144,0,0,0,0,0,0); //BLOODS
AddPlayerClass(277,1177.4844,-1323.8638,14.0730,269.5144,0,0,0,0,0,0); //BLOODS
AddPlayerClass(108,2499.7156,-1497.4401,24.0000,178.9723,0,0,0,0,0,0); //NORTENOS
AddPlayerClass(109,2499.7156,-1497.4401,24.0000,178.9723,0,0,0,0,0,0); //NORTENOS
AddPlayerClass(110,2499.7156,-1497.4401,24.0000,178.9723,0,0,0,0,0,0); //NORTENOS
AddPlayerClass(102,2071.1067,-1716.9103,13.5547,269.1754,0,0,0,0,0,0); //PURPZ
AddPlayerClass(103,2071.1067,-1716.9103,13.5547,269.1754,0,0,0,0,0,0); //PURPZ
AddPlayerClass(104,2071.1067,-1716.9103,13.5547,269.1754,0,0,0,0,0,0); //PURPZ
AddPlayerClass(124, 1255.5404,-787.3989,92.0302,179.0791,0,0,0,0,0,0); //Mob
AddPlayerClass(125,1255.5404,-787.3989,92.0302,179.0791,0,0,0,0,0,0); //Mob
AddPlayerClass(126,1255.5404,-787.3989,92.0302,179.0791,0,0,0,0,0,0); //Mob
AddPlayerClass(127,1255.5404,-787.3989,92.0302,179.0791,0,0,0,0,0,0); //Mob
AddPlayerClass(111,1255.5404,-787.3989,92.0302,179.0791,0,0,0,0,0,0); //Mob
AddPlayerClass(112,1255.5404,-787.3989,92.0302,179.0791,0,0,0,0,0,0); //Mob
AddPlayerClass(113,1255.5404,-787.3989,92.0302,179.0791,0,0,0,0,0,0); //Mob
AddPlayerClass(247,2109.8901,-1919.5605,13.5469,91.8294,0,0,0,0,0,0); //Mongols
AddPlayerClass(248,2109.8901,-1919.5605,13.5469,91.8294,0,0,0,0,0,0); //Mongols
AddPlayerClass(254,2109.8901,-1919.5605,13.5469,91.8294,0,0,0,0,0,0); //Mongols
AddPlayerClass(100,2109.8901,-1919.5605,13.5469,91.8294,0,0,0,0,0,0); //Mongols
AddPlayerClass(181,2109.8901,-1919.5605,13.5469,91.8294,0,0,0,0,0,0); //Mongols
AddPlayerClass(291,2109.8901,-1919.5605,13.5469,91.8294,0,0,0,0,0,0); //Mongols
AddPlayerClass(105,2757.7468,-1979.2102,13.5496,270.6362,0,0,0,0,0,0); //Dawgs
AddPlayerClass(106,2757.7468,-1979.2102,13.5496,270.6362,0,0,0,0,0,0); //Dawgs
AddPlayerClass(107,2757.7468,-1979.2102,13.5496,270.6362,0,0,0,0,0,0); //Dawgs
AddPlayerClass(269,2757.7468,-1979.2102,13.5496,270.6362,0,0,0,0,0,0); //Dawgs
AddPlayerClass(270,2757.7468,-1979.2102,13.5496,270.6362,0,0,0,0,0,0); //Dawgs
AddPlayerClass(271,2757.7468,-1979.2102,13.5496,270.6362,0,0,0,0,0,0); //Dawgs
AddPlayerClass(114,1804.1697,-2122.5359,13.5543,1.1077,0,0,0,0,0,0); //Surenos
AddPlayerClass(115,1804.1697,-2122.5359,13.5543,1.1077,0,0,0,0,0,0); //Surenos
AddPlayerClass(173,1804.1697,-2122.5359,13.5543,1.1077,0,0,0,0,0,0); //Surenos
AddPlayerClass(174,1804.1697,-2122.5359,13.5543,1.1077,0,0,0,0,0,0); //Surenos
AddPlayerClass(175,1804.1697,-2122.5359,13.5543,1.1077,0,0,0,0,0,0); //Surenos
AddPlayerClass(116,1804.1697,-2122.5359,13.5543,1.1077,0,0,0,0,0,0); //Surenos
CreateVehicle(405,1248.1069,-774.8889,91.1783,0.6633,40,1, 120); //
CreateVehicle(405,1243.1141,-776.6071,91.0097,0.0596,40,1, 120); //
CreateVehicle(405,700.5103,-479.8330,16.1320,89.2305,40,1, 120); //
CreateVehicle(421,656.6467,-479.7611,16.1396,90.0328,30,1, 120); //
CreateVehicle(426,663.0516,-490.9419,16.0022,270.4801,7,7, 120); //
CreateVehicle(490,1190.7079,-1343.1854,13.6075,177.0349,0,0, 120); //
CreateVehicle(490,1190.1989,-1312.9606,13.6019,181.0561,0,0, 120); //
CreateVehicle(426,2535.7427,-1521.0303,23.6521,90.7445,7,7, 120); //
CreateVehicle(492,2502.6140,-1518.8582,23.7040,0.9020,24,55, 120); //
CreateVehicle(567,2535.4531,-1498.6157,23.7847,268.8511,88,64, 120); //
CreateVehicle(567,2087.1538,-1697.2064,13.3348,0.4754,90,96, 120); //
CreateVehicle(560,2076.0371,-1707.8760,13.1709,178.5766,21,1, 120); //
CreateVehicle(566,2103.9243,-1733.8130,13.2541,343.5055,84,8, 120); //
CreateVehicle(567,2763.9775,-1935.5873,13.2702,1.2981,99,81, 120); //
CreateVehicle(412,2774.9458,-1964.5145,13.2507,0.1455,27,1, 120); //
CreateVehicle(492,2785.5862,-1992.1281,13.1646,88.5441,49,59, 120); //
CreateVehicle(560,2765.6045,-1999.9697,13.1543,269.1084,37,0, 120); //
CreateVehicle(560,1803.4119,-2107.2520,13.1666,270.4808,37,0,120); //
CreateVehicle(560,1828.6356,-2129.5825,13.1667,179.3679,37,0, 120); //
CreateVehicle(567,1828.9049,-2070.3582,13.3282,0.7947,102,114, 120); //
CreateVehicle(426,1819.3510,-2030.4270,13.1261,180.3284,37,37, 120); //
CreateVehicle(596,1601.0969,-1700.1222,5.6109,88.3000,0,1, 120); //
CreateVehicle(596,1600.8331,-1691.9814,5.6119,90.0068,0,1, 120); //
CreateVehicle(596,1600.7614,-1683.9956,5.6128,89.2847,0,1, 120); //
CreateVehicle(427,1591.3942,-1709.8304,6.0224,0.1090,0,1, 120); //
CreateVehicle(427,1583.4489,-1710.3336,6.0227,358.6929,0,1, 120); //
CreateVehicle(497,1559.2362,-1610.9227,13.5593,265.6556,0,1, 120); //
CreateVehicle(521,1670.6685,-1719.9513,20.0555,359.5971,115,118, 120); //
CreateVehicle(522,1664.6392,-1720.2689,20.0575,0.8050,36,105, 120); //
CreateVehicle(468,1658.3708,-1720.7938,20.1524,3.3509,3,3, 120); //
CreateVehicle(461,1651.2493,-1721.3082,20.0665,6.6979,61,1, 120); //
CreateVehicle(482,1918.7782,-1788.8667,13.5102,271.1505,85,85, 120); //
CreateVehicle(482,1947.0999,-1654.1750,13.5696,359.3168,62,62, 120); //
CreateVehicle(470,2119.9419,-1782.7173,13.3801,357.9802,43,0, 120); //
CreateVehicle(478,2114.9182,-1782.4575,13.3783,359.1105,35,1, 120); //
CreateVehicle(536,1841.4534,-1870.7993,13.1273,0.3969,26,96, 120); //
CreateVehicle(575,1777.2673,-1893.6877,12.9878,269.4373,31,64, 120); //
CreateVehicle(534,1795.6265,-1935.9591,13.2135,269.5381,53,53, 120); //
CreateVehicle(567,1807.3521,-1915.0906,13.3509,1.0625,93,64,120); //
CreateVehicle(535,1797.9473,-1883.8987,13.2479,268.1296,31,1, 120); //
CreateVehicle(566,1773.7716,-1921.1216,13.2426,358.9978,83,1, 120); //
CreateVehicle(576,1827.4199,-1910.7141,13.0457,358.8628,72,1, 120); //
CreateVehicle(412,1801.6666,-1860.3241,13.3293,270.4473,10,8, 120); //
CreateVehicle(487,1902.7800,-2286.0679,13.7252,263.5879,26,3, 120); //
CreateVehicle(487,1981.6047,-2301.0337,13.7242,88.8956,26,3, 120); //
CreateVehicle(487,1964.28369141,-2305.49121094,13.81187534,88.00000000,-1,-1,120);//
CreateVehicle(487,1961.15820312,-2383.93359375,13.81187534,87.99499512,-1,-1,120);//
CreateVehicle(593,1872.58911133,-2271.17700195,14.09705734,260.00000000,-1,-1,120);//
CreateVehicle(593,1873.30773926,-2296.21679688,14.09705734,299.99694824,-1,-1,120);//
CreateVehicle(592,2105.81298828,-2449.53271484,14.74686813,140.00000000,1,1,120);//
CreateVehicle(580,1242.6323,-804.8094,83.9367,178.8493,5,5, 120); //
CreateVehicle(580,1249.2317,-805.3002,83.9368,179.6669,6,6, 120); //
CreateVehicle(579,1254.5922,-804.7554,84.0722,178.7954,7,7, 120); //
CreateVehicle(487,1291.0884,-787.7782,96.6350,179.0183,8,8, 120); //
CreateVehicle(482,2478.2593,-1526.5913,24.1243,358.6395,0,0, 120); //
CreateVehicle(445,2471.9185,-1556.6243,23.8839,358.2568,10,10, 120); //
CreateVehicle(579,2463.5215,-1556.4677,23.9358,359.9366,6,6, 120); //
CreateVehicle(579,2478.0725,-1544.3289,23.9896,271.7459,4,4, 120); //
CreateVehicle(579,2708.4880,-1978.4866,13.3649,180.1579,2,2, 120); //
CreateVehicle(586,2104.8301,-1938.2001,13.0823,347.9109,1,1, 120); //
CreateVehicle(586,2117.8271,-1934.3223,13.0687,116.3472,1,1, 120); //
CreateVehicle(482,2130.8784,-1915.2738,13.4982,359.3706,22,22, 120); //
CreateVehicle(482,2126.6646,-1933.8824,13.5023,301.0521,12,12, 120); //
CreateVehicle(463,2102.9570,-1908.6771,12.9231,359.3522,0,0, 120); //
CreateVehicle(463,2102.9680,-1913.0685,12.9210,0.5000,0,0, 120); //
CreateVehicle(463,2103.1182,-1919.6855,12.9208,1.6654,0,0, 120); //
CreateVehicle(422,2113.2275,-1899.9169,13.3893,91.4273,0,0, 120); //
CreateVehicle(422,2121.4324,-1899.9518,13.3927,91.6994,0,0, 120); //
CreateVehicle(579,2067.6260,-1738.6783,13.4843,270.3770,5,5, 120); //
CreateVehicle(468,2066.1565,-1686.0426,13.2236,359.0959,6,6, 120); //
CreateVehicle(468,2071.4429,-1685.8833,13.2155,5.3316,9,9, 120); //
CreateVehicle(468,1800.7894,-2139.4954,13.2156,84.1671,8,8, 120); //
CreateVehicle(461,1789.4075,-2103.2729,13.1303,201.9733,1,1, 120); //
CreateVehicle(579,1736.4375,-2118.1829,13.3855,268.5272,0,0, 120); //
CreateVehicle(482,1695.7693,-2107.1006,13.5807,268.7492,0,0, 120); //
CreateVehicle(482,2135.1736,-1746.7751,13.5988,89.2890,0,0, 120); //
CanInfa = 1 ;
DisableInteriorEnterExits();
return 1;
}
public OnGameModeExit()
{
print("TDM Advanced Unloaded");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(isLogged[i] == 1) //SAVE ON CRASH/RESTART
{
new name[256],check[256];
Delete3DTextLabel(levl[i]);
Delete3DTextLabel(admlabl[i]);
GetPlayerName(i, name, sizeof(name));
format(check, sizeof(check), "%s.ini", name);
dini_IntSet(check,"kills", Kills[i]);
dini_IntSet(check,"deaths", Deaths[i]);
dini_IntSet(check,"money", GetPlayerMoney(i));
dini_IntSet(check,"level", Level[i]);
dini_IntSet(check,"admin", Admin[i]);
dini_IntSet(check,"warns", Warns[i]);
dini_IntSet(check,"skill_deagle", Deagle[i]);
dini_IntSet(check,"skill_shotgun", Shotgun[i]);
dini_IntSet(check,"skill_spas", Spas[i]);
dini_IntSet(check,"skill_mp5", MP5[i]);
dini_IntSet(check,"skill_ak", Ak47[i]);
dini_IntSet(check,"skill_m4", M4[i]);
dini_IntSet(check,"skill_sniper", Sniper[i]);
dini_IntSet(check,"SkillPoints", SkillPoints[i]);
}
}
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1867.2502,-1362.7205,19.1406);
SetPlayerCameraPos(playerid, 1872.0940,-1362.6853,19.1406);
SetPlayerCameraLookAt(playerid, 1867.2502,-1362.7205,19.1406);
SetPlayerFacingAngle(playerid, 268.1415);
//CHANGE TEAM NAMES HERE
if(classid == 0 || classid == 1 || classid == 2 || classid == 3 || classid == 4)
{
gTeam[playerid] = LSPD;
GameTextForPlayer(playerid, "LSPD", 1000, 3);
}
else if(classid == 5 || classid == 6 || classid == 7 || classid == 8 || classid == 9 || classid == 10)
{
gTeam[playerid] = Bloods;
GameTextForPlayer(playerid, "Bloods", 1000, 3);
}
else if(classid == 11 || classid == 12 || classid == 13)
{
gTeam[playerid] = Nortenos;
GameTextForPlayer(playerid, "Nortenos", 1000, 3);
}
else if(classid == 14 || classid == 15 || classid == 16)
{
gTeam[playerid] = Purpz;
GameTextForPlayer(playerid, "East Side Purpz", 1000, 3);
}
else if(classid == 17 || classid == 18 || classid == 19 || classid == 20 || classid == 21 || classid == 22 || classid == 23)
{
gTeam[playerid] = Bailey;
GameTextForPlayer(playerid, "Bailey Mob", 1000, 3);
}
else if(classid == 24 || classid == 25 || classid == 26 || classid == 27 || classid == 28 || classid == 29)
{
gTeam[playerid] = Mongols;
GameTextForPlayer(playerid, "Mongols MC", 1000, 3);
}
else if(classid == 30 || classid == 31 || classid == 32 || classid == 33 || classid == 34 || classid == 35)
{
gTeam[playerid] = Dawgs;
GameTextForPlayer(playerid, "Central Idlewood Dawgs", 1000, 3);
}
else if(classid == 36 || classid == 37 || classid == 38 || classid == 39 || classid == 40 || classid == 41)
{
gTeam[playerid] = Surenos;
GameTextForPlayer(playerid, "Sur Side Cuetes", 1000, 3);
}
return 1;
}
public OnPlayerConnect(playerid)
{
new string[64], pName[MAX_PLAYER_NAME], string2[64];
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
format(string,sizeof(string),"Player %s has been connected",pName);
format(string2, sizeof(string2), "%s.ini", pName);
SendClientMessageToAll(0xFFFFFFAA,string);
SendClientMessage(playerid, 0xFFFFFFAA, "Welcome to [.:. Los Santos Team Death Match .:.] You will now choose an team."); //Write your MOTD here
isLogged[playerid] = 0;
Admin[playerid] = 0;
Level[playerid] = 0;
Deaths[playerid] = 0;
Kills[playerid] = 0;
SkillPoints[playerid] = 0;
if(!dini_Exists(string2))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Register new account", "Account with this name is not registred!\nType your new password here:", "Register", "Exit");
}
else ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Log in your account", "This account is registred!\nType your password below:", "Login", "Exit");
}
public OnPlayerDisconnect(playerid, reason)
{
new string[64], name[MAX_PLAYER_NAME], check[256];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
switch(reason)
{
case 0: format(string,sizeof string,"Player %s left the server [Time out]",name);
case 1: format(string,sizeof string,"Player %s left the server",name);
case 2: format(string,sizeof string,"Player %s has been banned/kicked",name);
}
SendClientMessageToAll(0x757575AA,string);
format(check, sizeof(check), "%s.ini", name);
new cash;
cash = GetPlayerMoney(playerid);
if(isLogged[playerid] == 1)
{
dini_IntSet(check,"kills", Kills[playerid]);
dini_IntSet(check,"deaths", Deaths[playerid]);
dini_IntSet(check,"money", cash);
dini_IntSet(check,"level", Level[playerid]);
dini_IntSet(check,"admin", Admin[playerid]);
dini_IntSet(check,"warns", Warns[playerid]);
dini_IntSet(check,"skill_deagle", Deagle[playerid]);
dini_IntSet(check,"skill_shotgun", Shotgun[playerid]);
dini_IntSet(check,"skill_spas", Spas[playerid]);
dini_IntSet(check,"skill_mp5", MP5[playerid]);
dini_IntSet(check,"skill_ak", Ak47[playerid]);
dini_IntSet(check,"skill_m4", M4[playerid]);
dini_IntSet(check,"skill_sniper", Sniper[playerid]);
dini_IntSet(check,"SkillPoints", SkillPoints[playerid]);
}
Delete3DTextLabel(levl[playerid]);
Delete3DTextLabel(admlabl[playerid]);
return 1;
}
public OnPlayerSpawn(playerid)
{ //SET YOUR TEAM'S COLORS HERE
if(gTeam[playerid] == LSPD) SetPlayerColor(playerid, 0x0000FFAA);
else if(gTeam[playerid] == Bloods) SetPlayerColor(playerid, 0xFF0000AA);
else if(gTeam[playerid] == Surenos) SetPlayerColor(playerid, 0x00FFFFAA);
else if(gTeam[playerid] == Nortenos) SetPlayerColor(playerid, 0xFFFF00AA);
else if(gTeam[playerid] == Purpz) SetPlayerColor(playerid, 0x8000FFAA);
else if(gTeam[playerid] == Bailey) SetPlayerColor(playerid, 0xB1C8FBAA);
else if(gTeam[playerid] == Mongols) SetPlayerColor(playerid, 0x3C3C3CAA);
else if(gTeam[playerid] == Dawgs) SetPlayerColor(playerid, 0x008040AA);
SetPlayerHealth(playerid, 99999);
SetTimerEx("AntiSpawnKill", 3000, 0, "i%", playerid);
//
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(gTeam[killerid] == gTeam[playerid])
{
SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(killerid, name, sizeof(name));
format(string,sizeof(string),"Team killing is not allowed!",name);
SendClientMessage(killerid, 0xFFFFFFAA, string);
}
else
{
GivePlayerMoney(killerid, 1000);
SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
Kills[killerid]++;
Deaths[playerid]++;
}
SendDeathMessage(killerid, playerid, reason);
Delete3DTextLabel(levl[playerid]);
Delete3DTextLabel(admlabl[playerid]);
IsInEvent[playerid] = false;
//LEVEL SYSTEM
if(Kills[killerid] == 50)
{
Level[killerid] = 1;
SkillPoints[playerid] = SkillPoints[playerid]+100;
SCM(killerid, 0xFFFFFFAA, "You've reached new level!(1)");
}
if(Kills[killerid] == 100)
{
Level[killerid] = 2;
SkillPoints[playerid] = SkillPoints[playerid]+100;
SCM(killerid, 0xFFFFFFAA, "You've reached new level!(2)");
}
if(Kills[killerid] == 150)
{
Level[killerid] = 3;
SkillPoints[playerid] = SkillPoints[playerid]+100;
SCM(killerid, 0xFFFFFFAA, "You've reached new level!(3)");
}
if(Kills[killerid] == 200)
{
Level[killerid] = 4;
SkillPoints[playerid] = SkillPoints[playerid]+100;
SCM(killerid, 0xFFFFFFAA, "You've reached new level!(4)");
}
if(Kills[killerid] == 250)
{
Level[killerid] = 5;
SkillPoints[playerid] = SkillPoints[playerid]+100;
SCM(killerid, 0xFFFFFFAA, "You've reached new level!(5)");
}
if(Kills[killerid] == 300)
{
Level[killerid] = 6;
SkillPoints[playerid] = SkillPoints[playerid]+100;
SCM(killerid, 0xFFFFFFAA, "You've reached new level!(6)");
}
if(Kills[killerid] == 350)
{
Level[killerid] = 7;
SkillPoints[playerid] = SkillPoints[playerid]+100;
SCM(killerid, 0xFFFFFFAA, "You've reached new level!(7)");
}
if(Kills[killerid] == 400)
{
Level[killerid] = 8;
SkillPoints[playerid] = SkillPoints[playerid]+100;
SCM(killerid, 0xFFFFFFAA, "You've reached new level!(8)");
}
if(Kills[killerid] == 450)
{
Level[killerid] = 9;
SkillPoints[playerid] = SkillPoints[playerid]+100;
SCM(killerid, 0xFFFFFFAA, "You've reached new level!(9)");
}
if(Kills[killerid] == 500)
{
Level[killerid] = 10;
SkillPoints[playerid] = SkillPoints[playerid]+100;
SCM(killerid, 0xFFFFFFAA, "You've reached new level!(10)");
}
if(Kills[killerid] == 550)
{
Level[killerid] = 11;
SkillPoints[playerid] = SkillPoints[playerid]+100;
SCM(killerid, 0xFFFFFFAA, "You've reached new level!(11)");
}
//
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new idx;
new cmd[256], tmp[256];
cmd = strtok(cmdtext, idx);
if(strcmp("/stats", cmdtext, true) == 0)
{
new name[24], check[258], stats[256];
GetPlayerName(playerid, name, sizeof(name));
format(check, sizeof(check), "%s.ini", name);
if(dini_Exists(check))
{
SendClientMessage(playerid, 0xFFFFFFAA, "____________STATS___________");
format(stats, sizeof(stats), "Money: [%i$] Kills: [%i] Deaths: [%i]\nLevel: [%i] Admin Level: [%i] Warns: [%i]", GetPlayerMoney(playerid), Kills[playerid], Deaths[playerid], Level[playerid], Admin[playerid], Warns[playerid]);
SendClientMessage(playerid, 0xFFFFFFAA, stats);
}
return 1;
}
if(strcmp("/pm", cmd, true) == 0)
{
new messagavic[256], messagame[256], pname[24], vname[24];
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, pname, sizeof(pname));
GetPlayerName(strval(tmp), vname, sizeof(vname));
if(strval(tmp) > 9)
{
format(messagavic, sizeof(messagavic), "PM from %s(%i): %s", pname ,playerid, cmdtext[6]);
format(messagame, sizeof(messagame), "PM for %s(%i): %s", vname, strval(tmp), cmdtext[6]);
}
else
{
format(messagavic, sizeof(messagavic), "PM from %s(%i): %s", pname,playerid, cmdtext[5]);
format(messagame, sizeof(messagame), "PM for %s(%i): %s", vname, strval(tmp), cmdtext[5]);
}
if(!strlen(tmp))
{
SCM(playerid, 0xFFFFFFAA, "USAGE: /pm [id] [message]");
}
else
{
SCM(strval(tmp), 0xFFFF00AA, messagavic);
SCM(playerid, 0xE1E100AA, messagame);
}
return 1;
}
if(strcmp("/help", cmd, true) == 0)
{
SCM(playerid, 0xFFFFFFAA, "____________HELP______________");
SCM(playerid, 0xFFFFFFAA, "/stats - your statistic.");
SCM(playerid, 0xFFFFFFAA, "/pm [ID] [text] - personal message.");
SCM(playerid, 0xFFFFFFAA, "![text] - team chat.");
SCM(playerid, 0xFFFFFFAA, "/report [text] - report a player to admins.");
SCM(playerid, 0xFFFFFFAA, "[Gun System & Levels]: New guns are given with new levels. To upgrade yourself to new level, you must earn 50 kills.");
SCM(playerid, 0xFFFFFFAA, "/give [id] [amount] - give a player some money | /givef [id] [amount] - give a player some frags(kills, score).");
SCM(playerid, 0xFFFFFFAA, "/credits - Authors of the mod.");
return 1;
}
if(strcmp("/credits", cmd, true) == 0)
{
SCM(playerid, 0xFFFFFFAA, "____________CREDITS______________");
SCM(playerid, 0xFFFFFFAA, "Server Owner Joneez And Lil_Hustlah!");
return 1;
}
if(strcmp(cmd, "/kick", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SCM(playerid, 0xBFC0C200, "USE: /kick [ID/Part of name] [Reason]");
new GivePlayerID = ReturnUser(tmp);
if(Admin[playerid] >= 1)
{
if(IsPlayerConnected(GivePlayerID))
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[100];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SCM(playerid, 0xBFC0C200, "USE: /kick [ID/Part of name] [Reason]");
new GivePlayerName[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME];
GetPlayerName(GivePlayerID, GivePlayerName, sizeof(GivePlayerName));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(cmd, sizeof(cmd), "AdmCmd: %s has been kicked by %s, reason: %s", GivePlayerName, sendername, result);
SendClientMessageToAll(0xFF8000AA, cmd);
Kick(GivePlayerID);
return 1;
}
}
else SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp(cmd, "/ban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SCM(playerid, 0xBFC0C200, "USE: /ban [ID/Part of name] [Reason]");
new GivePlayerID = ReturnUser(tmp);
if(Admin[playerid] >= 1)
{
if(IsPlayerConnected(GivePlayerID))
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[100];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SCM(playerid, 0xBFC0C200, "USE: /ban [ID/Part of name] [Reason]");
new GivePlayerName[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME];
GetPlayerName(GivePlayerID, GivePlayerName, sizeof(GivePlayerName));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(cmd, sizeof(cmd), "AdmCmd: %s has been banned by %s, reason: %s", GivePlayerName, sendername, result);
SendClientMessageToAll(0xFF8000AA, cmd);
BanEx(GivePlayerID, result);
return 1;
}
}
else SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp("/setadmin", cmd, true) == 0)
{
new tmp2[256], aname[24], vname[24], adm[256], adm2[256];
tmp = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
GetPlayerName(playerid, aname, sizeof(aname));
GetPlayerName(strval(tmp), vname, sizeof(vname));
format(adm, sizeof(adm), "%s made you admin level %i!", aname, strval(tmp2));
format(adm2, sizeof(adm2), "You made player %s admin level %i!", vname, strval(tmp2));
if(Admin[playerid] > 4)
{
if(strlen(tmp) == 0) SCM(playerid, 0xFFFFFFAA, "USE: /setadmin [id] [level]");
else
{
SCM(playerid, 0xFF8000AA, adm2);
SCM(strval(tmp), 0xFF8000AA, adm);
Admin[strval(tmp)] = strval(tmp2);
}
}
else
{
SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp("/goto", cmd, true) == 0)
{
new vname[24], adm[256];
tmp = strtok(cmdtext, idx);
GetPlayerName(strval(tmp), vname, sizeof(vname));
format(adm, sizeof(adm), "You teleported to %s", vname);
if(Admin[playerid] > 1)
{
if(strlen(tmp) == 0) SCM(playerid, 0xFFFFFFAA, "USE: /goto [id]");
else
{
if(IsPlayerConnected(strval(tmp)))
{
SCM(playerid, 0xFF8000AA, adm);
new Float:x, Float:y, Float:z;
GetPlayerPos(strval(tmp), x, y, z);
SetPlayerPos(playerid, x, y, z);
}
else SCM(playerid, 0xFF0000AA, "Player not found!");
}
}
else
{
SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp("/gethere", cmd, true) == 0)
{
new aname[24], adm[256];
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, aname, sizeof(aname));
format(adm, sizeof(adm), "You have been teleported by %s", aname);
if(Admin[playerid] > 1)
{
if(strlen(tmp) == 0) SCM(playerid, 0xFFFFFFAA, "USE: /gethere [id]");
else
{
SCM(strval(tmp), 0xFF8000AA, adm);
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(strval(tmp), x, y, z);
}
}
else
{
SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp("/givegun", cmd, true) == 0)
{
new tmp2[256], tmp3[256], aname[24], vname[24], adm[256], adm2[256];
tmp = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
tmp3 = strtok(cmdtext, idx);
GetPlayerName(playerid, aname, sizeof(aname));
GetPlayerName(strval(tmp), vname, sizeof(vname));
format(adm, sizeof(adm), "%s gave you a gun!(Gun id: %i)", aname, strval(tmp2));
format(adm2, sizeof(adm2), "You gifted a gun to player %s (gun id %i)!", vname, strval(tmp2));
if(Admin[playerid] > 3)
{
if(strlen(tmp) == 0) SCM(playerid, 0xFFFFFFAA, "USE: /givegun [id] [weapid] [ammo]");
else
{
SCM(playerid, 0xFF8000AA, adm2);
SCM(strval(tmp), 0xFF8000AA, adm);
GivePlayerWeapon(strval(tmp), strval(tmp2), strval(tmp3));
}
}
else
{
SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp(cmd, "/cleanchat", true) == 0) //clean chat
{
new tmp2[256], tmp3[256], aname[24], vname[24], adm[256], adm2[256];
tmp = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
tmp3 = strtok(cmdtext, idx);
for (new a = 1; a <= 60; a++)
{
SendClientMessageToAll(0xFFFFFFAA,"\n");
SendClientMessageToAll(0xFFFFFFAA,"\n");
GameTextForAll("~b~Chat cleared!", 3, 1);
}
new Player[MAX_PLAYER_NAME];
GetPlayerName(playerid,Player,sizeof(Player));
format(cmd, sizeof(cmd), "AdmCmd: Admin %s cleared the chatbox.",Player);
SendClientMessageToAll(0xFF8000AA, cmd);
printf(cmd);
return 1;
}
if(strcmp(cmd, "/mute", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SCM(playerid, 0xBFC0C200, "USE: /mute [ID/Part of name] [Reason]");
new GivePlayerID = ReturnUser(tmp);
if(Admin[playerid] >= 1)
{
if(IsPlayerConnected(GivePlayerID))
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[100];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SCM(playerid, 0xBFC0C200, "USE: /mute [ID/Part of name] [Reason]");
new GivePlayerName[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME];
GetPlayerName(GivePlayerID, GivePlayerName, sizeof(GivePlayerName));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(cmd, sizeof(cmd), "AdmCmd: %s has been muted by %s, reason: %s", GivePlayerName, sendername, result);
SendClientMessageToAll(0xFF8000AA, cmd);
isMuted[GivePlayerID] = 1;
return 1;
}
}
else SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp(cmd, "/unmute", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SCM(playerid, 0xBFC0C200, "USE: /unmute [ID/Part of name]");
new GivePlayerID = ReturnUser(tmp);
if(Admin[playerid] >= 1)
{
if(IsPlayerConnected(GivePlayerID))
{
new GivePlayerName[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME];
GetPlayerName(GivePlayerID, GivePlayerName, sizeof(GivePlayerName));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(cmd, sizeof(cmd), "AdmCmd: Player %s has been unmuted by %s", GivePlayerName, sendername);
SendClientMessageToAll(0xFF8000AA, cmd);
isMuted[GivePlayerID] = 0;
return 1;
}
}
else SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp("/slap", cmd, true) == 0)
{
new aname[24], vname[24], adm[256];
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, aname, sizeof(aname));
GetPlayerName(strval(tmp), vname, sizeof(vname));
format(adm, sizeof(adm), "You have been slapped by %s",aname);
if(Admin[playerid] > 0)
{
if(strlen(tmp) == 0) SCM(playerid, 0xFFFFFFAA, "USE: /slap [ID]");
else
{
SCM(strval(tmp),0xFF8000AA, adm);
new Float:x, Float:y, Float:z;
GetPlayerPos(strval(tmp), x, y, z);
SetPlayerPos(strval(tmp), x, y, z+20.0);
}
}
else SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
return 1;
}
if(strcmp("/spec", cmd, true) == 0)
{
new aname[24], vname[24];
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, aname, sizeof(aname));
GetPlayerName(strval(tmp), vname, sizeof(vname));
if(Admin[playerid] > 0)
{
if(strlen(tmp) == 0) SCM(playerid, 0xFFFFFFAA, "USE: /spec [id]");
else
{
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, strval(tmp));
}
}
else SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
return 1;
}
if(strcmp("/specoff", cmd, true) == 0)
{
if(Admin[playerid] > 0)
{
TogglePlayerSpectating(playerid, 0);
}
else SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
return 1;
}
if(strcmp("/report", cmd, true) == 0)
{
new name[24], string[256];
if(!strlen(cmdtext[8]))
{
SCM(playerid, 0xFFFFFFAA, "USE: /report [text]");
}
else
{
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "Report from %s: %s", name, cmdtext[8]);
SCM(playerid, 0xFF8000AA, "Report has been sent!");
for (new i; i < MAX_PLAYERS; i++)
{
if (Admin[i] > 0)
{
SendClientMessage(i,0xFF8000AA,string);
}
}
}
return 1;
}
if(strcmp("/kill", cmd, true) == 0)
{
SetPlayerHealth(playerid, 0);
return 1;
}
if(strcmp("/ann", cmd, true) == 0)
{
new name[24], string[256];
if(!strlen(cmdtext[5]))
{
SCM(playerid, 0xFFFFFFAA, "USE: /ann [text]");
}
else
{
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "ADMIN %s: %s", name, cmdtext[5]);
if (Admin[playerid] > 1)
{
SendClientMessageToAll(0xFF8000AA,string);
}
else SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp("/warn", cmd, true) == 0)
{
new aname[24], vname[24], adm[256], admban[256], adm2[256], admban2[256], GivePlayerID;
tmp = strtok(cmdtext, idx);
GivePlayerID = ReturnUser(tmp);
GetPlayerName(playerid, aname, sizeof(aname));
GetPlayerName(GivePlayerID, vname, sizeof(vname));
format(adm, sizeof(adm), "AdmCmd: %s has been warned by %s, reason: %s", vname, aname, cmdtext[9]);
format(admban, sizeof(admban), "AdmCmd: %s has been banned with 3 warns, last warn given by %s reason %s", vname, aname, cmdtext[9]);
format(adm2, sizeof(adm), "AdmCmd: %s has been warned by %s, reason: %s", vname, aname, cmdtext[8]);
format(admban2, sizeof(admban), "AdmCmd: %s has been banned with 3 warns, last warn given by %s, reason %s", vname, aname, cmdtext[8]); if(Admin[playerid] > 1)
{
if(strlen(tmp) == 0) SCM(playerid, 0xFFFFFFAA, "USE: /warn [id] [reason]");
else
{
if(Warns[GivePlayerID] == 2)
{
if(GivePlayerID > 9)
{
SCMT(0xFF8000AA, admban);
Warns[playerid]++;
BanEx(strval(tmp), "3 Warns");
}
else
{
SCMT(0xFF8000AA, admban2);
Warns[playerid]++;
BanEx(strval(tmp), "3 Warns");
}
}
else
{
if(strval(tmp) > 9)
{
SCMT(0xFF8000AA, adm);
Warns[playerid]++;
Kick(strval(tmp));
}
else
{
SCMT(0xFF8000AA, adm2);
Warns[playerid]++;
Kick(strval(tmp));
}
}
}
}
else
{
SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp("/setstats", cmd, true) == 0)
{
new tmp2[256], tmp3[256], aname[24], vname[24], adm[256], adm2[256];
tmp = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
tmp3 = strtok(cmdtext, idx);
GetPlayerName(playerid, aname, sizeof(aname));
GetPlayerName(strval(tmp), vname, sizeof(vname));
format(adm, sizeof(adm), "Admin %s changed your stats", aname);
format(adm2, sizeof(adm2), "You changed %s's stats!", vname);
if(Admin[playerid] > 3)
{
if(strlen(tmp) == 0) SCM(playerid, 0xFFFFFFAA, "USE: /setstats [id] [stats] [value]");
else
{
SCM(playerid, 0xFF8000AA, adm2);
SCM(strval(tmp), 0xFF8000AA, adm);
if(strcmp("level", tmp2, true))
{
Kills[strval(tmp)] = strval(tmp3);
SetPlayerScore(strval(tmp), strval(tmp3));
}
if(strcmp("frags", tmp2, true))
{
Level[strval(tmp)] = strval(tmp3);
}
}
}
else
{
SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp("/top", cmd, true) == 0)
{
SCM(playerid, 0xFFFFFFAA, "____________TOP______________"); //NOT WORKING
}
if(strcmp("/ahelp", cmd, true) == 0)
{
SCM(playerid, 0xFFFFFFAA, "____________ADMIN HELP______________");
SCM(playerid, 0xFFFFFFAA, "| - admin chat.");
SCM(playerid, 0xFFFFFFAA, "/kick [ID] [reason] - kick player.");
SCM(playerid, 0xFFFFFFAA, "/ban [id] [reason] - ban player.");
SCM(playerid, 0xFFFFFFAA, "/warn [id] [reason] - warn player.");
SCM(playerid, 0xFFFFFFAA, "/goto [id] - teleport to player | /gethere [id] - teleport here the player");
SCM(playerid, 0xFFFFFFAA, "/givegun [id] [weapid] [ammo] - give a gun to a player");
SCM(playerid, 0xFFFFFFAA, "/explode [id] - explode a player | /getip [id] - get the ip of a player");
SCM(playerid, 0xFFFFFFAA, "/cleanchat - clean the chat.");
SCM(playerid, 0xFFFFFFAA, "/spec - spectate the player, /specoff - stop spectating.");
SCM(playerid, 0xFFFFFFAA, "/onduty - get on admin duty.");
return 1;
}
if(strcmp(cmd, "/admins", true) == 0)
{
new count = 0, PlayerName[24], string[256];
SendClientMessage(playerid, 0xFFFFFFAA, "____________ADMINS______________");
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && Admin[i] >= 1)
{
GetPlayerName(i,PlayerName,24);
format(string,sizeof(string),"Admin %s - %i level", PlayerName, Admin[i]);
if(Duty[i] == 1)
{
SendClientMessage(playerid, 0x009B00AA, string);
count++;
}
else
{
SendClientMessage(playerid, 0xFFFFFFAA, string);
count++;
}
}
}
if(count == 0)
{
SendClientMessage(playerid, 0xFFFFFFAA, " Никого");
}
return 1;
}
if(strcmp(cmd, "/getip", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SCM(playerid, 0xBFC0C200, "USE: /getip [ID/Part of name]");
new GivePlayerID = ReturnUser(tmp);
if(Admin[playerid] >= 1)
{
if(IsPlayerConnected(GivePlayerID))
{
new victimname[MAX_PLAYER_NAME], plrId[16];
GetPlayerIp(GivePlayerID, plrId, sizeof(plrId));
GetPlayerName(GivePlayerID, victimname, sizeof(victimname));
format(cmd, sizeof(cmd), "%s's IP Adress: %s", victimname, plrId);
SendClientMessage(playerid, 0xFF8000AA, cmd);
return 1;
}
}
else SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
if(strcmp("/givecash", cmd, true) == 0)
{
new tmp2[256], name[24], vname[24], gived[256], givedv[256], GivePlayerID;
tmp = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
GivePlayerID = ReturnUser(tmp);
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(GivePlayerID, vname, sizeof(vname));
format(givedv, sizeof(givedv), "%s gave you %i$!", name, strval(tmp2));
format(gived, sizeof(gived), "You gave %i$ to %s!",strval(tmp2), vname);
if(GetPlayerMoney(playerid) >= strval(tmp2))
{
if(strlen(tmp) == 0 || strlen(tmp2) == 0) SCM(playerid, 0xFFFFFFAA, "USE: /givecash [id] [amount]");
else
{
new money = strval(tmp2);
GivePlayerMoney(playerid, -money);
GivePlayerMoney(GivePlayerID, money);
SCM(playerid, 0xFF8040AA, gived);
SCM(GivePlayerID, 0xFF8040AA, givedv);
}
}
else
{
SCM(playerid, 0xFF0000AA, "Your amount is invaild.");
}
return 1;
}
if(strcmp("/givef", cmd, true) == 0)
{
new tmp2[256], name[24], vname[24], gived[256], givedv[256], GivePlayerID;
tmp = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
GivePlayerID = ReturnUser(tmp);
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(GivePlayerID, vname, sizeof(vname));
format(givedv, sizeof(givedv), "%s gave you %i frags(kills, score)!", name, strval(tmp2));
format(gived, sizeof(gived), "You gave %i frags(kills, score) to %s!", strval(tmp2), vname);
if(Kills[playerid] >= strval(tmp2))
{
if(strlen(tmp) == 0 || strlen(tmp2) == 0) SCM(playerid, 0xFFFFFFAA, "USE: /givef [id] [amount]");
else
{
Kills[playerid]= Kills[playerid]-strval(tmp2);
Kills[GivePlayerID] = Kills[GivePlayerID]+strval(tmp2);
SetPlayerScore(playerid, Kills[playerid]);
SetPlayerScore(GivePlayerID, Kills[GivePlayerID]);
SCM(playerid, 0xFF8040AA, gived);
SCM(GivePlayerID, 0xFF8040AA, givedv);
}
}
else
{
SCM(playerid, 0xFF0000AA, "You don't have that amount of frags (kills, score)!");
}
return 1;
}
if(strcmp(cmd, "/onduty", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Admin[playerid] >= 1)
{
if(Duty[playerid] == 0)
{
new name[256], str[256];
GetPlayerName(playerid, name, sizeof(name));
Duty[playerid] = 1;
format(str, sizeof(str), "Admin %s is now on duty!", name);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Admin[i] > 0) SCM(i, 0xFFFF00AA, str);
}
}
else if(Duty[playerid] == 1)
{
new name[256], str[256];
GetPlayerName(playerid, name, sizeof(name));
Duty[playerid] = 0;
format(str, sizeof(str), "Admin %s now is not on duty!", name);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Admin[i] > 0) SCM(i, 0xFFFF00AA, str);
}
}
return 1;
}
else SCM(playerid, 0xFF0000AA, "You are not authorized to use this command!");
}
return 1;
}
/*if(strcmp(cmd, "/startevent", true) == 0) // Inte klart дr jobbar pе det
{
if(IsPlayerConnected(playerid))
{
if(Admin[playerid] >= 3)
{
new tmp[256];
tmp = strtok(cmdtext, idx);
if(strval(tmp) == 1)
{
SCM(playerid, 0xFFFFFFAA, "Вы начали евент в Мотеле Джеферсон");
SCMT(0xFF8000AA, "EventSys: Евент в мотеле джеферсонна начался. Оружия: Дигл, М4. Чтобы присоединится, напишите /joinevent");
EventStarted = 1;
EventType = 1;
}
else if(strval(tmp) == 2)
{
SCM(playerid, 0xFFFFFFAA, "Вы начали евент в Особняке Маддога");
SCMT(0xFF8000AA, "EventSys: Евент в Осабняке Маддога начался. Оружия: Дигл, М4. Чтобы присоединится, напишите /joinevent");
EventStarted = 1;
EventType = 2;
}
return 1;
}
else SCM(playerid, 0xFF0000AA, "Нет доступа!");
}
return 1;
}
if(strcmp(cmd, "/stopevent", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Admin[playerid] >= 3)
{
SCM(playerid, 0xFFFFFFAA, "Евент остановлен!");
EventStarted = 0;
return 1;
}
else SCM(playerid, 0xFF0000AA, "Нет доступа!");
}
return 1;
}
if(strcmp(cmd, "/joinevent", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(EventStarted == 0) SCM(playerid, 0xFFFFFFAA, "Евент не начан!");
else
{
SCM(playerid, 0xFFFFFFAA, "Вы зашли на евент!");
IsInEvent[playerid] = true;
if(EventType == 1)
{
SetPlayerPos(playerid,2225.8792,-1148.9609,1025.7969);
SetPlayerHealth(playerid, 100);
SetPlayerInterior(playerid, 15);
}
else if(EventType == 2)
{
SetPlayerPos(playerid,1266.5699,-806.9981,1084.0078);
SetPlayerHealth(playerid, 100);
SetPlayerInterior(playerid, 5);
}
}
}
return 1;
} */
return 0;
}
stock SetPlayerMoney(playerid, money)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, money);
return;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)
{
if(dialogid == 1) //register
{
new name[24], check[258];
GetPlayerName(playerid, name, sizeof(name));
format(check, sizeof(check), "%s.ini", name);
dini_Create(check);
dini_Set(check,"password", inputtext);
dini_IntSet(check,"money", 0);
dini_IntSet(check,"kills", 0);
dini_IntSet(check,"deaths", 0);
dini_IntSet(check,"level", 0);
dini_IntSet(check,"admin", 0);
dini_IntSet(check,"warns", 0);
dini_IntSet(check,"skill_deagle", 0);
dini_IntSet(check,"skill_shotgun", 0);
dini_IntSet(check,"skill_spas", 0);
dini_IntSet(check,"skill_mp5", 0);
dini_IntSet(check,"skill_ak", 0);
dini_IntSet(check,"skill_m4", 0);
dini_IntSet(check,"skill_sniper", 0);
dini_IntSet(check,"SkillPoints", 0);
SendClientMessage(playerid, 0xFFFFFFAA, "Account registered! You logged in automatically!");
isLogged[playerid] = 1;
return 1;
}
if(dialogid == 2) //login
{
new name[24], check[258];
GetPlayerName(playerid, name, sizeof(name));
format(check, sizeof(check), "%s.ini", name);
if(dini_Exists(check))
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Log in your account", "Bad password!\nType your password below:", "Login", "Exit");
}
else
{
if(strcmp(inputtext, dini_Get(check, "password"), false) == 0)
{
isLogged[playerid] = 1;
SCM(playerid, 0xFFFFFFAA, "You succesfully logged in!");
SetPlayerMoney(playerid, dini_Int(check, "money"));
SetPlayerScore(playerid, dini_Int(check, "kills"));
Kills[playerid] = dini_Int(check, "kills");
Deaths[playerid] = dini_Int(check, "deaths");
Level[playerid] = dini_Int(check, "level");
Admin[playerid] = dini_Int(check, "admin");
Warns[playerid] = dini_Int(check, "warns");
SkillPoints[playerid] = dini_Int(check, "SkillPoints");
Deagle[playerid] = dini_Int(check,"skill_deagle");
Shotgun[playerid] = dini_Int(check,"skill_shotgun");
Spas[playerid] = dini_Int(check,"skill_spas");
MP5[playerid] = dini_Int(check,"skill_mp5");
Ak47[playerid] = dini_Int(check,"skill_ak");
M4[playerid] = dini_Int(check,"skill_m4");
Sniper[playerid] = dini_Int(check,"skill_sniper");
}
else ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Log in your account", "Bad password!\nType your password below:", "Войти", "Выйти");
}
}
else
{
SCM(playerid, 0xFF0000AA, "FATAL ERROR: UNKNOWN ERROR 1");
Kick(playerid);
}
return 1;
}
}
else
{
if(dialogid == 1) //register
{
Kick(playerid);
}
if(dialogid == 2)
{
Kick(playerid);
}
if(dialogid == 3)
/// WARNING! I SCRAPPED THE SKILL SYSTEM. YOU CAN ACTIVATE IT BY REMOVING THE "/^ ^/"
if(dialogid == 4) //Deagle edit
{
/* if(Deagle[playerid] < strval(inputtext))
{
SCM(playerid, 0xFF0000AA, "You dont have that amount of skill points!");
}
else
{
Deagle[playerid] = Deagle[playerid]-strval(inputtext);
SkillPoints[playerid] = SkillPoints[playerid]+strval(inputtext);
SCM(playerid, 0xFFFFFFAA, "Skill's changed!");
}
}
if(dialogid == 5) //Shotgun edit
{
if(Shotgun[playerid] < strval(inputtext))
{
SCM(playerid, 0xFF0000AA, "You dont have that amount of skill points!");
}
else
{
Shotgun[playerid] = Shotgun[playerid]-strval(inputtext);
SkillPoints[playerid] = SkillPoints[playerid]+strval(inputtext);
SCM(playerid, 0xFFFFFFAA, "Skill's changed!");
}
}
if(dialogid == 6) //Spas edit
{
if(Spas[playerid] < strval(inputtext))
{
SCM(playerid, 0xFF0000AA, "You dont have that amount of skill points!");
}
else
{
Spas[playerid] = Spas[playerid]-strval(inputtext);
SkillPoints[playerid] = SkillPoints[playerid]+strval(inputtext);
SCM(playerid, 0xFFFFFFAA, "Skill's changed!");
}
}
if(dialogid == 7) //mp5 edit
{
if(MP5[playerid] < strval(inputtext))
{
SCM(playerid, 0xFF0000AA, "You dont have that amount of skill points!");
}
else
{
MP5[playerid] = MP5[playerid]-strval(inputtext);
SkillPoints[playerid] = SkillPoints[playerid]+strval(inputtext);
SCM(playerid, 0xFFFFFFAA, "Skill's changed!");
}
}
if(dialogid == 8) //ak47 edit
{
if(Ak47[playerid] < strval(inputtext))
{
SCM(playerid, 0xFF0000AA, "You dont have that amount of skill points!");
}
else
{
Ak47[playerid] = Ak47[playerid]-strval(inputtext);
SkillPoints[playerid] = SkillPoints[playerid]+strval(inputtext);
SCM(playerid, 0xFFFFFFAA, "Skill's changed!");
}
}
if(dialogid == 9) //m4 edit
{
if(M4[playerid] < strval(inputtext))
{
SCM(playerid, 0xFF0000AA, "You dont have that amount of skill points!");
}
else
{
M4[playerid] = M4[playerid]-strval(inputtext);
SkillPoints[playerid] = SkillPoints[playerid]+strval(inputtext);
SCM(playerid, 0xFFFFFFAA, "Skill's changed!");
}
}
if(dialogid == 10) //Sniper edit
{
if(Sniper[playerid] < strval(inputtext))
{
SCM(playerid, 0xFFFFFFAA, "You dont have that amount of skill points!");
}
else
{
Sniper[playerid] = Sniper[playerid]-strval(inputtext);
SkillPoints[playerid] = SkillPoints[playerid]+strval(inputtext);
SCM(playerid, 0xFFFFFFAA, "Skill's changed!");
}*/
}
}
return 0;
}
public OnPlayerStateChange(playerid, newstate, oldstate) //ANTI DRIVE-BY
{
if(newstate==PLAYER_STATE_PASSENGER)
{
if(GetPlayerWeapon(playerid) == 24 )
{
SetPlayerArmedWeapon(playerid, 0);
}
if(GetPlayerWeapon(playerid) == 27 )
{
SetPlayerArmedWeapon(playerid, 0);
}
}
return 1;
}
public OnPlayerText(playerid, text[])
{
if (text[0] == '!')
{
new playerTeam = gTeam[playerid];
new string[128];
new color;
GetPlayerName(playerid, string, sizeof string);
format(string,sizeof(string),"<Radio> %s: %s",string,text[1]);
switch (playerTeam)
{
case LSPD: color = 0x0000FFAA;
case Bloods: color = 0xFF0000AA;
case Surenos: color = 0x00FFFFAA;
case Nortenos: color = 0xFFFF00AA;
case Purpz: color = 0x8000FFAA;
case Bailey: color = 0xB1C8FBAA;
case Mongols: color = 0x3C3C3CAA;
case Dawgs: color = 0x008040AA;
}
for (new i; i < MAX_PLAYERS; i++)
{
if (gTeam[i] == playerTeam)
{
SendClientMessage(i,color,string);
}
}
return 0;
}
if (text[0] == '|')
{
new string[128];
if(Admin[playerid] >= 1)
{
GetPlayerName(playerid, string, sizeof string);
format(string,sizeof(string),"[Admin chat] %s: %s",string,text[1]);
if(isMuted[playerid] == 0)
{
for (new i; i < MAX_PLAYERS; i++)
{
if (Admin[i] >= 1)
{
SendClientMessage(i,0xFFFF00AA,string);
}
}
}
}
return 0;
}
if(isMuted[playerid] == 1)
{
return 0;
}
return 1;
}
public IsInfaAvaible()
{
CanInfa = 1;
return 1;
}
public AntiSpawnKill(playerid)
{
new label[256], Float:posx, Float:posy, Float:posz;
GetPlayerPos(playerid, posx, posy, posz);
format(label, sizeof(label), "Level: %i", Level[playerid]);
if(Duty[playerid] == 0)
{
levl[playerid] = Create3DTextLabel(label,0x008080FF,posx,posy,posz,20,0, 1);
Attach3DTextLabelToPlayer(levl[playerid], playerid, 0.0, 0.0, 0.4);
SetPlayerHealth(playerid, 100);
//LEVEL SYSTEM
if(Level[playerid] == 0)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 25, 300);
GivePlayerWeapon(playerid, 30, 500);
GivePlayerWeapon(playerid, 5, 1);
}
if(Level[playerid] == 1)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 25, 300);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 30, 500);
GivePlayerWeapon(playerid, 5, 1);
}
if(Level[playerid] == 2)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 25, 300);
GivePlayerWeapon(playerid, 28, 500);
GivePlayerWeapon(playerid, 30, 500);
GivePlayerWeapon(playerid, 5, 1);
SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 1);
}
if(Level[playerid] == 3)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 25, 300);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 5, 1);
}
if(Level[playerid] == 4)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 25, 300);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 5, 1);
GivePlayerWeapon(playerid, 41, 200);
}
if(Level[playerid] == 5)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 25, 300);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 33, 100);
GivePlayerWeapon(playerid, 5, 1);
SetPlayerArmour(playerid, 50);
GivePlayerWeapon(playerid, 41, 200);
}
if(Level[playerid] == 6)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 25, 300);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 33, 100);
GivePlayerWeapon(playerid, 5, 1);
SetPlayerArmour(playerid, 70);
GivePlayerWeapon(playerid, 41, 200);
}
if(Level[playerid] == 7)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 25, 300);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 34, 20);
GivePlayerWeapon(playerid, 8, 1);
SetPlayerArmour(playerid, 80);
GivePlayerWeapon(playerid, 41, 200);
}
if(Level[playerid] == 8)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 25, 300);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 34, 20);
GivePlayerWeapon(playerid, 16, 1);
GivePlayerWeapon(playerid, 8, 1);
SetPlayerArmour(playerid, 90);
GivePlayerWeapon(playerid, 41, 200);
}
if(Level[playerid] == 9)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 27, 300);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 34, 20);
GivePlayerWeapon(playerid, 18, 2);
GivePlayerWeapon(playerid, 4, 1);
SetPlayerArmour(playerid, 100);
GivePlayerWeapon(playerid, 41, 200);
}
if(Level[playerid] == 10)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 27, 300);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 34, 20);
GivePlayerWeapon(playerid, 18, 2);
GivePlayerWeapon(playerid, 4, 1);
GivePlayerWeapon(playerid, 35, 1);
SetPlayerArmour(playerid, 100);
GivePlayerWeapon(playerid, 41, 200);
}
if(Level[playerid] == 11)
{
GivePlayerWeapon(playerid, 24, 1000);
GivePlayerWeapon(playerid, 27, 300);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 34, 20);
GivePlayerWeapon(playerid, 16, 2);
GivePlayerWeapon(playerid, 9, 1);
GivePlayerWeapon(playerid, 35, 1);
SetPlayerArmour(playerid, 100);
GivePlayerWeapon(playerid, 41, 200);
}
}
else if(Duty[playerid] == 1)
{
SetPlayerSkin(playerid, 0);
SetPlayerHealth(playerid, 999999);
admlabl[playerid] = Create3DTextLabel("ADMIN ON DUTY",0x008080FF,posx,posy,posz,20,0, 1);
Attach3DTextLabelToPlayer(admlabl[playerid], playerid, 0.0, 0.0, 0.4);
SetPlayerColor(playerid, 0xFFFFFFAA);
}
return 1;
}
public OnPlayerUpdate(playerid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(GetPlayerWeapon(playerid) == 32 )
{
SetPlayerArmedWeapon(playerid, 0);
}
if(GetPlayerWeapon(playerid) == 28 )
{
SetPlayerArmedWeapon(playerid, 0);
}
if(GetPlayerWeapon(playerid) == 29 )
{
SetPlayerArmedWeapon(playerid, 0);
}
}
return 1;
}
Try searching for "ReturnUser" You probably have it twice in your GM defined... delete the second one. It will probably look somthing like:
CreateVehicle(482,2135.1736,-1746.7751,13.5988,89.2890,0,0, 120); // Is near Canifa = 1 ;