Advertisement
Guest User

Untitled

a guest
Sep 24th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 52.89 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <sscanf2>
  4. #include <dini>
  5. #include <streamer>
  6.  
  7. /*
  8. Red {AA3333}
  9. Blue {33CCFF}
  10. Green {33AA33}
  11. Orange {FF9900}
  12. Yellow {FFFF00}
  13. Pink {FFC0CB}
  14. Purple {7D26CD}
  15. Black {000000}
  16. White {FFFFFF}
  17. Grey {AFAFAF}
  18. */
  19.  
  20. //Defines
  21. #define grey 0xAFAFAFAA
  22. #define red 0xAA3333AA
  23. #define yellow 0xFFFF00AA
  24. #define pink 0xFF66FFAA//yup
  25. #define white 0xFFFFFFAA
  26. #define lightblue 0x33CCFFAA
  27. #define blue 0x33CCFFAA
  28. #define orange 0xFF9900AA
  29.  
  30. #define MAX_SERVER_PLAYERS 200
  31. #define MAX_VEHICLE_SPEED 300.0
  32. #define MAX_PLAYER_SPEED 200.0
  33.  
  34. #define PRESSED(%0) \
  35. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  36.  
  37. #define HOLDING(%0) \
  38. ((newkeys & (%0)) == (%0))
  39.  
  40. //Variables
  41. enum Player
  42. {
  43. Reg,
  44. Log,
  45. fTime,
  46. Level,
  47. Kills,
  48. Deaths,
  49. Money,
  50. Score,
  51. Jailed,
  52. Frozen,
  53. Muted,
  54. jTime,
  55. mTime,
  56. Banned,
  57. //
  58. OnDuty,
  59. dWeapon1,
  60. dWeapon2,
  61. dWeapon3,
  62. dWeapon4,
  63. ammo1,
  64. ammo2,
  65. ammo3,
  66. ammo4,
  67. pChicken,
  68. };
  69. new Info[MAX_PLAYERS][Player];
  70. new chicken;
  71. new aVeh[MAX_PLAYERS];
  72. new Text:in[MAX_PLAYERS];
  73. new fAttempt[MAX_PLAYERS];
  74. new ireconnect[MAX_PLAYERS];
  75. new pVeh[MAX_PLAYERS];
  76. new cName[24];
  77.  
  78. new aWeaponNames[][32] = {
  79. {"Unarmed (Fist)"}, {"Brass Knuckles"}, {"Golf Club"},
  80. {"Night Stick"}, {"Knife"}, {"Baseball Bat"}, {"Shovel"},
  81. {"Pool Cue"}, {"Katana"}, {"Chainsaw"}, {"Purple Dildo"},
  82. {"Big White Vibrator"}, {"Medium White Vibrator"}, {"Small White Vibrator"}, {"Flowers"},
  83. {"Cane"}, {"Grenade"}, {"Teargas"}, {"Molotov"},
  84. {" "}, {" "}, {" "}, {"Colt 45"},
  85. {"Colt 45 (Silenced)"}, {"Desert Eagle"}, {"Normal Shotgun"}, {"Sawnoff Shotgun"},
  86. {"Combat Shotgun"}, {"Micro Uzi (Mac 10)"}, {"MP5"}, {"AK47"},
  87. {"M4"}, {"Tec9"}, {"Country Rifle"}, {"Sniper Rifle"},
  88. {"Rocket Launcher"}, {"Heat-Seeking Rocket Launcher"}, {"Flamethrower"}, {"Minigun"},
  89. {"Satchel Charge"}, {"Detonator"}, {"Spray Can"}, {"Fire Extinguisher"}, {"Camera"},
  90. {"Night Vision Goggles"}, {"Infrared Vision Goggles"}, {"Parachute"}, {"Fake Pistol"}
  91. };
  92.  
  93. new VehicleNames[212][] =
  94. {
  95. {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},
  96. {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},
  97. {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},
  98. {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},
  99. {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},
  100. {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
  101. {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},
  102. {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
  103. {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
  104. {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},
  105. {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},
  106. {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},
  107. {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},
  108. {"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
  109. {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},
  110. {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},
  111. {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},
  112. {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},
  113. {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},
  114. {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},
  115. {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},
  116. {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
  117. {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
  118. {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},
  119. {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},
  120. {"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},
  121. {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"},
  122. {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},
  123. {"Utility Trailer"}
  124. };
  125.  
  126. //Forwards
  127. forward SaveData(playerid);
  128. forward UpdatePlayerData(playerid);
  129. forward MassChange(playerid);
  130. forward OnPlayerMoneyUpdate(playerid);
  131. forward BackP(playerid);
  132. forward OnPlayerCheat(playerid);
  133.  
  134. public OnFilterScriptInit()
  135. {
  136. print("\n_____________________________");
  137. print(" DeFi-Admin::willsuckformoney");
  138. print("_____________________________\n");
  139. //Timers
  140. SetTimer("MassChange",500,true);
  141. SetTimer("OnPlayerCheat",1000,true);
  142. for(new i = 0; i < MAX_PLAYERS; i++) { SetTimerEx("UpdatePlayerData",179000,true,"i",i); SetTimerEx("SaveData",180000,true,"i",i); }
  143. for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
  144. {
  145. in[playerid] = TextDrawCreate(50.000000, 429.000000, " ");
  146. TextDrawAlignment(in[playerid], 0);
  147. TextDrawBackgroundColor(in[playerid], 0xffffff33);
  148. TextDrawFont(in[playerid], 1);
  149. TextDrawLetterSize(in[playerid], 0.299999, 1.300000);
  150. TextDrawColor(in[playerid], 0x0000ff99);
  151. TextDrawSetOutline(in[playerid], 1);
  152. TextDrawSetProportional(in[playerid], 1);
  153. TextDrawSetShadow(in[playerid], 1);
  154. }
  155. return 1;
  156. }
  157.  
  158. public OnFilterScriptExit()
  159. {
  160. for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
  161. {
  162. TextDrawDestroy(in[playerid]);
  163. }
  164. return 1;
  165. }
  166.  
  167. public OnPlayerConnect(playerid)
  168. {
  169. fAttempt[playerid] = 0;
  170. new File[130], Name[24];
  171. GetPlayerName(playerid,Name,24);
  172. format(File,130,"DeFi/Players/%s.sav",Name);
  173. if(dini_Exists(File))
  174. {
  175. Info[playerid][Reg] = 1;
  176. SendClientMessage(playerid,white,"This Name Is {7D26CD}Registered{FFFFFF}, Please {7D26CD}Login");
  177. }
  178. SendClientMessage(playerid,white,"{AA3333}Welcome {FFFFFF}To The Server! Use {7D26CD}/aHelp {FFFFFF}If You Need Help");
  179. TextDrawShowForPlayer(playerid,in[playerid]);
  180. TextDrawSetString(in[playerid]," " );
  181. return 1;
  182. }
  183.  
  184. public OnPlayerDisconnect(playerid, reason)
  185. {
  186. new File[130], Name[24];
  187. GetPlayerName(playerid,Name,24);
  188. format(File,130,"DeFi/Players/%s.sav",Name);
  189. if(dini_Exists(File))
  190. {
  191. dini_IntSet(File,"Logged",0);
  192. dini_IntSet(File,"Deaths",Info[playerid][Deaths]);
  193. dini_IntSet(File,"Kills",Info[playerid][Kills]);
  194. dini_IntSet(File,"Frozen",Info[playerid][Frozen]);
  195. dini_IntSet(File,"Jailed",Info[playerid][Jailed]);
  196. dini_IntSet(File,"Muted",Info[playerid][Muted]);
  197. dini_IntSet(File,"Money",Info[playerid][Money]);
  198. dini_IntSet(File,"Score",Info[playerid][Score]);
  199. dini_IntSet(File,"Banned",Info[playerid][Banned]);
  200.  
  201. dini_IntSet(File,"Jail Time", Info[playerid][jTime]);
  202. dini_IntSet(File,"Muted Time", Info[playerid][mTime]);
  203. }
  204. Info[playerid][Log] = 0;
  205. if(ireconnect[playerid] == 1)
  206. {
  207. new unbanningip[16], string[128];
  208. GetPVarString(playerid, "reconnect", unbanningip, 16);
  209. format(string,sizeof(string),"unbanip %s", unbanningip);
  210. SendRconCommand(string);
  211. printf(string);
  212. SendRconCommand("reloadbans");
  213. ireconnect[playerid] = 0;
  214. }
  215. return 1;
  216. }
  217.  
  218. public OnPlayerSpawn(playerid)
  219. {
  220. if(Info[playerid][Reg] == 0)
  221. {
  222. SendClientMessage(playerid,white,"Its Your First Time! This Server Uses {33CCFF}DeFi-Admin {FFFFFF}by {33CCFF}Willsuckformoney");
  223. SendClientMessage(playerid,white,"Commands That Will Help You Are {7D26CD}/aHelp /aCmds {FFFFFF}and {7D26CD}/aStaff");
  224. Info[playerid][fTime] = 0;
  225. }
  226. return 1;
  227. }
  228.  
  229. public OnPlayerDeath(playerid, killerid, reason)
  230. {
  231. if(Info[playerid][pChicken] == 1)
  232. {
  233. new str[130];
  234. format(str,130,"Admin: The Admin Chicken Has Killed %s (%d)",cName,playerid);
  235. SendClientMessageToAll(pink,str);
  236. Info[playerid][pChicken] = 0;
  237. DestroyDynamicObject(chicken);
  238. }
  239. Info[killerid][Kills]++;
  240. Info[playerid][Deaths]++;
  241. TextDrawHideForPlayer(playerid,in[playerid]);
  242. return 1;
  243. }
  244.  
  245. public OnPlayerText(playerid, text[])
  246. {
  247. if(Info[playerid][Muted] == 1)
  248. {
  249. SendClientMessage(playerid,red,"You Are Muted From Chat! You Cannot Speak");
  250. return 0;
  251. }
  252. return 1;
  253. }
  254.  
  255. public OnPlayerStateChange(playerid, newstate, oldstate)
  256. {
  257. if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
  258. {
  259. for(new i; i < MAX_PLAYERS; i++)
  260. {
  261. if(GetPlayerVehicleID(playerid) == aVeh[i])
  262. {
  263. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  264. {
  265. SendClientMessage(playerid,lightblue,"Admin Vehicle: You Are Admin, You Can Drive This Vehicle");
  266. }
  267. else
  268. {
  269. SendClientMessage(playerid,lightblue,"Admin Vehicle: You Are Not An Admin, You Cannot Drive This Vehicle");
  270. RemovePlayerFromVehicle(playerid);
  271. }
  272. }
  273. }
  274. }
  275. return 1;
  276. }
  277.  
  278. public OnRconCommand(cmd[])
  279. {
  280. return 1;
  281. }
  282.  
  283. public OnRconLoginAttempt(ip[], password[], success)
  284. {
  285. if(!success)
  286. {
  287. printf("A Player has failed to rcon login using this IP %s and This Password : %s",ip, password);
  288. new pIP[16];
  289. for(new i=0; i<MAX_PLAYERS; i++)
  290. {
  291. fAttempt[i]++;
  292. if(fAttempt[i] == 3)
  293. {
  294. GetPlayerIp(i, pIP, sizeof(pIP));
  295. if(!strcmp(ip, pIP, true))
  296. {
  297. SendClientMessage(i, red, "Wrong Password. You Have Been Kicked For To Many Failed Password Attempts");
  298. Kick(i);
  299. }
  300. }
  301. }
  302. }
  303. return 1;
  304. }
  305.  
  306. public SaveData(playerid)
  307. {
  308. SaveStats(playerid);
  309. return 1;
  310. }
  311.  
  312. public UpdatePlayerData(playerid)
  313. {
  314. UpdateStats(playerid);
  315. return 1;
  316. }
  317.  
  318. public MassChange(playerid)
  319. {
  320. if(GetPlayerState(playerid) == PLAYER_STATE_SPAWNED)
  321. {
  322. TextDrawShowForPlayer(playerid,in[playerid]);
  323. new tStr[130], car, Float:Health, Float:Armour;
  324. car = GetVehicleModel(GetPlayerVehicleID(playerid));
  325. GetPlayerHealth(playerid,Health);
  326. GetPlayerArmour(playerid,Armour);
  327. format(tStr,130,"~w~Weapon: ~g~%s ~n~~w~Vehicle: ~g~%s ~n~~w~Money: ~g~$%d ~n~~w~Score: ~g~%d ~n~~w~Health: ~g~%f ~n~~w~Armoud: ~g~%f",aWeaponNames[47],VehicleNames[GetVehicleModel(car)-400],GetPlayerMoney(playerid),GetPlayerScore(playerid),Health,Armour);
  328. TextDrawSetString(in[playerid],tStr);
  329. }
  330. new pID;
  331. pID = GetPlayerIDFromName(cName);
  332. new Float:X,Float:Y,Float:Z;
  333. new Float:dX,Float:dY,Float:dZ;
  334. GetPlayerPos(pID,X,Y,Z);
  335. GetDynamicObjectPos(chicken,dX,dY,dZ);
  336. if(IsPlayerInRangeOfPoint(playerid,10,dX,dY,dZ))
  337. {
  338. if(IsPlayerInAnyVehicle(playerid))
  339. {
  340. SetVehicleHealth(GetPlayerVehicleID(playerid),random(100));
  341. }
  342. else if(!IsPlayerInAnyVehicle(playerid))
  343. {
  344. SetPlayerHealth(playerid,random(25));
  345. }
  346. }
  347. switch(random(2))
  348. {
  349. case 1: { MoveDynamicObject(chicken,X,Y,Z+2,100); }
  350. case 2: { MoveDynamicObject(chicken,X,Y,Z-2,100); }
  351. }
  352. return 1;
  353. }
  354.  
  355. public BackP(playerid)
  356. {
  357. SetCameraBehindPlayer(playerid);
  358. TogglePlayerControllable(playerid,true);
  359. return 1;
  360. }
  361.  
  362. forward UnMute(playerid);
  363. public UnMute(playerid)
  364. {
  365. if(Info[playerid][Muted] == 1)
  366. {
  367. Info[playerid][Muted] = 0;
  368. SendClientMessage(playerid,lightblue,"You Have Been Auto-Unmuted From Chat");
  369. }
  370. return 1;
  371. }
  372.  
  373. //Commands
  374. CMD:reg(playerid,params[])
  375. {
  376. if(Info[playerid][Reg] == 1) return SendClientMessage(playerid,red,"You Are Already Registered");
  377. if(Info[playerid][Log] == 1) return SendClientMessage(playerid,red,"You Are Already Logged In");
  378. new Name[24], pass[24], str[130], File[130];
  379. if(sscanf(params, "s[24]", pass)) return SendClientMessage(playerid,white,"/Reg [password]");
  380. if(strlen(params) < 3) return SendClientMessage(playerid,red,"You Need 3 or More Characters In Your Password");
  381. GetPlayerName(playerid,Name,24);
  382. format(File,130,"DeFi/Players/%s.sav",Name);
  383. if(!dini_Exists(File))
  384. {
  385. dini_Create(File);
  386. dini_Set(File,"Password",pass);
  387. dini_IntSet(File,"Registered",1);
  388. dini_IntSet(File,"Logged",1);
  389. dini_IntSet(File,"First Time",Info[playerid][fTime]);
  390. dini_IntSet(File,"Deaths",Info[playerid][Deaths]);
  391. dini_IntSet(File,"Kills",Info[playerid][Kills]);
  392. dini_IntSet(File,"Frozen",Info[playerid][Frozen]);
  393. dini_IntSet(File,"Jailed",Info[playerid][Jailed]);
  394. dini_IntSet(File,"Muted",Info[playerid][Muted]);
  395. dini_IntSet(File,"Money",Info[playerid][Money]);
  396. dini_IntSet(File,"Score",Info[playerid][Score]);
  397. dini_IntSet(File,"Banned",Info[playerid][Banned]);
  398. dini_Set(File,"IP",GetPlayerIP(playerid));
  399.  
  400. dini_IntSet(File,"Jail Time", Info[playerid][jTime]);
  401. dini_IntSet(File,"Muted Time", Info[playerid][mTime]);
  402.  
  403. format(str,130,"Account Created! Your Password Is {7D26CD}\"%s\"{FFFFFF}.",pass);
  404. SendClientMessage(playerid,white,str);
  405. Info[playerid][Reg] = 1;
  406. Info[playerid][Log] = 1;
  407. SendClientMessage(playerid,white,"You Were {7D26CD}Automatically {FFFFFF}Logged In");
  408. }
  409. return 1;
  410. }
  411.  
  412. CMD:login(playerid,params[])
  413. {
  414. if(Info[playerid][Reg] == 0) return SendClientMessage(playerid,red,"You Are Already Registered");
  415. if(Info[playerid][Log] == 1) return SendClientMessage(playerid,red,"You Are Already Logged In");
  416. new Name[24], pass[24], File[130];
  417. if(sscanf(params, "s[24]", pass)) return SendClientMessage(playerid,white,"/Login [password]");
  418. GetPlayerName(playerid,Name,24);
  419. format(File,130,"DeFi/Players/%s.sav",Name);
  420. if(dini_Exists(File))
  421. {
  422. if(strcmp(pass, dini_Get(File,"Password"), true) == 0)
  423. {
  424. Info[playerid][Log] = 1;
  425. Info[playerid][fTime] = dini_Int(File,"First Time");
  426. Info[playerid][Level] = dini_Int(File,"Level");
  427. Info[playerid][Kills] = dini_Int(File,"Kills");
  428. Info[playerid][Deaths] = dini_Int(File,"Deaths");
  429. Info[playerid][Jailed] = dini_Int(File,"Jailed");
  430. Info[playerid][Muted] = dini_Int(File,"Muted");
  431. Info[playerid][Frozen] = dini_Int(File,"Frozen");
  432. Info[playerid][Money] = dini_Int(File,"Money");
  433. Info[playerid][Score] = dini_Int(File,"Score");
  434. Info[playerid][Banned] = dini_Int(File,"Banned");
  435.  
  436. Info[playerid][jTime] = dini_Int(File,"Jailed Time");
  437. Info[playerid][mTime] = dini_Int(File,"Muted Time");
  438. SendClientMessage(playerid,white,"You Have Been {7D26CD}Logged In{FFFFFF}, Your {7D26CD}Stats {FFFFFF}Will {7D26CD}Save");
  439. }
  440. }
  441. return 1;
  442. }
  443.  
  444. CMD:car(playerid,params[])
  445. {
  446. new Vehid[24], car, str[130], Float:X,Float:Y,Float:Z,color1,color2,license[24];
  447. if(sscanf(params, "s[24]dds[24]", Vehid,color1,color2,license)) return SendClientMessage(playerid,white,"/Car [Vehicle ID/Name] [Color 1] [Color 2] [License]");
  448. if(!IsNumeric(Vehid))
  449. {
  450. car = GetVehicleModelIDFromName(Vehid);
  451. }
  452. else car = strval(Vehid);
  453. if(car < 400 || car > 611) return SendClientMessage(playerid, red, "Invalid Vehicle Model ID!");
  454.  
  455. GetPlayerPos(playerid,X,Y,Z);
  456. pVeh[playerid] = AddStaticVehicle(car,X,Y+2,Z,90,color1,color2);
  457. new Float:x,Float:y,Float:z,Float:ang;
  458. SetVehicleNumberPlate(pVeh[playerid], license);
  459. GetVehiclePos(pVeh[playerid],x,y,z);
  460. GetVehicleZAngle(pVeh[playerid],ang);
  461. SetVehicleToRespawn(pVeh[playerid]);
  462. SetVehiclePos(pVeh[playerid],x,y,z);
  463. SetVehicleZAngle(pVeh[playerid],ang);
  464. format(str,130,"{FFFFFF}Vehicle Model ID: %d {33CCFF}Vehicle Name: %s {FFC0CB}Colors: %d, %d {FFFFFF}License: %s",car,VehicleNames[car-400],color1,color2,license);
  465. SendClientMessage(playerid,white,str);
  466. return 1;
  467. }
  468.  
  469. //Level 1 Commands
  470. CMD:goto(playerid,params[])
  471. {
  472. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  473. {
  474. new aName[24], Name[24], id, str[130], Float:X,Float:Y,Float:Z;
  475. if(sscanf(params, "u", id)) return SendClientMessage(playerid,white,"/Goto [playerid/name]");
  476. if(IsPlayerConnected(id))
  477. {
  478. GetPlayerName(playerid,aName,24); GetPlayerName(id,Name,24);
  479. GetPlayerPos(id,X,Y,Z);
  480. SetPlayerPos(playerid,X,Y,Z);
  481. format(str,130,"You Have Teleported To {33CCFF}%s's (%d) {FFFFFF}Position",Name,id);
  482. SendClientMessage(playerid,white,str);
  483. format(str,130,"Admin {33CCFF}%s (%d) {FFFFFF}Has Teleported To Your Position",aName,playerid);
  484. SendClientMessage(id,white,str);
  485. } else return SendClientMessage(playerid,red,"Player Is Not Connected");
  486. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  487. return 1;
  488. }
  489.  
  490. CMD:gopos(playerid,params[])
  491. {
  492. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  493. {
  494. new Float:X,Float:Y,Float:Z, str[130];
  495. if(sscanf(params, "fff", X,Y,Z)) return SendClientMessage(playerid,white,"/Gopos [Coordinate X] [Coordinate Y] [Coordinate Z]");
  496. SetPlayerPos(playerid,X,Y,Z);
  497. format(str,130,"You Have {33CCFF}Teleported {FFFFFF}To The {33CCFF}Coordinates: {FFC0CB}%0.1f, %0.1f, %0.1f",X,Y,Z);
  498. SendClientMessage(playerid,white,str);
  499. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  500. return 1;
  501. }
  502.  
  503. CMD:getip(playerid,params[])
  504. {
  505. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  506. {
  507. new id, str[130], Name[24];
  508. if(sscanf(params, "u", id)) return SendClientMessage(playerid,white,"/GetIP [playerid/name]");
  509. if(IsPlayerConnected(id))
  510. {
  511. GetPlayerName(id,Name,24);
  512. format(str,130,"{33CCFF}%s's (%d) {FFFFFF}IP Is {FFC0CB}%s",Name,id,GetPlayerIP(id));
  513. SendClientMessage(playerid,white,str);
  514. } else return SendClientMessage(playerid,red,"Player Is Not Connected");
  515. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  516. return 1;
  517. }
  518.  
  519. CMD:settime(playerid,params[])
  520. {
  521. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  522. {
  523. new str[130], time;
  524. if(sscanf(params, "d", time)) return SendClientMessage(playerid,white,"/Settime [Time]");
  525. SetWorldTime(time);
  526. format(str,130,"The {FFC0CB}World Time {FFFFFF}Has Been Set To {33CCFF}%d:00",time);
  527. SendClientMessageToAll(white,str);
  528. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  529. return 1;
  530. }
  531.  
  532. CMD:spawn(playerid,params[])
  533. {
  534. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  535. {
  536. new str[130], id, Name[24];
  537. if(sscanf(params, "u", id)) return SendClientMessage(playerid,white,"/Spawn [playerid/name]");
  538. if(!IsPlayerConnected(id)) return SendClientMessage(playerid,red,"Player Is Not Connected");
  539. GetPlayerName(id,Name,24);
  540. SpawnPlayer(id);
  541. SendClientMessage(id,white,"You Have Been {FFC0CB}Automatically {33CCFF}Spawned {FFFFFF}By An Admin");
  542. format(str,130,"You Have {FFC0CB}Automatically {33CCFF}Spawned {33CCFF}%s (%d)",Name,id);
  543. SendClientMessage(playerid,white,str);
  544. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  545. return 1;
  546. }
  547.  
  548. CMD:acar(playerid,params[])
  549. {
  550. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  551. {
  552. new Vehid[24], car, str[130], Float:X,Float:Y,Float:Z,color1,color2,license[24];
  553. if(sscanf(params, "s[24]dds[24]", Vehid,color1,color2,license)) return SendClientMessage(playerid,white,"/aCar [Vehicle ID/Name] [Color 1] [Color 2] [License]");
  554. if(!IsNumeric(Vehid))
  555. {
  556. car = GetVehicleModelIDFromName(Vehid);
  557. }
  558. else car = strval(Vehid);
  559. if(car < 400 || car > 611) return SendClientMessage(playerid, red, "Invalid Vehicle Model ID!");
  560.  
  561. GetPlayerPos(playerid,X,Y,Z);
  562. aVeh[playerid] = AddStaticVehicle(car,X,Y+2,Z,90,color1,color2);
  563. new Float:x,Float:y,Float:z,Float:ang;
  564. SetVehicleNumberPlate(aVeh[playerid], license);
  565. GetVehiclePos(aVeh[playerid],x,y,z);
  566. GetVehicleZAngle(aVeh[playerid],ang);
  567. SetVehicleToRespawn(aVeh[playerid]);
  568. SetVehiclePos(aVeh[playerid],x,y,z);
  569. PutPlayerInVehicle(playerid,aVeh[playerid],0);
  570. SetVehicleZAngle(aVeh[playerid],ang);
  571. format(str,130,"{FFFFFF}Vehicle Model ID: %d {33CCFF}Vehicle Name: %s {FFC0CB}Colors: %d, %d {FFFFFF}License: %s",car,VehicleNames[car-400],color1,color2,license);
  572. SendClientMessage(playerid,white,str);
  573. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  574. return 1;
  575. }
  576.  
  577. CMD:acarcam(playerid,params[])
  578. {
  579. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  580. {
  581. new Float:X,Float:Y,Float:Z, option;
  582. if(sscanf(params, "d", option)) return SendClientMessage(playerid,white,"/Carcam [option]") && SendClientMessage(playerid,lightblue,"0 = High : 1 = Driver Seat : 2 = Back Seat");
  583. if(option == 0)
  584. {
  585. GetVehiclePos(aVeh[playerid],X,Y,Z);
  586. SetPlayerCameraPos(playerid,X+5,Y+10,Z+5);
  587. SetPlayerCameraLookAt(playerid,X,Y,Z);
  588. TogglePlayerControllable(playerid,false);
  589. SendClientMessage(playerid,white,"Your {FFC0CB}Camera {33CCFF}Has Been Put To Your {FFC0CB}Vehicles {33CCFF}Location");
  590. }
  591. else if(option == 1)
  592. {
  593. new Float:x,Float:y,Float:cx,Float:cy,Float:cz;
  594. GetVehiclePos(aVeh[playerid],X,Y,Z);
  595. GetPlayerPos(playerid,cx,cy,cz);
  596. GetXYInFrontOfPlayer(playerid,x,y,1);
  597. SetPlayerCameraPos(playerid,X-1.5,Y-0.5,Z+1);
  598. SetPlayerCameraLookAt(playerid,x,y,cz+1);
  599. }
  600. SetTimerEx("BackP",5000,false,"i",playerid);
  601. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  602. return 1;
  603. }
  604.  
  605. CMD:atune(playerid,params[])
  606. {
  607. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  608. {
  609. new vehid;
  610. vehid = GetPlayerVehicleID(playerid);
  611. if(IsPlayerInAnyVehicle(playerid))
  612. {
  613. AddVehicleComponent(vehid, 1010);
  614. AddVehicleComponent(vehid, 1077);
  615. SendMessageToVehicle(vehid, white, "This {FFC0CB}Vehicle {FFFFFF}Has Been {33CCFF}Admin Tuned{FFFFFF}. You Have {FFC0CB}Nitros {FFFFFF}and {FFC0CB}New Wheels");
  616. } else return SendClientMessage(playerid,red,"You Need To Be Inside a Vehicle");
  617. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  618. return 1;
  619. }
  620.  
  621. CMD:acmds(playerid,params[])
  622. {
  623. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  624. {
  625. SendClientMessage(playerid,white,"NOTICE: The Commands In Green You Can Use");
  626. switch(Info[playerid][Level])
  627. {
  628. case 1:
  629. {
  630. SendClientMessage(playerid,white,"{33AA33}/goto, /gopos, /getip, /settime, /spawn, /acar, /atune, /acmds");
  631. SendClientMessage(playerid,white,"{AA3333}/disarm, /bankrupt, /teleplayer, /eject");
  632. SendClientMessage(playerid,white,"{AA3333}");
  633. SendClientMessage(playerid,white,"{AA3333}");
  634. SendClientMessage(playerid,white,"{AA3333}/makeadmin");
  635. }
  636. case 2:
  637. {
  638. SendClientMessage(playerid,white,"{33AA33}/goto, /gopos, /getip, /settime, /spawn, /acar, /atune, /acmds");
  639. SendClientMessage(playerid,white,"{33AA33}/disarm, /bankrupt, /teleplayer, /eject");
  640. SendClientMessage(playerid,white,"{AA3333}");
  641. SendClientMessage(playerid,white,"{AA3333}");
  642. SendClientMessage(playerid,white,"{AA3333}/makeadmin");
  643. }
  644. case 3:
  645. {
  646. SendClientMessage(playerid,white,"{33AA33}/goto, /gopos, /getip, /settime, /spawn, /acar, /atune, /acmds");
  647. SendClientMessage(playerid,white,"{33AA33}/disarm, /bankrupt, /teleplayer, /eject");
  648. SendClientMessage(playerid,white,"{33AA33}");
  649. SendClientMessage(playerid,white,"{AA3333}");
  650. SendClientMessage(playerid,white,"{AA3333}/makeadmin");
  651. }
  652. case 4:
  653. {
  654. SendClientMessage(playerid,white,"{33AA33}/goto, /gopos, /getip, /settime, /spawn, /acar, /atune, /acmds");
  655. SendClientMessage(playerid,white,"{33AA33}/disarm, /bankrupt, /teleplayer, /eject");
  656. SendClientMessage(playerid,white,"{33AA33}");
  657. SendClientMessage(playerid,white,"{33AA33}");
  658. SendClientMessage(playerid,white,"{AA3333}/makeadmin");
  659. }
  660. case 5:
  661. {
  662. SendClientMessage(playerid,white,"{33AA33}/goto, /gopos, /getip, /settime, /spawn, /acar, /atune, /acmds");
  663. SendClientMessage(playerid,white,"{33AA33}/disarm, /bankrupt, /teleplayer, /eject");
  664. SendClientMessage(playerid,white,"{33AA33}");
  665. SendClientMessage(playerid,white,"{33AA33}");
  666. SendClientMessage(playerid,white,"{33AA33}/makeadmin");
  667. }
  668. }
  669. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  670. return 1;
  671. }
  672.  
  673. CMD:admins(playerid, params[])
  674. {
  675. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  676. {
  677. new string[128], count, pName[24];
  678.  
  679. SendClientMessage(playerid,lightblue,"**-:Online Admins:-**");
  680. for(new i = 0; i <= MAX_SERVER_PLAYERS; i++)
  681. {
  682. if(Info[i][Level])
  683. GetPlayerName(i,pName,24);
  684. else
  685. continue;
  686.  
  687. count++;
  688. switch(Info[i][Level])
  689. {
  690. case 1:format(string, 60, "Name: %s | Level: 1 [Trainee Moderator]",pName);
  691. case 2:format(string, 60, "Name: %s | Level: 2 [Moderator]",pName);
  692. case 3:format(string, 60, "Name: %s | Level: 3 [Admin]",pName);
  693. case 4:format(string, 60, "Name: %s | Level: 4 [Full Admin]",pName);
  694. case 5:format(string, 60, "Name: %s | Level: 5 [Lead Admin]",pName);
  695. }
  696. if(IsPlayerAdmin(i))
  697. format(string, 60, "Name: %s | Level: %d [MAIN SERVER ADMIN/OWNER]",pName,Info[playerid][Level]);
  698.  
  699. SendClientMessage(playerid,white,string);
  700. }
  701. SendClientMessage(playerid,lightblue,"------------------------");
  702. if(count)
  703. format(string, 128,"Total Online: %d",count);
  704. else
  705. return SendClientMessage(playerid,red,"There are currently no admins online."),1;
  706.  
  707. SendClientMessage(playerid,lightblue,string);
  708. } else return SendClientMessage(playerid,red,"We don't list our admins ingame");
  709. return 1;
  710. }
  711.  
  712. CMD:adminduty(playerid,params[])
  713. {
  714. new weapon1,weapon2,weapon3,weapon4, cammo1,cammo2,cammo3,cammo4;
  715. if(Info[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  716. {
  717. if(Info[playerid][OnDuty] == 0)
  718. {
  719. GetPlayerWeaponData(playerid,1,weapon1,cammo1);
  720. GetPlayerWeaponData(playerid,2,weapon2,cammo2);
  721. GetPlayerWeaponData(playerid,3,weapon3,cammo3);
  722. GetPlayerWeaponData(playerid,4,weapon4,cammo4);
  723. Info[playerid][dWeapon1] = weapon1; Info[playerid][dWeapon2] = weapon2;
  724. Info[playerid][dWeapon3] = weapon3; Info[playerid][dWeapon4] = weapon4;
  725. Info[playerid][ammo1] = cammo1; Info[playerid][ammo3] = cammo3;
  726. Info[playerid][ammo2] = cammo2; Info[playerid][ammo4] = cammo4;
  727. Info[playerid][OnDuty] = 1;
  728. SendClientMessage(playerid,lightblue,"You Are Now On Admin Duty. You Got Godmode And A Minigun");
  729. ResetPlayerWeapons(playerid);
  730. GivePlayerWeapon(playerid,38,20000);
  731. SetPlayerHealth(playerid,100000);
  732. }
  733. else if(Info[playerid][OnDuty] == 1)
  734. {
  735. GivePlayerWeapon(playerid,Info[playerid][dWeapon1],Info[playerid][ammo1]);
  736. GivePlayerWeapon(playerid,Info[playerid][dWeapon2],Info[playerid][ammo2]);
  737. GivePlayerWeapon(playerid,Info[playerid][dWeapon3],Info[playerid][ammo3]);
  738. GivePlayerWeapon(playerid,Info[playerid][dWeapon4],Info[playerid][ammo4]);
  739. Info[playerid][dWeapon1] = weapon1; Info[playerid][dWeapon2] = weapon2;
  740. Info[playerid][dWeapon3] = -1; Info[playerid][dWeapon4] = -1;
  741. Info[playerid][ammo1] = -1; Info[playerid][ammo3] = -1;
  742. Info[playerid][ammo2] = -1; Info[playerid][ammo4] = -1;
  743. Info[playerid][OnDuty] = 0;
  744. SetPlayerAmmo(playerid,7,0);
  745. SetPlayerHealth(playerid,100);
  746. SetPlayerArmour(playerid,100);
  747. SendClientMessage(playerid,lightblue,"You Are Now Off Admin Duty. You Have Recieved Your Old Weapons And Armour");
  748. }
  749. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  750. return 1;
  751. }
  752.  
  753. //Level 2 Commands
  754. CMD:getall(playerid,params[])
  755. {
  756. if(Info[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  757. {
  758. new Float:X,Float:Y,Float:Z;
  759. GetPlayerPos(playerid,X,Y,Z);
  760. for(new i; i < MAX_PLAYERS; i++)
  761. {
  762. SendClientMessage(i,lightblue,"You Have Been Teleported");
  763. SetPlayerPos(i,X,Y,Z);
  764. }
  765. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  766. return 1;
  767. }
  768.  
  769. CMD:disarm(playerid,params[])
  770. {
  771. if(Info[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  772. {
  773. new id, str[130], Name[24];
  774. if(sscanf(params, "u", id)) return SendClientMessage(playerid,white,"/Disarm [playerid/name]");
  775. GetPlayerName(id,Name,24);
  776. if(IsPlayerConnected(id))
  777. {
  778. ResetPlayerWeapons(id);
  779. SendClientMessage(id,white,"Your {FFC0CB}Weapons {FFFFFF}Have Been {33AA33}Removed");
  780. format(str,130,"You Have {33AA33}Removed {33CCFF}%s's (%d) {FFC0CB}Weapons",Name,id);
  781. SendClientMessage(playerid,white,str);
  782. } else return SendClientMessage(playerid,red,"Player Is Not Connected");
  783. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  784. return 1;
  785. }
  786.  
  787. CMD:bankrupt(playerid,params[])
  788. {
  789. if(Info[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  790. {
  791. new id, str[130], Name[24];
  792. if(sscanf(params, "u", id)) return SendClientMessage(playerid,white,"/Bankrupt [playerid/name]");
  793. GetPlayerName(id,Name,24);
  794. if(IsPlayerConnected(id))
  795. {
  796. ResetPlayerMoney(id);
  797. SendClientMessage(id,white,"Your {FFC0CB}Money {FFFFFF}Has Been {33AA33}Reset {FFFFFF}To {33AA33}%0");
  798. format(str,130,"You Have {33AA33}Reseted {33CCFF}%s's (%d) {FFC0CB}Money",Name,id);
  799. SendClientMessage(playerid,white,str);
  800. Info[id][Money] = 0;
  801. } else return SendClientMessage(playerid,red,"Player Is Not Connected");
  802. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  803. return 1;
  804. }
  805.  
  806. CMD:teleplayer(playerid,params[])
  807. {
  808. if(Info[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  809. {
  810. new id, pid, str[130], Name[24], pName[24], Float:pX, Float:pY, Float:pZ;
  811. if(sscanf(params, "uu", id,pid)) return SendClientMessage(playerid,white,"/Teleplayer [playerid1] [playerid2]");
  812. GetPlayerName(id,Name,24); GetPlayerName(pid,pName,24);
  813. if(IsPlayerConnected(id) || IsPlayerConnected(pid))
  814. {
  815. GetPlayerPos(pid,pX,pY,pZ);
  816. SetPlayerPos(id,pX,pY+2,pZ);
  817. format(str,130,"You Have Been {FFC0CB}Teleported {FFFFFF}To {33CCFF}%s (%d)",pName,pid);
  818. SendClientMessage(id,white,str);
  819. format(str,130,"You Have {FFC0CB}Teleported {33CCFF}%s (%d) {FFFFFF}To {FFC0CB}%s's (%d) {FFFFFF}Position",Name,id,pName,pid);
  820. SendClientMessage(playerid,white,str);
  821. } else return SendClientMessage(playerid,red,"Player Is Not Connected");
  822. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  823. return 1;
  824. }
  825.  
  826. CMD:eject(playerid,params[])
  827. {
  828. if(Info[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  829. {
  830. new id, Name[24], str[130], Float:X,Float:Y,Float:Z;
  831. if(sscanf(params, "u", id)) return SendClientMessage(playerid,white,"/Eject [playerid/name]");
  832. GetPlayerName(id,Name,24); GetPlayerPos(id,X,Y,Z);
  833. if(IsPlayerConnected(id))
  834. {
  835. if(IsPlayerInAnyVehicle(id))
  836. {
  837. SetPlayerPos(id,X,Y,Z+3);
  838. SendClientMessage(id,white,"You Have Been {FFC0CB}Ejected {FFFFFF}From Your {FFC0CB}Vehicle {FFFFFF}By An {33CCFF}Admin");
  839. format(str,130,"You Have {FFC0CB}Ejected {33CCFF}%s (%d) {FFFFFF}From Their {FFC0CB}Vehicle",Name,id);
  840. SendClientMessage(playerid,white,str);
  841. } else return SendClientMessage(playerid,red,"Player Is Not In a Vehicle");
  842. } else return SendClientMessage(playerid,red,"Player Is Not Connected");
  843. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  844. return 1;
  845. }
  846.  
  847. CMD:sethealth(playerid,params[])
  848. {
  849. if(Info[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  850. {
  851. new id, Name[24], str[130],Float:Health;
  852. if(sscanf(params, "uf", id,Health)) return SendClientMessage(playerid,white,"/Sethealth [playerid/name] [Health]");
  853. GetPlayerName(id,Name,24);
  854. if(IsPlayerConnected(id))
  855. {
  856. SetPlayerHealth(id,Health);
  857. format(str,130,"You Have Set %s's (%d) Health To %0.1f",Name,id,Health);
  858. SendClientMessage(playerid,white,str);
  859. } else return SendClientMessage(playerid,red,"Player Is Not Connected");
  860. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  861. return 1;
  862. }
  863.  
  864. CMD:kick(playerid,params[])
  865. {
  866. if(Info[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  867. {
  868. new id, Name[24], str[130], reason[60];
  869. if(sscanf(params, "us[60]", id,reason)) return SendClientMessage(playerid,white,"/Kick [playerid/name] [reason]");
  870. GetPlayerName(id,Name,24);
  871. if(IsPlayerConnected(id))
  872. {
  873. format(str,130,"{7D26CD}DeFi-Admin {AA3333}Kick: {33CCFF}%s (%d) {FFFFFF}Has Been {FFC0CB}Kicked. Reason: {33CCFF}%s",Name,id,reason);
  874. SendClientMessageToAll(white,str);
  875. format(str,130,"You Have Kicked %s (%d) From The Server. Reason: %s",Name,id,reason);
  876. SendClientMessage(playerid,white,str);
  877. Kick(id);
  878. } else return SendClientMessage(playerid,red,"Player Is Not Connected");
  879. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  880. return 1;
  881. }
  882.  
  883. CMD:giveweapon(playerid,params[])
  884. {
  885. if(Info[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  886. {
  887. new id, Name[24], str[130], weapon, ammo;
  888. if(sscanf(params, "udd", id,weapon,ammo)) return SendClientMessage(playerid,red,"/Giveweapon [playerid/name] [Weapon ID] [Ammo]");
  889. if(weapon < 0 || weapon > 53) return SendClientMessage(playerid,red,"Invalid Weapon ID");
  890. GetPlayerName(id,Name,24);
  891. GivePlayerWeapon(id,weapon,ammo);
  892. format(str,130,"You Have Given %s (%d) The Weapon ID %d with %d Ammo",Name,id,weapon,ammo);
  893. SendClientMessage(playerid,lightblue,str);
  894. format(str,130,"You Have Recieved The Weapon ID %d with %d Ammo",weapon,ammo);
  895. SendClientMessage(id,lightblue,str);
  896. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  897. return 1;
  898. }
  899.  
  900. //Level 3 Commands
  901. CMD:mute(playerid,params[])
  902. {
  903. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  904. {
  905. new id, Name[24], str[130], time;
  906. if(sscanf(params, "ud", id,time)) return SendClientMessage(playerid,red,"/Mute [playerid/name] [Time] (Add 000 At The End Of Your Time)");
  907. if(Info[id][Muted] == 1) return SendClientMessage(playerid,red,"Player Is Already Muted");
  908. GetPlayerName(id,Name,24);
  909. Info[id][Muted] = 1;
  910. Info[id][mTime] = time;
  911. format(str,130,"You Have Muted %s (%d) For %dms",Name,id,time);
  912. SendClientMessage(playerid,lightblue,str);
  913. format(str,130,"Admin: %s (%d) Has Been Muted From Chat For %d ms",Name,id,time);
  914. SendClientMessageToAll(pink,str);
  915. SetTimerEx("UnMute", time, false, "i", id);
  916. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  917. return 1;
  918. }
  919.  
  920. CMD:freeze(playerid,params[])
  921. {
  922. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  923. {
  924. new id, Name[24], str[130];
  925. if(sscanf(params, "u", id)) return SendClientMessage(playerid,red,"/Freeze [playerid/name]");
  926. if(Info[id][Frozen] == 1) return SendClientMessage(playerid,red,"Player Is Already Frozen");
  927. GetPlayerName(id,Name,24);
  928. Info[id][Frozen] = 1;
  929. format(str,130,"You Have Frozen %s (%d) He Cannot Move",Name,id);
  930. SendClientMessage(playerid,lightblue,str);
  931. format(str,130,"Admin: %s (%d) Has Been Frozen. he Cannot Move",Name,id);
  932. SendClientMessageToAll(pink,str);
  933. TogglePlayerControllable(id,false);
  934. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  935. return 1;
  936. }
  937.  
  938. CMD:unmute(playerid,params[])
  939. {
  940. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  941. {
  942. new id, Name[24], str[130];
  943. if(sscanf(params, "u", id)) return SendClientMessage(playerid,red,"/Unmute [playerid]");
  944. if(Info[id][Muted] == 1)
  945. {
  946. GetPlayerName(id,Name,24);
  947. Info[id][Muted] = 0;
  948. Info[id][mTime] = -1;
  949. format(str,130,"You Have Unmuted %s (%d) He Can Now Speak To Everyone",Name,id);
  950. SendClientMessage(playerid,lightblue,str);
  951. format(str,130,"Admin: %s (%d) Has Been Unmuted From The Chat",Name,id);
  952. SendClientMessageToAll(pink,str);
  953. } else return SendClientMessage(playerid,red,"This Player Is Already Unmuted");
  954. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  955. return 1;
  956. }
  957.  
  958. CMD:unfreeze(playerid,params[])
  959. {
  960. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  961. {
  962. new id, Name[24], str[130];
  963. if(sscanf(params, "u", id)) return SendClientMessage(playerid,red,"/Unfreeze [playerid]");
  964. if(Info[id][Frozen] == 1)
  965. {
  966. GetPlayerName(id,Name,24);
  967. Info[id][Frozen] = 0;
  968. format(str,130,"You Have UnFrozen %s (%d) He Can Now Move",Name,id);
  969. SendClientMessage(playerid,lightblue,str);
  970. format(str,130,"Admin: %s (%d) Has Been UnFrozen And Can Now Move",Name,id);
  971. SendClientMessageToAll(pink,str);
  972. } else return SendClientMessage(playerid,red,"This Player Is Already UnFrozen");
  973. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  974. return 1;
  975. }
  976.  
  977. CMD:ocean(playerid,params[])
  978. {
  979. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  980. {
  981. new id, Name[24],str[130];
  982. if(sscanf(params, "u", id)) return SendClientMessage(playerid,red,"/Ocean [playerid/name]");
  983. GetPlayerName(id,Name,24);
  984. format(str,130,"You Have Set %s (%d) Out Far Into The Ocean",Name,id);
  985. SendClientMessage(playerid,lightblue,str);
  986. SendClientMessage(id,lightblue,"You Have Been Set Far Out Into The Ocean");
  987. SetPlayerPos(id,99999,99999,0);
  988. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  989. return 1;
  990. }
  991.  
  992. CMD:setealth(playerid,params[])
  993. {
  994. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  995. {
  996. new Float:health, id, Name[24],str[130];
  997. if(sscanf(params, "uf", id,health)) return SendClientMessage(playerid,red,"/Sethealth [playerid/name] [Health]");
  998. GetPlayerName(id,Name,24);
  999. format(str,130,"You Have Set %s (%d) Health To %0.2f",Name,id,health);
  1000. SendClientMessage(playerid,lightblue,str);
  1001. format(str,130,"Your Health Has Been Set To %0.2f",health);
  1002. SendClientMessage(id,lightblue,str);
  1003. SetPlayerHealth(id,health);
  1004. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  1005. return 1;
  1006. }
  1007.  
  1008. CMD:setarmour(playerid,params[])
  1009. {
  1010. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  1011. {
  1012. new Float:armour, id, Name[24],str[130];
  1013. if(sscanf(params, "uf", id,armour)) return SendClientMessage(playerid,red,"/Setarmour [playerid/name] [Armour]");
  1014. GetPlayerName(id,Name,24);
  1015. format(str,130,"You Have Set %s (%d) Armour To %0.2f",Name,id,armour);
  1016. SendClientMessage(playerid,lightblue,str);
  1017. format(str,130,"Your Armour Has Been Set To %0.2f",armour);
  1018. SendClientMessage(id,lightblue,str);
  1019. SetPlayerArmour(id,armour);
  1020. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  1021. return 1;
  1022. }
  1023.  
  1024. CMD:carhealth(playerid,params[])
  1025. {
  1026. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  1027. {
  1028. new Float:health,id,Name[24],str[130];
  1029. if(sscanf(params, "uf", id,health)) return SendClientMessage(playerid,red,"/Carhealth [playerid/name] [Health]");
  1030. if(IsPlayerInAnyVehicle(id))
  1031. {
  1032. GetPlayerName(id,Name,24);
  1033. format(str,130,"You Have Set %s (%d) Vehicle Health To %0.2f",Name,id,health);
  1034. SendClientMessage(playerid,lightblue,str);
  1035. format(str,130,"Your Vehicle Health Has Been Set To %0.2f",health);
  1036. SendClientMessage(id,lightblue,str);
  1037. SetVehicleHealth(GetPlayerVehicleID(playerid),health);
  1038. } else return SendClientMessage(playerid,red,"This Player Is Not In A Vehicle");
  1039. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  1040. return 1;
  1041. }
  1042.  
  1043. CMD:chicken(playerid,params[])
  1044. {
  1045. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  1046. {
  1047. new id, Name[24], str[130], Float:X,Float:Y,Float:Z;
  1048. if(sscanf(params, "u", id)) return SendClientMessage(playerid,red,"/Chicken [playerid/name]");
  1049. if(Info[id][pChicken] == 1) return SendClientMessage(playerid,red,"The Admin Chicken Is Already Chasing Someone");
  1050. GetPlayerPos(id,X,Y,Z);
  1051. GetPlayerName(id,Name,24);
  1052. chicken = CreateDynamicObject(16776,X+50,Y+10,Z+5,0,0,0);
  1053. MoveDynamicObject(chicken,X,Y,Z-2,100);
  1054. format(cName, 24, "%s", Name);
  1055. Info[playerid][pChicken] = 1;
  1056. format(str,130,"You Have Sent The Chicken After %s (%d)",Name,id);
  1057. SendClientMessage(playerid,lightblue,str);
  1058. format(str,130,"Admin: %s (%d) Has Been Admin Chickened.",Name,id);
  1059. SendClientMessageToAll(pink,str);
  1060. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  1061. return 1;
  1062. }
  1063.  
  1064. CMD:fakeban(playerid,params[])
  1065. {
  1066. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  1067. {
  1068. new id, Name[24], str[130];
  1069. if(sscanf(params, "u", id)) return SendClientMessage(playerid,red,"/FakeBan [playerid/name]");
  1070. GetPlayerName(id,Name,24);
  1071. format(str,130,"{7D26CD}DeFi-Admin {7D26CD}Anti Cheat{FFFFFF}: %s (%d) Has Been Banned From The Server! Cheats Detected!",Name,id);
  1072. SendClientMessageToAll(white,str);
  1073. format(str,130," * %s (%d) Has Left The Server (Kicked)",Name,id);
  1074. SendClientMessageToAll(grey,str);
  1075. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  1076. return 1;
  1077. }//I dont have disconnect thing added yet, trollolol
  1078.  
  1079. CMD:agivecash(playerid,params[])
  1080. {
  1081. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  1082. {
  1083. new id, name[24], str[130], amount;
  1084. if(sscanf(params, "ud", id,amount)) return SendClientMessage(playerid,red,"/agivecash [playerid/name] [amount]");
  1085. GetPlayerName(id,name,24);
  1086. format(str,130,"You Given %s (%d) $%d!",name,id,amount);
  1087. SendClientMessage(playerid,lightblue,str); //lightblue = color. str = the formatted str
  1088. format(str,130,"Admin Given You $%d!",amount);
  1089. SendClientMessage(id,lightblue,str);
  1090. GivePlayerMoney(id,amount);
  1091. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  1092. return 1;
  1093. }
  1094.  
  1095. CMD:destroyvehicle(playerid,params[])
  1096. {
  1097. if(Info[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  1098. {
  1099. new vehid,str[130];
  1100. if(sscanf(params, "d", vehid)) return SendClientMessage(playerid,red,"/DestroyVehicle [Vehicle ID]");
  1101. DestroyVehicle(vehid);
  1102. format(str,130,"You Have Detroyed The Vehicle With The ID Of %d",vehid);
  1103. SendClientMessage(playerid,lightblue,str);
  1104. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  1105. return 1;
  1106. }
  1107.  
  1108. //Level 4 Commands
  1109. CMD:reconnect(playerid, params[])
  1110. {
  1111. new id, Name[24], pName[24], str[130], ip[16], reason[60];
  1112. if(Info[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
  1113. {
  1114. if(sscanf(params, "us[60]", id,reason)) return SendClientMessage(playerid,white,"/Reconnect [playerid/name] [reason]");
  1115. if(IsPlayerConnected(id))
  1116. {
  1117. GetPlayerIp(id,ip,16);
  1118. GetPlayerName(id,Name,24);
  1119. GetPlayerName(playerid,pName,24);
  1120. format(str,130,"{33CCFF}%s (%d) {FFFFFF}Has Been Forced To {FFC0CB}Reconnect. {7D26CD}Reason: %s",Name,id,reason);
  1121. SendClientMessageToAll(white,str);
  1122. GameTextForPlayer(id,"~g~~h~~h~Do not quit the game!",3000,3);
  1123. print(str);
  1124. format(str,130,"banip %s",ip);
  1125. SetPVarString(id,"reconnect",ip);
  1126. ireconnect[id] = 1;
  1127. SendRconCommand(str);
  1128. } else return SendClientMessage(playerid,red,"Player Is Not Connected");
  1129. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  1130. return 1;
  1131. }
  1132.  
  1133. CMD:ban(playerid,params[])
  1134. {
  1135. new id, Name[24], pName[24], str[130], reason[60];
  1136. if(Info[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
  1137. {
  1138. if(sscanf(params, "us[60]", id,reason)) return SendClientMessage(playerid,white,"/Ban [playerid] [Reason] - No reason = No Ban");
  1139. GetPlayerName(id,Name,24); GetPlayerName(playerid,pName,24);
  1140. if(IsPlayerConnected(id))
  1141. {
  1142. format(str,130,"{7D26CD}DeFi-Admin {AA3333}Ban: {33CCFF}%s (%d) {FFFFFF}Has Been {FFC0CB}Banned. Reason: {33CCFF}%s",Name,id,reason);
  1143. SendClientMessageToAll(white,str);
  1144. format(str,130,"You Have Banned %s (%d) From The Server. Reason: %s",Name,id,reason);
  1145. SendClientMessage(playerid,white,str);
  1146. BanEx(id,reason);
  1147. } else return SendClientMessage(playerid,red,"Player Is Not Connected");
  1148. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  1149. return 1;
  1150. }
  1151.  
  1152. CMD:dunban(playerid,params[])
  1153. {
  1154. new Name[24], pName[24], File[130], str[130];
  1155. if(Info[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
  1156. {
  1157. if(sscanf(params, "s[24]", Name)) return SendClientMessage(playerid,white,"/dUnban [Name]");
  1158. GetPlayerName(playerid,pName,24);
  1159. format(File,130,"DeFi/Players/%s.sav",Name);
  1160. if(dini_Exists(File))
  1161. {
  1162. if(dini_Int(File,"Banned") == 1)
  1163. {
  1164. dini_IntSet(File,"Banned",0);
  1165. format(str,130,"unbanip %s",dini_Get(File,"IP"));
  1166. SendRconCommand(str);
  1167. format(str,130,"You Have Unbanned %s With The IP Of %s",Name,dini_Get(File,"IP"));
  1168. SendClientMessage(playerid,white,str);
  1169. } else return SendClientMessage(playerid,red,"This Player Is Not Banned");
  1170. } else return SendClientMessage(playerid,red,"Players Name Does Not Exist In The System");
  1171. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  1172. return 1;
  1173. }
  1174.  
  1175. //Level 5 Commands
  1176. CMD:makeadmin(playerid,params[])
  1177. {
  1178. if(Info[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
  1179. {
  1180. new Name[24], str[130], level, id;
  1181. if(sscanf(params, "ud", id,level)) return SendClientMessage(playerid,white,"/Makeadmin [playerid/name] [level]");
  1182. GetPlayerName(id,Name,24);
  1183. if(IsPlayerConnected(id))
  1184. {
  1185. if(Info[id][Log] == 0) return SendClientMessage(playerid,red,"This Player Must Be {7D26CD}Registered {AA3333}and {7D26CD}Logged In");
  1186. if(level > 5 || level < 0) return SendClientMessage(playerid,red,"The Level Needs To Be Between 0 and 5");
  1187. if(level > Info[id][Level])
  1188. {
  1189. format(str,130,"Your {33CCFF}Admin Level {FFFFFF}Has Been Raised To {33CCFF}%d",level);
  1190. SendClientMessage(id,white,str);
  1191. format(str,130,"You Have {33CCFF}Raised {33CCFF}%s's (%d) {FFFFFF}Admin Level To {33CCFF}%d",Name,id,level);
  1192. SendClientMessage(playerid,white,str);
  1193. Info[playerid][Level] = level;
  1194. }
  1195. else
  1196. {
  1197. format(str,130,"Your {33CCFF}Admin Level {FFFFFF}Has Been Lowered To {33CCFF}%d",level);
  1198. SendClientMessage(id,white,str);
  1199. format(str,130,"You Have {33CCFF}Lowered {33CCFF}%s's (%d) {FFFFFF}Admin Level To {33CCFF}%d",Name,id,level);
  1200. SendClientMessage(playerid,white,str);
  1201. Info[playerid][Level] = level;
  1202. }
  1203. } else return SendClientMessage(playerid,red,"Player Is Not Connected");
  1204. } else return SendClientMessage(playerid,red,"Your Level Is Not High Enough To Use This Command");
  1205. return 1;
  1206. }
  1207.  
  1208. //Stocks and Functions
  1209. stock SaveStats(playerid)
  1210. {
  1211. new File[130], Name[24];
  1212. GetPlayerName(playerid,Name,24);
  1213. format(File,130,"DeFi/Players/%s.sav",Name);
  1214. if(Info[playerid][Log] == 1)
  1215. {
  1216. dini_IntSet(File,"Level",Info[playerid][Level]);
  1217. dini_IntSet(File,"Deaths",Info[playerid][Deaths]);
  1218. dini_IntSet(File,"Kills",Info[playerid][Kills]);
  1219. dini_IntSet(File,"Frozen",Info[playerid][Frozen]);
  1220. dini_IntSet(File,"Jailed",Info[playerid][Jailed]);
  1221. dini_IntSet(File,"Muted",Info[playerid][Muted]);
  1222. dini_IntSet(File,"Money",Info[playerid][Money]);
  1223. dini_IntSet(File,"Score",Info[playerid][Score]);
  1224. dini_IntSet(File,"Banned",Info[playerid][Banned]);
  1225.  
  1226. dini_IntSet(File,"Jail Time", Info[playerid][jTime]);
  1227. dini_IntSet(File,"Muted Time", Info[playerid][mTime]);
  1228.  
  1229. SendClientMessage(playerid,white,"Your Stats Have Been Saved");
  1230. }
  1231. return 1;
  1232. }
  1233.  
  1234. stock UpdateStats(playerid)
  1235. {
  1236. new File[130], Name[24];
  1237. GetPlayerName(playerid,Name,24);
  1238. format(File,130,"DeFi/Players/%s.sav",Name);
  1239. if(Info[playerid][Log] == 1)
  1240. {
  1241. Info[playerid][Deaths] = GetPlayerDeaths(playerid);
  1242. Info[playerid][Kills] = GetPlayerKills(playerid);
  1243. Info[playerid][Frozen] = IsPlayer(playerid, "Frozen");
  1244. Info[playerid][Jailed] = IsPlayer(playerid, "Jailed");
  1245. Info[playerid][Muted] = IsPlayer(playerid, "Muted");
  1246. Info[playerid][Money] = GetPlayerMoney(playerid);
  1247. Info[playerid][Score] = GetPlayerScore(playerid);
  1248.  
  1249. SendClientMessage(playerid,white,"Your Stats Have Been Updated");
  1250. }
  1251. return 1;
  1252. }
  1253.  
  1254. stock SendMessageToVehicle(vehid, color, msg[])
  1255. {
  1256. for(new i = 0; i < MAX_PLAYERS; i++)
  1257. {
  1258. if(IsPlayerInVehicle(i,vehid))
  1259. {
  1260. SendClientMessage(i,color,msg);
  1261. printf("Message Was Sent To Vehicle ID %d. Message: \"%s\"",vehid,msg);
  1262. }
  1263. }
  1264. return 0;
  1265. }
  1266.  
  1267. stock IsPlayer(playerid, select[])
  1268. {
  1269. if(strcmp(select, "Jailed", true) == 0)
  1270. {
  1271. return Info[playerid][Jailed];
  1272. }
  1273. else if(strcmp(select, "Muted", true) == 0)
  1274. {
  1275. return Info[playerid][Muted];
  1276. }
  1277. else if(strcmp(select, "Frozen", true) == 0)
  1278. {
  1279. return Info[playerid][Frozen];
  1280. }
  1281. return 0;
  1282. }
  1283.  
  1284. stock GetPlayerKills(playerid)
  1285. {
  1286. return Info[playerid][Kills];
  1287. }
  1288.  
  1289. stock GetPlayerDeaths(playerid)
  1290. {
  1291. return Info[playerid][Deaths];
  1292. }
  1293.  
  1294. GetPlayerIP(playerid)
  1295. {
  1296. new pIP[30];
  1297. GetPlayerIp(playerid, pIP, sizeof(pIP));
  1298. return pIP;
  1299. }
  1300.  
  1301. GetVehicleModelIDFromName(vname[])
  1302. {
  1303. for(new i = 0; i < 0; i++)
  1304. {
  1305. if ( strfind(VehicleNames[i], vname, true) != -1 )
  1306. return i + 400;
  1307. }
  1308. return -1;
  1309. }
  1310.  
  1311. stock IsNumeric(string[])
  1312. {
  1313. for (new i = 0, j = strlen(string);
  1314. i < j; i++)
  1315. {
  1316. if (string[i] > '9' || string[i] < '0')
  1317. return 0;
  1318. }
  1319. return 1;
  1320. }
  1321.  
  1322. GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
  1323. { // Created by Y_Less
  1324.  
  1325. new Float:a;
  1326.  
  1327. GetPlayerPos(playerid, x, y, a);
  1328. GetPlayerFacingAngle(playerid, a);
  1329.  
  1330. if (GetPlayerVehicleID(playerid)) {
  1331. GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
  1332. }
  1333.  
  1334. x += (distance * floatsin(-a, degrees));
  1335. y += (distance * floatcos(-a, degrees));
  1336. }
  1337.  
  1338. stock PlayerWeaponUseAmmo(playerid)
  1339. {
  1340. new weapon = GetPlayerWeapon(playerid);
  1341. switch(weapon)
  1342. {
  1343. case 16..43:
  1344. {
  1345. return 1;
  1346. }
  1347. }
  1348. return 0;
  1349. }
  1350.  
  1351. stock GetPlayerIDFromName(name[])
  1352. {
  1353. new pName[24];
  1354. for(new i = 0; i < MAX_PLAYERS; i++)
  1355. {
  1356. GetPlayerName(i,pName,24);
  1357. if(!strcmp(pName, name, true))
  1358. {
  1359. return i;
  1360. }
  1361. }
  1362. return 0;
  1363. }
  1364.  
  1365. //Anti-Cheat
  1366. stock Float:GetPlayerSpeed(playerid)
  1367. {
  1368. new Float:Speed, Float:SpeedX, Float:SpeedY, Float:SpeedZ;
  1369. if(IsPlayerInAnyVehicle(playerid))
  1370. {
  1371. GetVehicleVelocity(GetPlayerVehicleID(playerid), SpeedX, SpeedY, SpeedZ);
  1372. }
  1373. else
  1374. {
  1375. GetPlayerVelocity(playerid, SpeedX, SpeedY, SpeedZ);
  1376. }
  1377. Speed = floatsqroot(floatadd(floatpower(SpeedX, 2.0), floatpower(SpeedY, 2.0)));
  1378. return floatmul(Speed, 200.0);
  1379. }
  1380.  
  1381.  
  1382.  
  1383. public OnPlayerCheat(playerid)
  1384. {
  1385. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  1386. {
  1387. if(GetPlayerSpeed(playerid) > MAX_VEHICLE_SPEED)
  1388. {
  1389. new pName[64], str[130];
  1390. GetPlayerName(playerid, (pName), sizeof(pName));
  1391. format(str,130,"{7D26CD}DeFi-Admin {7D26CD}Anti Cheat{FFFFFF}: {33CCFF}%s (%d) {FFFFFF}Has Been {AA3333}Banned {FFFFFF}For {AA3333}Air Break (Vehicle)", pName, playerid);
  1392. SendClientMessageToAll(white,str);
  1393. BanEx(playerid,"Air Breaking");
  1394. printf(str);
  1395. }
  1396. }
  1397. else if(GetPlayerSurfingVehicleID(playerid) == INVALID_VEHICLE_ID && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
  1398. {
  1399. if(GetPlayerSpeed(playerid) > MAX_PLAYER_SPEED)
  1400. {
  1401. new pName[64], str[130];
  1402. GetPlayerName(playerid, (pName), sizeof(pName));
  1403. format(str,130,"{7D26CD}DeFi-Admin {33CCFF}Anti Cheat{FFFFFF}: {33CCFF}%s (%d) {FFFFFF}Has Been {AA3333}Banned {FFFFFF}For {AA3333}Air Break (Vehicle)", pName, playerid);
  1404. SendClientMessageToAll(0xFF0000FF,str);
  1405. BanEx(playerid,"Airbreak Detected");
  1406. printf(str);
  1407. }
  1408. }
  1409. return 1;
  1410. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement