All pastes #739290 Raw Edit

GTA Injection

public text v1 · immutable
·published 2007-10-17 00:44 UTC
rendered paste body
#include <a_samp>
#include <dini>
#include <dudb>

#pragma unused ret_memcpy
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define COLOR_BLUE 0x000080AA
#define COLOR_CYAN 0x48d1ccAA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x00FF00AA
#define COLOR_RED 0xFF0000AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_TAN 0xBDB76BAA
#define COLOR_PURPLE 0x800080AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_INVISWHITE 0xFFFFFF00
#define COLOR_LIGHTBLUE 0x1C86EEAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900A
#define vehiclefile "vehicle.ini"

forward Anticheat();
forward vLockCheck();

enum Set
{
	prints,
	anticheat,
	AutoAdmin
}
enum Info
{
	logged,
	bank,
	money,
	moneyEx,
	report,
	LastCar
}
new pInfo[MAX_PLAYERS][Info];
new Settings[Set];
new gName[24];
new Menu:Help;
new Text:Lock;
new lp[MAX_PLAYERS];
new vLock[MAX_VEHICLES];
new tp[MAX_PLAYERS];
main()
{
	print("\n------------------------------------");
	print(" ---[Grand Theft Auto: Injection]---");
	print("------------------------------------\n");
	if(!dini_Exists("Settings.ini"))
	{
	    print("-----------------------------[Settings Error] -----------------------------\n");
		print("      -- [No settings file found - Script settings defaulted] --\n");
		print("-----------------------------[Settings Error] -----------------------------\n");
		Settings[prints] = 1;
		Settings[anticheat] = 0;
		Settings[AutoAdmin] = 0;
	}
	else
	{
	    new tmp[255];
	    tmp = dini_Get("Settings.ini","Prints");
	    Settings[prints] = strval(tmp);
	    tmp = dini_Get("Settings.ini","Anticheat");
	    Settings[anticheat] = strval(tmp);
	    tmp = dini_Get("Settings.ini","AutoAdmin");
	    Settings[AutoAdmin] = strval(tmp);
	}
	if(!dini_Exists(vehiclefile)) dini_Create(vehiclefile);
}

stock Float:GetDistanceToCar(playerid,vehicleid)
{
	new Float:x11,Float:y11,Float:z11,Float:x2,Float:y2,Float:z2;
	GetPlayerPos(playerid,x11,y11,z11);
	GetVehiclePos(vehicleid,x2,y2,z2);
	return floatsqroot(floatpower(floatabs(floatsub(x2,x11)),2)+floatpower(floatabs(floatsub(y2,y11)),2)+floatpower(floatabs(floatsub(z2,z11)),2));
}

stock GetClosestCar(playerid)
{
	new Float:prevdist = 7;
	new prevcar;
	for (new carid = 0; carid < MAX_VEHICLES; carid++)
	{
        new Float:dist = GetDistanceToCar(playerid,carid);
	    if ((dist < prevdist))
		{
	         prevdist = dist;
	         prevcar = carid;
	         return prevcar;
        }
	}
	return -1;
}

stock Float:GetDistanceBetweenPlayers(p1,p2)
{
	new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
	GetPlayerPos(p1,x1,y1,z1);
	GetPlayerPos(p2,x2,y2,z2);
	return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}

stock GivePlayerMoneyEx(playerid, amount)
{
	if(amount <= -1) pInfo[playerid][moneyEx] = pInfo[playerid][moneyEx] - amount;
	if(amount >= 1) pInfo[playerid][moneyEx] = pInfo[playerid][moneyEx] + amount;
	GivePlayerMoney(playerid, amount);
}

stock GetPlayerMoneyEx(playerid) return pInfo[playerid][moneyEx];

