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();
forward FuelDeplete();
forward Guages();
enum Set
{
prints,
anticheat,
AutoAdmin
}
enum SavePlayerPosEnum
{
Float:x1,
Float:y1,
Float:z1
}
enum Info
{
logged,
bank,
money,
moneyEx,
report,
LastCar,
Speed
}
new SavePlayerPos[MAX_PLAYERS][SavePlayerPosEnum];
new pInfo[MAX_PLAYERS][Info];
new Settings[Set];
new gName[24];
new Menu:Help;
new vFuel[254];
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:x11,Float:y11,Float:z11,Float:x2,Float:y2,Float:z2;
GetPlayerPos(p1,x11,y11,z11);
GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x11)),2)+floatpower(floatabs(floatsub(y2,y11)),2)+floatpower(floatabs(floatsub(z2,z11)),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", 1000, 1);
SetTimer("Guages",900,1);
SetTimer("FuelDeplete",15000,1);
Help = CreateMenu("Help Topic",3,125,1250,300);
AddMenuItem(Help, 1, "About");
AddMenuItem(Help, 2, "Commands");
AddMenuItem(Help, 3, "Version");
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);
AddStaticVehicle(401,-2118.9319,194.8274,35.7567,2.7513,-1,-1);
AddStaticVehicle(401,-2036.5212,305.6321,35.9090,359.8144,-1,-1);
AddStaticVehicle(413,-2087.8369,255.6416,37.0341,357.9168,-1,-1);
AddStaticVehicle(457,-2652.9031,-297.2605,8.0617,315.6009,-1,-1);
AddStaticVehicle(457,-2659.7441,-289.6562,8.0920,313.6239,-1,-1);
AddStaticVehicle(457,-2642.9949,-301.7552,8.0090,47.6567,-1,-1);
AddStaticVehicle(421,-2681.7434,-276.2391,8.0605,44.2241,-1,-1);
AddStaticVehicle(575,-2618.9480,1376.7870,7.7322,181.1998,-1,-1);
AddStaticVehicle(411,-2645.5964,1376.7522,7.8935,267.8349,-1,-1);
AddStaticVehicle(409,-2628.6924,1377.4845,7.9350,180.7913,-1,-1);
AddStaticVehicle(409,-2633.1638,1332.7010,7.9953,269.6430,-1,-1);
AddStaticVehicle(405,-2126.2573,650.7344,53.2421,88.8335,-1,-1);
AddStaticVehicle(405,-2125.8604,658.0598,53.3040,92.1547,-1,-1);
AddStaticVehicle(445,-2158.0305,657.3961,53.2440,272.5298,-1,-1);
AddStaticVehicle(522,-2151.1257,629.7889,52.8293,180.7068,-1,-1);
AddStaticVehicle(484,-1476.5386,700.1740,1.1248,355.3123,-1,-1);
AddStaticVehicle(446,-1571.3143,1263.2914,1.2879,269.1020,-1,-1);
AddStaticVehicle(446,-1720.0265,1436.3821,1.4272,3.3108,-1,-1);
AddStaticVehicle(445,-2156.6838,942.3219,80.8784,269.6746,-1,-1);
AddStaticVehicle(480,-2223.2629,1083.2794,80.7819,359.6700,-1,-1);
AddStaticVehicle(444,-2517.2996,1229.3512,38.7999,209.3221,-1,-1);
AddStaticVehicle(522,-1654.1005,1211.9901,14.2380,315.9562,-1,-1);
AddStaticVehicle(415,-1660.4161,1213.3704,8.0209,295.4768,-1,-1);
AddStaticVehicle(415,-1553.3494,1089.8568,7.9584,89.1789,-1,-1);
AddStaticVehicle(420,-1497.4607,845.8477,7.9671,88.5197,-1,-1);
AddStaticVehicle(421,-1699.4597,1035.9624,46.0932,91.6588,-1,-1);
AddStaticVehicle(559,-1786.6871,1206.5266,25.7813,178.8742,-1,-1);
AddStaticVehicle(559,-1703.9169,1339.6957,7.8358,133.6003,-1,-1);
AddStaticVehicle(539,-1835.1257,1425.9342,1.5476,184.1130,-1,-1);
AddStaticVehicle(539,-2441.2109,1414.1995,1.4429,86.1079,-1,-1);
AddStaticVehicle(547,-2438.0117,1340.9783,8.7316,86.7979,-1,-1);
AddStaticVehicle(411,-2166.5498,1251.0760,28.2782,1.6030,-1,-1);
AddStaticVehicle(411,-2636.3838,932.3286,72.5378,187.1212,-1,-1);
AddStaticVehicle(461,-2566.5906,989.6594,78.8568,358.1472,-1,-1);
AddStaticVehicle(461,-2464.8860,896.7036,63.6223,0.6326,-1,-1);
AddStaticVehicle(542,-2273.8679,921.3689,67.3102,359.9958,-1,-1);
AddStaticVehicle(400,-2459.9055,786.4501,36.2643,89.8722,-1,-1);
AddStaticVehicle(400,-2673.5830,802.1517,51.0693,0.3607,-1,-1);
AddStaticVehicle(539,-2952.4602,495.9247,1.9517,0.4375,-1,-1);
AddStaticVehicle(446,-2970.6746,497.2838,1.3557,4.0073,-1,1);
AddStaticVehicle(444,-2902.7820,342.5712,6.3723,138.7612,-1,-1);
AddStaticVehicle(444,-2876.3977,26.3173,7.2123,118.5961,-1,-1);
AddStaticVehicle(470,-1382.4279,455.8060,7.1838,359.9849,-1,-1);
AddStaticVehicle(470,-1439.3396,455.1034,7.1739,0.1531,-1,-1);
AddStaticVehicle(542,-1465.0304,455.6730,7.9280,358.9676,-1,-1);
AddStaticVehicle(571,-1677.1865,438.8195,7.4635,227.1910,-1,-1);
AddStaticVehicle(476,-1433.3817,-504.8247,15.8794,158.2625,-1,-1);
AddStaticVehicle(476,-1464.6495,-522.4009,15.8899,234.2019,-1,-1);
AddStaticVehicle(593,-1354.2429,-467.9689,15.6386,162.9646,-1,-1);
AddStaticVehicle(593,-1387.8518,-484.0513,15.6341,247.9289,-1,-1);
AddStaticVehicle(487,-1162.1279,-460.9374,15.3257,53.8622,-1,-1);
AddStaticVehicle(553,-1317.8910,-260.4665,16.4827,288.2876,-1,-1);
AddStaticVehicle(553,-1362.9397,-183.5522,16.4848,308.6994,-1,-1);
AddStaticVehicle(447,-1187.9520,26.1456,15.1604,45.3312,-1,-1);
AddStaticVehicle(447,-1222.7996,-10.4235,15.1594,45.5780,-1,-1);
AddStaticVehicle(475,-1872.5575,-820.7949,32.8273,90.7921,-1,-1);
AddStaticVehicle(444,-1898.3019,-915.5814,33.3947,91.2857,-1,-1);
AddStaticVehicle(496,-2124.4800,-929.0856,32.7397,269.1853,-1,-1);
AddStaticVehicle(496,-2133.3015,-847.1439,32.7396,88.8312,-1,-1);
AddStaticVehicle(516,-2134.1038,-775.5048,32.8568,91.5838,-1,-1);
AddStaticVehicle(516,-2134.1428,-453.9576,36.1699,95.0875,-1,-1);
AddStaticVehicle(541,-2035.6851,170.2529,29.4610,268.9087,-1,-1);
AddStaticVehicle(500,-2219.7209,-83.2318,36.4367,2.0481,-1,-1);
AddStaticVehicle(541,-2018.4379,-98.9675,35.7890,358.5420,-1,-1);
AddStaticVehicle(541,-2352.0959,-126.8848,35.9374,179.5324,-1,-1);
AddStaticVehicle(405,-2180.1277,41.8536,36.1953,269.9865,-1,-1);
AddStaticVehicle(522,-2269.4526,69.5823,35.7279,89.6104,-1,-1);
AddStaticVehicle(522,-2266.0090,145.0206,35.7322,92.0045,-1,-1);
AddStaticVehicle(475,-2129.2864,787.6249,70.3666,87.1679,-1,-1);
AddStaticVehicle(475,-2424.9958,740.8871,35.8205,177.6701,-1,-1);
AddStaticVehicle(400,-2684.7639,636.4294,14.5454,179.2696,-1,-1);
AddStaticVehicle(496,-2545.7666,627.5895,15.1684,89.1952,-1,-1);
AddStaticVehicle(496,-2428.7107,514.7900,30.6451,207.9893,-1,-1);
AddStaticVehicle(429,-2498.4822,357.5526,35.7969,58.0823,-1,-1);
AddStaticVehicle(429,-2664.9673,268.9968,5.0156,357.6026,-1,-1);
AddStaticVehicle(420,-2626.5276,-53.6779,5.1144,357.7703,-1,-1);
AddStaticVehicle(434,-2718.5354,-124.4790,5.3071,269.1429,-1,-1);
AddStaticVehicle(434,-2487.5295,-125.3075,26.5715,90.9363,-1,-1);
AddStaticVehicle(400,-2486.0298,51.5018,27.7954,177.2178,-1,-1);
AddStaticVehicle(400,-2574.9736,146.5981,5.4279,1.8790,-1,-1);
AddStaticVehicle(559,-2800.0251,205.2155,7.8399,92.2606,-1,-1);
AddStaticVehicle(549,-1741.0009,811.0599,25.5879,270.6703,-1,-1);
AddStaticVehicle(549,-1920.7559,875.2713,36.1113,270.0973,-1,-1);
AddStaticVehicle(500,-2040.4465,1107.7076,54.4032,89.8491,-1,-1);
AddStaticVehicle(500,-1968.8488,465.6065,36.2766,89.3124,-1,-1);
AddStaticVehicle(401,-1938.2876,584.4863,35.9137,1.1244,-1,-1);
AddStaticVehicle(401,-1825.2035,-0.4858,15.8965,270.0104,-1,-1);
AddStaticVehicle(579,-1820.0182,-175.9391,10.3323,87.9147,-1,-1);
AddStaticVehicle(429,-1687.9076,1003.5587,18.2656,91.3972,-1,-1);
AddStaticVehicle(439,-1704.8613,1058.0004,18.4810,182.3475,-1,-1);
AddStaticVehicle(579,-1702.2262,1028.7677,18.5187,270.2923,-1,-1);
AddStaticVehicle(480,-1735.9534,1016.0621,18.3580,268.5771,-1,-1);
AddStaticVehicle(400,-2782.3508,442.1533,5.5383,57.1401,-1,-1);
AddStaticVehicle(400,-2836.3665,865.6495,44.1470,268.7662,-1,-1);
AddStaticVehicle(415,-2899.3823,1112.4786,27.3954,268.9744,-1,-1);
AddStaticVehicle(516,-2654.5662,615.2198,15.2873,0.1598,-1,-1);
AddStaticVehicle(416,-2618.7363,627.2617,15.6024,179.6464,-1,-1);
AddStaticVehicle(401,-1968.8031,-400.9335,35.1227,88.2282,-1,-1);
AddStaticVehicle(516,-1904.3373,-599.6174,24.4277,344.2378,-1,-1);
AddStaticVehicle(475,-1639.3912,-567.4948,13.9482,80.1914,-1,-1);
AddStaticVehicle(475,-1405.5500,-309.2615,13.9504,174.9827,-1,-1);
AddStaticVehicle(475,-2132.1143,160.2086,35.1341,270.0023,-1,-1);
AddStaticVehicle(500,-2151.4924,428.9210,35.1902,176.6156,-1,-1);
AddStaticVehicle(500,-2304.8279,360.0154,35.2835,201.6184,-1,-1);
AddStaticVehicle(522,-1696.7413,977.0867,17.1574,7.0263,-1,-1);
AddStaticVehicle(429,-2641.7395,1333.0645,6.8700,356.7557,-1,-1);
AddStaticVehicle(457,-2650.6292,-280.5106,7.0874,132.0127,-1,-1);
AddStaticVehicle(421,-1409.6693,456.0711,7.0672,3.2988,-1,-1);
AddStaticVehicle(487,-1681.5756,706.4234,30.7777,266.5047,-1,-1);
AddStaticVehicle(603,-2617.2964,1349.0765,7.0217,358.1852,-1,-1);
AddStaticVehicle(475,-2129.8242,288.0418,34.9864,269.9582,-1,-1);
AddStaticVehicle(475,-2664.0950,-259.9579,6.5482,74.4868,-1,-1);
AddStaticVehicle(597,-1628.6875,652.5107,6.9568,0.9097,-1,-1);
AddStaticVehicle(597,-1616.7957,652.5980,6.9551,0.6199,-1,-1);
AddStaticVehicle(597,-1594.2644,672.5858,6.9564,176.7420,-1,-1);
AddStaticVehicle(597,-1593.5823,652.3891,6.9567,1.3142,0,1);
AddStaticVehicle(597,-1611.9730,673.5499,6.9567,181.6088,0,1);
for(new v=0; v<400; v++)
{
vLock[v] = 0;
vFuel[v] = 100;
}
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerInterior(playerid,14);
SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
SetPlayerFacingAngle(playerid, 90.0);
SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234);
SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
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,Float:x,Float:y,Float:z;
GetPlayerName(playerid,name,24);
GetPlayerPos(playerid,x,y,z);
GetPlayerHealth(playerid,HP);
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);
if(HP != 0 && pInfo[playerid][logged] == 1)
{
dini_FloatSet(udb_encode(name),"hp",HP);
dini_IntSet(udb_encode(name),"money",GetPlayerMoneyEx(playerid));
}
if(z < 1000 && pInfo[playerid][logged] == 1)
{
dini_FloatSet(udb_encode(name),"x",x);
dini_FloatSet(udb_encode(name),"y",y);
dini_FloatSet(udb_encode(name),"z",z);
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Settings[prints] == 1)
{
GetPlayerName(playerid, gName, 24);
printf("%s has just [Spawned]",gName);
gName = " ";
}
SetPlayerInterior(playerid,0);
new player[24],string[128];
GetPlayerName(playerid, player, 24);
if(pInfo[playerid][logged] == 0)
{
format(string,sizeof(string),"* %s thinks: So this is the new life huh...",player);
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],Float:HP,Float:x,Float:y,Float:z;
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);
pParam = dini_Get(udb_encode(player),"x");
x = strval(pParam);
pParam = dini_Get(udb_encode(player),"y");
y = strval(pParam);
pParam = dini_Get(udb_encode(player),"z");
z = strval(pParam);
SetPlayerPos(playerid,x,y,z);
SetPlayerHealth(playerid, HP);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"* [Login] Logged in successfully.");
return 1;
}
dcmd_register(playerid,params[])
{
new player[24];
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));
SendClientMessage(playerid,COLOR_LIGHTBLUE,"* [Register] Successfully registered");
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],seconds,Float:x,Float:y,Float:z,oldmoney;
GetPlayerPos(i,x,y,z);
oldmoney = GetPlayerMoneyEx(i);
if(seconds >= 15)
{
pInfo[i][report] = 0;
seconds = 0;
}
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 [Money]",name);
Report(i, "Money");
pInfo[i][report] = 1;
}
}
}
GetPlayerHealth(i, hp);
if(hp == 100)
{
SetPlayerHealth(i, 99);
if(hp == 99) SetPlayerHealth(i,100);
else
{
if(Settings[AutoAdmin] == 1) KickEx(i,"1","Health");
if(pInfo[i][report] == 1) break;
Report(i, "Health");
pInfo[i][report] = 1;
}
}
if(hp >= 101)
{
if(Settings[AutoAdmin] == 1) KickEx(i,"1","Health");
if(pInfo[i][report] == 1) break;
Report(i, "Health");
pInfo[i][report] = 1;
}
if(pInfo[i][Speed] >= 60 && GetPlayerState(i) == 1 && z < 1000)
{
if(Settings[AutoAdmin] == 1) KickEx(i,"1","Foot Airbreak");
if(pInfo[i][report] == 1) break;
Report(i, "Foot Airbreak");
pInfo[i][report] = 1;
}
if(pInfo[i][Speed] >= 200 && GetPlayerState(i) == 2)
{
new v = GetPlayerVehicleID(i);
if(GetVehicleType(v) != 3)
{
if(Settings[AutoAdmin] == 1) KickEx(i,"1","Vehicle Speed");
if(pInfo[i][report] == 1) break;
Report(i, "Vehicle Speed");
pInfo[i][report] = 1;
}
if(z > 1000 && GetVehicleType(v) != 3)
{
if(Settings[AutoAdmin] == 1) KickEx(i,"1","Vehicle Flying");
if(pInfo[i][report] == 1) break;
Report(i, "Vehicle Flying");
pInfo[i][report] = 1;
}
}
if((GetPlayerMoneyEx(i) - oldmoney) > 100000)
{
if(Settings[AutoAdmin] == 1) KickEx(i,"1","Huge Money Increase");
if(pInfo[i][report] == 1) break;
Report(i, "Huge Money Increase");
pInfo[i][report] = 1;
}
seconds++;
}
return 1;
}
stock Report(playerid, param[])
{
for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) if(IsPlayerAdmin(i))
{
new string[70],player[24];
GetPlayerName(playerid,player,24);
format(string,sizeof(string),"* [iAnticheat] %s reported by iAnticheat for [%s]",player,param);
SendClientMessage(i,COLOR_PINK,string);
}
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;
}
public Guages()
{
for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
{
new Float:x,Float:y,Float:z,Float:distance,value,str[86],v;
GetPlayerPos(i,x,y,z);
distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][x1])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][y1])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][z1])),2));
value = floatround(distance * 5);
SavePlayerPos[i][x1] = x;
SavePlayerPos[i][y1] = y;
SavePlayerPos[i][z1] = z;
pInfo[i][Speed] = value;
if(GetPlayerState(i) == 2)
{
v = GetPlayerVehicleID(i);
if(vFuel[v] > 60 && vFuel[v] > 60) format(str,sizeof(str),"~n~~n~~n~~n~~n~~b~Vehicle Guages~n~~n~~w~Fuel:~g~ %d%% ~w~Speed: ~y~%d",vFuel[v],value);
if(vFuel[v] < 60 && vFuel[v] > 30) format(str,sizeof(str),"~n~~n~~n~~n~~n~~b~Vehicle Guages~n~~n~~w~Fuel:~g~ %d%% ~w~Speed: ~y~%d",vFuel[v],value);
if(vFuel[v] < 30) format(str,sizeof(str),"~n~~n~~n~~n~~n~~b~Vehicle Guages~n~~n~~w~Fuel:~g~ %d%% ~w~Speed: ~y~%d",vFuel[v],value);
GameTextForPlayer(i,str,1000,5);
}
}
}
public FuelDeplete()
{
for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
{
if(GetPlayerState(i) == 2)
{
new v = GetPlayerVehicleID(i);
if(vFuel[v] <= 0)
{
TogglePlayerControllable(i,0);
vFuel[v] = 0;
GameTextForPlayer(i,"~w~Fuel:0~n~~b~/exit",1000,1);
}
if(pInfo[i][Speed] > 100) vFuel[v]-=3;
if(pInfo[i][Speed] < 100 && pInfo[i][Speed] > 50) vFuel[v]-=2;
else vFuel[v]-=1;
}
}
}
stock GetVehicleType(vid)
{
new type;
switch(GetVehicleModel(vid)) {
case
598,
601: type = 5;
case
416, //ambulan - car
445, //admiral - car
602, //alpha - car
485, //baggage - car
568, //bandito - car
429, //banshee - car
499, //benson - car
424, //bfinject, //car
536, //blade - car
496, //blistac - car
504, //bloodra - car
422, //bobcat - car
609, //boxburg - car
498, //boxville, //car
401, //bravura - car
575, //broadway, //car
518, //buccanee, //car
402, //buffalo - car
541, //bullet - car
482, //burrito - car
431, //bus - car
438, //cabbie - car
457, //caddy - car
527, //cadrona - car
483, //camper - car
524, //cement - car
415, //cheetah - car
542, //clover - car
589, //club - car
480, //comet - car
596, //copcarla, //car
599, //copcarru, //car
597, //copcarsf, //car
578, //dft30 - car
486, //dozer - car
507, //elegant - car
562, //elegy - car
585, //emperor - car
427, //enforcer, //car
419, //esperant, //car
587, //euros - car
490, //fbiranch, //car
528, //fbitruck, //car
533, //feltzer - car
544, //firela - car
407, //firetruk, //car
565, //flash - car
455, //flatbed - car
530, //forklift, //car
526, //fortune - car
466, //glendale, //car
604, //glenshit, //car
492, //greenwoo, //car
474, //hermes - car
434, //hotknife, //car
502, //hotrina - car
503, //hotrinb - car
494, //hotring - car
579, //huntley - car
545, //hustler - car
411, //infernus, //car
546, //intruder, //car
559, //jester - car
508, //journey - car
571, //kart - car
400, //landstal, //car
403, //linerun - car
517, //majestic, //car
410, //manana - car
551, //merit - car
500, //mesa - car
418, //moonbeam, //car
572, //mower - car
423, //mrwhoop - car
516, //nebula - car
582, //newsvan - car
467, //oceanic - car
404, //peren - car
514, //petro - car
603, //phoenix - car
600, //picador - car
413, //pony - car
426, //premier - car
436, //previon - car
547, //primo - car
489, //rancher - car
441, //rcbandit, //car
594, //rccam - car
564, //rctiger - car
515, //rdtrain - car
479, //regina - car
534, //remingtn, //car
505, //rnchlure, //car
442, //romero - car
440, //rumpo - car
475, //sabre - car
543, //sadler - car
605, //sadlshit, //car
495, //sandking, //car
567, //savanna - car
428, //securica, //car
405, //sentinel, //car
535, //slamvan - car
458, //solair - car
580, //stafford, //car
439, //stallion, //car
561, //stratum - car
409, //stretch - car
560, //sultan - car
550, //sunrise - car
506, //supergt - car
574, //sweeper - car
566, //tahoma - car
549, //tampa - car
420, //taxi - car
459, //topfun - car
576, //tornado - car
583, //tug - car
451, //turismo - car
558, //uranus - car
552, //utility - car
540, //vincent - car
491, //virgo - car
412, //voodoo - car
478, //walton - car
421, //washing - car
529, //willard - car
555, //windsor - car
456, //yankee - car
554, //yosemite, //car
477 //zr3 50 - car
: type = 0;
case
581, //bf400 - bike
523, //copbike - bike
462, //faggio - bike
521, //fcr900 - bike
463, //freeway - bike
522, //nrg500 - bike
461, //pcj600 - bike
448, //pizzaboy, //bike
468, //sanchez - bike
586, //wayfarer, //bike
509, //bike - bmx
481, //bmx - bmx
510, //mtbike - bmx
471 //quad - quad
: type = 1;
case
472, //coastg - boat
473, //dinghy - boat
493, //jetmax - boat
595, //launch - boat
484, //marquis - boat
430, //predator, //boat
453, //reefer - boat
452, //speeder - boat
446, //squalo - boat
454 //tropic - boat
: type = 2;
case
548, //cargobob, //heli
425, //hunter - heli
417, //leviathn, //heli
487, //maverick, //heli
497, //polmav - heli
563, //raindanc, //heli
501, //rcgoblin, //heli
465, //rcraider, //heli
447, //seaspar - heli
469, //sparrow - heli
488, //vcnmav - heli
592, //androm - plane
577, //at 400 - plane
511, //beagle - plane
512, //cropdust, //plane
593, //dodo - plane
520, //hydra - plane
553, //nevada - plane
464, //rcbaron - plane
476, //rustler - plane
519, //shamal - plane
460, //skimmer - plane
513, //stunt - plane
539 //vortex - plane
: type = 3;
case
588, //hotdog - car
437, //coach - car
532, //combine - car
433, //barracks, //car
414, //mule - car
443, //packer - car
470, //patriot - car
432, //rhino - car
525, //towtruck, //car
531, //tractor - car
408, //trash - car
406, //dumper - mtruck
573, //duneride, //mtruck
444, //monster - mtruck
556, //monstera, //mtruck
557, //monsterb, //mtruck
435, //artict1 - trailer
450, //artict2 - trailer
591, //artict3 - trailer
606, //bagboxa - trailer
607, //bagboxb - trailer
610, //farmtr1 - trailer
584, //petrotr - trailer
608, //tugstair, //trailer
611, //utiltr1 - trailer
590, //freibox - train
569, //freiflat, //train
537, //freight - train
538, //streak - train
570, //streakc - train
449 //tram - train
: type = 4;
}
return type;
}