public OnGameModeInit()
{
	SetGameModeText("GTA: Injection");
	if(Settings[anticheat] == 1) SetTimer("Anticheat", 500, 1);
	
	Help = CreateMenu("Help Topic",3,125,1250,300);
	AddMenuItem(Help, 1, "About");
	AddMenuItem(Help, 2, "Commands");
	AddMenuItem(Help, 3, "Version");
	
	AddPlayerClass(255,-1635.0077,665.8105,7.1875,264.2244, 0,0,0,0,0,0);
	AddPlayerClass(1,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(2,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(254,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(255,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(256,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(257,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(258,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(259,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(260,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(261,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(262,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(263,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(264,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(274,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(275,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(276,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(277,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(278,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(279,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(288,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(47,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(48,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(49,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(50,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(51,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(52,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(53,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(54,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(55,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(56,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(57,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(58,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(59,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(60,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(61,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(62,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(63,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(64,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(66,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(67,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(68,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(69,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(70,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(71,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(72,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(73,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(75,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(76,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(78,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(79,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(80,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(81,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(82,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(83,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(84,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(85,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(87,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(88,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(89,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(91,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(92,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(93,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(95,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(96,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(97,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(98,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(99,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(100,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(101,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(102,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(103,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(104,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(105,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(106,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(107,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(108,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(109,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(110,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(111,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(112,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(113,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(114,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(115,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(116,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(117,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(118,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(120,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(121,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(122,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(123,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(124,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(125,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(126,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(127,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(128,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(129,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(131,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(133,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(134,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(135,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(136,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(137,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(138,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(139,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(140,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(141,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(142,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(143,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(144,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(145,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(146,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(147,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(148,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(150,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(151,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(152,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(153,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(154,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(155,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(156,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(157,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(158,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(159,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(160,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(161,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(162,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(163,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(164,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(165,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(166,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(167,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(168,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(169,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(170,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(171,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(172,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(173,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(174,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(175,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(176,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(177,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(178,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(179,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(180,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(181,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(182,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(183,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(184,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(185,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(186,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(187,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(188,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(189,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(190,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(191,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(192,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(193,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(194,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(195,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(196,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(197,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(198,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(199,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(200,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(201,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(202,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(203,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(204,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(205,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(206,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(207,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(209,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(210,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(211,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(212,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(213,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(214,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(215,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(216,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(217,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(218,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(219,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(220,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(221,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(222,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(223,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(224,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(225,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(226,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(227,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(228,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(229,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(230,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(231,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(232,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);
	AddPlayerClass(233,-1635.0077,665.8105,7.1875,179.7263,0,0,0,0,-1,-1);

	for(new v=0; v<400; v++) vLock[v] = 0;
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnPlayerConnect(playerid)
{
	new name[24],string[40];
	GetPlayerName(playerid,name,24);
	format(string,sizeof(string),"~b~%s ~w~just connected",name);
	for(new i=0; i<MAX_PLAYERS; i++) if(i != playerid) GameTextForAll(string, 1000, 1);
	GameTextForPlayer(playerid,"~w~Grand Theft Auto~n~~b~Injection",1000,1);
	pInfo[playerid][logged] = 0;
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	new name[24],string[40],Float:HP;
	GetPlayerName(playerid,name,24);
	if(reason != 4) format(string,sizeof(string),"~b~%s ~w~just disconnected",name);
	else if(reason == 4) format(string,sizeof(string),"~b~%s ~w~was banned",name);
	GameTextForAll(string, 1000, 1);
	GetPlayerHealth(playerid,HP);
	if(HP != 0 && pInfo[playerid][logged] == 1)
	{
	 	dini_FloatSet(udb_encode(name),"hp",HP);
	 	dini_IntSet(udb_encode(name),"money",GetPlayerMoneyEx(playerid));
	}
	return 1;
}

public OnPlayerSpawn(playerid)
{
	if(Settings[prints] == 1)
	{
	    GetPlayerName(playerid, gName, 24);
		printf("%s has just [Spawned]",gName);
		gName = " ";
	}
	new player[24],string[128];
	GetPlayerName(playerid, player, 24);
	format(string,sizeof(string),"* %s thinks: So this is the new life huh...",player);
	if(pInfo[playerid][logged] == 0)
	{
		SendClientMessage(playerid,COLOR_GREY,string);
		SendClientMessage(playerid,COLOR_GREY,"* I better start getting acquanted with everything  and make new friends. That life back in jail was bad.");
		SendClientMessage(playerid,COLOR_GREY,"* Let's hope this life isn't as bad as that last one. Hello San Fierro!");
		GameTextForPlayer(playerid,"~w~New Life",1000,1);
		for(new w=0; w<31 && w>22; w++) GivePlayerWeapon(playerid,w,200);
	}
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	if(Settings[prints] == 1)
	{
	    GetPlayerName(playerid, gName, 24);
		printf("%s has just [Died]",gName);
		gName = " ";
	}
	return 1;
}

public OnPlayerText(playerid, text[])
{
	new player[24];
	new string[128];
	GetPlayerName(playerid,player,24);
  	if(strcmp(text, "!", true) == 0)
	{
  	    format(string,sizeof(string),"||[%s]: %s",player,text[2]);
  	    SendClientMessageToAll(COLOR_CYAN,string);
  	    printf("[OOC Chat]: %s", string);
  	    return 0;
  	}
 	format(string,sizeof(string),"[%s]: %s",player,text);
 	printf("[IC Chat]: %s", string);
	for(new i=0; i<MAX_PLAYERS; i++) if(GetDistanceBetweenPlayers(i,playerid) <= 30) SendClientMessage(i,COLOR_GREY,text[0]);
	return 0;
}

public OnPlayerPrivmsg(playerid, recieverid, text[])
{
	if(Settings[prints] == 1)
	{
	    new player[24];
	    GetPlayerName(playerid, gName, 24);
	    GetPlayerName(recieverid, player, 24);
		printf("[PM] %s to %s: %s",gName, player, text);
		gName = " ";
	}
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if(Settings[prints] == 1)
	{
	    GetPlayerName(playerid, gName, 24);
		printf("%s tryed to use command [%s]",gName, cmdtext);
		gName = " ";
	}
	dcmd(help, 4, cmdtext);
	dcmd(login, 5, cmdtext);
	dcmd(register,8,cmdtext);
	dcmd(me, 2, cmdtext);
	dcmd(bank, 4, cmdtext);
	dcmd(buy, 3, cmdtext);
	dcmd(transfer, 8, cmdtext);
	dcmd(restrict, 8, cmdtext);
	dcmd(lock, 4, cmdtext);
	dcmd(unlock, 6, cmdtext);
	return 0;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	if(newstate == 2)
	{
		new car = GetPlayerVehicleID(playerid);
		if(vLock[car] == 1)
		{
		    SendClientMessage(playerid,COLOR_WHITE,"* [Vehicle Lock] Lock sounded! Vehicle unstartable.");
			RemovePlayerFromVehicle(playerid);
			return 1;
		}
		pInfo[playerid][LastCar] = car;
	}
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	if(GetPlayerMenu(playerid) == Help)
	{
		switch(row)
		{
  			case 1:
  			{
			  	SendClientMessage(playerid,COLOR_GREY,"* Grand Theft Auto Injection [About]");
			  	SendClientMessage(playerid,COLOR_GREY,"* This current gamemode has been developed by Pixels^ for SA:MP. Type '!' for OOC chat.");
			  	SendClientMessage(playerid,COLOR_GREY,"* You may find the version number by typing /help. Any other help needed: /help");
			}
			case 2:
			{
				SendClientMessage(playerid,COLOR_GREY,"* Grand Theft Auto Injection [Commands]");
			  	SendClientMessage(playerid,COLOR_GREY,"* || /help | /bank [Type] | /register [password] | /login [password] | /me [action] ||");
			  	SendClientMessage(playerid,COLOR_GREY,"* || /lock | /unlock | /buy | /transfer [playerid] ||");
			}
			case 3:
			{
			 	SendClientMessage(playerid,COLOR_GREY,"* Grand Theft Auto Injection [Version]");
			  	SendClientMessage(playerid,COLOR_GREY,"* Current script version: 0.0.1 Beta");
			}
		}
	  	HideMenuForPlayer(Help, playerid);
 	}
	if(Settings[prints] == 1)
	{
	    GetPlayerName(playerid, gName, 24);
		printf("%s selected menu row [%d]",gName, row);
		gName = " ";
	}
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	if(Settings[prints] == 1)
	{
	    GetPlayerName(playerid, gName, 24);
		printf("%s exited a menu",gName);
		gName = " ";
	}
	return 1;
}

dcmd_help(playerid, params[])
{
	#pragma unused params
	if(Settings[prints] == 1)
	{
		GetPlayerName(playerid,gName,24);
		printf("%s used command [Help]",gName);
	}
	ShowMenuForPlayer(Help, playerid);
	return 1;
}

dcmd_login(playerid,params[])
{
	new pParam[255], player[24], string[76], Float:HP;
	GetPlayerName(playerid,player,24);
	if(!strlen(params)) return SendClientMessage(playerid,COLOR_GREY,"* [Sintax] /login [password]");
	if(strlen(params) >= 45) return SendClientMessage(playerid,COLOR_GREY,"* Error: registered passwords do not go that long, must be between 1-45");
	if(!dini_Exists(udb_encode(player))) return SendClientMessage(playerid,COLOR_GREY,"* Error: You are not registered");
	if(pInfo[playerid][logged] == 1) return SendClientMessage(playerid,COLOR_GREY,"* Error: You are already logged");
	if(strval(params) != strval(dini_Get(udb_encode(player),"password"))) return SendClientMessage(playerid,COLOR_GREY,"* Error: Passwords do not match, try again");
	pParam = dini_Get(udb_encode(player),"money");
	GivePlayerMoneyEx(playerid,-GetPlayerMoneyEx(playerid));
	GivePlayerMoneyEx(playerid,strval(pParam));
	pParam = dini_Get(udb_encode(player),"hp");
	HP = strval(pParam);
	SetPlayerHealth(playerid, HP);
	format(string,sizeof(string),"* [Login] Logged in successfully.");
	SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
	return 1;
}

dcmd_register(playerid,params[])
{
	new player[24], string[76];
	GetPlayerName(playerid,player,24);
	if(!strlen(params)) return SendClientMessage(playerid,COLOR_GREY,"* [Sintax] /register [password]");
	if(strlen(params) >= 45) return SendClientMessage(playerid,COLOR_GREY,"* Error: Password is too long, must be between 1-45");
	if(dini_Exists(udb_encode(player))) return SendClientMessage(playerid,COLOR_GREY,"* Error: You are already registered");
	dini_Create(udb_encode(player));
	dini_IntSet(udb_encode(player),"password",udb_hash(params));
	dini_IntSet(udb_encode(player), "money", GetPlayerMoneyEx(playerid));
	format(string,sizeof(string),"* [Register] Successfully registered",player,GetPlayerMoneyEx(playerid));
	SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
	pInfo[playerid][logged] = 1;
	return 1;
}

dcmd_me(playerid,params[]) {
	new player[24], string[76];
	GetPlayerName(playerid,player,24);
	if(strlen(params) <= 2) return SendClientMessage(playerid,COLOR_GREY,"* [Sintax] /me [action]");
	format(string,sizeof(string),"* %s %s",player,params[0]);
	for(new i=0; i<MAX_PLAYERS; i++) if(GetDistanceBetweenPlayers(i,playerid) < 30)
	SendClientMessage(i,COLOR_LIGHTBLUE,string);
	return 1;
}

dcmd_bank(playerid, params[])
{
	new player1[24], Moneys = GetPlayerMoneyEx(playerid), pincode, string[128], idx,param[255];
	GetPlayerName(playerid,player1,24);
	if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "* [Sintax] /Bank [Type] | Types: Deposit, Withdraw, Create, Balance");
	if(strcmp(params, "Deposit", true) == 0)
	{
		param = strtok(params, idx);
		if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "* [Sintax] /Bank [Deposit] [Pincode] [Amount]");
 		pincode = strval(params);
   		param = strtok(params, idx);
		if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "* [Sintax] /Bank [Deposit] [Pincode] [Amount]");
	    new amount1 = strval(params);
	    param = dini_Get(udb_encode(player1),"Pincode");
	    if(pincode == strval(params))
	    {
   		    if(Moneys > amount1)
   		    {
          		pInfo[playerid][bank]+=amount1;
				GivePlayerMoneyEx(playerid, 0-amount1);
				format(string,sizeof(string),"Bank Account: %d, Balance: $%d, Owner: %s, Deposited: $%d",udb_hash(params),pInfo[playerid][bank],player1,amount1);
				SendClientMessage(playerid,COLOR_YELLOW,string);
			}
			else SendClientMessage(playerid,COLOR_YELLOW,"You can't deposit more money then you have");
		}
		else SendClientMessage(playerid,COLOR_YELLOW,"Wrong pincode, please try again");
	}
    if(strcmp(params, "Withdraw", true) == 0)
    {
    	param = strtok(params, idx);
		if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "* [Sintax] /Bank [Withdraw] [Pincode] [Amount]");
	    pincode = strval(params);
	    param = strtok(params, idx);
	  	if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "* [Sintax] /Bank [Withdraw] [Pincode] [Amount]");
	    new amount1 = strval(params);
	    param = dini_Get(udb_encode(player1),"Pincode");
	   	if(pincode == strval(params))
	    {
	        if(pInfo[playerid][bank] > amount1)
	        {
	            pInfo[playerid][bank] -= amount1;
	            GivePlayerMoneyEx(playerid, 0-amount1);
				format(string,sizeof(string),"Bank Account: %d, Balance: $%d, Owner: %s, Withdrawn: $%d",udb_hash(params),pInfo[playerid][bank],player1,amount1);
			    SendClientMessage(playerid,COLOR_YELLOW,string);
			}
			else SendClientMessage(playerid,COLOR_YELLOW,"You can't withdraw more money than the bank has");
		}
		else SendClientMessage(playerid,COLOR_YELLOW,"Wrong pincode, please try again");
	}
	if(strcmp(params, "Balance", true) == 0)
	{
		param = strtok(params, idx);
	  	if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "* [Sintax] /Bank [Balance] [Pincode]");
	    pincode = strval(params);
	   	param = dini_Get(udb_encode(player1),"Pincode");
	 	if(pincode == strval(params))
	   	{
			format(string,sizeof(string),"Bank Account: %d, Balance: $%d, Owner: %s",udb_hash(params),pInfo[playerid][bank],player1);
			SendClientMessage(playerid,COLOR_YELLOW,string);
		}
		else SendClientMessage(playerid,COLOR_RED,"Wrong pincode, please try again");
	}
	if(strcmp(params, "Create", true) == 0)
	{
		param = strtok(params, idx);
  		if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "* [Sintax] /Bank [Create] [Pincode]");
		pincode = strval(params);
		param = strtok(params, idx);
  		if(!strlen(params))
  		{
  			SendClientMessage(playerid, COLOR_WHITE, "* [Sintax] /Bank [Create] [Pincode]");
			return 1;
    	}
	    format(string,sizeof(string),"Bank Created: Account Number: %d, Balance: $%d, Owner: %s",udb_hash(params),pInfo[playerid][bank],player1);
	    SendClientMessage(playerid,COLOR_YELLOW,string);
		if(dini_Exists(udb_encode(player1))) dini_IntSet(udb_encode(player1),"Pincode",udb_hash(params));
		else SendClientMessage(playerid,COLOR_RED,"You need to /register before you can make an account");
	}
	return 1;
}

dcmd_buy(playerid, params[])
{
	new player[24];
	new string[256];
	new vehicle = GetPlayerVehicleID(playerid);
	format(string,sizeof(string),"%s %d",player,lp[playerid]);
	GetPlayerName(playerid,player,24);
	new tmp[255];
	tmp = dini_Get(vehiclefile,player);
	if(strlen(params) <= 0) return SendClientMessage(playerid,COLOR_GREY,"* [Sintax] /buy [new-keycode]");
	if(tp[vehicle] == 1) return SendClientMessage(playerid,COLOR_RED,"* Error: Vehicle not buyable as set by script");
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && strval(string) != strval(tmp))
	{
		if(dini_Exists(udb_encode(player)))
		{
		    if(VehiclePrice(vehicle) >= GetPlayerMoneyEx(playerid)) return SendClientMessage(playerid,COLOR_RED,"* [Vehicle Dealer] Error: Not enough money to buy vehicle");
		    lp[playerid] = udb_hash(player);
		    GivePlayerMoney(playerid,-VehiclePrice(vehicle));
		    format(string,sizeof(string),"%s %d %d",player,lp[playerid],params[0]);
			dini_IntSet(vehiclefile,player,strval(string));
			dini_IntSet(udb_encode(player),"vehicle",GetPlayerVehicleID(playerid));
			SetVehicleParamsForPlayer(vehicle,playerid,0,0);
			format(string,sizeof(string),"* [Vehicle Dealer] Success: Vehicle Bought, License Plate: %d",lp[playerid]);
			SendClientMessage(playerid,COLOR_GREEN,string);
			SetVehicleParamsForPlayer(vehicle,playerid,0,0);
		}
		else SendClientMessage(playerid,COLOR_RED,"* Error: Please /register before you can buy a vehicle");
	}
	else if(GetPlayerState(playerid) == 2) return SendClientMessage(playerid,COLOR_RED,"* [Vehicle Dealer] Error: Need to be in vehicle to buy it");
	else if(strval(string) == strval(tmp)) return SendClientMessage(playerid,COLOR_RED,"* [Vehicle Dealer] Error: You already own this car");
	return 1;
}

dcmd_transfer(playerid, params[])
{
	new player;
	new player1[24];
	new player2[24];
	new tmp[255];
	new string[256];
	new vehicle = GetPlayerVehicleID(playerid);
	format(string,sizeof(string),"%s %d",player,lp[playerid]);
	GetPlayerName(playerid,player1,24);
	GetPlayerName(player,player2,24);
	tmp = dini_Get(vehiclefile,player1);
	if(!strlen(params)) return SendClientMessage(playerid,0xFF0000AA,"* [Sintax] /Transfer [playerid]");
	player = strval(params);
	GetPlayerName(player,player2,24);
	if(tp[vehicle] == 1) return SendClientMessage(playerid,COLOR_RED,"* [Vehicle Dealer] Error: Vehicle not transferable as set by script");
	if(strval(string) == strval(tmp))
	{
	    if(IsPlayerConnected(player))
		{
			dini_Unset(vehiclefile,string);
			format(string,sizeof(string),"%s %d",player,lp[playerid]);
			dini_IntSet(vehiclefile,player2,strval(string));
			dini_IntSet(udb_encode(player2),"vehicle",GetPlayerVehicleID(playerid));
			format(string,sizeof(string),"* Success: Vehicle keys transfered to %s",player2);
			SendClientMessage(playerid,COLOR_GREEN,string);
			format(string,sizeof(string),"* Vehicle: %s transfered his vehicle keys to you",player1);
			SendClientMessage(player,COLOR_GREEN,string);
			lp[playerid] = 0;
			lp[strval(params)] = udb_hash(player2);
		}
		else SendClientMessage(player,COLOR_RED,"* [Vehicle Dealer] Error: Player not connected");
	}
	else SendClientMessage(player,COLOR_RED,"* [Vehicle Dealer] Error: You don't own any car");
	return 1;
}

dcmd_restrict(playerid, params[])
{
	new string[76];
	new vehicle;
	vehicle = GetPlayerVehicleID(playerid);
	if(IsPlayerAdmin(playerid))
	{
		if(!strlen(params))
		{
		    tp[vehicle] = 1;
		    return SendClientMessage(playerid,COLOR_GREEN,"* Success: Vehicle Restricted");
		}
		tp[strval(params)] = 1;
		format(string,sizeof(string),"* [AdminLock] Success: VehicleID (%d) restricted",strval(params));
		SendClientMessage(playerid,COLOR_GREEN,string);
 	}
	else return SendClientMessage(playerid,COLOR_RED,"* [AdminLock] Error: Your not an admin");
	return 1;
}

dcmd_lock(playerid, params[])
{
	#pragma unused params
    new car = GetPlayerVehicleID(playerid);
	if(pInfo[playerid][LastCar] != 0)
	{
	    vLock[car] = 1;
		GameTextForPlayer(playerid,"~w~Vehicle ~g~locked",1000,6);
	}
	else if(pInfo[playerid][LastCar] == 0) SendClientMessage(playerid,COLOR_RED, "* [Vehicle Lock] Must have been in a car to use this.");
	else if(pInfo[playerid][LastCar] != GetClosestCar(playerid)) SendClientMessage(playerid,COLOR_RED, "* [Vehicle Lock] Must be near the car to lock it..");
	return 1;
}

dcmd_unlock(playerid, params[])
{
	#pragma unused params
    new car = GetPlayerVehicleID(playerid);
	if(pInfo[playerid][LastCar] != 0)
	{
	    vLock[car] = 0;
		GameTextForPlayer(playerid,"~w~Vehicle ~g~locked",1000,6);
	}
	else if(pInfo[playerid][LastCar] == 0) SendClientMessage(playerid,COLOR_RED, "* [Vehicle Lock] Must have been in a car to use this.");
	else if(pInfo[playerid][LastCar] != GetClosestCar(playerid)) SendClientMessage(playerid,COLOR_RED, "* [Vehicle Lock] Must be near the car to unlock it..");
	return 1;
}

public Anticheat()
{
	for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
	{
		new Float:hp,name[24];
		GetPlayerName(i,name,24);
	    if(GetPlayerMoney(i) >= (pInfo[i][moneyEx] + 1))
	    {
	        if(Settings[AutoAdmin] == 1) KickEx(i,"1", "Money");
	        else
	        {
				if(pInfo[i][report] != 1)
				{
					if(Settings[prints] == 1) printf("[iAnticheat] %s reported by iAnticheat for [Health]",name);
					pInfo[i][report] = 1;
				}
	        }
	    }
	    GetPlayerHealth(i, hp);
		if(hp == 100)
		{
		    SetPlayerHealth(i, 99);
		    if(hp != 100) SetPlayerHealth(i,100);
			else
			{
			    if(Settings[AutoAdmin] == 1) KickEx(i,"1","Health");
		    }
		}
	}
	return 1;
}

stock KickEx(playerid, param[], param2[])
{
	if(strcmp(param, "1", true) == 0)
	{
	    new string[80], player[24];
	    GetPlayerName(playerid,player,24);
		format(string,sizeof(string),"* [iAnticheat] %s kicked by iAnticheat for [%s]",player,param2);
		SendClientMessageToAll(COLOR_RED,string);
		Kick(playerid);
	}
	else
	{
	    new string[80], player[24];
	    GetPlayerName(playerid,player,24);
		format(string,sizeof(string),"* [iAnticheat] %s kicked by %s for [%s]",player,param,param2);
		SendClientMessageToAll(COLOR_RED,string);
		Kick(playerid);
	}
	if(Settings[prints] == 1)
	{
	    GetPlayerName(playerid, gName, 24);
		if(strcmp(param, "1", true) == 0) printf("[iAnticheat] %s kicked by iAnticheat for [%s]",gName,param2);
		else printf("[iAnticheat] %s kicked by %s for [%s]",gName,param,param2);
		gName = " ";
	}
	return 1;
}

public vLockCheck()
{
	for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
	{
	    new car = GetClosestCar(i);
	    if(car != -1)
	    {
	        if(vLock[car] == 1)
	        {
				TextDrawDestroy(Lock);
				Lock = TextDrawCreate(250.0, 400.0, "Vehicle has active lock");
				TextDrawFont(Lock,3);
				TextDrawColor(Lock, 0xFF0000AA);
				TextDrawLetterSize(Lock, 1, 1.50);
				TextDrawTextSize(Lock, 40.0, 36.0);
				TextDrawSetOutline(Lock,1);
				TextDrawShowForPlayer(i,Lock);
				return 1;
			}
	    }
	}
	return 1;
}

stock VehiclePrice(vehicleid)
{
	if(vehicleid >= 6 && vehicleid <= 30) return 23000;
	if(vehicleid >= 30 && vehicleid <= 60) return 27000;
	if(vehicleid >= 60 && vehicleid <= 80) return 18000;
	if(vehicleid >= 80 && vehicleid <= 120) return 25300;
	if(vehicleid >= 120 && vehicleid <= 255) return 32000;
	return false;
}