Guest User

LuxAdmin

a guest
Jul 26th, 2012
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 431.33 KB | None | 0 0
  1.  
  2. /*
  3. Copyright(c), LuxurioN™
  4. ________________________________________________________________________________________________
  5.  
  6. _ _ _ _
  7. | | (_) | \ | |
  8. | | _ ___ ___ _ _ __ _ ___ | \| |
  9. | | | | | \ \/ / | | | '__| |/ _ \| . ` |
  10. | |___| |_| |> <| |_| | | | | (_) | |\ |
  11. \_____/\__,_/_/\_\\__,_|_| |_|\___/\_| \_/
  12.  
  13. ________________________________________________________________________________________________
  14.  
  15.  
  16. ----------------------------------------------------------
  17. . \ / .__. . __. ,
  18. | . . >< [__] _|._ _ (__ _.._.*._ -+-
  19. |___(_|/ \ | |(_][ | ).__)(_.[ |[_) |
  20. |
  21. LuX AdminScript System v1.6 BETA
  22. ---------------------------
  23.  
  24.  
  25. //==============================================================================
  26. --> Details/Questions/suggestions/Updates/Licenses:
  27.  
  28. FORUM-SAMP TOPIC: http://forum.sa-mp.com/index.php?topic=145919.0
  29. */
  30. //==============================================================================
  31. // Includes
  32. //==============================================================================
  33. #include <a_samp>
  34. #include <ldudb>
  35. #include <lfuncs>
  36. #include <ladmin>
  37.  
  38. native WP_Hash(buffer[], len, const str[]);
  39. #pragma dynamic 145000
  40. //==============================================================================
  41. //------------------------------------------------------------------------------
  42. // CONFIGURATION
  43. //------------------------------------------------------------------------------
  44. //==============================================================================
  45. //==============================================================================
  46. // AdminScript Defines Config
  47. // Only Numbers!
  48. //==============================================================================
  49. #define MAX_WARNINGS 3 // Max Warnings
  50. #define MAX_RCON_ATTEMPS 5 // Max Rcon Attemps
  51. #define MAX_REPORTS 7 // Number Max of Reports per Player
  52. #define MAX_CHAT_LINES 7 // Number of chat lines to view in Sv Console
  53. #define SPAM_MAX_MSGS 5 // Max Spam Messages
  54. #define SPAM_TIMELIMIT 8 // In seconds
  55. #define PING_MAX_EXCEEDS 4 // Max Ping Exceeds
  56. #define PING_TIMELIMIT 60 // In seconds
  57. #define MAX_FAIL_LOGINS 3 // Max Login Attempts
  58. #define MAX_ADV_WARNINGS 3 // Max Warnings per Advertisements
  59. #define ANNOUNCES_TIME 6000 // Duration(Miliseconds) of every message in announcements (Only if "Announcements" is enabled) (Default: 6 secs)
  60. //==============================================================================
  61. // -> Disable/Enable
  62. // true = Enable | false = Disable
  63. //==============================================================================
  64. #define EnableSpec true // Enable/Disable Spectating System (If you already using disable it. Set to 'false')
  65. #define SaveLogs true // Set 'false' if your server runs Linux (Logs wont be Saved!)
  66. #define PM_CHAT_LOG true // Enable/Disable to save PMs in Log
  67. #define ADM_CHAT_LOG true // Enable/Disable to save AdmChat in Log
  68. #define USE_DIALOGS true // Enable/Disable All Dialogs (Not Disable SERVER PASSWORD DIALOG)
  69. #define USE_STATS true // Enable/Disable Statistics
  70. #define ADM_InMSG false // Put 'admin' in all messages sent by administrators (Ex: David(Admin): Welcome...)
  71. #define SaveScore true // Enable/Disable to save Player's Score
  72. #define GpsCheckPoint true // Enable/Disable use RaceCheckpoints for indicate players In GPS.
  73. #define GpsOnlyCity true // True = Gps Show Only player City | False = Gps Show Player City and Zone.
  74. #define ConfigInConsole true // Enable/Disable to Show Basic AdmScript Configuration in Console (When start the AdmScript)
  75. #define EnableTwoRcon false // Enable/Disable Two Rcon Passwords (2 Rcon passwords for more security!)
  76. #define EnableCamHack true // Enable/Disable LuxCam System - Administrators can move the camera! (Original By Sandra, modified by Me)
  77. #define EnablePM_Cmd true // Enable/Disable PM Command
  78.  
  79. //==============================================================================
  80. // -> Only SA-MP Keys (Use 0 to disable)
  81. //==============================================================================
  82. #define ExecuteCmdKey KEY_ANALOG_LEFT // Enable/Disable dialog for execute commands open with pressed Key!
  83. //==============================================================================
  84. // -> Use Two Rcon Passwords (Only if 'EnableTwoRcon' is enabled(True) !)
  85. //==============================================================================
  86. #define TwoRconPass "changeme" //Define the Second RCON Password
  87. //==============================================================================
  88. // -> Account Commands
  89. // WARNING: Not exceed 20 characters and is not recommended to use spaces!
  90. //==============================================================================
  91. #define RegisterCommand register // Define the Register Command
  92. #define LoginCommand login // Define the Login Command
  93. #define ChangePassCommand changepass // Define the ChangePassword Command
  94. //==============================================================================
  95. // -> Admin Name COLOR (In command /ADMINS) (Default: LIGHTBLUE2 and Orange)
  96. //==============================================================================
  97. #define Color_Basic_Moderator orange //Level 1
  98. #define Color_Moderator orange //Level 2
  99. #define Color_Master_Moderator orange //Level 3
  100. #define Color_Administrator orange //Level 4
  101. #define Color_Master_Administrator orange //Level 5
  102. #define Color_Professional_Admin orange //Level +5 (ex:6,7,8...)
  103. #define Color_RCON_Administrator LIGHTBLUE2 //Rcon Admin
  104. //==============================================================================
  105. // -> CamHack Configurations
  106. // WARNING: Not modify if you not have experience!
  107. //==============================================================================
  108. #if EnableCamHack == true
  109. #define SPEED_ROTATE_LEFTRIGHT_SLOW 0.5
  110. #define SPEED_ROTATE_LEFTRIGHT_FAST 2.0
  111. #define SPEED_ROTATE_UPDOWN_SLOW 0.05
  112. #define SPEED_ROTATE_UPDOWN_FAST 0.15
  113. #define SPEED_MOVE_UPDOWN_SLOW 0.25
  114. #define SPEED_MOVE_UPDOWN_FAST 1.0
  115. #define SPEED_MOVE_FORWARDBACKWARD_SLOW 0.4
  116. #define SPEED_MOVE_FORWARDBACKWARD_FAST 2.0
  117. #define SPEED_MOVE_LEFTRIGHT_SLOW 0.4
  118. #define SPEED_MOVE_LEFTRIGHT_FAST 2.0
  119. #endif
  120. //==============================================================================
  121. //CONFIG END!
  122. //-----------
  123. //==============================================================================
  124. // Colours
  125. //==============================================================================
  126. #define LIGHTGREEN 0x38FF06FF
  127. #define LIGHTBLUE2 0xF6BB0AA
  128. #define LIGHTBLUE 0x0BBF6AA
  129. #define COLOR_GREEN 0x33AA33AA
  130. #define COLOR_PINK 0xFF66FFAA
  131. #define COLOR_BLUE 0x0000BBAA
  132. #define COLOR_PURPLE 0x800080AA
  133. #define COLOR_BLACK 0x000000AA
  134. #define COLOR_WHITE 0xFFFFFFAA
  135. #define COLOR_GREEN1 0x33AA33AA
  136. #define COLOR_BROWN 0xA52A2AAA
  137. #define blue 0x375FFFFF
  138. #define BlueMsg 0x0BBF6AA
  139. #define white 0xFFFFFFAA
  140. #define red 0xFF0000AA
  141. #define lightred 0xFB0000AA
  142. #define green 0x33FF33AA
  143. #define yellow 0xFFFF00AA
  144. #define grey 0xC0C0C0AA
  145. #define Green1 0x129E12FF
  146. #define Green2 0x53D212FF
  147. #define blue1 0x2641FEAA
  148. #define orange 0xFF9900AA
  149. #define black 0x2C2727AA
  150. //==============================================================================
  151. // DCMD
  152. //==============================================================================
  153. #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
  154. #define dcmd2(%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
  155. //==============================================================================
  156. // CapsLock
  157. //==============================================================================
  158. #define UpperToLower(%1) for(new ToLowerChar; ToLowerChar < strlen( %1 ); ToLowerChar ++ ) if ( %1[ ToLowerChar ]> 64 && %1[ ToLowerChar ] < 91 ) %1[ ToLowerChar ] += 32
  159. //==============================================================================
  160. // Spectator
  161. //==============================================================================
  162. #define ADMIN_SPEC_TYPE_NONE 0
  163. #define ADMIN_SPEC_TYPE_PLAYER 1
  164. #define ADMIN_SPEC_TYPE_VEHICLE 2
  165. //==============================================================================
  166. // Dialogs
  167. //==============================================================================
  168. #define DIALOGID 2222
  169. #define DIALOG_TYPE_SERVLOCK 7002
  170. #define DIALOG_TYPE_SERVUNLOCK 7001
  171. #define DIALOG_TYPE_SERVPASS 7003
  172. #define DIALOG_TYPE_RCON2 7004
  173. #define DIALOG_TYPE_QUESTION 7010
  174. #define DIALOG_TYPE_PM 7000
  175. //==============================================================================
  176. // Zones
  177. //==============================================================================
  178. #define MAX_ZONE_NAME 28
  179. //==============================================================================
  180. // Variables
  181. //==============================================================================
  182. //==============================================================================
  183. // -> Random Messages (Announcements)
  184. //(Only if "Announcements" is enable in Config file)
  185. //==============================================================================
  186. new RandomMessages[][] =
  187. {
  188. "Suspect of ~r~Cheaters? ~w~Use ~y~/report [id] [Reason]",
  189. "Respect ~b~all server ~y~Rules!",
  190. "Buy a ~g~VIP ~w~Account ~b~Today! For access lot of new ~y~features!",
  191. "You not visited we ~g~site?~w~ Visit now: ~p~www.Here.com"
  192. };
  193. //==============================================================================
  194.  
  195.  
  196. #if EnablePM_Cmd == true
  197. new PmReceiver[MAX_PLAYER_NAME];
  198. new PMplayer1;
  199. #endif
  200.  
  201. enum e_Register {
  202. sCommand[12],
  203. CommandLen
  204. }
  205.  
  206. new RegisterCommands[3][e_Register]= {
  207. {""#RegisterCommand"",-1},{""#LoginCommand"",-1},{""#ChangePassCommand"",-1}
  208. };
  209.  
  210. #define CMD_REGISTER \
  211. RegisterCommands[0][sCommand]
  212. #define CMD_REGISTER_LEN \
  213. RegisterCommands[0][CommandLen]
  214.  
  215. #define CMD_LOGIN \
  216. RegisterCommands[1][sCommand]
  217. #define CMD_LOGIN_LEN \
  218. RegisterCommands[1][CommandLen]
  219.  
  220. #define CMD_CHANGEPASS \
  221. RegisterCommands[2][sCommand]
  222. #define CMD_CHANGEPASS_LEN \
  223. RegisterCommands[2][CommandLen]
  224.  
  225.  
  226. #if EnableCamHack == true
  227.  
  228.  
  229. new Float:PCP[MAX_PLAYERS][3]; // PCP = PlayerCameraPosition
  230. new Float:PCL[MAX_PLAYERS][3]; // PCL = PlayerCameraLookat
  231. new Float:PCA[MAX_PLAYERS]; // PCA = PlayerCameraAngle
  232.  
  233. new KeyTimer[MAX_PLAYERS];
  234. new KeyState[MAX_PLAYERS];
  235. new FollowOn[MAX_PLAYERS];
  236. #endif
  237.  
  238.  
  239. new cd_f,cd_sec,cd_timer, CdStated = 0, cdt[MAX_PLAYERS] = -1;
  240.  
  241. new Text:Announcements;
  242.  
  243. new AdminArea[6] = { 377,170,1008,90,3,0 //X,Y,Z,Angle,Interior,VirtualWorld
  244. };
  245.  
  246. new LVersion[] = "v1.6 Beta";
  247.  
  248. enum PlayerData
  249. {
  250. Registered,
  251. LoggedIn,
  252. pVip,
  253. Level,
  254. Muted,
  255. SpamCount,
  256. MaxAdv,
  257. #if EnableTwoRcon == true
  258. MaxRcon,
  259. #endif
  260. SpamTime,
  261. Caps,
  262. Kills,
  263. Deaths,
  264. God,
  265. Spawned,
  266. TimesSpawned,
  267. hours,
  268. mins,
  269. secs,
  270. MuteWarnings,
  271. Warnings,
  272. TotalTime,
  273. ConnectTime,
  274. GodCar,
  275. pColour,
  276. pCar,
  277. DoorsLocked,
  278. Frozen,
  279. FreezeTime,
  280. PingTime,
  281. PingCount,
  282. pPing[PING_MAX_EXCEEDS],
  283. BotPing,
  284. Hide,
  285. OnDuty,
  286. Jailed,
  287. JailTime,
  288. blipS,
  289. blip,
  290. SpecType,
  291. SpecID,
  292. FailLogin,
  293. bool:AllowedIn,
  294. pCaged,
  295. pInvis,
  296. pCageTime,
  297. pGps,
  298. NoQuestion,
  299. #if EnableCamHack == true
  300. InCamMod,
  301. LockedCam,
  302. #endif
  303. };
  304. enum ServerData
  305. {
  306. AntiSwear,
  307. AntiSpam,
  308. MaxAdminLevel,
  309. MaxPing,
  310. ReadPMs,
  311. Locked,
  312. Password[128],
  313. ReadCmds,
  314. NoCaps,
  315. AntiBot,
  316. AdminOnlySkins,
  317. AdminSkin,
  318. AdminSkin2,
  319. NameKick,
  320. PartNameKick,
  321. ConnectMessages,
  322. DisableChat,
  323. AdminCmdMsg,
  324. GiveMoney,
  325. GiveWeap,
  326. AutoLogin,
  327. MustLogin,
  328. MustRegister,
  329. ForbiddenWeaps,
  330. MaxMuteWarnings,
  331. AntiAds,
  332. Announce,
  333. };
  334.  
  335.  
  336. new AccInfo[MAX_PLAYERS][PlayerData],
  337. ServerInfo[ServerData],
  338. AdmRank[128],
  339. AdmDuty[128],
  340. AccType[128],
  341. ServerLockPass[128],
  342. BadWords[100][100], BadWordsCount = 0,
  343. Float:Pos[MAX_PLAYERS][4],
  344. Chat[MAX_CHAT_LINES][128],
  345. PingTimer,
  346. GodTimer,
  347. BlockedPartName[100][100], BlockedPartNameCount = 0,
  348. Float:LPosX[MAX_PLAYERS],
  349. Float:LPosY[MAX_PLAYERS],
  350. Float:LPosZ[MAX_PLAYERS],
  351. PingPos,
  352. IsDisable[MAX_PLAYERS],
  353. pColor;
  354.  
  355. new Text:GpsTD[MAX_PLAYERS];
  356.  
  357. new VehicleNames[212][] = {
  358. {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},
  359. {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},
  360. {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},
  361. {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},
  362. {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},
  363. {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
  364. {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},
  365. {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
  366. {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
  367. {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},
  368. {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},
  369. {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},
  370. {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},
  371. {"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
  372. {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},
  373. {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},
  374. {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},
  375. {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},
  376. {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},
  377. {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},
  378. {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},
  379. {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
  380. {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
  381. {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},
  382. {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},
  383. {"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},
  384. {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"},
  385. {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},
  386. {"Utility Trailer"}
  387. };
  388.  
  389. new BlockedNames[100][100],
  390. BlockedNamesCount = 0,
  391. BlipTimer[MAX_PLAYERS],
  392. JailTimer[MAX_PLAYERS],
  393. FreezeTimer[MAX_PLAYERS],
  394. LockKickTimer[MAX_PLAYERS],
  395. InDuel[MAX_PLAYERS],
  396. Reports[MAX_REPORTS][128];
  397.  
  398. new cage[MAX_PLAYERS],
  399. cage2[MAX_PLAYERS],
  400. cage3[MAX_PLAYERS],
  401. cage4[MAX_PLAYERS];
  402.  
  403. //==============================================================================
  404. // Forwards
  405. //==============================================================================
  406. forward ConnectedPlayers();
  407. forward Jail1(player1);
  408. forward RandomMessage();
  409. forward VehicleOccupied(vehicleid);
  410. forward WeaponCheck(playerid);
  411. forward CheckKeyPress(playerid);
  412. forward Duel(player1, player2);
  413. forward FollowPlayer(playerid);
  414. forward CagePlayer(playerid);
  415. forward UnCagePlayer(playerid);
  416. forward CagePrevent(playerid);
  417. forward AutoKick(playerid);
  418. forward DelayKillPlayer(playerid);
  419. forward HighLight(playerid);
  420. forward ReturnPosition(playerid);
  421. forward LoadForbiddenWeapons();
  422. forward CarSpawner(playerid,model);
  423. forward VehRes(vehicleid);
  424. forward EraseVeh(vehicleid);
  425. forward Jail2(player1);
  426. forward SaveTeleport();
  427. forward Jail3(player1);
  428. forward JailPlayer(player1);
  429. forward UnjailPlayer(player1);
  430. forward UnFreezeMe(player1);
  431. forward PingKick();
  432. forward UnloadFS();
  433. forward RestartGM();
  434. forward GodModUp();
  435. forward BotCheck(playerid);
  436. forward JailedPlayers();
  437. forward FrozenPlayers();
  438. forward MutedPlayers();
  439. forward InVehTotal();
  440. forward InCarCount();
  441. forward OnBikeCount();
  442. forward SaveIn(filename[],text[]);
  443. forward RconAdminTotal();
  444. forward LuxGpsSys(playerid);
  445. forward PutAtPos(playerid);
  446. forward AdminTotal();
  447. forward CountDown(playerid);
  448. forward PutAtDisconectPos(playerid);
  449. forward MessageToAdmins(color,const string[]);
  450. forward MessageToPlayerVIP(color,const string[]);
  451. forward OnPlayerPrivmsg(playerid, recieverid, text[]);
  452.  
  453. //==============================================================================
  454. //-------------------------------------------------
  455. // FilterScript
  456. //-------------------------------------------------
  457. //==============================================================================
  458.  
  459.  
  460. public OnFilterScriptInit()
  461. {
  462.  
  463. if (!fexist("LuxAdmin/Config/TempBans.ban")){
  464. new File:open = fopen("LuxAdmin/Config/TempBans.ban",io_write);
  465. if (open) fclose(open);
  466. }
  467.  
  468. print("\n ___________________________________________________");
  469. print(" ");
  470. printf(" L.A.S %s ",LVersion);
  471. print(" ---------------");
  472. print(" LuX Administration System ");
  473. print(" ___________________________________________________\n");
  474. print(" -> Loading...");
  475.  
  476. CheckFolders();
  477. UpdateConfig();
  478. ReadTextDraws();
  479. LoadCreatedTeles();
  480.  
  481. for(new i = 0; i < MAX_PLAYERS; i++)
  482. if(IsPlayerConnected(i))
  483. OnPlayerConnect(i);
  484.  
  485. for(new i = 1; i < MAX_CHAT_LINES; i++)
  486. Chat[i] = "[NONE]";
  487.  
  488. for(new i = 1; i < MAX_REPORTS; i++)
  489. Reports[i] = "[NONE]";
  490.  
  491. PingTimer = SetTimer("PingKick",5000,1);
  492. GodTimer = SetTimer("GodModUp",2000,1);
  493. SetTimer("WeaponCheck",800,true);
  494. SetTimer("SaveTeleport",CTELE_TIMER,1);
  495. SetTimer("LuxGpsSys",500,true);
  496. SetTimer("RandomMessage",ANNOUNCES_TIME,1);
  497. ShowConfigInConsole();
  498.  
  499. new year,month,day;
  500. getdate(year, month, day);
  501. new hour,minute,second;
  502. gettime(hour,minute,second);
  503.  
  504.  
  505. for(new i = 0; i < sizeof(RegisterCommands) ; i++ )
  506. RegisterCommands[i][CommandLen]=strlen(RegisterCommands[i][sCommand]);
  507.  
  508.  
  509. print(" -> Loaded Successfully!\n");
  510. printf(" Date: %d/%d/%d - Time: %d:%d:%d",day,month,year,hour, minute, second);
  511. print(" ___________________________________________________\n");
  512. return 1;
  513. }
  514.  
  515. //==============================================================================
  516. public OnFilterScriptExit()
  517. {
  518. for(new i = 0; i < MAX_PLAYERS; i++)
  519. TextDrawHideForPlayer(i, Announcements);
  520.  
  521. KillTimer(PingTimer); KillTimer(GodTimer);
  522. SaveTeleport();
  523.  
  524. print("\n ___________________________________________________");
  525. print(" ");
  526. printf(" L.A.S %s ",LVersion);
  527. print(" -------------");
  528. print(" LuX Administration System ");
  529. print(" ___________________________________________________\n");
  530. print(" -> Unload!");
  531. return 1;
  532. }
  533. //==============================================================================
  534. //-------------------------------------------------
  535. // Player Connected
  536. //-------------------------------------------------
  537. //==============================================================================
  538. public OnPlayerConnect(playerid)
  539. {
  540. #if EnableCamHack == true
  541. KeyState[playerid] = 0;
  542. FollowOn[playerid] = 0;
  543. AccInfo[playerid][InCamMod] = 0;
  544. AccInfo[playerid][LockedCam] = 0;
  545. #endif
  546. AccInfo[playerid][Deaths] = 0;
  547. AccInfo[playerid][Kills] = 0;
  548. AccInfo[playerid][Jailed] = 0;
  549. AccInfo[playerid][Frozen] = 0;
  550. AccInfo[playerid][Level] = 0;
  551. AccInfo[playerid][pVip] = 0;
  552. AccInfo[playerid][LoggedIn] = 0;
  553. AccInfo[playerid][Registered] = 0;
  554. AccInfo[playerid][God] = 0;
  555. AccInfo[playerid][GodCar] = 0;
  556. AccInfo[playerid][TimesSpawned] = 0;
  557. AccInfo[playerid][Muted] = 0;
  558. AccInfo[playerid][MuteWarnings] = 0;
  559. AccInfo[playerid][Warnings] = 0;
  560. AccInfo[playerid][Caps] = 0;
  561. AccInfo[playerid][DoorsLocked] = 0;
  562. AccInfo[playerid][pCar] = -1;
  563. AccInfo[playerid][SpamCount] = 0;
  564. AccInfo[playerid][MaxAdv] = 0;
  565. AccInfo[playerid][SpamTime] = 0;
  566. AccInfo[playerid][PingCount] = 0;
  567. AccInfo[playerid][PingTime] = 0;
  568. AccInfo[playerid][FailLogin] = 0;
  569. AccInfo[playerid][Hide] = 0;
  570. AccInfo[playerid][pInvis] = 0;
  571. AccInfo[playerid][OnDuty] = 0;
  572. AccInfo[playerid][pGps] = -1;
  573.  
  574. #if EnableTwoRcon == true
  575. AccInfo[playerid][MaxRcon] = 0;
  576. #endif
  577.  
  578. AccInfo[playerid][ConnectTime] = gettime();
  579. for(new i; i<PING_MAX_EXCEEDS; i++)
  580. AccInfo[playerid][pPing][i] = 0;
  581. //------------------------------------------------------
  582. new string[128];
  583. new str[128];
  584. new file[256];
  585. new PlayerName[MAX_PLAYER_NAME];
  586. GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
  587. new tmp3[50]; GetPlayerIp(playerid,tmp3,50);
  588.  
  589. ResetForbiddenWeaponsForPlayer(playerid);
  590. TempBanCheck(playerid);
  591. //==============================================================================
  592. // Connect Messages
  593. //==============================================================================
  594. if(ServerInfo[ConnectMessages] == 1)
  595. {
  596. new pAKA[256];
  597. pAKA = dini_Get("LuxAdmin/Config/aka.txt",tmp3);
  598. if (strlen(pAKA) < 3)
  599. format(str,sizeof(str),"* Player %s (Id:%d) has joined the server", PlayerName,playerid);
  600. else if (!strcmp(pAKA,PlayerName,true))
  601. format(str,sizeof(str),"* Player %s (Id:%d) has joined the server", PlayerName,playerid);
  602. else format(str,sizeof(str),"Player %s (Id:%d) has joined the server (Aka: %s)",PlayerName,playerid,pAKA);
  603.  
  604. for(new i = 0; i < MAX_PLAYERS; i++)
  605. if(IsPlayerConnected(i) && playerid != i)
  606. {
  607. if(AccInfo[i][Level] > 2)
  608. SendClientMessage(i,grey,str);
  609. else
  610. {
  611. format(string,sizeof(string),"* Player %s (Id:%d) has joined the server", PlayerName, playerid);
  612. SendClientMessage(i,grey,string);
  613. }
  614. }
  615. }
  616. //==============================================================================
  617. // If PlayerName is Banned
  618. //==============================================================================
  619. if (dUserINT(PlayerName2(playerid)).("Banned") == 1)
  620. {
  621. SendClientMessage(playerid, red, "ATTENTION: This name is banned from this server!");
  622. format(string,sizeof(string),"|- Player %s (Id:%d) has beenAutomatically Kicked. | Reason: Name Banned! -|",PlayerName,playerid);
  623. SendClientMessageToAll(red, string); print(string);
  624. SaveIn("KickLog",string); Kick(playerid);
  625. }
  626. //==============================================================================
  627. // Kick Forbidden Name
  628. //==============================================================================
  629. if(ServerInfo[NameKick] == 1)
  630. {
  631. for(new s = 0; s < BlockedNamesCount; s++)
  632. {
  633. if(!strcmp(BlockedNames[s],PlayerName,true))
  634. {
  635. SendClientMessage(playerid,red, "ATTENTION: Your name is on our Black List, you have been Kicked.");
  636. format(string,sizeof(string),"|- Player %s (Id:%d) has been Automatically Kicked. | Reason: Forbidden Name -|",PlayerName,playerid);
  637. SendClientMessageToAll(red, string);
  638. print(string);
  639. SaveIn("KickLog",string);
  640. Kick(playerid);
  641. return 1;
  642. }
  643. }
  644. }
  645. //==============================================================================
  646. // Kick Forbidden Part of Name
  647. //==============================================================================
  648. if(ServerInfo[PartNameKick] == 1)
  649. {
  650. for(new s = 0; s < BlockedPartNameCount; s++)
  651. {
  652. new pos;
  653. while((pos = strfind(PlayerName,BlockedPartName[s],true)) != -1)
  654. for(new i = pos, j = pos + strlen(BlockedPartName[s]); i < j; i++)
  655. {
  656. SendClientMessage(playerid,red, "ATTENTION: Your name is not Allowed on this server, you have been Kicked!.");
  657. format(string,sizeof(string),"|- Player %s (Id:%d) has been Automatically Kicked. | Reason: Forbidden Name -|",PlayerName,playerid);
  658. SendClientMessageToAll(red, string); print(string);
  659. SaveIn("KickLog",string); Kick(playerid);
  660. return 1;
  661. }
  662. }
  663. }
  664. //==============================================================================
  665. // Server Locked
  666. //==============================================================================
  667. if(ServerInfo[Locked] == 1)
  668. {
  669. AccInfo[playerid][AllowedIn] = false;
  670. SendClientMessage(playerid,red,"|- Server is Locked! -|");
  671. SendClientMessage(playerid,red,"|- You have 40 seconds to enter the server Password! -|");
  672. LockKickTimer[playerid] = SetTimerEx("AutoKick", 40000, 0, "i", playerid);
  673. }
  674. if (ServerInfo[Locked] == 1 && AccInfo[playerid][AllowedIn] == false)
  675. {
  676. ShowPlayerDialog(playerid, DIALOG_TYPE_SERVPASS, DIALOG_STYLE_INPUT,
  677. "Server Locked!.", "Enter the password to Access it:", "Access", "Exit");
  678. }
  679. //==============================================================================
  680. // Register & Login
  681. //==============================================================================
  682. if(strlen(dini_Get("LuxAdmin/Config/aka.txt", tmp3)) == 0)
  683. dini_Set("LuxAdmin/Config/aka.txt", tmp3, PlayerName);
  684. else
  685. {
  686. if( strfind( dini_Get("LuxAdmin/Config/aka.txt", tmp3), PlayerName, true) == -1 )
  687. {
  688. format(string,sizeof(string),"%s,%s", dini_Get("LuxAdmin/Config/aka.txt",tmp3), PlayerName);
  689. dini_Set("LuxAdmin/Config/aka.txt", tmp3, string);
  690. }
  691. }
  692. if(!udb_Exists(PlayerName2(playerid)))
  693. SendClientMessage(playerid,orange, "Your account isn't registered. Please register (/"#RegisterCommand")");
  694. else
  695. {
  696. AccInfo[playerid][Registered] = 1;
  697. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName));
  698. new tmp2[256]; tmp2 = dini_Get(file,"Ip");
  699.  
  700. if( (!strcmp(tmp3,tmp2,true)) && (ServerInfo[AutoLogin] == 1))
  701. {
  702. LoginPlayer(playerid);
  703. if(AccInfo[playerid][Level] > 0)
  704. {
  705. switch(AccInfo[playerid][Level])
  706. {
  707. case 1: AdmRank = "Basic Moderator";
  708. case 2: AdmRank = "Moderator";
  709. case 3: AdmRank = "Master Moderator";
  710. case 4: AdmRank = "Administrator";
  711. case 5: AdmRank = "Master Administrator";
  712. }
  713. if(AccInfo[playerid][Level] > 5)
  714. {
  715. AdmRank = "Professional Admin";
  716. }
  717.  
  718. //==============================================================================
  719. // VIP System
  720. //==============================================================================
  721. if(AccInfo[playerid][pVip] > 0)
  722. {
  723. switch(AccInfo[playerid][pVip])
  724. {
  725. case 1: AccType = "Silver";
  726. case 2: AccType = "Gold";
  727. case 3: AccType = "Premium";
  728. }
  729. format(string,sizeof(string),"You have been Automatically Logged in | Account: %s | Level %d - %s", AccType, AccInfo[playerid][Level],AdmRank);
  730. SendClientMessage(playerid,0x00C378AA,string);
  731. }
  732. else
  733. {
  734. format(string,sizeof(string),"You have been Automatically Logged in | Level %d - %s", AccInfo[playerid][Level],AdmRank);
  735. SendClientMessage(playerid,green,string);
  736. }
  737. //==============================================================================
  738. }
  739. else
  740. {
  741. if(AccInfo[playerid][pVip] > 0)
  742. {
  743. switch(AccInfo[playerid][pVip])
  744. {
  745. case 1: AccType = "Silver";
  746. case 2: AccType = "Gold";
  747. case 3: AccType = "Premium";
  748. }
  749. format(string,sizeof(string),"You have been Automatically Logged in - Account Type: %s", AccType);
  750. SendClientMessage(playerid,0x00C896AA,string);
  751. }
  752. else
  753. {
  754. format(string,sizeof(string),"You have been Automatically Logged in");
  755. SendClientMessage(playerid,green,string);
  756. }
  757. }
  758. }
  759. else SendClientMessage(playerid, white, "That account is registered!") &&
  760. SendClientMessage(playerid, orange, "Please login to access your Account (/"#LoginCommand")");
  761. }
  762. return 1;
  763. }
  764. //==============================================================================
  765. // Automatic Kick
  766. //==============================================================================
  767. public AutoKick(playerid)
  768. {
  769. if( IsPlayerConnected(playerid) && ServerInfo[Locked] == 1 && AccInfo[playerid][AllowedIn] == false)
  770. {
  771. new string[128];
  772. SendClientMessage(playerid,grey,"|- You have been Automatically Kicked. | Reason: Server Locked -|");
  773. format(string,sizeof(string),"|- Player %s (Id:%d) has been Automatically Kicked. | Reason: Server Locked -|",PlayerName2(playerid),playerid);
  774. SaveIn("KickLog",string);
  775. Kick(playerid);
  776. SendClientMessageToAll(red, string);
  777. print(string);
  778. }
  779. return 1;
  780. }
  781. //==============================================================================
  782. //-------------------------------------------------
  783. // Player Disconnect
  784. //-------------------------------------------------
  785. //==============================================================================
  786. public OnPlayerDisconnect(playerid, reason)
  787. {
  788. new PlayerName[MAX_PLAYER_NAME], str[128];
  789. GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  790.  
  791. if(AccInfo[playerid][LoggedIn] == 1)
  792. SavePlayerStats(playerid);
  793.  
  794. if(udb_Exists(PlayerName2(playerid))) dUserSetINT(PlayerName2(playerid)).("Loggedin",0);
  795. AccInfo[playerid][LoggedIn] = 0;
  796. AccInfo[playerid][Level] = 0;
  797. AccInfo[playerid][pVip] = 0;
  798. AccInfo[playerid][Jailed] = 0;
  799. AccInfo[playerid][pCaged] = 0;
  800. AccInfo[playerid][MaxAdv] = 0;
  801. AccInfo[playerid][Frozen] = 0;
  802. AccInfo[playerid][Hide] = 0;
  803. AccInfo[playerid][OnDuty] = 0;
  804. AccInfo[playerid][pInvis] = 0;
  805. AccInfo[playerid][pGps] = -1;
  806.  
  807. #if EnableTwoRcon == true
  808. AccInfo[playerid][MaxRcon] = 0;
  809. #endif
  810.  
  811. if(AccInfo[playerid][Jailed] == 1)
  812. KillTimer( JailTimer[playerid] );
  813.  
  814. if(AccInfo[playerid][Frozen] == 1)
  815. KillTimer( FreezeTimer[playerid] );
  816.  
  817. if(ServerInfo[Locked] == 1)
  818. KillTimer( LockKickTimer[playerid] );
  819.  
  820. if(AccInfo[playerid][pCar] != -1) EraseVeh(AccInfo[playerid][pCar]);
  821. //------------------------------------------------------------------------------
  822. // Spectating
  823. //------------------------------------------------------------------------------
  824. for(new x=0; x<MAX_PLAYERS; x++)
  825. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
  826. AdvanceSpectate(x);
  827. //------------------------------------------------------------------------------
  828. if(ServerInfo[ConnectMessages] == 1)
  829. {
  830. switch (reason)
  831. {
  832. case 0:
  833. format(str, sizeof(str), "* Player %s (Id:%d) has left the Server (Timeout)", PlayerName, playerid);
  834. case 1:
  835. format(str, sizeof(str), "* Player %s (Id:%d) has left the Server (Leaving)", PlayerName, playerid);
  836. case 2:
  837. format(str, sizeof(str), "* Player %s (Id:%d) has left the Server (Kicked/Banned)", PlayerName, playerid);
  838. }
  839. SendClientMessageToAll(grey, str);
  840. }
  841. #if EnableCamHack == true
  842. if(AccInfo[playerid][InCamMod] == 1)
  843. {
  844. KillTimer(KeyTimer[playerid]);
  845. AccInfo[playerid][InCamMod] = 0;
  846. }
  847. #endif
  848. return 1;
  849. }
  850. public DelayKillPlayer(playerid)
  851. {
  852. SetPlayerHealth(playerid,0.0);
  853. ForceClassSelection(playerid);
  854. }
  855.  
  856. stock GetServerHostName()
  857. {
  858. new gString[256];
  859. GetServerVarAsString("hostname", gString, sizeof(gString));
  860. return gString;
  861. }
  862.  
  863.  
  864. public OnPlayerRequestSpawn(playerid)
  865. {
  866. // Request Register
  867. #if USE_DIALOGS == false
  868. if(AccInfo[playerid][Registered] == 0 && ServerInfo[MustRegister] == 1 && (!IsPlayerNPC(playerid))){
  869. SendClientMessage(playerid,lightred,"Your account isn't registered. Please Register! | /"#RegisterCommand" [Password]");
  870. return 0;
  871. }
  872. // Request Login
  873. if(ServerInfo[MustLogin] == 1 && AccInfo[playerid][Registered] == 1 && AccInfo[playerid][LoggedIn] == 0 && (!IsPlayerNPC(playerid))){
  874. SendClientMessage(playerid,lightred,"Your account is registered. Please Login! | /"#LoginCommand" [Password]");
  875. return 0;
  876. }
  877. #endif
  878. return 1;
  879. }
  880. //==============================================================================
  881. //-------------------------------------------------
  882. // Player Spawn
  883. //-------------------------------------------------
  884. //==============================================================================
  885. public OnPlayerSpawn(playerid)
  886. {
  887. //==============================================================================
  888. // Request Register
  889. //==============================================================================
  890. if(AccInfo[playerid][Registered] == 0 && ServerInfo[MustRegister] == 1)
  891. {
  892. #if USE_DIALOGS == true
  893. new rstring[256];
  894. format(rstring,256,"{D7E4F0}Welcome to {FF9933}%s {D7E4F0}\n\nAccount {33CCFF}%s {D7E4F0}is not registred!\n\nEnter the password to Register your Account:",GetServerHostName(),pName(playerid));
  895. ShowPlayerDialog(playerid,DIALOGID+66,DIALOG_STYLE_INPUT,"Register Account",rstring,"Register","Quit");
  896. #endif
  897. return 1;
  898. }
  899. //==============================================================================
  900. // Request Login
  901. //==============================================================================
  902. if(ServerInfo[MustLogin] == 1 && AccInfo[playerid][Registered] == 1 && AccInfo[playerid][LoggedIn] == 0)
  903. {
  904. #if USE_DIALOGS == true
  905. new lstring[256];
  906. format(lstring,256,"{D7E4F0}That account {33CCFF}%s {D7E4F0}is Registered!\n\n Login to access your Account:",pName(playerid));
  907. ShowPlayerDialog(playerid,DIALOGID+67,DIALOG_STYLE_INPUT,"Login Account",lstring,"Login","Quit");
  908. #endif
  909. return 1;
  910. }
  911. //==============================================================================
  912. // Player Frozen (Prevent scape)
  913. //==============================================================================
  914. AccInfo[playerid][Spawned] = 1;
  915.  
  916. if(AccInfo[playerid][Frozen] == 1) {
  917. TogglePlayerControllable(playerid,false);
  918. return SendClientMessage(playerid,red,"|- You cant escape your punishment. You Are Still Frozen -|");
  919. }
  920. //==============================================================================
  921. // Player Jail (Prevent scape)
  922. //==============================================================================
  923. if(AccInfo[playerid][Jailed] == 1) {
  924. SetTimerEx("JailPlayer",3000,0,"d",playerid);
  925. return SendClientMessage(playerid,red,"|- You cant escape your punishment. You Are Still In Jail -|");
  926. }
  927. //==============================================================================
  928. // Administrators Skins/Prevent players to use
  929. //==============================================================================
  930.  
  931.  
  932. //==============================================================================
  933. // Verify player in CAGE
  934. //==============================================================================
  935. if(AccInfo[playerid][pCaged] == 1)
  936. {
  937. SetTimerEx("CagePrevent", 300, 0, "i", playerid);
  938. }
  939. if(ServerInfo[Announce] == 1)
  940. TextDrawShowForPlayer(playerid, Announcements);
  941. //==============================================================================
  942. // Weapons
  943. //==============================================================================
  944. if(ServerInfo[GiveWeap] == 1)
  945. {
  946. if(AccInfo[playerid][LoggedIn] == 1)
  947. {
  948. AccInfo[playerid][TimesSpawned]++;
  949. if(AccInfo[playerid][TimesSpawned] == 1)
  950. {
  951. GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon1"),dUserINT(PlayerName2(playerid)).("Weapon1Ammo"));
  952. GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon2"),dUserINT(PlayerName2(playerid)).("Weapon2Ammo"));
  953. GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon3"),dUserINT(PlayerName2(playerid)).("Weapon3Ammo"));
  954. GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon4"),dUserINT(PlayerName2(playerid)).("Weapon4Ammo"));
  955. GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon5"),dUserINT(PlayerName2(playerid)).("Weapon5Ammo"));
  956. GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon6"),dUserINT(PlayerName2(playerid)).("Weapon6Ammo"));
  957. }
  958. }
  959. }
  960. return 1;
  961. }
  962.  
  963. //==============================================================================
  964. //-------------------------------------------------
  965. // Player Death
  966. //-------------------------------------------------
  967. //==============================================================================
  968. public OnPlayerDeath(playerid, killerid, reason)
  969. {
  970. #if USE_STATS == true
  971. AccInfo[playerid][Deaths]++;
  972. #endif
  973. InDuel[playerid] = 0;
  974.  
  975. if(AccInfo[playerid][pCaged] == 1)
  976. {
  977. cage[playerid] = DestroyObject(cage[playerid]);
  978. cage2[playerid] = DestroyObject(cage2[playerid]);
  979. cage3[playerid] = DestroyObject(cage3[playerid]);
  980. cage4[playerid] = DestroyObject(cage4[playerid]);
  981. }
  982.  
  983. if(IsPlayerConnected(killerid) && killerid != INVALID_PLAYER_ID)
  984. {
  985. #if USE_STATS == true
  986. AccInfo[killerid][Kills]++;
  987. #endif
  988. //==============================================================================
  989. // In Duel
  990. //==============================================================================
  991. if(InDuel[playerid] == 1 && InDuel[killerid] == 1)
  992. {
  993. GameTextForPlayer(playerid,"Loser!",3000,3);
  994. GameTextForPlayer(killerid,"Winner!",3000,3);
  995. InDuel[killerid] = 0;
  996. SetPlayerPos(killerid, 0.0, 0.0, 0.0);
  997. SpawnPlayer(killerid);
  998. }
  999. else if(InDuel[playerid] == 1 && InDuel[killerid] == 0)
  1000. {
  1001. GameTextForPlayer(playerid,"Loser !",3000,3);
  1002. }
  1003. }
  1004. //==============================================================================
  1005. // Spectate
  1006. //==============================================================================
  1007. for(new x=0; x<MAX_PLAYERS; x++)
  1008. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
  1009. AdvanceSpectate(x);
  1010. return 1;
  1011. }
  1012. //==============================================================================
  1013. //-------------------------------------------------
  1014. // Player Text
  1015. //-------------------------------------------------
  1016. //==============================================================================
  1017. public OnPlayerText(playerid, text[])
  1018. {
  1019. //==============================================================================
  1020. // Vip Chat
  1021. //==============================================================================
  1022. if(text[0] == '*' && AccInfo[playerid][pVip] >= 1)
  1023. {
  1024. new string[128]; GetPlayerName(playerid,string,sizeof(string));
  1025. format(string,sizeof(string),"|ChatVip| %s: %s",string,text[1]);
  1026. MessageToPlayerVIP(0xDC686BAA,string);
  1027. SaveIn("ChatVipLog",string);
  1028. return 0;
  1029. }
  1030. //==============================================================================
  1031. // Administration Chat
  1032. //==============================================================================
  1033. if(text[0] == '#' && AccInfo[playerid][Level] >= 1)
  1034. {
  1035. new string[128]; GetPlayerName(playerid,string,sizeof(string));
  1036. format(string,sizeof(string),"Admin Chat: %s: %s",string,text[1]);
  1037. MessageToAdmins(green,string);
  1038. #if ADM_CHAT_LOG == true
  1039. SaveIn("AdmChatLog",string);
  1040. #endif
  1041. return 0;
  1042. }
  1043. //==============================================================================
  1044. // Chat Disabled
  1045. //==============================================================================
  1046. if(ServerInfo[DisableChat] == 1)
  1047. {
  1048. SendClientMessage(playerid,red,"|- Chat has been Disabled! -|");
  1049. return 0;
  1050. }
  1051. //==============================================================================
  1052. // Player Muted
  1053. //==============================================================================
  1054. if(AccInfo[playerid][Muted] == 1)
  1055. {
  1056. AccInfo[playerid][MuteWarnings]++;
  1057. new string[128];
  1058. if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
  1059. {
  1060. format(string, sizeof(string),"You are Muted! Canno't talk, Wait for admin to Unmute you. (Warnings: %d/%d)",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
  1061. SendClientMessage(playerid,red,string);
  1062. }
  1063. else
  1064. {
  1065. SendClientMessage(playerid,red,"You have been Automatically Kicked. | Reason: Exceeding Mute Warnings");
  1066. format(string, sizeof(string)," %s (ID:%d) has been Automatically Kicked. | Reason: Exceeding Mute Warnings ",PlayerName2(playerid),playerid);
  1067. SendClientMessageToAll(grey,string);
  1068. SaveIn("KickLog",string); Kick(playerid);
  1069. } return 0;
  1070. }
  1071. //==============================================================================
  1072. // Flood/Spam Protection
  1073. //==============================================================================
  1074. if(ServerInfo[AntiSpam] == 1 && (AccInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)))
  1075. {
  1076. if(AccInfo[playerid][SpamCount] == 0) AccInfo[playerid][SpamTime] = TimeStamp();
  1077.  
  1078. AccInfo[playerid][SpamCount]++;
  1079. if(TimeStamp() - AccInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { // Its OK your messages were far enough apart
  1080. AccInfo[playerid][SpamCount] = 0;
  1081. AccInfo[playerid][SpamTime] = TimeStamp();
  1082. }
  1083. else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
  1084. new string[64]; format(string,sizeof(string),"|- Player %s (Id:%d) has been Automatically Kicked. | Reason: Flood/Spam Protection", PlayerName2(playerid),playerid);
  1085. SendClientMessageToAll(grey,string); print(string);
  1086. SaveIn("KickLog",string);
  1087. Kick(playerid);
  1088. }
  1089. else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS-1) {
  1090. SendClientMessage(playerid,red,"ATTENTION: Anti Spam Warning! Next is a Kick!");
  1091. return 0;
  1092. }
  1093. }
  1094. //==============================================================================
  1095. // Send Admin in front of name
  1096. //==============================================================================
  1097. #if ADM_InMSG == true
  1098. if (AccInfo[playerid][Hide] == 0)
  1099. {
  1100. if(AccInfo[playerid][Level] > 0)
  1101. {
  1102. new str3[256];
  1103. format(str3, 256, "(Admin): %s", text);
  1104. for(new gz=0;gz<200;gz++)
  1105. if(IsPlayerConnected(gz))
  1106. SendPlayerMessageToPlayer(gz, playerid, str3);
  1107. else SendPlayerMessageToPlayer(gz, playerid, text);
  1108. }
  1109. return 0;
  1110. }
  1111. #endif
  1112. //==============================================================================
  1113. // Forbidden Words
  1114. //==============================================================================
  1115. if(ServerInfo[AntiSwear] == 1 && AccInfo[playerid][Level] < ServerInfo[MaxAdminLevel])
  1116. for(new s = 0; s < BadWordsCount; s++)
  1117. {
  1118. new pos;
  1119. while((pos = strfind(text,BadWords[s],true)) != -1)
  1120. for(new i = pos, j = pos + strlen(BadWords[s]); i < j; i++) text[i] = '*';
  1121. }
  1122. //==============================================================================
  1123. // Anti Advertisements
  1124. //==============================================================================
  1125. if(ServerInfo[AntiAds] == 1)
  1126. {
  1127. if(AdvertisementCheck(text) && AccInfo[playerid][Level] < 3)
  1128. {
  1129. AccInfo[playerid][MaxAdv]++;
  1130. new string[128];
  1131. format(string,sizeof(string),"|- Warning! Suspected ads in your message! (Warnings: %d/%d)",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
  1132. SendClientMessage(playerid, grey,string);
  1133.  
  1134. if(AccInfo[playerid][MaxAdv] == MAX_ADV_WARNINGS)
  1135. {
  1136. format(string,sizeof(string),"|- You is Automatically Kicked. | Reason: Many ads in your Messages (%d/%d) -|",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
  1137. SendClientMessage(playerid, lightred,string);
  1138.  
  1139. format(string,sizeof(string),"|- Player %s (Id:%d) has beenAutomatically Kicked. | Reason: Many Advertisements! (%d) -|",PlayerName2(playerid),playerid, MAX_ADV_WARNINGS);
  1140. SaveIn("KickLog",string); Kick(playerid);
  1141. SendClientMessageToAll(lightred, string);
  1142. print(string);
  1143. }
  1144. return 0;
  1145. }
  1146. }
  1147. //==============================================================================
  1148. // Block CapsLock
  1149. //==============================================================================
  1150. if(AccInfo[playerid][Caps] == 1)
  1151. UpperToLower(text);
  1152. if(ServerInfo[NoCaps] == 1)
  1153. UpperToLower(text);
  1154.  
  1155. //==============================================================================
  1156. // Chat Lines (Console)
  1157. //==============================================================================
  1158. for(new i = 1; i < MAX_CHAT_LINES-1; i++)
  1159. Chat[i] = Chat[i+1];
  1160. new ChatSTR[128];
  1161. GetPlayerName(playerid,ChatSTR,sizeof(ChatSTR));
  1162. format(ChatSTR,128,"[CHAT]%s: %s",ChatSTR, text[0]);
  1163. Chat[MAX_CHAT_LINES-1] = ChatSTR;
  1164. return 1;
  1165. }
  1166. //==============================================================================
  1167. //-------------------------------------------------
  1168. // Private Message (PM)
  1169. //-------------------------------------------------
  1170. //==============================================================================
  1171. public OnPlayerPrivmsg(playerid, recieverid, text[])
  1172. {
  1173. if(ServerInfo[ReadPMs] == 1 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  1174. {
  1175. //==============================================================================
  1176. // Send PM
  1177. //==============================================================================
  1178. new string[128];
  1179. new pReciever[MAX_PLAYER_NAME];
  1180. GetPlayerName(playerid, string, sizeof(string));
  1181. GetPlayerName(recieverid, pReciever, sizeof(pReciever));
  1182. format(string, sizeof(string), "|- PM: %s To %s: %s", string, pReciever, text);
  1183. for (new a = 0; a < MAX_PLAYERS; a++)
  1184. if(IsPlayerConnected(a) && (AccInfo[a][Level] >= ServerInfo[MaxAdminLevel]) && a != playerid)
  1185. SendClientMessage(a, grey, string);
  1186. #if PM_CHAT_LOG == true
  1187. SaveIn("AdmChatLog",string);
  1188. #endif
  1189. }
  1190. //==============================================================================
  1191. // Muted
  1192. //==============================================================================
  1193. if(AccInfo[playerid][Muted] == 1)
  1194. {
  1195. new string[128];
  1196. AccInfo[playerid][MuteWarnings]++;
  1197. if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
  1198. {
  1199. format(string, sizeof(string),"|- ATTENTION: You are Muted! Cannot talk (Warnings: %d/%d) -|",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
  1200. SendClientMessage(playerid,red,string);
  1201. }
  1202. else
  1203. {
  1204. SendClientMessage(playerid,red,"|- You have been Automatically Kicked. | Reason: Exceeding Mute Warnings -|");
  1205. GetPlayerName(playerid, string, sizeof(string));
  1206. format(string, sizeof(string),"|- Player %s (Id:%d) has been Automatically Kicked. | Reason: Exceeding Mute Warnings -|", string, playerid);
  1207. SendClientMessageToAll(lightred,string);
  1208. SaveIn("KickLog",string);
  1209. Kick(playerid);
  1210. }
  1211. return 0;
  1212. }
  1213. #if EnablePM_Cmd == true
  1214. new string[128];
  1215. format(string,256,"|- PM: Message to '%s(%d)': \"%s\" -|",PmReceiver,PMplayer1,text);
  1216. SendClientMessage(playerid,0x00A765AA,string);
  1217. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  1218.  
  1219. GetPlayerName(playerid, string, sizeof(string));
  1220. format(string, sizeof(string),"|- PM: Message from: %s: \"%s\" -|",string,text);
  1221. SendClientMessage(recieverid,0x00A765AA,string);
  1222. #endif
  1223. return 1;
  1224. }
  1225. //==============================================================================
  1226. //-------------------------------------------------
  1227. // ERROR Messages
  1228. //-------------------------------------------------
  1229. //==============================================================================
  1230. stock ErrorMessages(playerid, errorID)
  1231. {
  1232. if(errorID == 1) return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1233. if(errorID == 2) return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1234. if(errorID == 3) return SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself or is the highest level admin");
  1235. if(errorID == 4) return SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
  1236. if(errorID == 5) return SendClientMessage(playerid,red,"ERROR: You need to be Level 4 to use this Command");
  1237. if(errorID == 6) return SendClientMessage(playerid,red,"ERROR: You need to be Level 3 to use this Command");
  1238. if(errorID == 7) return SendClientMessage(playerid,red,"ERROR: You need to be Level 2 to use this Command");
  1239. if(errorID == 8) return SendClientMessage(playerid,red,"ERROR: You need to be Level 1 to use this Command");
  1240. if(errorID == 9) return SendClientMessage(playerid,red,"ERROR: You need to be Level 5 to use this Command");
  1241. if(errorID == 10) return SendClientMessage(playerid,red,"ERROR: You are not in a vehicle");
  1242. return 1;
  1243. }
  1244. //==============================================================================
  1245. //-------------------------------------------------
  1246. // HighLight
  1247. //-------------------------------------------------
  1248. //==============================================================================
  1249. public HighLight(playerid)
  1250. {
  1251. if(!IsPlayerConnected(playerid))
  1252. return 1;
  1253.  
  1254. if(AccInfo[playerid][blipS] == 0)
  1255. {
  1256. SetPlayerColor(playerid, 0xFF0000AA);
  1257. AccInfo[playerid][blipS] = 1;
  1258. }
  1259. else
  1260. {
  1261. SetPlayerColor(playerid, 0xFFFF00AA);
  1262. AccInfo[playerid][blipS] = 0;
  1263. }
  1264. return 0;
  1265. }
  1266.  
  1267. //==============================================================================
  1268. //-------------------------------------------------
  1269. // COMMANDS
  1270. //-------------------------------------------------
  1271. //==============================================================================
  1272.  
  1273. #if USE_DIALOGS == true
  1274. dcmd_CMD_REGISTER(playerid,params[])
  1275. {
  1276. #pragma unused params
  1277.  
  1278. if (AccInfo[playerid][LoggedIn] == 1)
  1279. return SendClientMessage(playerid,red,"ERROR: You are already registered and logged in.");
  1280.  
  1281. if (udb_Exists(PlayerName2(playerid)))
  1282. return SendClientMessage(playerid,red,"ERROR: This account already exists") &&
  1283. SendClientMessage(playerid,orange,"Login to access your account ('/"#LoginCommand"').");
  1284.  
  1285. new rs2tring[256];
  1286. format(rs2tring,256,"Register new Account: '%s'\n\nEnter the password to Register your Account:",pName(playerid));
  1287. ShowPlayerDialog(playerid,DIALOGID+66,DIALOG_STYLE_INPUT,"Register Account",rs2tring,"Register","Quit");
  1288. return 1;
  1289. }
  1290. dcmd_CMD_LOGIN(playerid,params[])
  1291. {
  1292. #pragma unused params
  1293.  
  1294. new file[128];
  1295. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );
  1296.  
  1297. if (AccInfo[playerid][LoggedIn] == 1)
  1298. return SendClientMessage(playerid,red,"ERROR: You are already logged in!.");
  1299.  
  1300. if (!udb_Exists(PlayerName2(playerid))) return
  1301. SendClientMessage(playerid,red,"ERROR: Account doesn't exist!") &&
  1302. SendClientMessage(playerid,orange,"Register to create your account ('/"#RegisterCommand" [Password]').");
  1303.  
  1304. new lstring[256];
  1305. format(lstring,256,"Access Account: %s\n\nTo access your Account, enter your Password below:",pName(playerid));
  1306. ShowPlayerDialog(playerid,DIALOGID+67,DIALOG_STYLE_INPUT,"Login Account",lstring,"Login","Quit");
  1307. return 1;
  1308. }
  1309. #else
  1310. dcmd_CMD_REGISTER(playerid,params[])
  1311. {
  1312. if (AccInfo[playerid][LoggedIn] == 1)
  1313. return SendClientMessage(playerid,red,"ERROR: You are already registered and logged in.");
  1314.  
  1315. if (udb_Exists(PlayerName2(playerid)))
  1316. return SendClientMessage(playerid,red,"ERROR: This account already exists") &&
  1317. SendClientMessage(playerid,orange,"Login to access your account ('/"#LoginCommand" [password]').");
  1318.  
  1319. if (strlen(params) == 0)
  1320. return SendClientMessage(playerid,orange,"Usage: '/"#RegisterCommand" [password]'");
  1321.  
  1322. if (strlen(params) < 4 || strlen(params) > 20)
  1323. return SendClientMessage(playerid,red,"ERROR: Your password length must be greater than 3 characters");
  1324.  
  1325. if (udb_Create(PlayerName2(playerid)))
  1326. {
  1327. new file[256],name[MAX_PLAYER_NAME], buf[145],tmp3[100];
  1328. new strdate[20], year,month,day;
  1329. getdate(year, month, day);
  1330. WP_Hash(buf, sizeof(buf), params);
  1331. GetPlayerName(playerid,name,sizeof(name));
  1332.  
  1333. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(name));
  1334. GetPlayerIp(playerid,tmp3,100);
  1335. dini_Set(file,"Password",buf);
  1336. dini_Set(file,"Ip",tmp3);
  1337. dUserSetINT(PlayerName2(playerid)).("Registered",1);
  1338. format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
  1339. dini_Set(file,"RegisteredDate",strdate);
  1340. dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
  1341. dUserSetINT(PlayerName2(playerid)).("Banned",0);
  1342. dUserSetINT(PlayerName2(playerid)).("Level",0);
  1343. dUserSetINT(PlayerName2(playerid)).("AccountType",0);
  1344. dUserSetINT(PlayerName2(playerid)).("LastOn",0);
  1345. dUserSetINT(PlayerName2(playerid)).("Money",0);
  1346. dUserSetINT(PlayerName2(playerid)).("Kills",0);
  1347. dUserSetINT(PlayerName2(playerid)).("Deaths",0);
  1348. dUserSetINT(PlayerName2(playerid)).("WantedLevel",0);
  1349. #if SaveScore == true
  1350. dUserSetINT(PlayerName2(playerid)).("Score",0);
  1351. #endif
  1352. dUserSetINT(PlayerName2(playerid)).("Hours",0);
  1353. dUserSetINT(PlayerName2(playerid)).("Minutes",0);
  1354. dUserSetINT(PlayerName2(playerid)).("Seconds",0);
  1355. AccInfo[playerid][LoggedIn] = 1;
  1356. AccInfo[playerid][Registered] = 1;
  1357. SendClientMessage(playerid, green, "You are now Registered, and have been automaticaly Logged in!");
  1358. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  1359. return 1;
  1360. }
  1361. return 1;
  1362. }
  1363. dcmd_CMD_LOGIN(playerid,params[])
  1364. {
  1365. new file[128], Pass[256];
  1366. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );
  1367.  
  1368. if (AccInfo[playerid][LoggedIn] == 1)
  1369. return SendClientMessage(playerid,red,"ERROR: You are already logged in!.");
  1370.  
  1371. if (!udb_Exists(PlayerName2(playerid))) return
  1372. SendClientMessage(playerid,red,"ERROR: Account doesn't exist!") &&
  1373. SendClientMessage(playerid,orange,"Register to create your account ('/"#RegisterCommand" [Password]').");
  1374.  
  1375. if (strlen(params)==0) return
  1376. SendClientMessage(playerid,orange,"Usage: '/"#LoginCommand" [Password]'");
  1377.  
  1378. Pass = dini_Get(file, "Password");
  1379. new buf[145];
  1380. WP_Hash(buf, sizeof(buf), params);
  1381.  
  1382. if(strcmp(Pass, buf, false) == 0)
  1383. {
  1384. new tmp3[100], string[128];
  1385. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );
  1386. GetPlayerIp(playerid,tmp3,100);
  1387. dini_Set(file,"Ip",tmp3);
  1388. LoginPlayer(playerid);
  1389. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  1390.  
  1391. if(AccInfo[playerid][Level] > 0)
  1392. {
  1393. switch(AccInfo[playerid][Level])
  1394. {
  1395. case 1: AdmRank = "Basic Moderator";
  1396. case 2: AdmRank = "Moderator";
  1397. case 3: AdmRank = "Master Moderator";
  1398. case 4: AdmRank = "Administrator";
  1399. case 5: AdmRank = "Master Administrator";
  1400. }
  1401. if(AccInfo[playerid][Level] > 5)
  1402. {
  1403. AdmRank = "Professional Admin";
  1404. }
  1405. if(AccInfo[playerid][pVip] > 0)
  1406. {
  1407. switch(AccInfo[playerid][pVip])
  1408. {
  1409. case 1: AccType = "Silver";
  1410. case 2: AccType = "Gold";
  1411. case 3: AccType = "Premium";
  1412. }
  1413. format(string,sizeof(string),"|- You have Successfully Logged! | Account: %s | Level %d - %s -|", AccType, AccInfo[playerid][Level], AdmRank);
  1414. return SendClientMessage(playerid,0x00C378AA,string);
  1415. }
  1416. else
  1417. {
  1418. format(string,sizeof(string),"|- You have Successfully Logged! | Level %d - %s -|", AccInfo[playerid][Level], AdmRank);
  1419. return SendClientMessage(playerid,green,string);
  1420. }
  1421. }
  1422. else
  1423. {
  1424. if(AccInfo[playerid][pVip] > 0)
  1425. {
  1426. switch(AccInfo[playerid][pVip])
  1427. {
  1428. case 1: AccType = "Silver";
  1429. case 2: AccType = "Gold";
  1430. case 3: AccType = "Premium";
  1431. }
  1432. format(string,sizeof(string),"|- You have Successfully logged! | Account: %s -|", AccType);
  1433. return SendClientMessage(playerid,0x00C896AA,string);
  1434. }
  1435. else return SendClientMessage(playerid,green,"|- You have Successfully logged! -|");
  1436. }
  1437. }
  1438. else
  1439. {
  1440. AccInfo[playerid][FailLogin]++;
  1441. printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), params, AccInfo[playerid][FailLogin] );
  1442. if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  1443. {
  1444. new string[128]; format(string, sizeof(string), "|- Player %s has been automatically kicked (Reason: Many attempts Incorrect Passwords) -|", PlayerName2(playerid) );
  1445. SendClientMessageToAll(red, string);
  1446. print(string);
  1447. Kick(playerid);
  1448. }
  1449. return SendClientMessage(playerid,red,"ERROR: Login failed! Incorrect Password.");
  1450. }
  1451. }
  1452. #endif
  1453. //==============================================================================
  1454. // Stats
  1455. //==============================================================================
  1456. #if USE_STATS == true
  1457. dcmd_resetstats(playerid,params[])
  1458. {
  1459. #pragma unused params
  1460. if(AccInfo[playerid][LoggedIn] == 1)
  1461. {
  1462. dUserSetINT(PlayerName2(playerid)).("oldkills",AccInfo[playerid][Kills]);
  1463. dUserSetINT(PlayerName2(playerid)).("olddeaths",AccInfo[playerid][Deaths]);
  1464. AccInfo[playerid][Kills] = 0;
  1465. AccInfo[playerid][Deaths] = 0;
  1466. dUserSetINT(PlayerName2(playerid)).("Kills",AccInfo[playerid][Kills]);
  1467. dUserSetINT(PlayerName2(playerid)).("Deaths",AccInfo[playerid][Deaths]);
  1468. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  1469. return SendClientMessage(playerid,yellow,"|- You have Successfully reset your Stats! -|");
  1470. }
  1471. else return SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");
  1472. }
  1473. #endif
  1474. #if USE_STATS == true
  1475. dcmd_stats(playerid,params[])
  1476. {
  1477. new str[512], pDeaths, player1, h, m, s;
  1478. if(!strlen(params)) player1 = playerid;
  1479. else player1 = strval(params);
  1480. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, red, "ERROR: Player Not Connected!");
  1481. TotalGameTime(player1, h, m, s);
  1482. if(AccInfo[player1][Deaths] == 0) pDeaths = 1;
  1483. else pDeaths = AccInfo[player1][Deaths];
  1484. format(str, sizeof(str), "{DAA520}%s (ID: %d){B0C4DE}\n\n", PlayerName2(player1), player1);
  1485. format(str, sizeof(str), "%sSkinID: %d\n", str, GetPlayerSkin(player1));
  1486. format(str, sizeof(str), "%sScore: %d\n", str, GetPlayerScore(player1));
  1487. format(str, sizeof(str), "%sKills: %d\n", str, AccInfo[player1][Kills]);
  1488. format(str, sizeof(str), "%sDeaths: %d\n", str, AccInfo[player1][Deaths]);
  1489. format(str, sizeof(str), "%sRatio: %d\n", str, Float:AccInfo[player1][Kills]/Float:pDeaths);
  1490. format(str, sizeof(str), "%sMoney: $%d\n", str, GetPlayerMoney(player1));
  1491. format(str, sizeof(str), "%sPing: %d\n", str, GetPlayerPing(player1));
  1492. format(str, sizeof(str), "%sTime Login: %d hours %d minutes %d seconds\n", str, h, m, s);
  1493. ShowPlayerDialog(playerid, 8435, DIALOG_STYLE_MSGBOX, "Player Statistics", str, "Close", "");
  1494. return 1;
  1495. }
  1496. #endif
  1497.  
  1498. //==============================================================================
  1499. // Password Cmds
  1500. //==============================================================================
  1501. dcmd_CMD_CHANGEPASS(playerid,params[])
  1502. {
  1503. if(AccInfo[playerid][LoggedIn] == 1)
  1504. {
  1505. if(!strlen(params)) return
  1506. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /"#ChangePassCommand" [NewPassword]")
  1507. && SendClientMessage(playerid, orange, "Function: Will modify your account password");
  1508. if(strlen(params) < 4) return SendClientMessage(playerid,red,"ERROR: Incorrect password length!");
  1509. new string[128];
  1510. new file[128], Pass[256];
  1511. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );
  1512. new buf[145];
  1513. WP_Hash(buf, sizeof(buf), params);
  1514. Pass = dini_Get(file, "Password");
  1515. dini_Set(file, "Password", buf);
  1516. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  1517. format(string, sizeof(string),"|- You have successfully changed your account Password to \"%s\" -|",params);
  1518. return SendClientMessage(playerid,yellow,string);
  1519. } else return SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");
  1520. }
  1521.  
  1522. dcmd_setpass(playerid,params[])
  1523. {
  1524. if(AccInfo[playerid][Level] >= 3)
  1525. {
  1526. new string[128], tmp[256], tmp2[256], Index;
  1527.  
  1528. tmp = strtok(params,Index);
  1529. tmp2 = strtok(params,Index);
  1530.  
  1531. if(!strlen(tmp) || !strlen(tmp2)) return
  1532. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setpass [playername] [new password]") &&
  1533. SendClientMessage(playerid, orange, "Function: Will modify account password of specified player");
  1534.  
  1535. if(strlen(tmp2) < 4 || strlen(tmp2) > MAX_PLAYER_NAME)
  1536. return SendClientMessage(playerid,red,"ERROR: Incorrect password length");
  1537. if(udb_Exists(tmp))
  1538. {
  1539. new file[128], Pass[256];
  1540. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
  1541. new buf[145];
  1542. WP_Hash(buf, sizeof(buf), tmp2);
  1543. Pass = dini_Get(file, "Password");
  1544. dini_Set(file, "Password", buf);
  1545. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  1546. format(string, sizeof(string),"|- You have successfully set \"%s's\" account password to \"%s\" -|", tmp, tmp2);
  1547. return SendClientMessage(playerid,yellow,string);
  1548. } else return SendClientMessage(playerid,red, "ERROR: This player doesnt have an account");
  1549. }
  1550. else return ErrorMessages(playerid, 1);
  1551. }
  1552.  
  1553.  
  1554. //==============================================================================
  1555. // Flying Cam System (Original by Sandra - Modified By Me)
  1556. //==============================================================================
  1557.  
  1558. //==========================
  1559. // ENABLE/DISABLE CAM
  1560. //==========================
  1561. #if EnableCamHack == true
  1562. dcmd_lcam(playerid,params[])
  1563. {
  1564. #pragma unused params
  1565. if(AccInfo[playerid][Level] >= 3)
  1566. {
  1567. if(AccInfo[playerid][Spawned] == 1)
  1568. {
  1569. if(AccInfo[playerid][InCamMod] == 0)
  1570. {
  1571. if(AccInfo[playerid][pGps] != -1)
  1572. return SendClientMessage(playerid, red, "ERROR: First Disable the Gps System! (/gps off)");
  1573.  
  1574. if(AccInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE)
  1575. return SendClientMessage(playerid, red, "ERROR: First Disable the Spectating System! (/lspecoff)");
  1576.  
  1577. SendClientMessage(playerid, 0x199B00AA, " ");
  1578. SendClientMessage(playerid, 0x199B00AA, "|- LuX CamSystem - Commands & Controlls -| ");
  1579. SendClientMessage(playerid, 0x47CCB7AA, "*/lcam: Start/Stop Flying Camera Mode");
  1580. SendClientMessage(playerid, 0x47CCB7AA, "*/lockcam: Locks/Unlock the camera and player is free to move.");
  1581. SendClientMessage(playerid, 0x47CCB7AA, "*/follow: Locks the camera and keeps looking at player.");
  1582. SendClientMessage(playerid, 0xFA8072AA, "*Arrow-keys*: Move camera forward/backward/left/right");
  1583. SendClientMessage(playerid, 0xFA8072AA, "*Walk-key + Arrow-keys*: *Move camera up/down");
  1584. SendClientMessage(playerid, 0xFA8072AA, "*Crouch-key + Arrow-keys*: *Rotate camera up/down/left/right");
  1585. SendClientMessage(playerid, 0xFA8072AA, "*Sprint-key*: Speeds up every movement");
  1586.  
  1587. TogglePlayerControllable(playerid, 0);
  1588. AccInfo[playerid][LockedCam] = 0;
  1589. AccInfo[playerid][InCamMod] = 1;
  1590. FollowOn[playerid] = 0;
  1591. GetPlayerPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  1592. GetPlayerFacingAngle(playerid, PCA[playerid]);
  1593.  
  1594. GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~w~~g~Cam System ~y~Enabled!",1000,3);
  1595.  
  1596. if(IsPlayerInAnyVehicle(playerid))
  1597. {
  1598. GetVehicleZAngle(GetPlayerVehicleID(playerid), PCA[playerid]);
  1599. }
  1600. PCL[playerid][0] = PCP[playerid][0];
  1601. PCL[playerid][1] = PCP[playerid][1];
  1602. PCL[playerid][2] = PCP[playerid][2];
  1603. PCP[playerid][0] = PCP[playerid][0] - (5.0 * floatsin(-PCA[playerid], degrees));
  1604. PCP[playerid][1] = PCP[playerid][1] - (5.0 * floatcos(-PCA[playerid], degrees));
  1605. PCP[playerid][2] = PCP[playerid][2]+2.0;
  1606. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  1607. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  1608. KeyTimer[playerid] = SetTimerEx("CheckKeyPress", 50, 1, "i", playerid);
  1609. }
  1610. else
  1611. {
  1612. TogglePlayerControllable(playerid, 1);
  1613. KillTimer(KeyTimer[playerid]);
  1614. AccInfo[playerid][InCamMod] = 0;
  1615. SetCameraBehindPlayer(playerid);
  1616. GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~w~~g~Cam System ~r~Disabled!",1000,3);
  1617. }
  1618. return 1;
  1619. }
  1620. else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Please Spawn First!");
  1621. }
  1622. else return ErrorMessages(playerid, 1);
  1623. }
  1624. //==================================
  1625. // LOCK/UNLOCK CAM/PLAYER POSITION
  1626. //==================================
  1627. dcmd_lockcam(playerid,params[])
  1628. {
  1629. #pragma unused params
  1630. if(AccInfo[playerid][Level] >= 3)
  1631. {
  1632. if(AccInfo[playerid][Spawned] == 1)
  1633. {
  1634. if(AccInfo[playerid][InCamMod] == 1)
  1635. {
  1636. if(FollowOn[playerid] == 0)
  1637. {
  1638. if(AccInfo[playerid][LockedCam] == 0)
  1639. {
  1640. AccInfo[playerid][LockedCam] = 1;
  1641. KillTimer(KeyTimer[playerid]);
  1642. TogglePlayerControllable(playerid, 1);
  1643. SendClientMessage(playerid, 0x00FF00AA, "|- Camera Locked | Player Unlocked! -| ");
  1644. }
  1645. else
  1646. {
  1647. AccInfo[playerid][LockedCam] = 0;
  1648. KeyTimer[playerid] = SetTimerEx("CheckKeyPress", 50, 1, "i", playerid);
  1649. TogglePlayerControllable(playerid, 0);
  1650. SendClientMessage(playerid, 0x00FF00AA, "|- Camera Unlocked | Player Locked! -| ");
  1651. }
  1652. return 1;
  1653. }
  1654. else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Please turn the Follow-Mode off First! (/follow)");
  1655. }
  1656. else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: You're not in the Flying Camera Mode!");
  1657. }
  1658. else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Please Spawn First!");
  1659. }
  1660. else return ErrorMessages(playerid, 1);
  1661. }
  1662. //==========================
  1663. // FOLLOW THE PLAYER
  1664. //==========================
  1665. dcmd_follow(playerid,params[])
  1666. {
  1667. #pragma unused params
  1668. if(AccInfo[playerid][Level] >= 3)
  1669. {
  1670. if(AccInfo[playerid][Spawned] == 1)
  1671. {
  1672. if(AccInfo[playerid][InCamMod] == 1)
  1673. {
  1674. if(AccInfo[playerid][LockedCam] == 0)
  1675. {
  1676. if(FollowOn[playerid] == 0)
  1677. {
  1678. FollowOn[playerid] = 1;
  1679. TogglePlayerControllable(playerid, 1);
  1680. KillTimer(KeyTimer[playerid]);
  1681. KeyTimer[playerid] = SetTimerEx("FollowPlayer", 70, 1, "i", playerid);
  1682. SendClientMessage(playerid, 0x00FF00AA, "Following player toggled on!");
  1683. }
  1684. else
  1685. {
  1686. FollowOn[playerid] = 0;
  1687. TogglePlayerControllable(playerid, 0);
  1688. KillTimer(KeyTimer[playerid]);
  1689. KeyTimer[playerid] = SetTimerEx("CheckKeyPress", 50, 1, "i", playerid);
  1690. SendClientMessage(playerid, 0x00FF00AA, "Following player toggled off!");
  1691. }
  1692. return 1;
  1693. }
  1694. else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Please unlock the camera first! (/lockCam)");
  1695. }
  1696. else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: You're not in the Flying Camera Mode!");
  1697. }
  1698. else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Please Spawn First!");
  1699. }
  1700. else return ErrorMessages(playerid, 1);
  1701. }
  1702. #endif
  1703. //==============================================================================
  1704. // GPS
  1705. //==============================================================================
  1706.  
  1707. dcmd_gps(playerid,params[])
  1708. {
  1709. if(AccInfo[playerid][Level] < 3)
  1710. return ErrorMessages(playerid, 6);
  1711.  
  1712. if(AccInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE)
  1713. return SendClientMessage(playerid, red, "ERROR: First Disable the Spectating System! (/lspecoff)");
  1714.  
  1715. if(!strlen(params))
  1716. return SendClientMessage(playerid, LIGHTBLUE2, "Usage: /gps [PlayerID/Off]") &&
  1717. SendClientMessage(playerid, orange, "Function: Will enable GPS do find a specified Player (If you is in a Race, not use)");
  1718.  
  1719. if(strcmp(params,"off",true) == 0)
  1720. {
  1721. GameTextForPlayer(playerid,"~w~Gps ~r~Off!",3000,3);
  1722. IsDisable[playerid] = 0;
  1723. AccInfo[playerid][pGps] = -1;
  1724. return 1;
  1725. }
  1726. new player1;
  1727. new string2[128];
  1728. player1 = strval(params);
  1729. if(player1 == playerid)
  1730. return SendClientMessage(playerid,red,"ERROR: You can not Find yourself!");
  1731.  
  1732. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  1733. return SendClientMessage(playerid,red,"ERROR: You can not localize an Administrator!");
  1734.  
  1735. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  1736. {
  1737. new playername[MAX_PLAYER_NAME];
  1738. GetPlayerName(player1, playername, sizeof(playername));
  1739. format(string2, sizeof(string2),"<LuxGps> System Enabled in the Player - '%s'", playername);
  1740. SendClientMessage(playerid, 0xDC686BAA, string2);
  1741. GameTextForPlayer(playerid,"~w~Gps ~g~On!",3000,3);
  1742. AccInfo[playerid][pGps] = player1;
  1743. }
  1744. else return ErrorMessages(playerid, 2);
  1745. return 1;
  1746. }
  1747.  
  1748.  
  1749. //==============================================================================
  1750. // Visible/Invisible
  1751. //==============================================================================
  1752. dcmd_invisible(playerid,params[])
  1753. {
  1754. #pragma unused params
  1755. if(AccInfo[playerid][Level] >= 3)
  1756. {
  1757. if(AccInfo[playerid][Hide] == 0)
  1758. {
  1759. pColor = GetPlayerColor(playerid);
  1760. SetPlayerColor(playerid, 0xFFFFFF00);
  1761. GameTextForPlayer(playerid, "~n~~n~~n~~n~~g~Invisible!",2500,3);
  1762. AccInfo[playerid][Hide] = 1;
  1763. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  1764. {
  1765. new int1 = GetPlayerInterior(playerid);
  1766. LinkVehicleToInterior(GetPlayerVehicleID(playerid),int1+1);
  1767. }
  1768. return 1;
  1769. }
  1770. else return SendClientMessage(playerid, lightred,"ERROR: You is already Invisible!");
  1771. }
  1772. else return ErrorMessages(playerid, 1);
  1773. }
  1774.  
  1775.  
  1776. dcmd_visible(playerid,params[])
  1777. {
  1778. #pragma unused params
  1779. if(AccInfo[playerid][Level] >= 3)
  1780. {
  1781. if(AccInfo[playerid][Hide] == 1)
  1782. {
  1783. SetPlayerColor(playerid, pColor);
  1784. GameTextForPlayer(playerid, "~n~~n~~n~~n~~b~Visible!",2500,3);
  1785. AccInfo[playerid][Hide] = 0;
  1786. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  1787. {
  1788. new int1 = GetPlayerInterior(playerid);
  1789. LinkVehicleToInterior(GetPlayerVehicleID(playerid),int1);
  1790. }
  1791. return 1;
  1792. }
  1793. else return SendClientMessage(playerid, lightred,"ERROR: You is already Visible!");
  1794. }
  1795. else return ErrorMessages(playerid, 1);
  1796. }
  1797. //==============================================================================
  1798. // Cage
  1799. //==============================================================================
  1800.  
  1801. dcmd_cage(playerid,params[])
  1802. {
  1803. if(AccInfo[playerid][Level] < 4)
  1804. return ErrorMessages(playerid, 5);
  1805.  
  1806. new Index;
  1807. new tmp[256]; tmp = strtok(params, Index);
  1808. new tmp2[256]; tmp2 = strtok(params, Index);
  1809. new player1 = ReturnUser(tmp);
  1810. new time = strval(tmp2);
  1811.  
  1812. if(!strlen(tmp)) return
  1813. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /cage [PlayerID] [Time]") &&
  1814. SendClientMessage(playerid, orange, "Function: Will hold player in a Cage by specified Time");
  1815.  
  1816. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
  1817. {
  1818.  
  1819. if(!strlen(tmp2))
  1820. return SendClientMessage(playerid, red, "ERROR: Not specified Time!");
  1821.  
  1822. if(time < 10)
  1823. return SendClientMessage(playerid, red, "ERROR: Time must be greater than 10 Seconds!");
  1824.  
  1825. if(AccInfo[player1][pCaged] == 1)
  1826. return SendClientMessage(playerid, red, "ERROR: Player is already in Cage!");
  1827.  
  1828. new string[128];
  1829. new playername[MAX_PLAYER_NAME];
  1830. new adminname [MAX_PLAYER_NAME];
  1831. SendCommandToAdmins(playerid,"Cage");
  1832. GetPlayerName(player1, playername, sizeof(playername));
  1833. GetPlayerName(playerid, adminname, sizeof(adminname));
  1834. format(string, sizeof(string), "|- Administrator %s has been Caged \"%s\" for \"%d\" Seconds! -|",adminname, playername, time);
  1835. SendClientMessageToAll(blue, string);
  1836. TogglePlayerControllable(player1, 0);
  1837. AccInfo[player1][pCageTime] = time;
  1838. AccInfo[player1][pCaged] = 1;
  1839. GetPlayerPos(playerid, LPosX[player1], LPosY[player1], LPosZ[player1]);
  1840. SetTimerEx("CagePlayer", 1000, 0, "i", player1);
  1841. SetTimerEx("UnCagePlayer", AccInfo[player1][pCageTime]*1000, 0, "i", player1);
  1842. }
  1843. else return ErrorMessages(playerid, 3);
  1844. return 1;
  1845. }
  1846.  
  1847. //==============================================================================
  1848. // Help
  1849. //==============================================================================
  1850. dcmd_ahelp(playerid,params[])
  1851. {
  1852. #pragma unused params
  1853. if(AccInfo[playerid][LoggedIn] && AccInfo[playerid][Level] >= 1)
  1854. {
  1855. SendClientMessage(playerid, white, "___________ |- LuxAdmin System - Help -| ___________");
  1856. SendClientMessage(playerid,Green1, ". Admin: /level [1/2/3/4/5] - See Admin Commands of Level");
  1857. SendClientMessage(playerid,Green2, ". Credits: /lcredits");
  1858. SendClientMessage(playerid,Green1, ". Account: /"#RegisterCommand", /"#LoginCommand", /"#ChangePassCommand"");
  1859. SendClientMessage(playerid,Green2, ". Stats: /stats, /resetstats");
  1860. SendClientMessage(playerid,Green1, ". Players: /"#RegisterCommand", /"#LoginCommand", /report, /stats, /time, /"#ChangePassCommand", /resetstats, /getid");
  1861. SendClientMessage(playerid,Green2, ". IMPORTANT: /observations");
  1862. }
  1863. else if(AccInfo[playerid][LoggedIn] && AccInfo[playerid][Level] < 1)
  1864. {
  1865. SendClientMessage(playerid, white, "___________ |- LuxAdmin System - Help -| ___________");
  1866. SendClientMessage(playerid,Green1, "Player Commands:");
  1867. SendClientMessage(playerid,Green2, "/"#RegisterCommand", /"#LoginCommand", /report, /stats, /time, /"#ChangePassCommand", /resetstats, /getid");
  1868. }
  1869. else if(AccInfo[playerid][LoggedIn] == 0)
  1870. {
  1871. SendClientMessage(playerid, white, "___________ |- LuxAdmin System - Help -| ___________");
  1872. SendClientMessage(playerid,lightred, "ERROR:");
  1873. SendClientMessage(playerid,lightred, "You are not logged in! Log in for see help");
  1874. }
  1875. return 1;
  1876. }
  1877. //==============================================================================
  1878. // Observations
  1879. //==============================================================================
  1880. dcmd_observations(playerid,params[])
  1881. {
  1882. #pragma unused params
  1883. if(AccInfo[playerid][Level] > 0)
  1884. {
  1885. SendClientMessage(playerid, white, "___________ |- LuxAdmin System - Observations -| ___________");
  1886. SendClientMessage(playerid,0x7DACACFF,". If you change your GameMode in the game, reload the AdminScript");
  1887. SendClientMessage(playerid,0x7DACACFF,". Administrators Level 5 are totally immune to any command");
  1888. SendClientMessage(playerid,0x7DACACFF,". Bans/Kicks/Reports/..., Is saved in file with Date and Time.");
  1889. }
  1890. return 1;
  1891. }
  1892. dcmd_level(playerid,params[])
  1893. {
  1894. if(AccInfo[playerid][Level] >= 1)
  1895. {
  1896. if(!strlen(params))
  1897. {
  1898. SendClientMessage(playerid, yellow, "Usage: /level [1/2/3/4/5]");
  1899. return SendClientMessage(playerid, orange, "Function: Will see commands of specified level");
  1900. }
  1901. //======================================================================
  1902. // Level 1
  1903. //======================================================================
  1904. if(strcmp(params,"1",true) == 0)
  1905. {
  1906. if(AccInfo[playerid][Level] >= 1)
  1907. {
  1908. SendClientMessage(playerid, yellow, "______Basic Moderator (Level 1)_______");
  1909. SendClientMessage(playerid,0x53D212FF,"Player: lspec, lspecoff, getinfo, weaps, ip, laston");
  1910. SendClientMessage(playerid,0x33F666FF,"Vehicle: tcar");
  1911. SendClientMessage(playerid,0x53D212FF,"Tele: saveplace, gotoplace");
  1912. SendClientMessage(playerid,0x33F666FF,"Adm: onduty, setmytime, adminarea");
  1913. SendClientMessage(playerid,0x53D212FF,"Other: reports, richlist");
  1914. }
  1915. else return ErrorMessages(playerid, 8);
  1916. }
  1917. //======================================================================
  1918. // Level 2
  1919. //======================================================================
  1920. else if(strcmp(params,"2",true) == 0)
  1921. {
  1922. if(AccInfo[playerid][Level] >= 2)
  1923. {
  1924. SendClientMessage(playerid, yellow, "__________Moderator (Level 2)__________");
  1925. SendClientMessage(playerid, orange, "+ Level 1 commands.");
  1926. SendClientMessage(playerid,0x53D212FF,"Player: burn, spawn, disarm, highlight");
  1927. SendClientMessage(playerid,0x33F666FF,"Player: warn, slap, (un)mute, laston, lspec, lspecoff");
  1928. SendClientMessage(playerid,0x33F666FF,"Tele: goto, vgoto, lgoto");
  1929. SendClientMessage(playerid,0x53D212FF,"Adm: lmenu");
  1930. SendClientMessage(playerid,0x33F666FF,"Other: jailed, frozen, muted, fstyles");
  1931. }
  1932. else return ErrorMessages(playerid, 7);
  1933. }
  1934. //======================================================================
  1935. // Level 3
  1936. //======================================================================
  1937. else if(strcmp(params,"3",true) == 0)
  1938. {
  1939. if(AccInfo[playerid][Level] >= 3)
  1940. {
  1941. SendClientMessage(playerid, white, "_________ Master Moderator (Level 3)_________");
  1942. SendClientMessage(playerid, orange, "+ Level 1 and 2 commands.");
  1943. SendClientMessage(playerid,0x53D212FF,"Set: set(health/armour/cash/score/skin/wanted/name/weather/time/world/interior/ping/gravity)");
  1944. SendClientMessage(playerid,0x33F666FF,"All: setallskin, armourall, setallskin, setallwanted, setallweather, setalltime, setallworld");
  1945. SendClientMessage(playerid,0x53D212FF,"All: setallscore, setallcash, giveallcash, giveallweapon, clearallchat, healall, disablechat");
  1946. SendClientMessage(playerid,0x33F666FF,"Player: ubound, duel, akill, aka, caps,(un)freeze, kick, explode,(un)jail, force, eject, (s)removecash");
  1947. SendClientMessage(playerid,0x53D212FF,"Vehicle: car, carhealth, carcolour, destroycar, vget, givecar");
  1948. SendClientMessage(playerid,0x33F666FF,"Tele: teleplayer, gethere, get, move, moveplayer");
  1949. SendClientMessage(playerid,0x53D212FF,"Other: gps, lcam, setpass, lammo, countdown, aweaps, invisible, visible");
  1950. }
  1951. else return ErrorMessages(playerid, 6);
  1952. }
  1953. //======================================================================
  1954. // Level 4
  1955. //======================================================================
  1956. else if(strcmp(params,"4",true) == 0)
  1957. {
  1958. if(AccInfo[playerid][Level] >= 4)
  1959. {
  1960. SendClientMessage(playerid, white, "___________ |- LuxAdmin - Administrator (Level 4) -| ___________");
  1961. SendClientMessage(playerid, orange, "+ Level 1,2 and 3 commands.");
  1962. SendClientMessage(playerid,0x53D212FF,"All: spawnall, muteall, unmuteall, getall, killall, freezeall, unfreezeall");
  1963. SendClientMessage(playerid,0x33F666FF,"All: kickall, slapalll, explodeall, disarmall, ejectall");
  1964. SendClientMessage(playerid,0x53D212FF,"Player: cage, ban, rban, tempban, settemplevel, crash");
  1965. SendClientMessage(playerid,0x33F666FF,"Adm: ctele, lockserver, enable, disable, spam, god, godcar, botcheck, forbidname, forbidword, fakedeath");
  1966. SendClientMessage(playerid,0x53D212FF,"Other: uconfig, die, hide, unhide");
  1967. }
  1968. else return ErrorMessages(playerid, 5);
  1969. }
  1970. //======================================================================
  1971. // Level 5
  1972. //======================================================================
  1973. else if(strcmp(params,"5",true) == 0)
  1974. {
  1975. if(AccInfo[playerid][Level] >= 5)
  1976. {
  1977. SendClientMessage(playerid, white, "___________ |- LuxAdmin - Master Administrator (Level 5) -| ___________");
  1978. SendClientMessage(playerid, orange, "+ Level 1,2,3 and 4 commands.");
  1979. SendClientMessage(playerid, orange, "+ Level 5 is Immune for all commands");
  1980. SendClientMessage(playerid,0x53D212FF,"Player: setlevel, fakechat, fakedeath, fakecmd, fu");
  1981. SendClientMessage(playerid,0x33F666FF,"Adm: god, sgod, console, screen, announce, announce2");
  1982. SendClientMessage(playerid,0x53D212FF,"Other: pickup, object, respawncars");
  1983. SendClientMessage(playerid,0x53D212FF,"Rcon: lrcon (Only Rcon Admins) (Use: /rcon lrcon)");
  1984. }
  1985. else return ErrorMessages(playerid, 9);
  1986. }
  1987. //======================================================================
  1988. else
  1989. {
  1990. SendClientMessage(playerid, red, "ERROR: Invalid Level! (1-5)");
  1991. }
  1992. return 1;
  1993. }
  1994. else return ErrorMessages(playerid, 1);
  1995. }
  1996.  
  1997. dcmd_setarmour(playerid,params[])
  1998. {
  1999. if(AccInfo[playerid][Level] >= 3)
  2000. {
  2001. new Index;
  2002. new tmp[256]; tmp = strtok(params,Index);
  2003. new tmp2[256]; tmp2 = strtok(params,Index);
  2004. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
  2005. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setarmour [PlayerID] [Value]") &&
  2006. SendClientMessage(playerid, orange, "Function: Will set Armour of specified player!");
  2007.  
  2008. if(strval(tmp2) < 0 || strval(tmp2) > 100 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2009. return SendClientMessage(playerid, red, "ERROR: Invaild Armour Amount!");
  2010. new player1 = strval(tmp);
  2011. new armour = strval(tmp2);
  2012. new string[128];
  2013. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2014. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2015. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2016. {
  2017. SendCommandToAdmins(playerid,"SetArmour");
  2018. format(string, sizeof(string), "|- You have set \"%s's\" Armour to '%d' -|", pName(player1), armour);
  2019. SendClientMessage(playerid,BlueMsg,string);
  2020. if(player1 != playerid)
  2021. {
  2022. format(string,sizeof(string),"|- Administrator \"%s\" has set your Armour to '%d' -|", pName(playerid), armour);
  2023. SendClientMessage(player1,blue,string);
  2024. }
  2025. return SetPlayerArmour(player1, armour);
  2026. }
  2027. else return ErrorMessages(playerid, 2);
  2028. }
  2029. else return ErrorMessages(playerid, 1);
  2030. }
  2031.  
  2032. dcmd_sethealth(playerid,params[])
  2033. {
  2034. if(AccInfo[playerid][Level] >= 3)
  2035. {
  2036. new Index;
  2037. new tmp[256]; tmp = strtok(params,Index);
  2038. new tmp2[256]; tmp2 = strtok(params,Index);
  2039. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
  2040. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /sethealth [PlayerID] [Value]") &&
  2041. SendClientMessage(playerid, orange, "Function: Will set Armour of specified player!");
  2042.  
  2043. if(strval(tmp2) < 0 || strval(tmp2) > 100 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
  2044. SendClientMessage(playerid, red, "ERROR: Invaild Health amount!");
  2045. new player1 = strval(tmp);
  2046. new health = strval(tmp2);
  2047. new string[128];
  2048. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
  2049. SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2050. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2051. SendCommandToAdmins(playerid,"SetHealth");
  2052. format(string, sizeof(string), "|- You have set \"%s's\" Health to '%d' -|", pName(player1), health);
  2053. SendClientMessage(playerid,BlueMsg,string);
  2054. if(player1 != playerid)
  2055. {
  2056. format(string,sizeof(string),"|- Administrator \"%s\" has set your Health to '%d' -|", pName(playerid), health);
  2057. SendClientMessage(player1,blue,string);
  2058. }
  2059. return SetPlayerHealth(player1, health);
  2060. }
  2061. else return ErrorMessages(playerid, 2);
  2062. }
  2063. else return ErrorMessages(playerid, 1);
  2064. }
  2065.  
  2066. dcmd_setscore(playerid,params[])
  2067. {
  2068. if(AccInfo[playerid][Level] >= 3)
  2069. {
  2070. new Index;
  2071. new tmp[256]; tmp = strtok(params,Index);
  2072. new tmp2[256]; tmp2 = strtok(params,Index);
  2073. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
  2074. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setscore [PlayerID] [Score]") &&
  2075. SendClientMessage(playerid, orange, "Function: Will set Score of specified player!");
  2076. new player1 = strval(tmp);
  2077. new score = strval(tmp2);
  2078. new string[128];
  2079. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2080. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2081. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2082. {
  2083. SendCommandToAdmins(playerid,"SetScore");
  2084. format(string, sizeof(string), "|- You have set \"%s's\" Score to '%d' -|",pName(player1),score);
  2085. SendClientMessage(playerid,BlueMsg,string);
  2086. if(player1 != playerid)
  2087. {
  2088. format(string,sizeof(string),"|- Administrator \"%s\" has set your Score to '%d' -|", pName(playerid), score);
  2089. SendClientMessage(player1,blue,string);
  2090. }
  2091. return SetPlayerScore(player1, score);
  2092. }
  2093. else return ErrorMessages(playerid, 2);
  2094. }
  2095. else return ErrorMessages(playerid, 1);
  2096. }
  2097.  
  2098. dcmd_setskin(playerid,params[])
  2099. {
  2100. if(AccInfo[playerid][Level] >= 3)
  2101. {
  2102. new Index;
  2103. new tmp[256]; tmp = strtok(params,Index);
  2104. new tmp2[256]; tmp2 = strtok(params,Index);
  2105. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
  2106. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setskin [PlayerID] [SkinID]") &&
  2107. SendClientMessage(playerid, orange, "Function: Will set Skin of specified player!");
  2108. new player1 = strval(tmp);
  2109. new skin = strval(tmp2);
  2110. new string[128];
  2111. if(!IsValidSkin(skin))
  2112. return SendClientMessage(playerid, red, "ERROR: Invaild Skin ID!");
  2113. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2114. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2115. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2116. {
  2117. SendCommandToAdmins(playerid,"SetSkin");
  2118. format(string, sizeof(string), "|- You have set \"%s's\" Skin to '%d -|", pName(player1), skin);
  2119. SendClientMessage(playerid,BlueMsg,string);
  2120. if(player1 != playerid)
  2121. {
  2122. format(string,sizeof(string),"|- Administrator \"%s\" has set your Skin to '%d' -|", pName(playerid), skin);
  2123. SendClientMessage(player1,blue,string);
  2124. }
  2125. return SetPlayerSkin(player1, skin);
  2126. }
  2127. else return ErrorMessages(playerid, 2);
  2128. }
  2129. else return ErrorMessages(playerid, 1);
  2130. }
  2131.  
  2132. dcmd_setwanted(playerid,params[])
  2133. {
  2134. if(AccInfo[playerid][Level] >= 3)
  2135. {
  2136. new Index;
  2137. new tmp[256]; tmp = strtok(params,Index);
  2138. new tmp2[256]; tmp2 = strtok(params,Index);
  2139. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
  2140. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setwanted [PlayerID] [WantedLevel(0-6)]") &&
  2141. SendClientMessage(playerid, orange, "Function: Will set Wanted Level of specified player!");
  2142. new player1 = strval(tmp);
  2143. new wanted = strval(tmp2);
  2144. new string[128];
  2145. if(wanted > 6)
  2146. return SendClientMessage(playerid, red, "ERROR: Invalid Wanted Level! (0-6)");
  2147. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2148. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2149. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2150. {
  2151. SendCommandToAdmins(playerid,"SetWanted");
  2152. format(string, sizeof(string), "|- You have set \"%s's\" Wanted Level to '%d -|", pName(player1), wanted);
  2153. SendClientMessage(playerid,BlueMsg,string);
  2154. if(player1 != playerid)
  2155. {
  2156. format(string,sizeof(string),"|- Administrator \"%s\" has set your Wanted Level to '%d' -|", pName(playerid), wanted);
  2157. SendClientMessage(player1,blue,string);
  2158. }
  2159. return SetPlayerWantedLevel(player1, wanted);
  2160. }
  2161. else return ErrorMessages(playerid, 2);
  2162. }
  2163. else return ErrorMessages(playerid, 1);
  2164. }
  2165.  
  2166. dcmd_setinterior(playerid,params[])
  2167. {
  2168. if(AccInfo[playerid][Level] >= 3)
  2169. {
  2170. new Index;
  2171. new tmp[256]; tmp = strtok(params,Index);
  2172. new tmp2[256]; tmp2 = strtok(params,Index);
  2173. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
  2174. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setinterior [PlayerID] [InteriorID]") &&
  2175. SendClientMessage(playerid, orange, "Function: Will set the Interior of specified player!");
  2176. new player1 = strval(tmp);
  2177. new time = strval(tmp2);
  2178. new string[128];
  2179. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2180. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2181. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2182. {
  2183. SendCommandToAdmins(playerid,"SetInterior");
  2184. format(string, sizeof(string), "|- You have set \"%s's\" Interior to '%d' -|",pName(player1),time);
  2185. SendClientMessage(playerid,BlueMsg,string);
  2186. if(player1 != playerid)
  2187. {
  2188. format(string,sizeof(string),"|- Administrator \"%s\" has set your Interior to '%d' -|",pName(playerid),time);
  2189. SendClientMessage(player1,blue,string);
  2190. }
  2191. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2192. return SetPlayerInterior(player1, time);
  2193. }
  2194. else return ErrorMessages(playerid, 2);
  2195. }
  2196. else return ErrorMessages(playerid, 1);
  2197. }
  2198.  
  2199. dcmd_setcash(playerid,params[])
  2200. {
  2201. if(AccInfo[playerid][Level] >= 3)
  2202. {
  2203. new Index;
  2204. new tmp[256]; tmp = strtok(params,Index);
  2205. new tmp2[256]; tmp2 = strtok(params,Index);
  2206. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
  2207. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setcash [PlayerID] [Value]") &&
  2208. SendClientMessage(playerid, orange, "Function: Will set Cash of specified player!");
  2209. new player1 = strval(tmp);
  2210. new cash = strval(tmp2);
  2211. new string[128];
  2212. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2213. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2214. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2215. {
  2216. SendCommandToAdmins(playerid,"SetCash");
  2217. format(string, sizeof(string), "|- You have set \"%s's\" cash to '$%d' -|", pName(player1), cash);
  2218. SendClientMessage(playerid,BlueMsg,string);
  2219. if(player1 != playerid)
  2220. {
  2221. format(string,sizeof(string),"|- Administrator \"%s\" has set your cash to '$%d' -|", pName(playerid), cash);
  2222. SendClientMessage(player1,blue,string);
  2223. }
  2224. ResetPlayerMoney(player1);
  2225. return GivePlayerMoney(player1, cash);
  2226. }
  2227. else return ErrorMessages(playerid, 2);
  2228. }
  2229. else return ErrorMessages(playerid, 1);
  2230. }
  2231.  
  2232. dcmd_settime(playerid,params[])
  2233. {
  2234. if(AccInfo[playerid][Level] >= 3)
  2235. {
  2236. new Index;
  2237. new tmp[256]; tmp = strtok(params,Index);
  2238. new tmp2[256]; tmp2 = strtok(params,Index);
  2239. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
  2240. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /settime [PlayerID] [Time(Hour)]") &&
  2241. SendClientMessage(playerid, orange, "Function: Will set the Time of specified player!");
  2242. new player1 = strval(tmp);
  2243. new time = strval(tmp2);
  2244. new string[128];
  2245. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2246. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2247. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2248. {
  2249. SendCommandToAdmins(playerid,"SetTime");
  2250. format(string, sizeof(string), "|- You have set \"%s's\" Time to %d:00 -|", pName(player1), time);
  2251. SendClientMessage(playerid,BlueMsg,string);
  2252. if(player1 != playerid)
  2253. {
  2254. format(string,sizeof(string),"|- Administrator \"%s\" has set your Time to %d:00 -|", pName(playerid), time);
  2255. SendClientMessage(player1,blue,string);
  2256. }
  2257. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2258. return SetPlayerTime(player1, time, 0);
  2259. }
  2260. else return ErrorMessages(playerid, 2);
  2261. }
  2262. else return ErrorMessages(playerid, 1);
  2263. }
  2264.  
  2265. dcmd_setmytime(playerid,params[])
  2266. {
  2267. if(AccInfo[playerid][Level] >= 1)
  2268. {
  2269. if(!strlen(params)) return
  2270. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setmytime [Time(Hour)]") &&
  2271. SendClientMessage(playerid, orange, "Function: Will set your Time");
  2272. new time = strval(params);
  2273. new string[128];
  2274. SendCommandToAdmins(playerid,"SetMyTime");
  2275. format(string,sizeof(string),"|- His time has set to: %d:00 -|", time);
  2276. SendClientMessage(playerid,yellow,string);
  2277. return SetPlayerTime(playerid, time, 0);
  2278. }
  2279. else return ErrorMessages(playerid, 1);
  2280. }
  2281.  
  2282. dcmd_setweather(playerid,params[])
  2283. {
  2284. if(AccInfo[playerid][Level] >= 3)
  2285. {
  2286. new Index;
  2287. new tmp[256]; tmp = strtok(params,Index);
  2288. new tmp2[256]; tmp2 = strtok(params,Index);
  2289. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
  2290. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setweather [PlayerID] [WeatherID]") &&
  2291. SendClientMessage(playerid, orange, "Function: Will set the Weather of specified player!");
  2292. new player1 = strval(tmp), weather = strval(tmp2), string[128];
  2293. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2294. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2295. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2296. {
  2297. SendCommandToAdmins(playerid,"SetWeather");
  2298. format(string, sizeof(string), "|- You have set \"%s's\" weather to '%d -|", pName(player1), weather);
  2299. SendClientMessage(playerid,BlueMsg,string);
  2300. if(player1 != playerid)
  2301. {
  2302. format(string,sizeof(string),"|- Administrator \"%s\" has set your weather to '%d' -|", pName(playerid), weather);
  2303. SendClientMessage(player1,blue,string);
  2304. }
  2305. SetPlayerWeather(player1,weather);
  2306. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2307. return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  2308. }
  2309. else return ErrorMessages(playerid, 2);
  2310. }
  2311. else return ErrorMessages(playerid, 1);
  2312. }
  2313. dcmd_setlevel(playerid,params[])
  2314. {
  2315. if(AccInfo[playerid][LoggedIn] == 1)
  2316. {
  2317. if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
  2318. {
  2319. new tmp [256];
  2320. new tmp2[256];
  2321. new Index;
  2322. tmp = strtok(params,Index);
  2323. tmp2 = strtok(params,Index);
  2324. if(!strlen(params))
  2325. {
  2326. new string[128];
  2327. format(string,sizeof(string),"Usage: /setlevel [PlayerID] [Level (0-%d)]", ServerInfo[MaxAdminLevel]);
  2328. SendClientMessage(playerid,LIGHTBLUE2,string);
  2329. return SendClientMessage(playerid, orange, "Function: Will set the Level of Administration of the Specific Player");
  2330. }
  2331. new player1, level, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2332. player1 = strval(tmp);
  2333. if(!strlen(tmp2)) return
  2334. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setlevel [PlayerID] [Level (0/5)]") &&
  2335. SendClientMessage(playerid, orange, "Function: Will set the Level of Administration of the Specific Player");
  2336. level = strval(tmp2);
  2337.  
  2338. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2339. if(AccInfo[player1][LoggedIn] == 1)
  2340. {
  2341. if(level > ServerInfo[MaxAdminLevel])
  2342. return SendClientMessage(playerid,red,"ERROR: Invalid Level");
  2343. if(level == AccInfo[player1][Level])
  2344. return SendClientMessage(playerid,red,"ERROR: Player is already this level");
  2345. SendCommandToAdmins(playerid,"SetLevel");
  2346. GetPlayerName(player1, playername, sizeof(playername));
  2347. GetPlayerName(playerid, adminname, sizeof(adminname));
  2348. new year,month,day;
  2349. new hour,minute,second;
  2350. getdate(year, month, day);
  2351. gettime(hour,minute,second);
  2352.  
  2353. if(level > 5)
  2354. {
  2355. AdmRank = "Professional Admin";
  2356. }
  2357. switch(level)
  2358. {
  2359. case 1: AdmRank = "Basic Moderator";
  2360. case 2: AdmRank = "Moderator";
  2361. case 3: AdmRank = "Master Moderator";
  2362. case 4: AdmRank = "Administrator";
  2363. case 5: AdmRank = "Master Administrator";
  2364. }
  2365. if(level > 0)
  2366. format(string,sizeof(string),"|- Administrator %s has set you to Administrator Status | Level: %d - %s -|",adminname, level, AdmRank);
  2367. else
  2368. format(string,sizeof(string),"|- Administrator %s has set you to Player Status | Level: %d -|",adminname, level);
  2369. SendClientMessage(player1,LIGHTBLUE,string);
  2370. if(level > AccInfo[player1][Level])
  2371. GameTextForPlayer(player1,"Promoted", 2000, 3);
  2372. else GameTextForPlayer(player1,"Demoted", 2000, 3);
  2373.  
  2374. format(string,sizeof(string),"You have given %s Level %d on '%d/%d/%d' at '%d:%d:%d'", playername, level, day, month, year, hour, minute, second);
  2375. SendClientMessage(playerid,yellow,string);
  2376. format(string,sizeof(string),"Administrator %s has made %s Level %d",adminname, playername, level);
  2377. SaveIn("AdminLog",string);
  2378. dUserSetINT(PlayerName2(player1)).("Level",(level));
  2379. AccInfo[player1][Level] = level;
  2380. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2381. }
  2382. else return SendClientMessage(playerid,red,"ERROR: This player is not Registred or Logged!");
  2383. }
  2384. else return ErrorMessages(playerid, 2);
  2385. }
  2386. else return ErrorMessages(playerid, 1);
  2387. }
  2388. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2389. }
  2390.  
  2391. dcmd_setvip(playerid,params[])
  2392. {
  2393. if(AccInfo[playerid][LoggedIn] == 1)
  2394. {
  2395. if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
  2396. {
  2397. new tmp [256];
  2398. new tmp2[256];
  2399. new Index;
  2400. tmp = strtok(params,Index);
  2401. tmp2 = strtok(params,Index);
  2402. if(!strlen(params)) return
  2403. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setvip [PlayerID] [AccountType (0-3)]") &&
  2404. SendClientMessage(playerid, orange, "Function: Will set the Account Type of the Specific Player (0-NormalAcc,1-Silver,2-Gold,3-Premium)");
  2405.  
  2406. new player1, type, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2407. player1 = strval(tmp);
  2408. if(!strlen(tmp2)) return
  2409. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setvip [PlayerID] [AccountType (0-3)]") &&
  2410. SendClientMessage(playerid, orange, "Function: Will set the Account Type of the Specific Player (1-Silver,2-Gold,3-Premium)");
  2411. type = strval(tmp2);
  2412.  
  2413. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2414. {
  2415. if(AccInfo[player1][LoggedIn] == 1)
  2416. {
  2417. if(type > 3)
  2418. return SendClientMessage(playerid,red,"ERROR: Invalid Account Type!");
  2419. if(type == AccInfo[player1][pVip])
  2420. return SendClientMessage(playerid,red,"ERROR: Player is already have this Account Type!");
  2421. SendCommandToAdmins(playerid,"SetVip");
  2422. GetPlayerName(player1, playername, sizeof(playername));
  2423. GetPlayerName(playerid, adminname, sizeof(adminname));
  2424. new year,month,day;
  2425. new hour,minute,second;
  2426. getdate(year, month, day);
  2427. gettime(hour,minute,second);
  2428.  
  2429. switch(type)
  2430. {
  2431. case 1: AccType = "Silver";
  2432. case 2: AccType = "Gold";
  2433. case 3: AccType = "Premium";
  2434. }
  2435. if(type > 0)
  2436. format(string,sizeof(string),"|- Administrator %s has set your Account Type to: %s",adminname,AccType);
  2437. else
  2438. format(string,sizeof(string),"|- Administrator %s has set your Account Type to: 'Normal Account!",adminname);
  2439. SendClientMessage(player1,0x66C178AA,string);
  2440. if(type > AccInfo[player1][pVip])
  2441. GameTextForPlayer(player1,"Promoted", 2000, 3);
  2442. else GameTextForPlayer(player1,"Demoted", 2000, 3);
  2443.  
  2444. format(string,sizeof(string),"You have given %s Account Type: %s on '%d/%d/%d' at '%d:%d:%d'", playername, AccType, day, month, year, hour, minute, second);
  2445. SendClientMessage(playerid,0x00C378AA,string);
  2446. format(string,sizeof(string),"Administrator %s has made %s Account Type: %s",adminname, playername, AccType);
  2447. SaveIn("AdminLog",string);
  2448. dUserSetINT(PlayerName2(player1)).("AccountType",(type));
  2449. AccInfo[player1][pVip] = type;
  2450. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2451. }
  2452. else return SendClientMessage(playerid,red,"ERROR: This player is not Registred or Logged!");
  2453. }
  2454. else return ErrorMessages(playerid, 2);
  2455. }
  2456. else return ErrorMessages(playerid, 1);
  2457. }
  2458. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2459. }
  2460.  
  2461. dcmd_settemplevel(playerid,params[])
  2462. {
  2463. if(AccInfo[playerid][LoggedIn] == 1)
  2464. {
  2465. if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
  2466. {
  2467. new tmp [256];
  2468. new tmp2[256];
  2469. new Index;
  2470. tmp = strtok(params,Index);
  2471. tmp2 = strtok(params,Index);
  2472. if(!strlen(tmp) || !strlen(tmp2)) return
  2473. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /settemplevel [PlayerID] [Level]") &&
  2474. SendClientMessage(playerid, orange, "Function: Will set the Temporary level of administration of the Specific Player");
  2475. new player1, level, string[128];
  2476. player1 = strval(tmp);
  2477. level = strval(tmp2);
  2478.  
  2479. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2480. {
  2481. if(AccInfo[player1][LoggedIn] == 1)
  2482. {
  2483. if(level > ServerInfo[MaxAdminLevel])
  2484. return SendClientMessage(playerid,red,"ERROR: Invalid Level!");
  2485. if(level == AccInfo[player1][Level])
  2486. return SendClientMessage(playerid,red,"ERROR: Player is already this Level");
  2487. SendCommandToAdmins(playerid,"SetTempLevel");
  2488. new year,month,day;
  2489. new hour,minute,second;
  2490. getdate(year, month, day);
  2491. gettime(hour,minute,second);
  2492.  
  2493. if(level > 5)
  2494. {
  2495. AdmRank = "Professional Admin";
  2496. }
  2497. switch(level)
  2498. {
  2499. case 1: AdmRank = "Basic Moderator";
  2500. case 2: AdmRank = "Moderator";
  2501. case 3: AdmRank = "Master Moderator";
  2502. case 4: AdmRank = "Administrator";
  2503. case 5: AdmRank = "Master Administrator";
  2504. }
  2505. if(level > 0)
  2506. format(string,sizeof(string),"|- Administrator %s has Temporarily set you to Administrator Status | Level: %d - %s -|", pName(playerid), level, AdmRank);
  2507. else
  2508. format(string,sizeof(string),"|- Administrator %s has temporarily set you to Player Status | Level: %d -|", pName(playerid), level);
  2509. SendClientMessage(player1,blue,string);
  2510.  
  2511. if(level > AccInfo[player1][Level])
  2512. GameTextForPlayer(player1,"Promoted", 2000, 3);
  2513. else GameTextForPlayer(player1,"Demoted", 2000, 3);
  2514.  
  2515. format(string,sizeof(string),"|- You have given %s Temp Level %d on '%d/%d/%d' at '%d:%d:%d' -|", pName(player1), level, day, month, year, hour, minute, second);
  2516. SendClientMessage(playerid,BlueMsg,string);
  2517. format(string,sizeof(string),"Administrator %s has made %s temp Level %d",pName(playerid), pName(player1), level);
  2518. SaveIn("TempAdminLog",string);
  2519. AccInfo[player1][Level] = level;
  2520. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2521. }
  2522. else return SendClientMessage(playerid,red,"ERROR: Player must be registered and logged in to be admin");
  2523. }
  2524. else return ErrorMessages(playerid, 2);
  2525. }
  2526. else return ErrorMessages(playerid, 1);
  2527. }
  2528. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2529. }
  2530. dcmd_setworld(playerid,params[])
  2531. {
  2532. if(AccInfo[playerid][Level] >= 3)
  2533. {
  2534. new Index;
  2535. new tmp[256]; tmp = strtok(params,Index);
  2536. new tmp2[256]; tmp2 = strtok(params,Index);
  2537. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
  2538. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setworld [PlayerID] [VirtualWorldID]") &&
  2539. SendClientMessage(playerid, orange, "Function: Will set the Virtual World of specified player!");
  2540. new player1 = strval(tmp);
  2541. new time = strval(tmp2);
  2542. new string[128];
  2543. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2544. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2545. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2546. {
  2547. SendCommandToAdmins(playerid,"SetWorld");
  2548. format(string, sizeof(string), "|- You have set \"%s's\" Virtual World to '%d' -|", pName(player1), time);
  2549. SendClientMessage(playerid,BlueMsg,string);
  2550. if(player1 != playerid)
  2551. {
  2552. format(string,sizeof(string),"|- Administrator \"%s\" has set your Virtual World to '%d' -|", pName(playerid), time);
  2553. SendClientMessage(player1,blue,string);
  2554. }
  2555. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2556. return SetPlayerVirtualWorld(player1, time);
  2557. }
  2558. else return ErrorMessages(playerid, 2);
  2559. }
  2560. else return ErrorMessages(playerid, 1);
  2561. }
  2562. dcmd_setname(playerid,params[])
  2563. {
  2564. if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  2565. {
  2566. new Index;
  2567. new tmp[256]; tmp = strtok(params,Index);
  2568. new tmp2[256]; tmp2 = strtok(params,Index);
  2569. if(!strlen(tmp) || !strlen(tmp2)) return
  2570. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setname [PlayerID] [NewName]") &&
  2571. SendClientMessage(playerid, orange, "Function: Will set Name of specified player!");
  2572. new player1 = strval(tmp);
  2573. new length = strlen(tmp2);
  2574. new string[128];
  2575. if(length < 3 || length > MAX_PLAYER_NAME) return
  2576. SendClientMessage(playerid,red,"ERROR: Incorrect Name Length");
  2577. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2578. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2579. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2580. {
  2581. SendCommandToAdmins(playerid,"SetName");
  2582. format(string, sizeof(string), "|- You have set \"%s's\" Name to \"%s\" -|", pName(player1), tmp2);
  2583. SendClientMessage(playerid,BlueMsg,string);
  2584. if(player1 != playerid)
  2585. {
  2586. format(string,sizeof(string),"|- Administrator \"%s\" has set your Name to \"%s\" -|", pName(playerid), tmp2);
  2587. SendClientMessage(player1,blue,string);
  2588. }
  2589. SetPlayerName(player1, tmp2);
  2590. return OnPlayerConnect(player1);
  2591. }
  2592. else return ErrorMessages(playerid, 2);
  2593. }
  2594. else return ErrorMessages(playerid, 1);
  2595. }
  2596.  
  2597. dcmd_setgravity(playerid,params[])
  2598. {
  2599. if(AccInfo[playerid][Level] >= 3)
  2600. {
  2601. if(!strlen(params)||!(strval(params)<=50&&strval(params)>=-50)) return
  2602. SendClientMessage(playerid,red,"USAGE: /setgravity <-50.0 - 50.0>");
  2603. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setgravity [<-50.0 - 50.0->]") &&
  2604. SendClientMessage(playerid, orange, "Function: Will set the server Gravity");
  2605. SendCommandToAdmins(playerid,"SetGravity");
  2606. new string[128],adminname[MAX_PLAYER_NAME];
  2607. GetPlayerName(playerid, adminname, sizeof(adminname));
  2608. new Float:Gravity = floatstr(params);
  2609. format(string,sizeof(string),"|- Admnistrator %s has set the Server Gravity to %f -|",adminname,Gravity);
  2610. SetGravity(Gravity);
  2611. return SendClientMessageToAll(blue,string);
  2612. }
  2613. else return ErrorMessages(playerid, 1);
  2614. }
  2615. dcmd_eject(playerid,params[])
  2616. {
  2617. if(AccInfo[playerid][Level] >= 3)
  2618. {
  2619. if(!strlen(params)) return
  2620. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /eject [PlayerID]") &&
  2621. SendClientMessage(playerid, orange, "Function: Will Ejected from vehicle a specified player");
  2622. new player1 = strval(params);
  2623. new string[128];
  2624. new Float:x, Float:y, Float:z;
  2625. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2626. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2627. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2628. {
  2629. if(IsPlayerInAnyVehicle(player1))
  2630. {
  2631. SendCommandToAdmins(playerid,"Eject");
  2632. if(player1 != playerid)
  2633. {
  2634. format(string,sizeof(string),"|- Administrator \"%s\" has Ejected you from your Vehicle -|", pName(playerid));
  2635. SendClientMessage(player1,blue,string);
  2636. }
  2637. format(string,sizeof(string)," |- You have ejected \"%s\" from their Vehicle -|", pName(player1));
  2638. SendClientMessage(playerid,BlueMsg,string);
  2639. GetPlayerPos(player1,x,y,z);
  2640. return SetPlayerPos(player1,x,y,z+3);
  2641. }
  2642. else return SendClientMessage(playerid,red,"ERROR: Player is not in a vehicle");
  2643. }
  2644. else return ErrorMessages(playerid, 2);
  2645. }
  2646. else return ErrorMessages(playerid, 1);
  2647. }
  2648.  
  2649. dcmd_force(playerid,params[])
  2650. {
  2651. if(AccInfo[playerid][Level] >= 3)
  2652. {
  2653. if(!strlen(params)) return
  2654. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /force [PlayerID]") &&
  2655. SendClientMessage(playerid, orange, "Function: Will Force return to class selection a specified Player");
  2656. new player1 = strval(params);
  2657. new string[128];
  2658. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2659. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2660. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2661. {
  2662. SendCommandToAdmins(playerid,"Force");
  2663. if(player1 != playerid)
  2664. {
  2665. format(string,sizeof(string),"|- Administrator \"%s\" has forced you into class selection -|", pName(playerid));
  2666. SendClientMessage(player1,blue,string);
  2667. }
  2668. format(string,sizeof(string),"|- You have forced \"%s\" into class selection -|", pName(player1));
  2669. SendClientMessage(playerid,BlueMsg,string);
  2670. ForceClassSelection(player1);
  2671. return SetPlayerHealth(player1,0.0);
  2672. }
  2673. else return ErrorMessages(playerid, 2);
  2674. }
  2675. else return ErrorMessages(playerid, 1);
  2676. }
  2677.  
  2678. dcmd_burn(playerid,params[])
  2679. {
  2680. if(AccInfo[playerid][Level] >= 2)
  2681. {
  2682. if(!strlen(params)) return
  2683. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /burn [PlayerID]") &&
  2684. SendClientMessage(playerid, orange, "Function: Will Burn a specified player (With explosion)");
  2685. new player1 = strval(params);
  2686. new string[128];
  2687. new Float:x, Float:y, Float:z;
  2688. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2689. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2690. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2691. {
  2692. SendCommandToAdmins(playerid,"Burn");
  2693. format(string, sizeof(string), "You have burnt %s ", pName(player1));
  2694. SendClientMessage(playerid,BlueMsg,string);
  2695. GetPlayerPos(player1, x, y, z);
  2696. return CreateExplosion(x, y , z + 3, 1, 10);
  2697. }
  2698. else return ErrorMessages(playerid, 2);
  2699. }
  2700. else return ErrorMessages(playerid, 1);
  2701. }
  2702.  
  2703. dcmd_crash(playerid,params[])
  2704. {
  2705. if(AccInfo[playerid][Level] >= 4)
  2706. {
  2707. if(!strlen(params)) return
  2708. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /crash [PlayerID]") &&
  2709. SendClientMessage(playerid, orange, "Function: Will Crash a specified player");
  2710.  
  2711. new player1 = strval(params), string[128], Float:X,Float:Y,Float:Z;
  2712. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2713. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2714. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2715. {
  2716. SendCommandToAdmins(playerid,"Crash");
  2717. GetPlayerPos(player1,X,Y,Z);
  2718. new CrashObj = CreatePlayerObject(player1,11111111,X,Y,Z,0,0,0);
  2719. DestroyObject(CrashObj);
  2720. format(string, sizeof(string), "|- You have Crashed \"%s's\" -|", pName(player1));
  2721. return SendClientMessage(playerid,blue, string);
  2722. }
  2723. else return ErrorMessages(playerid, 2);
  2724. }
  2725. else return ErrorMessages(playerid, 1);
  2726. }
  2727.  
  2728. dcmd_spawn(playerid,params[])
  2729. {
  2730. if(AccInfo[playerid][Level] >= 2)
  2731. {
  2732. if(!strlen(params)) return
  2733. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /spawn [PlayerID]") &&
  2734. SendClientMessage(playerid, orange, "Function: Will Spawn a specified player");
  2735. new player1 = strval(params);
  2736. new string[128];
  2737. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2738. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2739. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2740. {
  2741. SendCommandToAdmins(playerid,"Spawn");
  2742. format(string, sizeof(string), "You have Spawned %s ", pName(player1));
  2743. SendClientMessage(playerid,BlueMsg,string);
  2744. SetPlayerPos(player1, 0.0, 0.0, 0.0);
  2745. return SpawnPlayer(player1);
  2746. }
  2747. else return ErrorMessages(playerid, 2);
  2748. }
  2749. else return ErrorMessages(playerid, 1);
  2750. }
  2751. dcmd_spawnplayer(playerid,params[])
  2752. {
  2753. return dcmd_spawn(playerid,params);
  2754. }
  2755.  
  2756. dcmd_disarm(playerid,params[])
  2757. {
  2758. if(AccInfo[playerid][Level] >= 2)
  2759. {
  2760. if(!strlen(params)) return
  2761. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /disarm [PlayerID]") &&
  2762. SendClientMessage(playerid, orange, "Function: Will disarm a specified player");
  2763. new player1 = strval(params);
  2764. new string[128];
  2765. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2766. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2767. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2768. {
  2769. SendCommandToAdmins(playerid,"Disarm");
  2770. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2771. format(string, sizeof(string), "You have disarmed %s ", pName(player1));
  2772. SendClientMessage(playerid,BlueMsg,string);
  2773. ResetPlayerWeapons(player1);
  2774. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2775. }
  2776. else return ErrorMessages(playerid, 2);
  2777. }
  2778. else return ErrorMessages(playerid, 1);
  2779. }
  2780. dcmd_aweaps(playerid,params[])
  2781. {
  2782. #pragma unused params
  2783. if(AccInfo[playerid][Level] >= 3)
  2784. {
  2785. GivePlayerWeapon(playerid,31,1000); GivePlayerWeapon(playerid,16,1000);
  2786. GivePlayerWeapon(playerid,34,1000); GivePlayerWeapon(playerid,28,1000);
  2787. GivePlayerWeapon(playerid,38,1000); GivePlayerWeapon(playerid,24,1000);
  2788. GivePlayerWeapon(playerid,26,1000); GivePlayerWeapon(playerid,42,1000);
  2789. GivePlayerWeapon(playerid,14,1000); GivePlayerWeapon(playerid,46,1000);
  2790. GivePlayerWeapon(playerid,9,1);
  2791. return 1;
  2792. }
  2793. else return ErrorMessages(playerid, 6);
  2794. }
  2795. dcmd_sremovecash(playerid,params[])
  2796. {
  2797. if(AccInfo[playerid][Level] >= 3)
  2798. {
  2799. if(!strlen(params)) return
  2800. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /sremovecash [PlayerID]") &&
  2801. SendClientMessage(playerid, orange, "Function: Will silently remove Cash of specified player");
  2802. new player1 = strval(params);
  2803. new string[128];
  2804. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2805. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2806. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2807. {
  2808. SendCommandToAdmins(playerid,"SRemoveCash");
  2809. format(string, sizeof(string), "|- You have Silently reset \"%s's\" Cash -|", pName(player1));
  2810. SendClientMessage(playerid,BlueMsg,string);
  2811. return ResetPlayerMoney(player1);
  2812. }
  2813. else return ErrorMessages(playerid, 2);
  2814. }
  2815. else return ErrorMessages(playerid, 1);
  2816. }
  2817. dcmd_removecash(playerid,params[])
  2818. {
  2819. if(AccInfo[playerid][Level] >= 3)
  2820. {
  2821. if(!strlen(params)) return
  2822. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /removecash [PlayerID]") &&
  2823. SendClientMessage(playerid, orange, "Function: Will remove Cash of specified player");
  2824. new player1 = strval(params);
  2825. new string[128];
  2826.  
  2827. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2828. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2829. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2830. {
  2831. SendCommandToAdmins(playerid,"RemoveCash");
  2832. format(string, sizeof(string), "You have reset \"%s's\" Cash!", pName(player1));
  2833. SendClientMessage(playerid,BlueMsg,string);
  2834. if(player1 != playerid)
  2835. {
  2836. format(string,sizeof(string),"|- Administrator \"%s\" has reset your Cash' -|", pName(playerid));
  2837. SendClientMessage(player1,blue,string);
  2838. }
  2839. return ResetPlayerMoney(player1);
  2840. }
  2841. else return ErrorMessages(playerid, 2);
  2842. }
  2843. else return ErrorMessages(playerid, 1);
  2844. }
  2845.  
  2846. dcmd_ubound(playerid,params[])
  2847. {
  2848. if(AccInfo[playerid][Level] >= 3)
  2849. {
  2850. if(!strlen(params)) return
  2851. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /ubound [PlayerID]") &&
  2852. SendClientMessage(playerid, orange, "Function: Will removed World Boundaries of specified player");
  2853. new string[128], player1 = strval(params);
  2854.  
  2855. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2856. {
  2857. SendCommandToAdmins(playerid,"Ubound");
  2858. SetPlayerWorldBounds(player1, 9999.9, -9999.9, 9999.9, -9999.9 );
  2859. format(string, sizeof(string), "|- Administrator %s has removed your World Boundaries -|", PlayerName2(playerid));
  2860. if(player1 != playerid)
  2861. SendClientMessage(player1,blue,string);
  2862. format(string,sizeof(string),"|- You have removed %s's World Boundaries -|", PlayerName2(player1));
  2863. return SendClientMessage(playerid,BlueMsg,string);
  2864. }
  2865. else return ErrorMessages(playerid, 2);
  2866. }
  2867. else return ErrorMessages(playerid, 1);
  2868. }
  2869. dcmd_ip(playerid,params[])
  2870. {
  2871. if(AccInfo[playerid][Level] >= 1)
  2872. {
  2873. if(!strlen(params)) return
  2874. SendClientMessage(playerid, yellow, "Usage: /ip [PlayerID]") &&
  2875. SendClientMessage(playerid, orange, "Function: Will see Ip of specified player");
  2876. new player1 = strval(params);
  2877. new string[128];
  2878. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  2879. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2880. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2881. {
  2882. SendCommandToAdmins(playerid,"Ip");
  2883. new tmp3[50];
  2884. GetPlayerIp(player1,tmp3,50);
  2885. format(string,sizeof(string),"PlayerName: %s | IP: %s", pName(player1), tmp3);
  2886. return SendClientMessage(playerid,yellow,string);
  2887. }
  2888. else return ErrorMessages(playerid, 2);
  2889. }
  2890. else return ErrorMessages(playerid, 1);
  2891. }
  2892. dcmd_lconfig(playerid,params[])
  2893. {
  2894. #pragma unused params
  2895. if(AccInfo[playerid][Level] > 6)
  2896. {
  2897. new string[128];
  2898.  
  2899. new rAutoLogin [4],rReadCmds [4],rReadPMs [4],rAntiSpam [4],rNameKick [4],rAntiBot [4];
  2900. new rLocked [4],rConnectMsg [4], rACmdMsg [4],rAntiSwear [4],rSaveWeapon [4],rASkins [4];
  2901. new rDisableChat[4],rMustLogin [4],rMustReg [4],rNoCaps [4],rSaveMoney [4],rFWeaps [4];
  2902. new rAntiAds [4];
  2903.  
  2904. if(ServerInfo[AutoLogin] == 1) rAutoLogin = "Yes"; else rAutoLogin = "No";
  2905. if(ServerInfo[ReadCmds] == 1) rReadCmds = "Yes"; else rReadCmds = "No";
  2906. if(ServerInfo[ReadPMs] == 1) rReadPMs = "Yes"; else rReadPMs = "No";
  2907. if(ServerInfo[AntiSpam] == 1) rAntiSpam = "Yes"; else rAntiSpam = "No";
  2908. if(ServerInfo[NameKick] == 1) rNameKick = "Yes"; else rNameKick = "No";
  2909. if(ServerInfo[AdminOnlySkins] == 1) rASkins = "Yes"; else rASkins = "No";
  2910. if(ServerInfo[AntiBot] == 1) rAntiBot = "Yes"; else rAntiBot = "No";
  2911. if(ServerInfo[AntiSwear] == 1) rAntiSwear = "Yes"; else rAntiSwear = "No";
  2912. if(ServerInfo[Locked] == 1) rLocked = "Yes"; else rLocked = "No";
  2913. if(ServerInfo[ConnectMessages] == 1) rConnectMsg = "Yes"; else rConnectMsg = "No";
  2914. if(ServerInfo[AdminCmdMsg] == 1) rACmdMsg = "Yes"; else rACmdMsg = "No";
  2915. if(ServerInfo[DisableChat] == 1) rDisableChat = "Yes"; else rDisableChat = "No";
  2916. if(ServerInfo[MustLogin] == 1) rMustLogin = "Yes"; else rMustLogin = "No";
  2917. if(ServerInfo[MustRegister] == 1) rMustReg = "Yes"; else rMustReg = "No";
  2918. if(ServerInfo[NoCaps] == 1) rNoCaps = "Yes"; else rNoCaps = "No";
  2919. if(ServerInfo[GiveWeap] == 1) rSaveWeapon = "Yes"; else rSaveWeapon = "No";
  2920. if(ServerInfo[GiveMoney] == 1) rSaveMoney = "Yes"; else rSaveMoney = "No";
  2921. if(ServerInfo[ForbiddenWeaps] == 1) rFWeaps = "Yes"; else rFWeaps = "No";
  2922. if(ServerInfo[ForbiddenWeaps] == 1) rFWeaps = "Yes"; else rFWeaps = "No";
  2923. if(ServerInfo[AntiAds] == 1) rAntiAds = "Yes"; else rAntiAds = "No";
  2924.  
  2925. SendClientMessage(playerid, orange, " ");
  2926. SendClientMessage(playerid, LIGHTBLUE, "___________ |- LuxAdmin System - Configuration -| ___________");
  2927. format(string, sizeof(string), "AutoLogin: %s | ReadCmds: %s | ReadPms: %s | Max Admin Level: %d | AntiSpam: %s", rAutoLogin, rReadCmds, rReadPMs, ServerInfo[MaxAdminLevel],rAntiSpam);
  2928. SendClientMessage(playerid,white,string);
  2929. format(string, sizeof(string), "AdmSkins: %s | AdminSkin1: %d | AdminSkin2: %d | NameKick: %s | AntiBot: %s",rASkins, ServerInfo[AdminSkin], ServerInfo[AdminSkin2], rNameKick, rAntiBot);
  2930. SendClientMessage(playerid,white,string);
  2931. format(string, sizeof(string), "AntiSwear: %s | Locked: %s | Pass: %s | ConnectMessages: %s | AdminCmdMsgs: %s",rAntiSwear, rLocked, ServerInfo[Password], rConnectMsg, rACmdMsg);
  2932. SendClientMessage(playerid,white,string);
  2933. format(string, sizeof(string), "Max Ping: %dms | ChatDisabled: %s | MaxMuteWarnings: %d | MustLogin: %s | Anti Ads: %s", ServerInfo[MaxPing],rDisableChat, ServerInfo[MaxMuteWarnings], rMustLogin, rAntiAds);
  2934. SendClientMessage(playerid,white,string);
  2935. format(string, sizeof(string), "MustRegister: %s | NoCaps: %s | SaveWeaps: %s | SaveMoney: %s | Forbidden Weapons: %s",rMustReg, rNoCaps,rSaveWeapon, rSaveMoney, rFWeaps);
  2936. SendClientMessage(playerid,white,string);
  2937. }
  2938. return 1;
  2939. }
  2940.  
  2941. dcmd_time(playerid,params[])
  2942. {
  2943. #pragma unused params
  2944. new string[64];
  2945. new hour,minuite,second;
  2946. gettime(hour,minuite,second);
  2947. format(string, sizeof(string), "~g~|~w~%d:%d~g~|", hour, minuite);
  2948. return GameTextForPlayer(playerid, string, 5000, 1);
  2949. }
  2950.  
  2951. dcmd_getinfo(playerid,params[])
  2952. {
  2953. if(AccInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  2954. {
  2955. if(!strlen(params)) return
  2956. SendClientMessage(playerid, yellow, "Usage: /getinfo [PlayerID] ") &&
  2957. SendClientMessage(playerid, orange, "Function: Will see Informations of specified player");
  2958. new player1;
  2959. new string[128];
  2960. player1 = strval(params);
  2961.  
  2962. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  2963. {
  2964. new TimesOn;
  2965. new pIP[128];
  2966. new Float:pHealth;
  2967. new Float:pArmour;
  2968. new year,month,day;
  2969. new pn,Sum, Average;
  2970. new tmp2[256],file[256];
  2971. new Float:x,Float:y,Float:z;
  2972. new pRegister[4],RegDate[256];
  2973. new pJailed[4],pFrozen[4];
  2974. new pInCage[4], pLogged[4];
  2975. new LuX_GpsZone[MAX_ZONE_NAME] = "Undetected Zone!";
  2976.  
  2977. GetPlayerArmour(player1,pArmour);
  2978. GetPlayerHealth(player1,pHealth);
  2979. GetPlayerIp(player1, pIP, sizeof(pIP));
  2980. getdate(year, month, day);
  2981. GetPlayerPos(player1,x,y,z);
  2982. GetPlayerInZone(player1, LuX_GpsZone, MAX_ZONE_NAME);
  2983.  
  2984. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(player1)));
  2985.  
  2986. if(AccInfo[player1][Jailed] == 1) pJailed = "Yes"; else pJailed = "No";
  2987. if(AccInfo[player1][Frozen] == 1) pFrozen = "Yes"; else pFrozen = "No";
  2988. if(AccInfo[player1][pCaged] == 1) pInCage = "Yes"; else pInCage = "No";
  2989. if(AccInfo[player1][LoggedIn] == 1) pLogged = "Yes"; else pLogged = "No";
  2990. if(fexist(file)) pRegister = "Yes"; else pRegister = "No";
  2991.  
  2992. if(dUserINT(PlayerName2(player1)).("LastOn")==0)
  2993. tmp2 = "Never";
  2994. else tmp2 = dini_Get(file,"LastOn");
  2995.  
  2996. if(strlen(dini_Get(file,"RegisteredDate")) < 3)
  2997. RegDate = "n/a";
  2998. else RegDate = dini_Get(file,"RegisteredDate");
  2999.  
  3000. TimesOn = dUserINT(PlayerName2(player1)).("TimesOnServer");
  3001.  
  3002. while (pn < PING_MAX_EXCEEDS){
  3003. Sum += AccInfo[player1][pPing][pn]; pn++;
  3004. }
  3005. Average = (Sum / PING_MAX_EXCEEDS);
  3006. if(IsPlayerAdmin(player1)) AdmRank = "RCON Administrator";
  3007. else
  3008. switch(AccInfo[player1][Level])
  3009. {
  3010. case 1: AdmRank = "Basic Moderator";
  3011. case 2: AdmRank = "Moderator";
  3012. case 3: AdmRank = "Master Moderator";
  3013. case 4: AdmRank = "Administrator";
  3014. case 5: AdmRank = "Master Administrator";
  3015. }
  3016. if(AccInfo[playerid][Level] > 5)
  3017. {
  3018. AdmRank = "Professional Admin";
  3019. }
  3020. SendClientMessage(playerid, orange, " ");
  3021. SendClientMessage(playerid, orange, "___________ |- Player Information -| ___________");
  3022. format(string, sizeof(string),"Name: %s | ID: %d | Ip: %s | Health: %d | Armour: %d | Cash: %d", PlayerName2(player1),player1,pIP,floatround(pHealth),floatround(pArmour),GetPlayerMoney(player1));
  3023. SendClientMessage(playerid,LIGHTGREEN,string);
  3024. format(string, sizeof(string),"Score: %d | Skin: %d | Ping: %d (Average: %d) | Wanted Level: %d", GetPlayerScore(player1),GetPlayerSkin(player1),GetPlayerPing(player1),Average,GetPlayerWantedLevel(player1));
  3025. SendClientMessage(playerid,0x33F666FF,string);
  3026. format(string, sizeof(string),"Interior: %d | Virtual World: %d | Pos: X: %0.1f, Y: %0.1f, Z: %0.1f | In: %s", GetPlayerInterior(player1), GetPlayerVirtualWorld(player1), Float:x,Float:y,Float:z,LuX_GpsZone);
  3027. SendClientMessage(playerid,0x53D266FF,string);
  3028. format(string, sizeof(string),"Kills: %d | Deaths: %d | Ratio: %0.2f | Admin Level: %d - %s | In Cage: %s", AccInfo[player1][Kills],AccInfo[player1][Deaths],Float:AccInfo[player1][Kills]/Float:AccInfo[player1][Deaths],AccInfo[player1][Level],AdmRank,pInCage);
  3029. SendClientMessage(playerid,0x53D212FF,string);
  3030. format(string, sizeof(string),"Registered: %s | Logged In: %s | In Jail: %s | Frozen: %s | On Server: %d",pRegister,pLogged,pJailed,pFrozen,TimesOn);
  3031. SendClientMessage(playerid,0x53BB12FF,string);
  3032. format(string, sizeof(string),"Last On Server: %s | Register Date: %s | Todays Date: %d/%d/%d",tmp2,RegDate,day,month,year);
  3033. SendClientMessage(playerid,0x129E12FF,string);
  3034.  
  3035. if(IsPlayerInAnyVehicle(player1))
  3036. {
  3037. new Float:VHealth, carid = GetPlayerVehicleID(playerid);
  3038. GetVehicleHealth(carid,VHealth);
  3039. format(string, sizeof(string),"Vehicle Name: %s | VehicleID: %d | Model: %d | Vehicle Health: %d",VehicleNames[GetVehicleModel(carid)-400],carid,GetVehicleModel(carid),floatround(VHealth));
  3040. SendClientMessage(playerid,0x12B281FF,string);
  3041. }
  3042.  
  3043. new slot, ammo, weap, Count, WeapName[24], WeapSTR[128], p; WeapSTR = "Weapons: ";
  3044. for (slot = 0; slot < 14; slot++)
  3045. {
  3046. GetPlayerWeaponData(player1, slot, weap, ammo);
  3047. if( ammo != 0 && weap != 0)
  3048. Count++;
  3049. }
  3050. if(Count < 1)
  3051. return SendClientMessage(playerid,0x6BF686FF,"Player has no weapons");
  3052. else
  3053. {
  3054. for (slot = 0; slot < 14; slot++)
  3055. {
  3056. GetPlayerWeaponData(player1, slot, weap, ammo);
  3057. if (ammo > 0 && weap > 0)
  3058. {
  3059. GetWeaponName(weap, WeapName, sizeof(WeapName) );
  3060. if (ammo == 65535 || ammo == 1)
  3061. format(WeapSTR,sizeof(WeapSTR),"%s%s (1)",WeapSTR, WeapName);
  3062. else format(WeapSTR,sizeof(WeapSTR),"%s%s (%d)",WeapSTR, WeapName, ammo);
  3063. p++;
  3064. if(p >= 5)
  3065. {
  3066. SendClientMessage(playerid, 0x6BF686FF, WeapSTR); format(WeapSTR, sizeof(WeapSTR), "Weapons: "); p = 0;
  3067. }
  3068. else format(WeapSTR, sizeof(WeapSTR), "%s, ", WeapSTR);
  3069. }
  3070. }
  3071. if(p <= 4 && p > 0)
  3072. {
  3073. string[strlen(string)-3] = '.';
  3074. SendClientMessage(playerid, 0x6BF686FF, WeapSTR);
  3075. }
  3076. }
  3077. return 1;
  3078. }
  3079. else return ErrorMessages(playerid, 2);
  3080. }
  3081. else return ErrorMessages(playerid, 7);
  3082. }
  3083.  
  3084. dcmd_disable(playerid,params[])
  3085. {
  3086. if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
  3087. {
  3088. if(!strlen(params))
  3089. {
  3090. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /disable [AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps]");
  3091. return SendClientMessage(playerid, orange, "Function: Will disable a specified Function (Some functions are only in Enable/Disable Dialog)");
  3092. }
  3093. new string[128], file[256]; format(file,sizeof(file),"LuxAdmin/Config/Config.ini");
  3094. if(strcmp(params,"antiswear",true) == 0) {
  3095. ServerInfo[AntiSwear] = 0;
  3096. dini_IntSet(file,"AntiSwear",0);
  3097. format(string,sizeof(string),"|- Administrator %s has disabled AntiSwear", PlayerName2(playerid));
  3098. SendClientMessageToAll(blue,string);
  3099. }
  3100. else if(strcmp(params,"namekick",true) == 0) {
  3101. ServerInfo[NameKick] = 0;
  3102. dini_IntSet(file,"NameKick",0);
  3103. format(string,sizeof(string),"|- Administrator %s has disabled NameKick", PlayerName2(playerid));
  3104. SendClientMessageToAll(blue,string);
  3105. }
  3106. else if(strcmp(params,"antispam",true) == 0) {
  3107. ServerInfo[AntiSpam] = 0;
  3108. dini_IntSet(file,"AntiSpam",0);
  3109. format(string,sizeof(string),"|- Administrator %s has disabled AntiSpam", PlayerName2(playerid));
  3110. SendClientMessageToAll(blue,string);
  3111. }
  3112. else if(strcmp(params,"ping",true) == 0) {
  3113. ServerInfo[MaxPing] = 0;
  3114. dini_IntSet(file,"MaxPing",0);
  3115. format(string,sizeof(string),"|- Administrator %s has disabled Ping Kick", PlayerName2(playerid));
  3116. SendClientMessageToAll(blue,string);
  3117. }
  3118. else if(strcmp(params,"readcmds",true) == 0) {
  3119. ServerInfo[ReadCmds] = 0;
  3120. dini_IntSet(file,"ReadCmds",0);
  3121. format(string,sizeof(string),"|- Administrator %s has disabled Reading Commands", PlayerName2(playerid));
  3122. MessageToAdmins(blue,string);
  3123. }
  3124. else if(strcmp(params,"readpms",true) == 0) {
  3125. ServerInfo[ReadPMs] = 0;
  3126. dini_IntSet(file,"ReadPMs",0);
  3127. format(string,sizeof(string),"|- Administrator %s has disabled Reading Pms", PlayerName2(playerid));
  3128. MessageToAdmins(blue,string);
  3129. }
  3130. else if(strcmp(params,"caps",true) == 0) {
  3131. ServerInfo[NoCaps] = 0;
  3132. dini_IntSet(file,"NoCaps",0);
  3133. format(string,sizeof(string),"|- Administrator %s has prevented CapsLock in chat", PlayerName2(playerid));
  3134. SendClientMessageToAll(blue,string);
  3135. }
  3136. else if(strcmp(params,"antiweaps",true) == 0) {
  3137. ServerInfo[ForbiddenWeaps] = 0;
  3138. dini_IntSet(file,"ForbiddenWeapons",0);
  3139. format(string,sizeof(string),"|- Administrator %s has prevented Anti Forbidden Weapons", PlayerName2(playerid));
  3140. SendClientMessageToAll(0x00A700FF,string);
  3141. SendClientMessage(playerid, orange, "|- To update Forbidden Weapons File use: /uconfig -|");
  3142. }
  3143. else if(strcmp(params,"admincmdmsgs",true) == 0) {
  3144. ServerInfo[AdminCmdMsg] = 0;
  3145. dini_IntSet(file,"AdminCMDMessages",0);
  3146. format(string,sizeof(string),"|- Administrator %s has disabled Administration Command Messages", PlayerName2(playerid));
  3147. MessageToAdmins(green,string);
  3148. }
  3149. else if(strcmp(params,"connectmsgs",true) == 0) {
  3150. ServerInfo[ConnectMessages] = 0;
  3151. dini_IntSet(file,"ConnectMessages",0);
  3152. format(string,sizeof(string),"|- Administrator %s has disabled Connect and Disconnect Messages", PlayerName2(playerid));
  3153. MessageToAdmins(green,string);
  3154. }
  3155. else if(strcmp(params,"antiads",true) == 0) {
  3156. ServerInfo[AntiAds] = 0;
  3157. dini_IntSet(file,"AntiAdvertisements",0);
  3158. format(string,sizeof(string),"|- Administrator %s has disabled Anti Advertisements", PlayerName2(playerid));
  3159. MessageToAdmins(green,string);
  3160. }
  3161. else if(strcmp(params,"autologin",true) == 0) {
  3162. ServerInfo[AutoLogin] = 0;
  3163. dini_IntSet(file,"AutoLogin",0);
  3164. format(string,sizeof(string),"|- Administrator %s has disabled Auto Login", PlayerName2(playerid));
  3165. MessageToAdmins(green,string);
  3166. }
  3167. else {
  3168. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /disable [AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps]");
  3169. SendClientMessage(playerid, orange, "Function: Will disable a specified Function (Some functions are only in Enable/Disable Dialog)");
  3170. } return 1;
  3171. }
  3172. else return ErrorMessages(playerid, 1);
  3173. }
  3174.  
  3175. dcmd_enable(playerid,params[])
  3176. {
  3177. if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
  3178. {
  3179. if(!strlen(params))
  3180. {
  3181. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /enable [AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps]");
  3182. return SendClientMessage(playerid, orange, "Function: Will enable a specified Function (Some functions are only in Enable/Disable Dialog)");
  3183. }
  3184. new string[128], file[256]; format(file,sizeof(file),"LuxAdmin/Config/Config.ini");
  3185. if(strcmp(params,"antiswear",true) == 0) {
  3186. ServerInfo[AntiSwear] = 1;
  3187. dini_IntSet(file,"AntiSwear",1);
  3188. format(string,sizeof(string),"|- Administrator %s has enabled AntiSwear", PlayerName2(playerid));
  3189. SendClientMessageToAll(0x00A700FF,string);
  3190. }
  3191. else if(strcmp(params,"namekick",true) == 0) {
  3192. ServerInfo[NameKick] = 1;
  3193. format(string,sizeof(string),"|- Administrator %s has enabled NameKick", PlayerName2(playerid));
  3194. SendClientMessageToAll(0x00A700FF,string);
  3195. }
  3196. else if(strcmp(params,"antispam",true) == 0) {
  3197. ServerInfo[AntiSpam] = 1;
  3198. dini_IntSet(file,"AntiSpam",1);
  3199. format(string,sizeof(string),"|- Administrator %s has enabled AntiSpam", PlayerName2(playerid));
  3200. SendClientMessageToAll(0x00A700FF,string);
  3201. }
  3202. else if(strcmp(params,"ping",true) == 0) {
  3203. ServerInfo[MaxPing] = 800;
  3204. dini_IntSet(file,"MaxPing",800);
  3205. format(string,sizeof(string),"|- Administrator %s has enabled Ping Kick", PlayerName2(playerid));
  3206. SendClientMessageToAll(0x00A700FF,string);
  3207. }
  3208. else if(strcmp(params,"readcmds",true) == 0) {
  3209. ServerInfo[ReadCmds] = 1;
  3210. dini_IntSet(file,"ReadCmds",1);
  3211. format(string,sizeof(string),"|- Administrator %s has enabled Reading Commands", PlayerName2(playerid));
  3212. MessageToAdmins(orange,string);
  3213. }
  3214. else if(strcmp(params,"readpms",true) == 0) {
  3215. ServerInfo[ReadPMs] = 1;
  3216. dini_IntSet(file,"ReadPMs",1);
  3217. format(string,sizeof(string),"|- Administrator %s has enabled Reading Pms", PlayerName2(playerid));
  3218. MessageToAdmins(orange,string);
  3219. }
  3220. else if(strcmp(params,"caps",true) == 0) {
  3221. ServerInfo[NoCaps] = 1;
  3222. dini_IntSet(file,"NoCaps",1);
  3223. format(string,sizeof(string),"|- Administrator %s has allowed CaPsLoCk in chat", PlayerName2(playerid));
  3224. SendClientMessageToAll(0x00A700FF,string);
  3225. }
  3226. else if(strcmp(params,"antiweaps",true) == 0) {
  3227. ServerInfo[ForbiddenWeaps] = 1;
  3228. dini_IntSet(file,"ForbiddenWeapons",1);
  3229. format(string,sizeof(string),"|- Administrator %s has allowed Anti Forbidden Weapons", PlayerName2(playerid));
  3230. SendClientMessageToAll(0x00A700FF,string);
  3231. SendClientMessage(playerid, orange, "|- To update Forbidden Weapons File use: /uconfig -|");
  3232. }
  3233. else if(strcmp(params,"admincmdmsgs",true) == 0) {
  3234. ServerInfo[AdminCmdMsg] = 1;
  3235. dini_IntSet(file,"AdminCmdMessages",1);
  3236. format(string,sizeof(string),"|- Administrator %s has enabled Administration Command Messages", PlayerName2(playerid));
  3237. MessageToAdmins(orange,string);
  3238. }
  3239. else if(strcmp(params,"connectmsgs",true) == 0) {
  3240. ServerInfo[ConnectMessages] = 1;
  3241. dini_IntSet(file,"ConnectMessages",1);
  3242. format(string,sizeof(string),"|- Administrator %s has enabled Connect and Disconnect Messages", PlayerName2(playerid));
  3243. MessageToAdmins(orange,string);
  3244. }
  3245. else if(strcmp(params,"antiads",true) == 0) {
  3246. ServerInfo[AntiAds] = 1;
  3247. dini_IntSet(file,"AntiAdvertisements",1);
  3248. format(string,sizeof(string),"|- Administrator %s has enabled Anti Advertisements", PlayerName2(playerid));
  3249. MessageToAdmins(green,string);
  3250. }
  3251. else if(strcmp(params,"autologin",true) == 0) {
  3252. ServerInfo[AutoLogin] = 1;
  3253. dini_IntSet(file,"AutoLogin",1);
  3254. format(string,sizeof(string),"|- Administrator %s has enabled Auto Login", PlayerName2(playerid));
  3255. MessageToAdmins(orange,string);
  3256. }
  3257. else {
  3258. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /enable [AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps]");
  3259. SendClientMessage(playerid, orange, "Function: Will enable a specified Function (Some functions are only in Enable/Disable Dialog)");
  3260. }
  3261. return 1;
  3262. }
  3263. else return ErrorMessages(playerid, 1);
  3264. }
  3265.  
  3266. dcmd_kill(playerid,params[])
  3267. {
  3268. #pragma unused params
  3269. return SetPlayerHealth(playerid,0.0);
  3270. }
  3271.  
  3272. dcmd_lammo(playerid,params[])
  3273. {
  3274. #pragma unused params
  3275. if(AccInfo[playerid][Level] >= 3)
  3276. {
  3277. MaxAmmo(playerid);
  3278. return SendCommandToAdmins(playerid,"LAmmo");
  3279. }
  3280. else return ErrorMessages(playerid, 6);
  3281. }
  3282.  
  3283. dcmd_setping(playerid,params[])
  3284. {
  3285. if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  3286. {
  3287. if(!strlen(params)) return
  3288. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setping [Ping] (Disable: '0')") &&
  3289. SendClientMessage(playerid, orange, "Function: Will set specified value of maximum Ping allowed in Server!");
  3290. new string[128], ping = strval(params);
  3291. ServerInfo[MaxPing] = ping;
  3292. SendCommandToAdmins(playerid,"SetPing");
  3293. new file[256]; format(file,sizeof(file),"LuxAdmin/Config/Config.ini");
  3294. dini_IntSet(file,"MaxPing",ping);
  3295. for(new i = 0; i <= MAX_PLAYERS; i++)
  3296. if(IsPlayerConnected(i))
  3297. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  3298. if(ping == 0)
  3299. format(string,sizeof(string),"|- Administrator %s has Disabled maximum Ping -|", PlayerName2(playerid), ping);
  3300. else format(string,sizeof(string),"|- Administrator %s has set the Maximum Ping to: %d -|", PlayerName2(playerid), ping);
  3301. return SendClientMessageToAll(yellow,string);
  3302. }
  3303. else return ErrorMessages(playerid, 6);
  3304. }
  3305.  
  3306.  
  3307.  
  3308. /*
  3309.  
  3310. {
  3311. if(AccInfo[playerid][Level] >= 3)
  3312. {
  3313. new Index;
  3314. new tmp[256]; tmp = strtok(params,Index);
  3315. new tmp2[256]; tmp2 = strtok(params,Index);
  3316. new tmp3[256]; tmp3 = strtok(params,Index);
  3317.  
  3318. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3) || !IsNumeric(tmp2)) return
  3319. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /carcolour [PlayerID] [Colour1] [Colour2]") &&
  3320. SendClientMessage(playerid, orange, "Function: Will change vehicle colour of specified player");
  3321.  
  3322. new player1 = strval(tmp), colour1, colour2, string[128];
  3323. if(!strlen(tmp2)) colour1 = random(126);
  3324. else colour1 = strval(tmp2);
  3325. if(!strlen(tmp3)) colour2 = random(126);
  3326. else colour2 = strval(tmp3);
  3327.  
  3328. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  3329. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3330. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  3331. {
  3332. if(IsPlayerInAnyVehicle(player1))
  3333. {
  3334. SendCommandToAdmins(playerid,"CarColour");
  3335. format(string, sizeof(string), "|- You have Changed the colour of \"%s's\" %s to '%d,%d' -|", pName(player1), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2);
  3336. SendClientMessage(playerid,BlueMsg,string);
  3337. if(player1 != playerid)
  3338. {
  3339. format(string,sizeof(string),"|- Administrator \"%s\" has changed the Colour of your %s to '%d,%d'' -|", pName(playerid), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 );
  3340. SendClientMessage(player1,blue,string);
  3341. }
  3342. return ChangeVehicleColor(GetPlayerVehicleID(player1), colour1, colour2);
  3343. }
  3344. else return SendClientMessage(playerid,red,"ERROR: Player is not in a vehicle");
  3345. }
  3346. else return ErrorMessages(playerid, 2);
  3347. }
  3348. else return ErrorMessages(playerid, 1);
  3349. }
  3350. */
  3351. dcmd_countdown(playerid,params[])
  3352. {
  3353. #pragma unused params
  3354. if(AccInfo[playerid][Level] >= 3)
  3355. {
  3356. if(CdStated == 0)
  3357. {
  3358. new Index;
  3359. new tmp[256]; tmp = strtok(params,Index);
  3360. new tmp2[256]; tmp2 = strtok(params,Index);
  3361.  
  3362. if(!strlen(tmp))
  3363. return SendClientMessage(playerid, LIGHTBLUE2, "Usage: /countdown [Seconds] [Freeze 1/0]") &&
  3364. SendClientMessage(playerid, orange, "Function: Will create a CountDown for all Players! (1-Freeze, 0-NoFreeze)");
  3365.  
  3366. cd_sec = strval(tmp);
  3367. if(cd_sec < 1 || cd_sec > 1000)
  3368. return SendClientMessage(playerid,COLOR_WHITE,"ERROR: Seconds between 1-1000");
  3369.  
  3370. if(!strlen(tmp2))
  3371. return SendClientMessage(playerid, LIGHTBLUE2, "Usage: /countdown [Seconds] [Freeze 1/0]") &&
  3372. SendClientMessage(playerid, orange, "Function: Will create a CountDown for all Players! (1-Freeze, 0-NoFreeze)");
  3373.  
  3374. cd_f = strval(tmp2);
  3375. if(cd_f < 0 || cd_f > 1)
  3376. return SendClientMessage(playerid,red,"ERROR: Use only 0(NoFreeze) and 1(Freeze)!");
  3377. CdStated = 1;
  3378. if(cd_f == 1)
  3379. for(new i=0;i<MAX_PLAYERS;i++)
  3380. {
  3381. if(IsPlayerConnected(i))
  3382. TogglePlayerControllable(i, 0);
  3383. }
  3384. cd_timer = SetTimer("CountDown",1000,3);
  3385. return 1;
  3386. }
  3387. else return SendClientMessage(playerid,red,"ERROR: Countdown already in Progress!");
  3388. }
  3389. else return ErrorMessages(playerid, 1);
  3390. }
  3391.  
  3392.  
  3393. dcmd_givecar(playerid,params[])
  3394. {
  3395. if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  3396. {
  3397. if(!strlen(params)) return
  3398. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /givecar [PlayerID]") &&
  3399. SendClientMessage(playerid, orange, "Function: Will give a Car for specified player");
  3400. new player1 = strval(params);
  3401. new string[128];
  3402. new playername[MAX_PLAYER_NAME];
  3403. new adminname[MAX_PLAYER_NAME];
  3404. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  3405. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3406. if(IsPlayerInAnyVehicle(player1))
  3407. return SendClientMessage(playerid,red,"ERROR: Player already has a vehicle");
  3408. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
  3409. {
  3410. SendCommandToAdmins(playerid,"GiveCar");
  3411. new Float:x, Float:y, Float:z;
  3412. GetPlayerPos(player1,x,y,z);
  3413. CarSpawner(player1,415);
  3414. GetPlayerName(player1, playername, sizeof(playername));
  3415. GetPlayerName(playerid, adminname, sizeof(adminname));
  3416. format(string,sizeof(string),"|- Administrator %s has given you a car",adminname);
  3417. SendClientMessage(player1,blue,string);
  3418. format(string,sizeof(string),"You have given %s a car", playername);
  3419. return SendClientMessage(playerid,BlueMsg,string);
  3420. }
  3421. else return ErrorMessages(playerid, 4);
  3422. }
  3423. else return ErrorMessages(playerid, 1);
  3424. }
  3425. //==============================================================================
  3426. // PM Command
  3427. //==============================================================================
  3428.  
  3429. //==============================================================================
  3430. //==============================================================================
  3431. //Respawn all Unoccupied Vehicles
  3432. //==============================================================================
  3433.  
  3434. dcmd_respawncars(playerid,params[])
  3435. {
  3436. #pragma unused params
  3437. if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
  3438. {
  3439. SendClientMessage(playerid, green, "|- Your have Successfully Respawned all Vehicles! -|");
  3440. GameTextForAll("~n~~n~~n~~n~~n~~n~~r~Vehicles ~g~Respawned!", 3000,3);
  3441.  
  3442. for(new cars=0; cars<MAX_VEHICLES; cars++)
  3443. {
  3444. if(!VehicleOccupied(cars))
  3445. {
  3446. SetVehicleToRespawn(cars);
  3447. }
  3448. }
  3449. return 1;
  3450. }
  3451. else return ErrorMessages(playerid, 1);
  3452. }
  3453.  
  3454. //==============================================================================
  3455. //Respawn all Vehicles
  3456. //==============================================================================
  3457. /*
  3458. dcmd_respawncars(playerid,params[])
  3459. {
  3460. #pragma unused params
  3461. if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
  3462. {
  3463. SendClientMessage(playerid, green, "|- Your have Successfully Respawned all Vehicles! -|");
  3464. GameTextForAll("~n~~n~~n~~n~~n~~n~~r~Vehicles ~g~Respawned!", 3000,3);
  3465. SendCommandToAdmins(playerid,"RespawnCars");
  3466. for(new i = 0; i < MAX_PLAYERS; i++)
  3467. {
  3468. for(new v = 0; v < MAX_VEHICLES; v++)
  3469. {
  3470. if(!IsPlayerInVehicle(i,v))
  3471. SetVehicleToRespawn(v);
  3472. }
  3473. break;
  3474. }
  3475. return 1;
  3476. }
  3477. else return ErrorMessages(playerid, 1);
  3478. }
  3479. */
  3480. //==============================================================================
  3481.  
  3482. dcmd_carcolour(playerid,params[])
  3483. {
  3484. if(AccInfo[playerid][Level] >= 3)
  3485. {
  3486. new Index;
  3487. new tmp[256]; tmp = strtok(params,Index);
  3488. new tmp2[256]; tmp2 = strtok(params,Index);
  3489. new tmp3[256]; tmp3 = strtok(params,Index);
  3490.  
  3491. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3) || !IsNumeric(tmp2)) return
  3492. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /carcolour [PlayerID] [Colour1] [Colour2]") &&
  3493. SendClientMessage(playerid, orange, "Function: Will change vehicle colour of specified player");
  3494.  
  3495. new player1 = strval(tmp), colour1, colour2, string[128];
  3496. if(!strlen(tmp2)) colour1 = random(126);
  3497. else colour1 = strval(tmp2);
  3498. if(!strlen(tmp3)) colour2 = random(126);
  3499. else colour2 = strval(tmp3);
  3500.  
  3501. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  3502. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3503. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  3504. {
  3505. if(IsPlayerInAnyVehicle(player1))
  3506. {
  3507. SendCommandToAdmins(playerid,"CarColour");
  3508. format(string, sizeof(string), "|- You have Changed the colour of \"%s's\" %s to '%d,%d' -|", pName(player1), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2);
  3509. SendClientMessage(playerid,BlueMsg,string);
  3510. if(player1 != playerid)
  3511. {
  3512. format(string,sizeof(string),"|- Administrator \"%s\" has changed the Colour of your %s to '%d,%d'' -|", pName(playerid), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 );
  3513. SendClientMessage(player1,blue,string);
  3514. }
  3515. return ChangeVehicleColor(GetPlayerVehicleID(player1), colour1, colour2);
  3516. }
  3517. else return SendClientMessage(playerid,red,"ERROR: Player is not in a vehicle");
  3518. }
  3519. else return ErrorMessages(playerid, 2);
  3520. }
  3521. else return ErrorMessages(playerid, 1);
  3522. }
  3523. dcmd_car(playerid,params[])
  3524. {
  3525. if(AccInfo[playerid][Level] >= 0)
  3526. {
  3527. new Index;
  3528. new tmp[256]; tmp = strtok(params,Index);
  3529. new tmp2[256]; tmp2 = strtok(params,Index);
  3530. new tmp3[256]; tmp3 = strtok(params,Index);
  3531. if(!strlen(tmp)) return
  3532. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /car [ModelID/Name] [Colour1] [Colour2]") &&
  3533. SendClientMessage(playerid, orange, "Function: Will create a Car with specified Colours");
  3534. new car;
  3535. new string[128];
  3536. new colour1, colour2;
  3537. if(!IsNumeric(tmp))
  3538. car = GetVehicleModelIDFromName(tmp);
  3539. else car = strval(tmp);
  3540. if(car < 400 || car > 611) return SendClientMessage(playerid, red, "ERROR: Invalid Vehicle Model ID!");
  3541. if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
  3542. if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
  3543.  
  3544. if(AccInfo[playerid][pCar] != -1 && !IsPlayerAdmin(playerid))
  3545. EraseVeh(AccInfo[playerid][pCar]);
  3546. new LVehicleID;
  3547. new Float:X,Float:Y,Float:Z;
  3548. new Float:Angle,int1;
  3549. GetPlayerPos(playerid, X,Y,Z);
  3550. GetPlayerFacingAngle(playerid,Angle);
  3551. int1 = GetPlayerInterior(playerid);
  3552. LVehicleID = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1);
  3553. LinkVehicleToInterior(LVehicleID,int1);
  3554. AccInfo[playerid][pCar] = LVehicleID;
  3555. SaveIn("CarSpawns",string);
  3556. format(string, sizeof(string), "|- You have Spawned a \"%s\" (Model: %d) with Colours: %d,%d -|", VehicleNames[car-400], car, colour1, colour2);
  3557. return SendClientMessage(playerid,LIGHTBLUE, string);
  3558. }
  3559. else return ErrorMessages(playerid, 6);
  3560. }
  3561. dcmd_carhealth(playerid,params[])
  3562. {
  3563. if(AccInfo[playerid][Level] >= 3)
  3564. {
  3565. new Index;
  3566. new tmp[256]; tmp = strtok(params,Index);
  3567. new tmp2[256]; tmp2 = strtok(params,Index);
  3568.  
  3569. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
  3570. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /carhealth [PlayerID] [Amount]") &&
  3571. SendClientMessage(playerid, orange, "Function: Will set Car Health of specified player");
  3572. new string[128];
  3573. new player1 = strval(tmp);
  3574. new health = strval(tmp2);
  3575. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  3576. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3577. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  3578. {
  3579. if(IsPlayerInAnyVehicle(player1))
  3580. {
  3581. SendCommandToAdmins(playerid,"CarHealth");
  3582. format(string, sizeof(string), "|- You have set \"%s's\" Vehicle Health to '%d -|", pName(player1), health);
  3583. SendClientMessage(playerid,yellow,string);
  3584. if(player1 != playerid) { format(string,sizeof(string),"|- Administrator \"%s\" has set your Vehicle's Health to '%d' -|", pName(playerid), health); SendClientMessage(player1,blue,string);
  3585. }
  3586. return SetVehicleHealth(GetPlayerVehicleID(player1), health);
  3587. }
  3588. else return SendClientMessage(playerid,red,"ERROR: Player is not in a vehicle");
  3589. }
  3590. else return ErrorMessages(playerid, 2);
  3591. }
  3592. else return ErrorMessages(playerid, 1);
  3593. }
  3594. dcmd_linkcar(playerid,params[])
  3595. {
  3596. #pragma unused params
  3597. if(IsPlayerInAnyVehicle(playerid))
  3598. {
  3599. LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(playerid));
  3600. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(playerid));
  3601. return SendClientMessage(playerid,LIGHTBLUE, "|- Your vehicle is now in your Virtual World and Interior! -|");
  3602. }
  3603. else return SendClientMessage(playerid,red,"ERROR: You must be in a vehicle.");
  3604. }
  3605.  
  3606.  
  3607. dcmd_godcar(playerid,params[])
  3608. {
  3609. #pragma unused params
  3610. if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
  3611. {
  3612. if(IsPlayerInAnyVehicle(playerid))
  3613. {
  3614. if(AccInfo[playerid][GodCar] == 0)
  3615. {
  3616. AccInfo[playerid][GodCar] = 1;
  3617. SendCommandToAdmins(playerid,"GodCar");
  3618. return SendClientMessage(playerid,green,"|- Vehicle GodMod ON -|");
  3619. }
  3620. else
  3621. {
  3622. AccInfo[playerid][GodCar] = 0;
  3623. return SendClientMessage(playerid,red,"|- Vehicle GodMod OFF -|");
  3624. }
  3625. }
  3626. else return SendClientMessage(playerid,red,"ERROR: You need to be in a car to use this command");
  3627. }
  3628. else return ErrorMessages(playerid, 5);
  3629. }
  3630.  
  3631. dcmd_sgod(playerid,params[])
  3632. {
  3633. #pragma unused params
  3634. if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
  3635. {
  3636. if(AccInfo[playerid][God] == 0)
  3637. {
  3638. AccInfo[playerid][God] = 1;
  3639. SetPlayerHealth(playerid,100000);
  3640. GivePlayerWeapon(playerid,16,50000);
  3641. GivePlayerWeapon(playerid,26,50000);
  3642. return SendClientMessage(playerid,green,"|- GodMod ON -|");
  3643. }
  3644. else
  3645. {
  3646. AccInfo[playerid][God] = 0;
  3647. SendClientMessage(playerid,red,"|- GodMod OFF -|");
  3648. SetPlayerHealth(playerid, 100);
  3649. return GivePlayerWeapon(playerid,35,0);
  3650. }
  3651. }
  3652. else return ErrorMessages(playerid, 9);
  3653. }
  3654.  
  3655. dcmd_asay(playerid,params[])
  3656. {
  3657. #pragma unused params
  3658. if(AccInfo[playerid][Level] >= 1)
  3659. {
  3660. if(!strlen(params)) return
  3661. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /asay [Text] ") &&
  3662. SendClientMessage(playerid, orange, "Function: Will send specified message as Admin!");
  3663. new string[128];
  3664. format(string, sizeof(string), "|- Admin %s: %s", PlayerName2(playerid), params[0]);
  3665. return SendClientMessageToAll(LIGHTBLUE,string);
  3666. }
  3667. else return ErrorMessages(playerid, 7);
  3668. }
  3669.  
  3670. dcmd_highlight(playerid,params[])
  3671. {
  3672. if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  3673. {
  3674. if(!strlen(params)) return
  3675. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /highlight [PlayerID]") &&
  3676. SendClientMessage(playerid, orange, "Function: Will Highlight the specified player! (Blinking)");
  3677. new player1;
  3678. new playername[MAX_PLAYER_NAME];
  3679. new string[128];
  3680. player1 = strval(params);
  3681.  
  3682. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  3683. {
  3684. GetPlayerName(player1, playername, sizeof(playername));
  3685. if(AccInfo[player1][blip] == 0) {
  3686. SendCommandToAdmins(playerid,"HighLight");
  3687. AccInfo[player1][pColour] = GetPlayerColor(player1);
  3688. AccInfo[player1][blip] = 1;
  3689. BlipTimer[player1] = SetTimerEx("HighLight", 1000, 1, "i", player1);
  3690. format(string,sizeof(string),"You have Highlighted %s's marker", playername);
  3691. }
  3692. else
  3693. {
  3694. KillTimer( BlipTimer[player1]);
  3695. AccInfo[player1][blip] = 0;
  3696. SetPlayerColor(player1, AccInfo[player1][pColour]);
  3697. format(string,sizeof(string),"You have Stopped Highlighting %s's marker", playername);
  3698. }
  3699. return SendClientMessage(playerid,yellow,string);
  3700. }
  3701. else return ErrorMessages(playerid, 2);
  3702. }
  3703. else return ErrorMessages(playerid, 1);
  3704. }
  3705. dcmd_getid(playerid,params[])
  3706. {
  3707. if(!strlen(params)) return
  3708. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /getid [PartOfName] ") &&
  3709. SendClientMessage(playerid, orange, "Function: Will see Id of specified Player");
  3710. new found, string[128], playername[MAX_PLAYER_NAME];
  3711. format(string,sizeof(string),"|- Searched for: \"%s\" -|",params);
  3712. SendClientMessage(playerid,white,string);
  3713. for(new i=0; i <= MAX_PLAYERS; i++)
  3714. {
  3715. if(IsPlayerConnected(i))
  3716. {
  3717. GetPlayerName(i, playername, MAX_PLAYER_NAME);
  3718. new namelen = strlen(playername);
  3719. new bool:searched=false;
  3720. for(new pos=0; pos <= namelen; pos++)
  3721. {
  3722. if(searched != true)
  3723. {
  3724. if(strfind(playername,params,true) == pos)
  3725. {
  3726. found++;
  3727. format(string,sizeof(string),"%d. %s (ID: %d)",found,playername,i);
  3728. SendClientMessage(playerid, green ,string);
  3729. searched = true;
  3730. }
  3731. }
  3732. }
  3733. }
  3734. }
  3735. if(found == 0)
  3736. SendClientMessage(playerid, LIGHTBLUE, "No Players Localized!");
  3737. return 1;
  3738. }
  3739. dcmd_die(playerid,params[])
  3740. {
  3741. #pragma unused params
  3742. if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
  3743. {
  3744. new Float:x, Float:y, Float:z ;
  3745. GetPlayerPos( playerid, Float:x, Float:y, Float:z );
  3746. CreateExplosion(Float:x+10, Float:y, Float:z, 8,10.0);
  3747. CreateExplosion(Float:x-10, Float:y, Float:z, 8,10.0);
  3748. CreateExplosion(Float:x, Float:y+10, Float:z, 8,10.0);
  3749. CreateExplosion(Float:x, Float:y-10, Float:z, 8,10.0);
  3750. CreateExplosion(Float:x+10, Float:y+10, Float:z, 8,10.0);
  3751. CreateExplosion(Float:x-10, Float:y+10, Float:z, 8,10.0);
  3752. return CreateExplosion(Float:x-10, Float:y-10, Float:z, 8,10.0);
  3753. }
  3754. else return ErrorMessages(playerid, 5);
  3755. }
  3756.  
  3757. dcmd_serverinfo(playerid,params[])
  3758. {
  3759. #pragma unused params
  3760. new numo = CreateObject(1245,0,0,1000,0,0,0);
  3761. DestroyObject(numo);
  3762. new VehTotal = CreateVehicle(411, 0, 0, 0, 0, 0, 0, 1000);
  3763. DestroyVehicle(VehTotal);
  3764. new gz = GangZoneCreate(3,3,5,5);
  3765. GangZoneDestroy(gz);
  3766. new nump = CreatePickup(371,2,0,0,1000);
  3767. DestroyPickup(nump);
  3768.  
  3769. new nummodel;
  3770. new model[250];
  3771. for(new i=1;i<VehTotal;i++)
  3772. model[GetVehicleModel(i)-400]++;
  3773. for(new i=0;i<250;i++)
  3774. if(model[i]!=0) nummodel++;
  3775. new string[256];
  3776.  
  3777. SendClientMessage(playerid, green, " ");
  3778. SendClientMessage(playerid, green, "___________ |- Server Information -| ___________");
  3779. SendClientMessage(playerid, green, " ");
  3780. format(string,sizeof(string),"Player: Connected: %d || Maximum: %d || Ratio: %0.2f",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers());
  3781. SendClientMessage(playerid,white,string);
  3782. format(string,sizeof(string),"Vehicles: Total: %d || Models: %d || In Vehicle: %d (InCar: %d | OnBike: %d)",VehTotal-1,nummodel, InVehTotal(),InCarCount(),OnBikeCount());
  3783. SendClientMessage(playerid,white,string);
  3784. format(string,sizeof(string),"Other: Objects: %d || Pickups: %d || Gangzones: %d",numo-1, nump, gz);
  3785. SendClientMessage(playerid,white,string);
  3786. format(string,sizeof(string),"Players Stats: In Jail %d || Frozen %d || Muted %d",JailedPlayers(),FrozenPlayers(), MutedPlayers());
  3787. SendClientMessage(playerid,white,string);
  3788. return SendClientMessage(playerid, green, "___________________________________________");
  3789. }
  3790. dcmd_lcredits(playerid,params[])
  3791. {
  3792. #pragma unused params
  3793. new string[120];
  3794. SendClientMessage(playerid, green, " ");
  3795. SendClientMessage(playerid, green, "___________ |- Credits -| ___________");
  3796. SendClientMessage(playerid, green, " ");
  3797. format(string,sizeof(string)," L.A.S - LuX Administration System™ %s",LVersion);
  3798. SendClientMessage(playerid,orange,string);
  3799. SendMessageToCMD(playerid);
  3800. return SendClientMessage(playerid,green,"________________________________");
  3801. }
  3802. dcmd_announce2(playerid,params[])
  3803. {
  3804. if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
  3805. {
  3806. new Index;
  3807. new tmp[256]; tmp = strtok(params,Index);
  3808. new tmp2[256]; tmp2 = strtok(params,Index);
  3809. new tmp3[256]; tmp3 = strtok(params,Index);
  3810. if(!strlen(tmp)||!strlen(tmp2)||!strlen(tmp3)) return
  3811. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /announce2 [Style (0-6)] [Time(Miliseconds)] [Text]") &&
  3812. SendClientMessage(playerid, orange, "Function: Will Announce the specified Message in screen for specified Time");
  3813. if(!(strval(tmp) >= 0 && strval(tmp) <= 6) || strval(tmp) == 2)
  3814. return SendClientMessage(playerid,red,"ERROR: Invalid Style! (0-6)");
  3815. SendCommandToAdmins(playerid,"Announce2");
  3816. return GameTextForAll(params[(strlen(tmp)+strlen(tmp2)+2)], strval(tmp2), strval(tmp));
  3817. }
  3818. else return ErrorMessages(playerid, 7);
  3819. }
  3820. dcmd_announce(playerid,params[])
  3821. {
  3822. if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
  3823. {
  3824. if(!strlen(params)) return
  3825. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /announce [Text]") &&
  3826. SendClientMessage(playerid, orange, "Function: Will Announce the specified Message in screen");
  3827. SendCommandToAdmins(playerid,"Announce");
  3828. return GameTextForAll(params,4000,3);
  3829. }
  3830. else return ErrorMessages(playerid, 7);
  3831. }
  3832.  
  3833. dcmd_duel(playerid,params[])
  3834. {
  3835. if(AccInfo[playerid][Level] >= 3)
  3836. {
  3837. new Index;
  3838. new tmp[256]; tmp = strtok(params,Index);
  3839. new tmp2[256]; tmp2 = strtok(params,Index);
  3840. new tmp3[256]; tmp3 = strtok(params,Index);
  3841.  
  3842. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2))
  3843. {
  3844. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /duel [PlayerID 1] [PlayerID 2] [Location (1,2,3)]");
  3845. return SendClientMessage(playerid, orange, "Function: Will start a duel per two Players in specified Location!");
  3846. }
  3847. new player1 = strval(tmp);
  3848. new player2 = strval(tmp2);
  3849. new location, string[128];
  3850. if(!strlen(tmp3))
  3851. location = 0;
  3852. else location = strval(tmp3);
  3853.  
  3854. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
  3855. SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3856. if(AccInfo[player2][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
  3857. SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3858.  
  3859. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  3860. {
  3861. if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID)
  3862. {
  3863. if(InDuel[player1] == 1) return SendClientMessage(playerid,red,"ERROR: Player One is already in a Duel!");
  3864. if(InDuel[player2] == 1) return SendClientMessage(playerid,red,"ERROR: Player Two is already in a Duel!");
  3865.  
  3866. if(location == 1) {
  3867. SetPlayerInterior(player1,16);
  3868. SetPlayerPos(player1,-1404.067,1270.3706,1042.8672);
  3869. SetPlayerInterior(player2,16);
  3870. SetPlayerPos(player2,-1395.067,1261.3706,1042.8672);
  3871. }
  3872. else if(location == 2) {
  3873. SetPlayerInterior(player1,0);
  3874. SetPlayerPos(player1,1353.407,2188.155,11.02344);
  3875. SetPlayerInterior(player2,0);
  3876. SetPlayerPos(player2,1346.255,2142.843,11.01563);
  3877. }
  3878. else if(location == 3) {
  3879. SetPlayerInterior(player1,10);
  3880. SetPlayerPos(player1,-1041.037,1078.729,1347.678);
  3881. SetPlayerFacingAngle(player1,135);
  3882. SetPlayerInterior(player2,10);
  3883. SetPlayerPos(player2,-1018.061,1052.502,1346.327);
  3884. SetPlayerFacingAngle(player2,45);
  3885. }
  3886. InDuel[player1] = 1;
  3887. InDuel[player2] = 1;
  3888. SendCommandToAdmins(playerid,"Duel");
  3889. cdt[player1] = 6;
  3890. SetTimerEx("Duel",1000,0,"dd", player1, player2);
  3891. format(string, sizeof(string), "|- Administrator \"%s\" has started a duel Between \"%s\" and \"%s\" -|",pName(playerid),pName(player1),pName(player2));
  3892. SendClientMessage(player1, blue, string); SendClientMessage(player2, blue, string);
  3893. return SendClientMessage(playerid, blue, string);
  3894. }
  3895. else return SendClientMessage(playerid, red, "ERROR: Player Two is not connected");
  3896. }
  3897. else return SendClientMessage(playerid, red, "ERROR: Player One is not connected");
  3898. }
  3899. else return ErrorMessages(playerid, 1);
  3900. }
  3901. dcmd_lslowmo(playerid,params[])
  3902. {
  3903. #pragma unused params
  3904. if(AccInfo[playerid][Level] >= 1)
  3905. {
  3906. new Float:x, Float:y, Float:z;
  3907. GetPlayerPos(playerid, x, y, z);
  3908. CreatePickup(1241, 4, x, y, z);
  3909. return SendCommandToAdmins(playerid,"LsLowMo");
  3910. }
  3911. else return ErrorMessages(playerid, 1);
  3912. }
  3913.  
  3914. dcmd_destroycar(playerid,params[])
  3915. {
  3916. #pragma unused params
  3917. if(AccInfo[playerid][Level] >= 3)
  3918. return DelVehicle(GetPlayerVehicleID(playerid));
  3919. else return ErrorMessages(playerid, 1);
  3920. }
  3921. dcmd_tcar(playerid,params[])
  3922. {
  3923. #pragma unused params
  3924. if(AccInfo[playerid][Level] >= 0)
  3925. {
  3926. if(IsPlayerInAnyVehicle(playerid))
  3927. return SendClientMessage(playerid, red, "ERROR: You already have a Vehicle");
  3928.  
  3929. if(!strlen(params))
  3930. {
  3931. SendClientMessage(playerid, yellow, "Usage: /tcar [1-10]");
  3932. return SendClientMessage(playerid, orange, "Function: Will create a Tuned vehicle");
  3933. }
  3934. //======================================================================
  3935. // Level 1
  3936. //======================================================================
  3937. if(strcmp(params,"1",true) == 0)
  3938. {
  3939. if(AccInfo[playerid][pCar] != -1)
  3940. EraseVeh(AccInfo[playerid][pCar]);
  3941. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt;
  3942. GetPlayerPos(playerid,X,Y,Z);
  3943. GetPlayerFacingAngle(playerid,Angle);
  3944. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1);
  3945. PutPlayerInVehicle(playerid,LVehicleIDt,0);
  3946. AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  3947. AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  3948. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010);
  3949. StartTuneSound(playerid);
  3950. ChangeVehiclePaintjob(LVehicleIDt,1);
  3951. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid));
  3952. LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  3953. AccInfo[playerid][pCar] = LVehicleIDt;
  3954. }
  3955. //======================================================================
  3956. // Level 2
  3957. //======================================================================
  3958. else if(strcmp(params,"2",true) == 0)
  3959. {
  3960. if(AccInfo[playerid][pCar] != -1)
  3961. EraseVeh(AccInfo[playerid][pCar]);
  3962. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt;
  3963. GetPlayerPos(playerid,X,Y,Z);
  3964. GetPlayerFacingAngle(playerid,Angle);
  3965. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1);
  3966. PutPlayerInVehicle(playerid,LVehicleIDt,0);
  3967. AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  3968. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); AddVehicleComponent(LVehicleIDt, 1141); AddVehicleComponent(LVehicleIDt, 1169);
  3969. StartTuneSound(playerid);
  3970. ChangeVehiclePaintjob(LVehicleIDt,2);
  3971. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid));
  3972. LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  3973. AccInfo[playerid][pCar] = LVehicleIDt;
  3974. }
  3975. //======================================================================
  3976. // Level 3
  3977. //======================================================================
  3978. else if(strcmp(params,"3",true) == 0)
  3979. {
  3980. if(AccInfo[playerid][pCar] != -1)
  3981. EraseVeh(AccInfo[playerid][pCar]);
  3982. new Float:X,Float:Y,Float:Z,Float:Angle,carid;
  3983. GetPlayerPos(playerid,X,Y,Z);
  3984. GetPlayerFacingAngle(playerid,Angle);
  3985. carid = CreateVehicle(559,X,Y,Z,Angle,1,-1,-1);
  3986. PutPlayerInVehicle(playerid,carid,0);
  3987. AddVehicleComponent(carid,1065); AddVehicleComponent(carid,1067); AddVehicleComponent(carid,1162);
  3988. AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073);
  3989. ChangeVehiclePaintjob(carid,1);
  3990. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  3991. LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  3992. AccInfo[playerid][pCar] = carid;
  3993. }
  3994. //======================================================================
  3995. // Level 4
  3996. //======================================================================
  3997. else if(strcmp(params,"4",true) == 0)
  3998. {
  3999. if(AccInfo[playerid][pCar] != -1)
  4000. EraseVeh(AccInfo[playerid][pCar]);
  4001. new Float:X,Float:Y,Float:Z,Float:Angle,carid;
  4002. GetPlayerPos(playerid,X,Y,Z);
  4003. GetPlayerFacingAngle(playerid,Angle);
  4004. carid = CreateVehicle(565,X,Y,Z,Angle,1,-1,-1);
  4005. PutPlayerInVehicle(playerid,carid,0);
  4006. AddVehicleComponent(carid,1046);
  4007. AddVehicleComponent(carid,1049); AddVehicleComponent(carid,1053);
  4008. AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073);
  4009. ChangeVehiclePaintjob(carid,1);
  4010. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  4011. LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4012. AccInfo[playerid][pCar] = carid;
  4013. }
  4014. //======================================================================
  4015. // Level 5
  4016. //======================================================================
  4017. else if(strcmp(params,"5",true) == 0)
  4018. {
  4019. if(AccInfo[playerid][pCar] != -1)
  4020. EraseVeh(AccInfo[playerid][pCar]);
  4021. new Float:X,Float:Y,Float:Z,Float:Angle,carid;
  4022. GetPlayerPos(playerid,X,Y,Z);
  4023. GetPlayerFacingAngle(playerid,Angle);
  4024. carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1);
  4025. PutPlayerInVehicle(playerid,carid,0);
  4026. AddVehicleComponent(carid,1088); AddVehicleComponent(carid,1092);
  4027. AddVehicleComponent(carid,1139); AddVehicleComponent(carid,1010);
  4028. AddVehicleComponent(carid,1073);
  4029. ChangeVehiclePaintjob(carid,1);
  4030. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  4031. LinkVehicleToInterior(carid,
  4032. GetPlayerInterior(playerid));
  4033. AccInfo[playerid][pCar] = carid;
  4034. }
  4035. //======================================================================
  4036. // Level 6
  4037. //======================================================================
  4038. else if(strcmp(params,"6",true) == 0)
  4039. {
  4040. if(AccInfo[playerid][pCar] != -1)
  4041. EraseVeh(AccInfo[playerid][pCar]);
  4042. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt;
  4043. GetPlayerPos(playerid,X,Y,Z);
  4044. GetPlayerFacingAngle(playerid,Angle);
  4045. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1);
  4046. PutPlayerInVehicle(playerid,LVehicleIDt,0);
  4047. AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010);
  4048. AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1170);
  4049. AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1028);
  4050. AddVehicleComponent(LVehicleIDt, 1170); AddVehicleComponent(LVehicleIDt, 1031);
  4051. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1140);
  4052. AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1028);
  4053. AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031);
  4054. AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1138);
  4055. StartTuneSound(playerid);
  4056. ChangeVehiclePaintjob(LVehicleIDt,0);
  4057. SetVehicleVirtualWorld(LVehicleIDt,GetPlayerVirtualWorld(playerid));
  4058. LinkVehicleToInterior(LVehicleIDt,GetPlayerInterior(playerid));
  4059. AccInfo[playerid][pCar] = LVehicleIDt;
  4060. }
  4061. //======================================================================
  4062. // Level 7
  4063. //======================================================================
  4064. else if(strcmp(params,"7",true) == 0)
  4065. {
  4066. if(AccInfo[playerid][pCar] != -1)
  4067. EraseVeh(AccInfo[playerid][pCar]);
  4068. new Float:X,Float:Y,Float:Z,Float:Angle,carid;
  4069. GetPlayerPos(playerid,X,Y,Z);
  4070. GetPlayerFacingAngle(playerid,Angle);
  4071. carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1);
  4072. PutPlayerInVehicle(playerid,carid,0);
  4073. AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038);
  4074. AddVehicleComponent(carid,1147); AddVehicleComponent(carid,1010);
  4075. AddVehicleComponent(carid,1073);
  4076. ChangeVehiclePaintjob(carid,1);
  4077. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  4078. LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4079. AccInfo[playerid][pCar] = carid;
  4080. }
  4081. //======================================================================
  4082. // Level 8
  4083. //======================================================================
  4084. else if(strcmp(params,"8",true) == 0)
  4085. {
  4086. if(AccInfo[playerid][pCar] != -1)
  4087. EraseVeh(AccInfo[playerid][pCar]);
  4088. new Float:X,Float:Y,Float:Z,Float:Angle,carid;
  4089. GetPlayerPos(playerid,X,Y,Z);
  4090. GetPlayerFacingAngle(playerid,Angle);
  4091. carid = CreateVehicle(535,X,Y,Z,Angle,1,-1,-1);
  4092. PutPlayerInVehicle(playerid,carid,0);
  4093. ChangeVehiclePaintjob(carid,1); AddVehicleComponent(carid,1109);
  4094. AddVehicleComponent(carid,1115); AddVehicleComponent(carid,1117);
  4095. AddVehicleComponent(carid,1073); AddVehicleComponent(carid,1010);
  4096. AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1114);
  4097. AddVehicleComponent(carid,1081); AddVehicleComponent(carid,1119);
  4098. AddVehicleComponent(carid,1121);
  4099. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  4100. LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4101. AccInfo[playerid][pCar] = carid;
  4102. }
  4103. //======================================================================
  4104. // Level 9
  4105. //======================================================================
  4106. else if(strcmp(params,"9",true) == 0)
  4107. {
  4108. if(AccInfo[playerid][pCar] != -1)
  4109. EraseVeh(AccInfo[playerid][pCar]);
  4110. new Float:X,Float:Y,Float:Z,Float:Angle,carid;
  4111. GetPlayerPos(playerid,X,Y,Z);
  4112. GetPlayerFacingAngle(playerid,Angle);
  4113. carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1);
  4114. PutPlayerInVehicle(playerid,carid,0);
  4115. AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1166);
  4116. AddVehicleComponent(carid,1165); AddVehicleComponent(carid,1090);
  4117. AddVehicleComponent(carid,1094); AddVehicleComponent(carid,1010);
  4118. AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1163);
  4119. AddVehicleComponent(carid,1091);
  4120. ChangeVehiclePaintjob(carid,2);
  4121. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  4122. LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4123. AccInfo[playerid][pCar] = carid;
  4124. }
  4125. //======================================================================
  4126. // Level 10
  4127. //======================================================================
  4128. else if(strcmp(params,"10",true) == 0)
  4129. {
  4130. if(AccInfo[playerid][pCar] != -1)
  4131. EraseVeh(AccInfo[playerid][pCar]);
  4132. new Float:X,Float:Y,Float:Z,Float:Angle,carid;
  4133. GetPlayerPos(playerid,X,Y,Z);
  4134. GetPlayerFacingAngle(playerid,Angle);
  4135. carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1);
  4136. PutPlayerInVehicle(playerid,carid,0);
  4137. AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038);
  4138. AddVehicleComponent(carid,1147); AddVehicleComponent(carid,1010);
  4139. AddVehicleComponent(carid,1073);
  4140. ChangeVehiclePaintjob(carid,0);
  4141. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  4142. LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4143. AccInfo[playerid][pCar] = carid;
  4144. }
  4145. //======================================================================
  4146. else
  4147. {
  4148. SendClientMessage(playerid, red, "ERROR: Invalid Tuned Vehicle (1-10)");
  4149. }
  4150. return 1;
  4151. }
  4152. else return ErrorMessages(playerid, 1);
  4153. }
  4154.  
  4155. //==============================================================================
  4156. // Chat Commands
  4157. //==============================================================================
  4158.  
  4159. dcmd_disablechat(playerid,params[])
  4160. {
  4161. #pragma unused params
  4162. if(AccInfo[playerid][Level] >= 3)
  4163. {
  4164. SendCommandToAdmins(playerid,"DisableChat");
  4165. new string[128];
  4166. if(ServerInfo[DisableChat] == 0)
  4167. {
  4168. ServerInfo[DisableChat] = 1;
  4169. format(string,sizeof(string),"|- Administrator \"%s\" has Disabled Chat -|", pName(playerid));
  4170. }
  4171. else
  4172. {
  4173. ServerInfo[DisableChat] = 0;
  4174. format(string,sizeof(string),"|- Administrator \"%s\" has Enabled Chat", pName(playerid));
  4175. }
  4176. return SendClientMessageToAll(blue,string);
  4177. }
  4178. else return ErrorMessages(playerid, 6);
  4179. }
  4180. dcmd_caps(playerid,params[])
  4181. {
  4182. if(AccInfo[playerid][Level] >= 3)
  4183. {
  4184. new tmp [256];
  4185. new tmp2[256];
  4186. new Index;
  4187. tmp = strtok(params,Index);
  4188. tmp2 = strtok(params,Index);
  4189.  
  4190. if(!strlen(tmp) || !strlen(tmp2) || IsNumeric(tmp2)) return
  4191. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /caps [PlayerID] [on/off]") &&
  4192. SendClientMessage(playerid, orange, "Function: Will enable/disable CapsLock for specified Player");
  4193.  
  4194. new player1 = strval(tmp), string[128];
  4195. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  4196. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4197. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  4198. {
  4199. if(strcmp(tmp2,"on",true) == 0)
  4200. {
  4201. SendCommandToAdmins(playerid,"Caps");
  4202. AccInfo[player1][Caps] = 0;
  4203. if(player1 != playerid)
  4204. {
  4205. format(string,sizeof(string),"|- Administrator \"%s\" has Allowed you to use CapsLock in chat -|", pName(playerid));
  4206. SendClientMessage(playerid,blue,string);
  4207. }
  4208. format(string,sizeof(string),"|- You have Allowed \"%s\" to use CapsLock in Chat -|", pName(player1));
  4209. return SendClientMessage(playerid,BlueMsg,string);
  4210. }
  4211. else if(strcmp(tmp2,"off",true) == 0)
  4212. {
  4213. SendCommandToAdmins(playerid,"Caps");
  4214. AccInfo[player1][Caps] = 1;
  4215. if(player1 != playerid)
  4216. {
  4217. format(string,sizeof(string),"|- Administrator \"%s\" has Prevented you from using CapsLock in chat -|", pName(playerid));
  4218. SendClientMessage(playerid,blue,string);
  4219. }
  4220. format(string,sizeof(string),"|- You have Prevented \"%s\" from using CapsLock in chat -|", pName(player1));
  4221. return SendClientMessage(playerid,BlueMsg,string);
  4222. }
  4223. else return
  4224. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /caps [PlayerID] [on/off]") &&
  4225. SendClientMessage(playerid, orange, "Function: Will enable/disable CapsLock for specified Player");
  4226. }
  4227. else return ErrorMessages(playerid, 2);
  4228. }
  4229. else return ErrorMessages(playerid, 1);
  4230. }
  4231. dcmd_clearallchat(playerid,params[])
  4232. {
  4233. #pragma unused params
  4234. if(AccInfo[playerid][Level] >= 3)
  4235. {
  4236. SendCommandToAdmins(playerid,"ClearAllChat");
  4237. for(new i = 0; i < 50; i++)
  4238. SendClientMessageToAll(green," ");
  4239. return 1;
  4240. }
  4241. else return ErrorMessages(playerid, 5);
  4242. }
  4243. //==============================================================================
  4244. dcmd_warp(playerid,params[])
  4245. {
  4246. return dcmd_teleplayer(playerid,params);
  4247. }
  4248. dcmd_teleplayer(playerid,params[])
  4249. {
  4250. if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  4251. {
  4252. new Index;
  4253. new tmp[256]; tmp = strtok(params,Index);
  4254. new tmp2[256]; tmp2 = strtok(params,Index);
  4255.  
  4256. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) return
  4257. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /teleplayer [PlayerID] to [PlayerID]") &&
  4258. SendClientMessage(playerid, orange, "Function: Will Teleport the specified player to the other specified player");
  4259. new string[128];
  4260. new player1 = strval(tmp), player2 = strval(tmp2);
  4261. new Float:plocx,Float:plocy,Float:plocz;
  4262.  
  4263. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  4264. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4265. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  4266. {
  4267. if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID)
  4268. {
  4269. SendCommandToAdmins(playerid,"TelePlayer");
  4270. GetPlayerPos(player2, plocx, plocy, plocz);
  4271. new intid = GetPlayerInterior(player2);
  4272. SetPlayerInterior(player1,intid);
  4273. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(player2));
  4274. if (GetPlayerState(player1) == PLAYER_STATE_DRIVER)
  4275. {
  4276. new VehicleID = GetPlayerVehicleID(player1);
  4277. SetVehiclePos(VehicleID, plocx, plocy+4, plocz); LinkVehicleToInterior(VehicleID,intid);
  4278. SetVehicleVirtualWorld(VehicleID, GetPlayerVirtualWorld(player2));
  4279. }
  4280. else SetPlayerPos(player1,plocx,plocy+2, plocz);
  4281. format(string,sizeof(string),"|- Administrator \"%s\" has Teleported \"%s\" to \"%s's\" Position! -|", pName(playerid), pName(player1), pName(player2));
  4282. SendClientMessage(player1,blue,string); SendClientMessage(player2,blue,string);
  4283. format(string,sizeof(string),"You have Teleported \"%s\" to \"%s's\" Position!", pName(player1), pName(player2));
  4284. return SendClientMessage(playerid,BlueMsg,string);
  4285. }
  4286. else return SendClientMessage(playerid, red, "ERROR: Player Two is not connected");
  4287. }
  4288. else return SendClientMessage(playerid, red, "ERROR: Player One is not connected");
  4289. }
  4290. else return ErrorMessages(playerid, 1);
  4291. }
  4292.  
  4293. dcmd_vget(playerid,params[])
  4294. {
  4295. if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  4296. {
  4297. if(!strlen(params)) return
  4298. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /vget [VehicleID]") &&
  4299. SendClientMessage(playerid, orange, "Function: Will Bring the specified Vehicle to your Position");
  4300. new player1;
  4301. new string[128];
  4302. player1 = strval(params);
  4303. SendCommandToAdmins(playerid,"VGet");
  4304. new Float:x, Float:y, Float:z;
  4305. GetPlayerPos(playerid,x,y,z);
  4306. SetVehiclePos(player1,x+3,y,z);
  4307. SetVehicleVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  4308. format(string,sizeof(string),"|- You brought the Vehicle ID '%d' to your Position -|", player1);
  4309. return SendClientMessage(playerid,BlueMsg,string);
  4310. }
  4311. else return ErrorMessages(playerid, 1);
  4312. }
  4313.  
  4314. dcmd_vgoto(playerid,params[])
  4315. {
  4316. if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  4317. {
  4318. if(!strlen(params)) return
  4319. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /vgoto [VehicleID]") &&
  4320. SendClientMessage(playerid, orange, "Function: Will Go to specified vehicle");
  4321. new player1;
  4322. new string[128];
  4323. player1 = strval(params);
  4324. SendCommandToAdmins(playerid,"VGoto");
  4325. new Float:x, Float:y, Float:z;
  4326. GetVehiclePos(player1,x,y,z);
  4327. SetPlayerVirtualWorld(playerid,GetVehicleVirtualWorld(player1));
  4328. if(GetPlayerState(playerid) == 2)
  4329. {
  4330. SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);
  4331. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetVehicleVirtualWorld(player1));
  4332. }
  4333. else SetPlayerPos(playerid,x+2,y,z);
  4334. format(string,sizeof(string),"|- You have teleported to Vehicle ID: %d -|", player1);
  4335. return SendClientMessage(playerid,BlueMsg,string);
  4336. }
  4337. else return ErrorMessages(playerid, 1);
  4338. }
  4339.  
  4340. dcmd_goto(playerid,params[])
  4341. {
  4342. if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  4343. {
  4344. if(!strlen(params)) return
  4345. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /goto [PlayerID]") &&
  4346. SendClientMessage(playerid, orange, "Function: Will Go to specified player");
  4347. new player1;
  4348. new string[128];
  4349. if(!IsNumeric(params))
  4350. player1 = ReturnPlayerID(params);
  4351. else player1 = strval(params);
  4352. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
  4353. {
  4354. SendCommandToAdmins(playerid,"Goto");
  4355. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  4356. SetPlayerInterior(playerid,GetPlayerInterior(player1));
  4357. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(player1));
  4358. if(GetPlayerState(playerid) == 2)
  4359. {
  4360. SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);
  4361. LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(player1));
  4362. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(player1));
  4363. }
  4364. else SetPlayerPos(playerid,x+2,y,z);
  4365. format(string,sizeof(string),"You have Teleported to %s ", pName(player1));
  4366. return SendClientMessage(playerid,BlueMsg,string);
  4367. }
  4368. else return ErrorMessages(playerid, 4);
  4369. }
  4370. else return ErrorMessages(playerid, 1);
  4371. }
  4372. dcmd_lgoto(playerid,params[])
  4373. {
  4374. if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
  4375. {
  4376. new Float:x, Float:y, Float:z;
  4377. new string[128], Index;
  4378. new tmp[256]; tmp = strtok(params,Index);
  4379. new tmp2[256]; tmp2 = strtok(params,Index);
  4380. new tmp3[256]; tmp3 = strtok(params,Index);
  4381. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return
  4382. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /lgoto [PosX] [PosY] [PosZ]") &&
  4383. SendClientMessage(playerid, orange, "Function: Will Go in specified position (X,Y,Z)");
  4384. x = strval(tmp);
  4385. y = strval(tmp2);
  4386. z = strval(tmp3);
  4387. SendCommandToAdmins(playerid,"LGoto");
  4388. if(GetPlayerState(playerid) == 2)
  4389. SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
  4390. else SetPlayerPos(playerid,x,y,z);
  4391. format(string,sizeof(string),"|- You have teleported to - X: %f, Y: %f, Z: %f -|", x,y,z);
  4392. return SendClientMessage(playerid,green,string);
  4393. }
  4394. else return ErrorMessages(playerid, 1);
  4395. }
  4396.  
  4397. dcmd_get(playerid,params[])
  4398. {
  4399. if(AccInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid))
  4400. {
  4401. if(!strlen(params)) return
  4402. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /get [PlayerID]") &&
  4403. SendClientMessage(playerid, orange, "Function: Will get to you the specified player");
  4404. new player1;
  4405. new string[128];
  4406. if(!IsNumeric(params))
  4407. player1 = ReturnPlayerID(params);
  4408. else player1 = strval(params);
  4409. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  4410. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4411. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
  4412. {
  4413. SendCommandToAdmins(playerid,"Get");
  4414. new Float:x, Float:y, Float:z;
  4415. GetPlayerPos(playerid,x,y,z);
  4416. SetPlayerInterior(player1,GetPlayerInterior(playerid));
  4417. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  4418. if(GetPlayerState(player1) == 2)
  4419. {
  4420. new VehicleID = GetPlayerVehicleID(player1);
  4421. SetVehiclePos(VehicleID,x+3,y,z);
  4422. LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
  4423. SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
  4424. }
  4425. else SetPlayerPos(player1,x+2,y,z);
  4426. format(string,sizeof(string),"|- You have been Teleported to Administrator \"%s's\" position! -|", pName(playerid));
  4427. SendClientMessage(player1,blue,string);
  4428. format(string,sizeof(string),"|- You have Teleported \"%s\" to your Position -|", pName(player1));
  4429. return SendClientMessage(playerid,BlueMsg,string);
  4430. }
  4431. else return ErrorMessages(playerid, 4);
  4432. }
  4433. else return ErrorMessages(playerid, 1);
  4434. }
  4435. dcmd_move(playerid,params[])
  4436. {
  4437. if(AccInfo[playerid][Level] >= 3)
  4438. {
  4439. if(!strlen(params)) return
  4440. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /move [Up/Down/+X/-X/+Y/-Y/off]") &&
  4441. SendClientMessage(playerid, orange, "Function: Will move you for a certain Position (Up/Down/Left/Right)");
  4442. new Float:X, Float:Y, Float:Z;
  4443. if(strcmp(params,"Up",true) == 0)
  4444. {
  4445. TogglePlayerControllable(playerid,false);
  4446. GetPlayerPos(playerid,X,Y,Z);
  4447. SetPlayerPos(playerid,X,Y,Z+5);
  4448. SetCameraBehindPlayer(playerid);
  4449. }
  4450. else if(strcmp(params,"Down",true) == 0){
  4451. TogglePlayerControllable(playerid,false);
  4452. GetPlayerPos(playerid,X,Y,Z);
  4453. SetPlayerPos(playerid,X,Y,Z-5);
  4454. SetCameraBehindPlayer(playerid);
  4455. }
  4456. else if(strcmp(params,"+X",true) == 0){
  4457. TogglePlayerControllable(playerid,false);
  4458. GetPlayerPos(playerid,X,Y,Z);
  4459. SetPlayerPos(playerid,X+5,Y,Z);
  4460. }
  4461. else if(strcmp(params,"-X",true) == 0){
  4462. TogglePlayerControllable(playerid,false);
  4463. GetPlayerPos(playerid,X,Y,Z);
  4464. SetPlayerPos(playerid,X-5,Y,Z);
  4465. }
  4466. else if(strcmp(params,"+Y",true) == 0){
  4467. TogglePlayerControllable(playerid,false);
  4468. GetPlayerPos(playerid,X,Y,Z);
  4469. SetPlayerPos(playerid,X,Y+5,Z);
  4470. }
  4471. else if(strcmp(params,"-Y",true) == 0){
  4472. TogglePlayerControllable(playerid,false);
  4473. GetPlayerPos(playerid,X,Y,Z);
  4474. SetPlayerPos(playerid,X,Y-5,Z);
  4475. }
  4476. else if(strcmp(params,"off",true) == 0){
  4477. TogglePlayerControllable(playerid,true);
  4478. }
  4479. else return
  4480. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /move [Up/Down/+X/-X/+Y/-Y/off]") &&
  4481. SendClientMessage(playerid, orange, "Function: Will move you for a certain Position (Up/Down/Left/Right)");
  4482. return 1;
  4483. }
  4484. else return ErrorMessages(playerid, 1);
  4485. }
  4486.  
  4487. dcmd_gethere(playerid,params[])
  4488. {
  4489. if(AccInfo[playerid][Level] >= 3)
  4490. {
  4491. if(!strlen(params)) return
  4492. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /gethere [PlayerID]") &&
  4493. SendClientMessage(playerid, orange, "Function: Will get to you the specified player");
  4494. new player1;
  4495. new string[128];
  4496. new playername[MAX_PLAYER_NAME];
  4497. new adminname[MAX_PLAYER_NAME];
  4498. player1 = strval(params);
  4499. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  4500. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4501. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
  4502. {
  4503. SendCommandToAdmins(playerid,"GetHere");
  4504. new Float:x, Float:y, Float:z;
  4505. GetPlayerPos(playerid,x,y,z);
  4506. SetPlayerInterior(player1,GetPlayerInterior(playerid));
  4507. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  4508. if(GetPlayerState(player1) == 2)
  4509. {
  4510. new VehicleID = GetPlayerVehicleID(player1);
  4511. SetVehiclePos(VehicleID,x+3,y,z);
  4512. LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
  4513. SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
  4514. }
  4515. else SetPlayerPos(player1,x+2,y,z);
  4516. GetPlayerName(player1, playername, sizeof(playername));
  4517. GetPlayerName(playerid, adminname, sizeof(adminname));
  4518. format(string,sizeof(string),"|- You have been Teleported to Administrator %s's Location -|",adminname);
  4519. SendClientMessage(player1,blue,string);
  4520. format(string,sizeof(string),"|- You have Teleported %s to your Location -|", playername);
  4521. return SendClientMessage(playerid,BlueMsg,string);
  4522. }
  4523. else return ErrorMessages(playerid, 4);
  4524. }
  4525. else return ErrorMessages(playerid, 1);
  4526. }
  4527.  
  4528. dcmd_moveplayer(playerid,params[])
  4529. {
  4530. if(AccInfo[playerid][Level] >= 3)
  4531. {
  4532. new tmp [256];
  4533. new tmp2[256];
  4534. new Index;
  4535. tmp = strtok(params,Index);
  4536. tmp2 = strtok(params,Index);
  4537.  
  4538. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp)) return
  4539. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /moveplayer [PlayerID] [Up/Down/+X/-X/+Y/-Y/off]") &&
  4540. SendClientMessage(playerid, orange, "Function: Will move a specified Player for a certain Position (Up/Down/Left/Right)");
  4541.  
  4542. new Float:X, Float:Y, Float:Z;
  4543. new player1 = strval(tmp);
  4544. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  4545. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4546. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  4547. {
  4548. if(strcmp(tmp2,"Up",true) == 0)
  4549. {
  4550. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z+5); SetCameraBehindPlayer(player1);
  4551. }
  4552. else if(strcmp(tmp2,"Down",true) == 0)
  4553. {
  4554. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z-5); SetCameraBehindPlayer(player1);
  4555. }
  4556. else if(strcmp(tmp2,"+X",true) == 0)
  4557. {
  4558. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X+5,Y,Z);
  4559. }
  4560. else if(strcmp(tmp2,"-X",true) == 0)
  4561. {
  4562. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X-5,Y,Z);
  4563. }
  4564. else if(strcmp(tmp2,"+Y",true) == 0)
  4565. {
  4566. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y+5,Z);
  4567. }
  4568. else if(strcmp(tmp2,"-Y",true) == 0)
  4569. {
  4570. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y-5,Z);
  4571. }
  4572. else SendClientMessage(playerid, LIGHTBLUE2, "Usage: /moveplayer [PlayerID] [Up/Down/+X/-X/+Y/-Y/off]") &&
  4573. SendClientMessage(playerid, orange, "Function: Will move a specified Player for a certain Position (Up/Down/Left/Right)");
  4574. return 1;
  4575. }
  4576. else return ErrorMessages(playerid, 2);
  4577. }
  4578. else return ErrorMessages(playerid, 1);
  4579. }
  4580. dcmd_warn(playerid,params[])
  4581. {
  4582. if(AccInfo[playerid][Level] >= 2)
  4583. {
  4584. new Index;
  4585. new tmp[256]; tmp = strtok(params,Index);
  4586. new tmp2[256]; tmp2 = strtok(params,Index);
  4587.  
  4588. if(!strlen(tmp) || !strlen(tmp2)) return
  4589. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /warn [PlayerID] [Reason]") &&
  4590. SendClientMessage(playerid, orange, "Function: Will give a Warning in specified player");
  4591. new warned = strval(tmp);
  4592. new str[128];
  4593. if(AccInfo[warned][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  4594. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4595. if(IsPlayerConnected(warned) && warned != INVALID_PLAYER_ID)
  4596. {
  4597. if(warned != playerid)
  4598. {
  4599. SendCommandToAdmins(playerid,"Warn");
  4600. AccInfo[warned][Warnings]++;
  4601. if( AccInfo[warned][Warnings] == MAX_WARNINGS)
  4602. {
  4603. format(str, sizeof (str), "|- Administrator \"%s\" has kicked \"%s\". | Reason: %s (Warnings: %d/%d) -|", pName(playerid), pName(warned), params[1+strlen(tmp)], AccInfo[warned][Warnings], MAX_WARNINGS);
  4604. SendClientMessageToAll(lightred, str);
  4605. SaveIn("KickLog",str);
  4606. Kick(warned);
  4607. return AccInfo[warned][Warnings] = 0;
  4608. }
  4609. else
  4610. {
  4611. format(str, sizeof (str), "|- Administrator \"%s\" has given \"%s\" a Warning. | Reason: %s (Warnings: %d/%d) -|", pName(playerid), pName(warned), params[1+strlen(tmp)], AccInfo[warned][Warnings], MAX_WARNINGS);
  4612. return SendClientMessageToAll(yellow, str);
  4613. }
  4614. }
  4615. else return SendClientMessage(playerid, red, "ERROR: You cannot warn yourself");
  4616. }
  4617. else return ErrorMessages(playerid, 2);
  4618. }
  4619. else return ErrorMessages(playerid, 1);
  4620. }
  4621.  
  4622. dcmd_kick(playerid,params[])
  4623. {
  4624. if(AccInfo[playerid][LoggedIn] == 1)
  4625.  
  4626. {
  4627. if(AccInfo[playerid][Level] >= 3)
  4628. {
  4629. new Index;
  4630. new tmp[256]; tmp = strtok(params,Index);
  4631. new tmp2[256]; tmp2 = strtok(params,Index);
  4632. if(!strlen(params)) return
  4633. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /kick [PlayerID] [Reason]") &&
  4634. SendClientMessage(playerid, orange, "Function: Will Kick the specified player");
  4635. new player1;
  4636. new string[128];
  4637. new playername[MAX_PLAYER_NAME];
  4638. new adminname [MAX_PLAYER_NAME];
  4639. player1 = strval(tmp);
  4640.  
  4641. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
  4642. {
  4643. GetPlayerName(player1, playername, sizeof(playername));
  4644. GetPlayerName(playerid, adminname, sizeof(adminname));
  4645. SendCommandToAdmins(playerid,"Kick");
  4646. if(!strlen(tmp2))
  4647. {
  4648. format(string,sizeof(string),"|- %s has been kicked by Administrator %s | Reason: Not Specified -|",playername,adminname);
  4649. SendClientMessageToAll(grey,string);
  4650. SaveIn("KickLog",string);
  4651. print(string);
  4652. return Kick(player1);
  4653. }
  4654. else
  4655. {
  4656. format(string,sizeof(string),"|- %s has been kicked by Administrator %s | Reason: %s -|",playername,adminname,params[2]);
  4657. SendClientMessageToAll(grey,string);
  4658. SaveIn("KickLog",string); print(string);
  4659. return Kick(player1);
  4660. }
  4661. }
  4662. else return ErrorMessages(playerid, 3);
  4663. }
  4664. else return ErrorMessages(playerid, 1);
  4665. }
  4666. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  4667. }
  4668. //==============================================================================
  4669. dcmd_ban(playerid,params[])
  4670. {
  4671. if(AccInfo[playerid][LoggedIn] == 1)
  4672. {
  4673. if(AccInfo[playerid][Level] >= 4)
  4674. {
  4675. new Index;
  4676. new tmp[256]; tmp = strtok(params,Index);
  4677. new tmp2[256]; tmp2 = strtok(params,Index);
  4678.  
  4679. if(!strlen(params)) return
  4680. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /ban [PlayerID] [Reason]") &&
  4681. SendClientMessage(playerid, orange, "Function: Will Ban the specified player");
  4682. if(!strlen(tmp2))
  4683. return SendClientMessage(playerid, red, "ERROR: Reason unspecified!");
  4684. new player1;
  4685. new string[128];
  4686. new playername[MAX_PLAYER_NAME];
  4687. new adminname [MAX_PLAYER_NAME];
  4688. player1 = strval(tmp);
  4689.  
  4690. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
  4691. {
  4692. GetPlayerName(player1, playername, sizeof(playername));
  4693. GetPlayerName(playerid, adminname, sizeof(adminname));
  4694. new year,month,day; getdate(year, month, day);
  4695. new hour,minuite,second; gettime(hour,minuite,second);
  4696. SendCommandToAdmins(playerid,"Ban");
  4697. format(string,sizeof(string),"|- %s has been Banned by Administrator %s | Reason: %s [Date: %d/%d/%d] [Time: %d:%d]",playername,adminname,params[2],day,month,year,hour,minuite);
  4698. SendClientMessageToAll(lightred,string);
  4699. new str[128];
  4700. format(str,sizeof(str),"%s has been Banned by Administrator %s | Reason: %s",playername,adminname,params[2]);
  4701. SaveIn("BanLog",str);
  4702. print(string);
  4703. if(udb_Exists(PlayerName2(player1)) && AccInfo[player1][LoggedIn] == 1)
  4704. dUserSetINT(PlayerName2(player1)).("Banned",1);
  4705. format(string,sizeof(string),"Banned by Administrator %s. | Reason: %s",adminname,params[2]);
  4706. return BanEx(player1, string);
  4707. }
  4708. else return SendClientMessage(playerid, red, "ERRPR: Player is not connected or is yourself or is the highest level admin");
  4709. }
  4710. else return ErrorMessages(playerid, 1);
  4711. }
  4712. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  4713. }
  4714. dcmd_fu(playerid,params[])
  4715. {
  4716. if(AccInfo[playerid][Level] >= 5)
  4717. {
  4718. if(!strlen(params)) return
  4719. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /warn [PlayerID] [Reason]") &&
  4720. SendClientMessage(playerid, orange, "Function: Will f*ck the specified player");
  4721. new player1 = strval(params);
  4722. new NewName[MAX_PLAYER_NAME];
  4723. new string[128];
  4724. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  4725. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4726. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  4727. {
  4728. SendCommandToAdmins(playerid,"Fu");
  4729.  
  4730. SetPlayerArmour(player1,0.0); SetPlayerColor(player1,COLOR_PINK);
  4731. SetPlayerHealth(player1,1.0); ResetPlayerMoney(player1);
  4732. ResetPlayerWeapons(player1); GivePlayerWeapon(player1,12,1);
  4733. SetPlayerWantedLevel(player1,6); SetPlayerSkin(player1, 137);
  4734. SetPlayerScore(player1, 0); SetPlayerWeather(player1,19);
  4735.  
  4736. format(NewName,sizeof(NewName),"[N00B]%s", pName(player1));
  4737. SetPlayerName(player1,NewName);
  4738. if(IsPlayerInAnyVehicle(player1))
  4739. DelVehicle(GetPlayerVehicleID(player1));
  4740.  
  4741. if(player1 != playerid)
  4742. {
  4743. format(string,sizeof(string),"~w~%s: ~r~Fuck You!", pName(playerid));
  4744. GameTextForPlayer(player1, string, 2500, 3);
  4745. }
  4746. format(string,sizeof(string),"Fuck you %s ", pName(player1));
  4747. return SendClientMessage(playerid,blue,string);
  4748. }
  4749. else return ErrorMessages(playerid, 2);
  4750. }
  4751. else return ErrorMessages(playerid, 1);
  4752. }
  4753. dcmd_rban(playerid,params[])
  4754. {
  4755. if(AccInfo[playerid][LoggedIn] == 1)
  4756. {
  4757. if(AccInfo[playerid][Level] >= 4)
  4758. {
  4759. new ip[128], Index;
  4760. new tmp[256]; tmp = strtok(params,Index);
  4761. new tmp2[256]; tmp2 = strtok(params,Index);
  4762.  
  4763. if(!strlen(params)) return
  4764. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /rban [PlayerID] [Reason]") &&
  4765. SendClientMessage(playerid, orange, "Function: Will Range Ban the specified player");
  4766. if(!strlen(tmp2)) return
  4767. SendClientMessage(playerid, red, "ERROR: Reason unspecified!");
  4768. new player1;
  4769. new string[128];
  4770. new playername[MAX_PLAYER_NAME];
  4771. new adminname [MAX_PLAYER_NAME];
  4772. player1 = strval(tmp);
  4773.  
  4774. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
  4775. {
  4776. GetPlayerName(player1, playername, sizeof(playername));
  4777. GetPlayerName(playerid, adminname, sizeof(adminname));
  4778. new year,month,day; getdate(year, month, day);
  4779. new hour,minuite,second; gettime(hour,minuite,second);
  4780. SendCommandToAdmins(playerid,"RBan");
  4781. format(string,sizeof(string),"|- %s has been Range Banned by Administrator %s | Reason: %s [Date: %d/%d/%d] [Time: %d:%d] -|",playername,adminname,params[2],day,month,year,hour,minuite);
  4782. SendClientMessageToAll(lightred,string);
  4783. new str[128];
  4784. format(str,sizeof(str),"%s has been Range Banned by Administrator %s | Reason: %s",playername,adminname,params[2]);
  4785. SaveIn("BanLog",str);
  4786. print(string);
  4787. if(udb_Exists(PlayerName2(player1)) && AccInfo[player1][LoggedIn] == 1)
  4788. dUserSetINT(PlayerName2(player1)).("Banned",1);
  4789. GetPlayerIp(player1,ip,sizeof(ip));
  4790. strdel(ip,strlen(ip)-2,strlen(ip));
  4791. format(ip,128,"%s**",ip);
  4792. format(ip,128,"banip %s",ip);
  4793. SendRconCommand(ip);
  4794. return 1;
  4795. }
  4796. else return ErrorMessages(playerid, 3);
  4797. }
  4798. else return ErrorMessages(playerid, 1);
  4799. }
  4800. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  4801. }
  4802. dcmd_forbidname(playerid,params[])
  4803. {
  4804. if(AccInfo[playerid][Level] >= 4)
  4805. {
  4806. if(!strlen(params)) return
  4807. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /forbidname [Name]") &&
  4808. SendClientMessage(playerid, orange, "Function: Will block a specified Name");
  4809. new File:BLfile, string[128];
  4810. BLfile = fopen("LuxAdmin/Config/ForbiddenNames.cfg",io_append);
  4811. format(string,sizeof(string),"%s\r\n",params[1]);
  4812. fwrite(BLfile,string);
  4813. fclose(BLfile);
  4814. UpdateConfig();
  4815. SendCommandToAdmins(playerid,"ForbidName");
  4816. format(string, sizeof(string), "|- Administrator \"%s\" has added the Name \"%s\" to the Bad Name List", pName(playerid), params);
  4817. return MessageToAdmins(green,string);
  4818. }
  4819. else return ErrorMessages(playerid, 5);
  4820. }
  4821.  
  4822. dcmd_forbidword(playerid,params[])
  4823. {
  4824. if(AccInfo[playerid][Level] >= 4)
  4825. {
  4826. if(!strlen(params)) return
  4827. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /forbidword [Word]") &&
  4828. SendClientMessage(playerid, orange, "Function: Will block a specified Word");
  4829. new File:BLfile, string[128];
  4830. BLfile = fopen("LuxAdmin/Config/ForbiddenWords.cfg",io_append);
  4831. format(string,sizeof(string),"%s\r\n",params[1]);
  4832. fwrite(BLfile,string);
  4833. fclose(BLfile);
  4834. UpdateConfig();
  4835. SendCommandToAdmins(playerid,"ForbidWord");
  4836. format(string, sizeof(string), "|- Administrator \"%s\" has added the Word \"%s\" to the Bad Word List -|", pName(playerid), params);
  4837. return MessageToAdmins(green,string);
  4838. }
  4839. else return ErrorMessages(playerid, 5);
  4840. }
  4841. dcmd_explode(playerid,params[])
  4842. {
  4843. if(AccInfo[playerid][LoggedIn] == 1)
  4844. {
  4845. if(AccInfo[playerid][Level] >= 3)
  4846. {
  4847. new Index;
  4848. new tmp[256]; tmp = strtok(params,Index);
  4849. new tmp2[256]; tmp2 = strtok(params,Index);
  4850.  
  4851. if(!strlen(params)) return
  4852. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /explode [PlayerID] [Reason]") &&
  4853. SendClientMessage(playerid, orange, "Function: Will Explode the specified player");
  4854. new player1;
  4855. new string[128];
  4856. new playername[MAX_PLAYER_NAME];
  4857. new adminname [MAX_PLAYER_NAME];
  4858. player1 = strval(tmp);
  4859.  
  4860. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
  4861. {
  4862. GetPlayerName(player1, playername, sizeof(playername));
  4863. GetPlayerName(playerid, adminname, sizeof(adminname));
  4864. SendCommandToAdmins(playerid,"Explode");
  4865. new Float:burnx, Float:burny, Float:burnz;
  4866. GetPlayerPos(player1,burnx, burny, burnz);
  4867. CreateExplosion(burnx, burny , burnz, 7,10.0);
  4868.  
  4869. if(strlen(tmp2))
  4870. {
  4871. format(string,sizeof(string),"|- You have been exploded by Administrator %s | Reason: %s -|",adminname,params[2]);
  4872. SendClientMessage(player1,blue,string);
  4873. format(string,sizeof(string),"|- You have exploded %s | Reason: %s -|", playername,params[2]);
  4874. return SendClientMessage(playerid,BlueMsg,string);
  4875. }
  4876. else
  4877. {
  4878. format(string,sizeof(string),"|- You have been exploded by Administrator %s | Reason: Not Specified! -|",adminname);
  4879. SendClientMessage(player1,blue,string);
  4880. format(string,sizeof(string),"|- You have Exploded %s -|", playername);
  4881. return SendClientMessage(playerid,BlueMsg,string);
  4882. }
  4883. }
  4884. else return SendClientMessage(playerid, red, "ERROR: Player is not connected or is the highest level admin");
  4885. }
  4886. else return ErrorMessages(playerid, 1);
  4887. }
  4888. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  4889. }
  4890.  
  4891. dcmd_jail(playerid,params[])
  4892. {
  4893. if(AccInfo[playerid][LoggedIn] == 1)
  4894. {
  4895. if(AccInfo[playerid][Level] >= 3)
  4896. {
  4897. new Index;
  4898. new tmp[256]; tmp = strtok(params,Index);
  4899. new tmp2[256]; tmp2 = strtok(params,Index);
  4900. new tmp3[256]; tmp3 = strtok(params,Index);
  4901.  
  4902. if(!strlen(params)) return
  4903. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /jail [PlayerID] [Minutes] [Reason]") &&
  4904. SendClientMessage(playerid, orange, "Function: Will Jailed the specified player");
  4905. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  4906. player1 = strval(tmp);
  4907.  
  4908. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
  4909. {
  4910. if(AccInfo[player1][Jailed] == 0)
  4911. {
  4912. GetPlayerName(player1, playername, sizeof(playername));
  4913. GetPlayerName(playerid, adminname, sizeof(adminname));
  4914. new jtime = strval(tmp2);
  4915. if(jtime == 0) jtime = 9999;
  4916.  
  4917. SendCommandToAdmins(playerid,"Jail");
  4918. AccInfo[player1][JailTime] = jtime*1000*60;
  4919. SetTimerEx("JailPlayer",5000,0,"d",player1);
  4920. SetTimerEx("Jail1",1000,0,"d",player1);
  4921. AccInfo[player1][Jailed] = 1;
  4922.  
  4923. if(jtime == 9999)
  4924. {
  4925. if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"|- Administrator %s has Jailed %s -|",adminname,playername);
  4926. else format(string,sizeof(string),"|- Administrator %s has Jailed %s | Reason: %s -|",adminname,playername,params[strlen(tmp)+1]);
  4927. }
  4928. else
  4929. {
  4930. if(!strlen(tmp3)) format(string,sizeof(string),"|- Administrator %s has Jailed %s for %d Minutes -|",adminname,playername, jtime);
  4931. else format(string,sizeof(string),"|- Administrator %s has Jailed %s for %d Minutes | Reason: %s -|",adminname,playername,jtime,params[strlen(tmp2)+strlen(tmp)+1]);
  4932. }
  4933. return SendClientMessageToAll(blue,string);
  4934. }
  4935. else return SendClientMessage(playerid, red, "ERROR: Player is already in jail");
  4936. }
  4937. else return SendClientMessage(playerid, red, "ERROR: Player is not connected or is the highest level admin");
  4938. }
  4939. else return ErrorMessages(playerid, 1);
  4940. }
  4941. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  4942. }
  4943.  
  4944. dcmd_unjail(playerid,params[])
  4945. {
  4946. if(AccInfo[playerid][LoggedIn] == 1)
  4947. {
  4948. if(AccInfo[playerid][Level] >= 3)
  4949. {
  4950. new tmp[256];
  4951. new Index;
  4952. tmp = strtok(params,Index);
  4953.  
  4954. if(!strlen(params)) return
  4955. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /unjail [PlayerID]") &&
  4956. SendClientMessage(playerid, orange, "Function: Will Unjailed the specified player");
  4957. new player1;
  4958. new string[128];
  4959. new playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  4960. player1 = strval(tmp);
  4961.  
  4962. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
  4963. {
  4964. if(AccInfo[player1][Jailed] == 1)
  4965. {
  4966. GetPlayerName(player1, playername, sizeof(playername));
  4967. GetPlayerName(playerid, adminname, sizeof(adminname));
  4968. format(string,sizeof(string),"|- Administrator %s has Unjailed you -|",adminname);
  4969. SendClientMessage(player1,blue,string);
  4970. format(string,sizeof(string),"|- Administrator %s has Unjailed %s -|",adminname, playername);
  4971. UnjailPlayer(player1);
  4972. return SendClientMessageToAll(blue,string);
  4973. }
  4974. else return SendClientMessage(playerid, red, "ERROR: Player is not in jail");
  4975. }
  4976. else return SendClientMessage(playerid, red, "ERROR: Player is not connected or is the highest level admin");
  4977. }
  4978. else return ErrorMessages(playerid, 1);
  4979. }
  4980. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  4981. }
  4982.  
  4983. dcmd_freeze(playerid,params[])
  4984. {
  4985. if(AccInfo[playerid][LoggedIn] == 1)
  4986. {
  4987. if(AccInfo[playerid][Level] >= 3)
  4988. {
  4989. new tmp[256],tmp2[256],tmp3[256],Index;
  4990. tmp = strtok(params,Index);
  4991. tmp2 = strtok(params,Index);
  4992. tmp3 = strtok(params,Index);
  4993.  
  4994. if(!strlen(params)) return
  4995. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /freeze [PlayerID]") &&
  4996. SendClientMessage(playerid, orange, "Function: Will Freeze the specified player");
  4997. new player1;
  4998. new string[128];
  4999. new playername[MAX_PLAYER_NAME];
  5000. new adminname[MAX_PLAYER_NAME];
  5001.  
  5002. player1 = ReturnUser(tmp, playerid);
  5003. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  5004. {
  5005. if(AccInfo[player1][Frozen] == 0)
  5006. {
  5007. GetPlayerName(player1, playername, sizeof(playername));
  5008. GetPlayerName(playerid, adminname, sizeof(adminname));
  5009. new ftime = strval(tmp2);
  5010. if(ftime == 0) ftime = 9999;
  5011.  
  5012. SendCommandToAdmins(playerid,"Freeze");
  5013. TogglePlayerControllable(player1,false); AccInfo[player1][Frozen] = 1;
  5014. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  5015. AccInfo[player1][FreezeTime] = ftime*1000*60;
  5016. FreezeTimer[player1] = SetTimerEx("UnFreezeMe",AccInfo[player1][FreezeTime],0,"d",player1);
  5017.  
  5018. if(ftime == 9999)
  5019. {
  5020. if(!strlen(params[strlen(tmp2)+1]))
  5021. format(string,sizeof(string),"|- Administrator %s has Frozen %s -|",adminname,playername);
  5022. else format(string,sizeof(string),"|- Administrator %s has Frozen %s | Reason: %s -|",adminname,playername,params[strlen(tmp)+1]);
  5023. }
  5024. else
  5025. {
  5026. if(!strlen(tmp3)) format(string,sizeof(string),"|- Administrator %s has Frozen %s for %d Minutes",adminname,playername,ftime);
  5027. else format(string,sizeof(string),"|- Administrator %s has Frozen %s for %d Minutes | Reason: %s",adminname,playername,ftime,params[strlen(tmp2)+strlen(tmp)+1]);
  5028. }
  5029. return SendClientMessageToAll(blue,string);
  5030. }
  5031. else return SendClientMessage(playerid, red, "ERROR: Player is already Frozen");
  5032. }
  5033. else return SendClientMessage(playerid, red, "ERROR: Player is not connected or is the highest level admin");
  5034. }
  5035. else return ErrorMessages(playerid, 1);
  5036. }
  5037. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  5038. }
  5039.  
  5040. dcmd_unfreeze(playerid,params[])
  5041. {
  5042. if(AccInfo[playerid][LoggedIn] == 1)
  5043. {
  5044. if(AccInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid))
  5045. {
  5046. if(!strlen(params)) return
  5047. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /unfreeze [PlayerID]") &&
  5048. SendClientMessage(playerid, orange, "Function: Will unfreeze the specified player");
  5049. new player1, string[128];
  5050. player1 = strval(params);
  5051.  
  5052. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  5053. {
  5054. if(AccInfo[player1][Frozen] == 1)
  5055. {
  5056. SendCommandToAdmins(playerid,"Unfreeze");
  5057. UnFreezeMe(player1);
  5058. format(string,sizeof(string),"|- Administrator %s has Unfrozen you -|", PlayerName2(playerid));
  5059. SendClientMessage(player1,blue,string);
  5060. format(string,sizeof(string),"|- Administrator %s has Unfrozen %s -|", PlayerName2(playerid), PlayerName2(player1));
  5061. return SendClientMessageToAll(blue,string);
  5062. }
  5063. else return SendClientMessage(playerid, red, "ERROR: Player is not Frozen");
  5064. }
  5065. else return SendClientMessage(playerid, red, "ERROR: Player is not connected or is the highest level admin");
  5066. }
  5067. else return ErrorMessages(playerid, 1);
  5068. }
  5069. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  5070. }
  5071.  
  5072.  
  5073. //==============================================================================
  5074. // Wanted Level List
  5075. //==============================================================================
  5076.  
  5077. dcmd_jailed(playerid,params[])
  5078. {
  5079. #pragma unused params
  5080. if(AccInfo[playerid][LoggedIn] == 1)
  5081. {
  5082. if(AccInfo[playerid][Level] >= 2)
  5083. {
  5084. new bool:First2 = false;
  5085. new Count, i;
  5086. new string[128];
  5087. new adminname[MAX_PLAYER_NAME];
  5088. for(i = 0; i < MAX_PLAYERS; i++)
  5089. if(IsPlayerConnected(i) && AccInfo[i][Jailed])
  5090. Count++;
  5091. if(Count == 0)
  5092. return SendClientMessage(playerid,red, "No players are Jailed!");
  5093.  
  5094. for(i = 0; i < MAX_PLAYERS; i++)
  5095. if(IsPlayerConnected(i) && AccInfo[i][Jailed])
  5096. {
  5097. GetPlayerName(i, adminname, sizeof(adminname));
  5098. if(!First2)
  5099. {
  5100. format(string, sizeof(string), "Jailed Players: (%d)%s", i,adminname); First2 = true;
  5101. }
  5102. else format(string,sizeof(string),"%s, (%d)%s ",string,i,adminname);
  5103. }
  5104. return SendClientMessage(playerid,yellow,string);
  5105. }
  5106. else return ErrorMessages(playerid, 1);
  5107. }
  5108. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  5109. }
  5110.  
  5111.  
  5112. dcmd_frozen(playerid,params[])
  5113. {
  5114. #pragma unused params
  5115. if(AccInfo[playerid][LoggedIn] == 1)
  5116. {
  5117. if(AccInfo[playerid][Level] >= 2)
  5118. {
  5119. new bool:First2 = false;
  5120. new Count,string[128], i;
  5121. new adminname[MAX_PLAYER_NAME];
  5122.  
  5123. for(i = 0; i < MAX_PLAYERS; i++)
  5124. if(IsPlayerConnected(i) && AccInfo[i][Frozen])
  5125. Count++;
  5126. if(Count == 0)
  5127. return SendClientMessage(playerid,red, "No players are Frozen!");
  5128.  
  5129. for(i = 0; i < MAX_PLAYERS; i++)
  5130. if(IsPlayerConnected(i) && AccInfo[i][Frozen])
  5131. {
  5132. GetPlayerName(i, adminname, sizeof(adminname));
  5133. if(!First2)
  5134. {
  5135. format(string, sizeof(string), "Frozen Players: (%d)%s", i,adminname);
  5136. First2 = true;
  5137. }
  5138. else format(string,sizeof(string),"%s, (%d)%s ",string,i,adminname);
  5139. }
  5140. return SendClientMessage(playerid,yellow,string);
  5141. }
  5142. else return ErrorMessages(playerid, 1);
  5143. }
  5144. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  5145. }
  5146.  
  5147. dcmd_muted(playerid,params[])
  5148. {
  5149. #pragma unused params
  5150. if(AccInfo[playerid][LoggedIn] == 1)
  5151. {
  5152. if(AccInfo[playerid][Level] >= 2)
  5153. {
  5154. new bool:First2 = false, Count, adminname[MAX_PLAYER_NAME], string[128], i;
  5155. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && AccInfo[i][Muted]) Count++;
  5156. if(Count == 0) return SendClientMessage(playerid,red, "ERROR: No players are Muted!");
  5157.  
  5158. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && AccInfo[i][Muted])
  5159. {
  5160. GetPlayerName(i, adminname, sizeof(adminname));
  5161. if(!First2)
  5162. {
  5163. format(string, sizeof(string), "Muted Players: (%d)%s", i,adminname);
  5164. First2 = true;
  5165. }
  5166. else format(string,sizeof(string),"%s, (%d)%s ",string,i,adminname);
  5167. }
  5168. return SendClientMessage(playerid,yellow,string);
  5169. }
  5170. else return ErrorMessages(playerid, 1);
  5171. }
  5172. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  5173. }
  5174.  
  5175. dcmd_mute(playerid,params[])
  5176. {
  5177. if(AccInfo[playerid][LoggedIn] == 1)
  5178. {
  5179. if(AccInfo[playerid][Level] >= 2)
  5180. {
  5181. new tmp[256];
  5182. new tmp2[256];
  5183. new Index;
  5184. tmp = strtok(params,Index);
  5185. tmp2 = strtok(params,Index);
  5186. if(!strlen(params)) return
  5187. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /mute [PlayerID] [Reason]") &&
  5188. SendClientMessage(playerid, orange, "Function: Will mute the specified player");
  5189. new playername[MAX_PLAYER_NAME];
  5190. new adminname [MAX_PLAYER_NAME];
  5191. new player1, string[128];
  5192. player1 = strval(tmp);
  5193. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]) )
  5194. {
  5195. if(AccInfo[player1][Muted] == 0)
  5196. {
  5197. GetPlayerName(player1, playername, sizeof(playername));
  5198. GetPlayerName(playerid, adminname, sizeof(adminname));
  5199. SendCommandToAdmins(playerid,"Mute");
  5200. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  5201. AccInfo[player1][Muted] = 1;
  5202. AccInfo[player1][MuteWarnings] = 0;
  5203. if(strlen(tmp2))
  5204. {
  5205. format(string,sizeof(string),"You have Muted %s | Reason: %s ", playername,params[2]);
  5206. return SendClientMessage(playerid,BlueMsg,string);
  5207. }
  5208. else
  5209. {
  5210. format(string,sizeof(string),"You have Muted %s ", playername);
  5211. return SendClientMessage(playerid,BlueMsg,string);
  5212. }
  5213. }
  5214. else return SendClientMessage(playerid, red, "ERROR: Player is already muted");
  5215. }
  5216. else return SendClientMessage(playerid, red, "ERROR: Player is not connected or is the highest level admin");
  5217. }
  5218. else return ErrorMessages(playerid, 1);
  5219. }
  5220. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  5221. }
  5222.  
  5223. dcmd_unmute(playerid,params[])
  5224. {
  5225. if(AccInfo[playerid][LoggedIn] == 1)
  5226. {
  5227. if(AccInfo[playerid][Level] >= 2)
  5228. {
  5229. if(!strlen(params)) return
  5230. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /unmute [PlayerID]") &&
  5231. SendClientMessage(playerid, orange, "Function: Will unmute the specified player");
  5232. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  5233. player1 = strval(params);
  5234. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
  5235. {
  5236. if(AccInfo[player1][Muted] == 1)
  5237. {
  5238. GetPlayerName(player1, playername, sizeof(playername));
  5239. GetPlayerName(playerid, adminname, sizeof(adminname));
  5240. SendCommandToAdmins(playerid,"Unmute");
  5241. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  5242. AccInfo[player1][Muted] = 0;
  5243. AccInfo[player1][MuteWarnings] = 0;
  5244. format(string,sizeof(string),"You have unmuted %s ", playername);
  5245. return SendClientMessage(playerid,BlueMsg,string);
  5246. }
  5247. else return SendClientMessage(playerid, red, "ERROR: Player is not muted!");
  5248. }
  5249. else return SendClientMessage(playerid, red, "ERROR: Player is not connected or is the highest level admin");
  5250. }
  5251. else return ErrorMessages(playerid, 1);
  5252. }
  5253. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  5254. }
  5255. dcmd_slap(playerid,params[])
  5256. {
  5257. if(AccInfo[playerid][LoggedIn] == 1)
  5258. {
  5259. if(AccInfo[playerid][Level] >= 2)
  5260. {
  5261. new Index;
  5262. new tmp[256]; tmp = strtok(params,Index);
  5263. new tmp2[256]; tmp2 = strtok(params,Index);
  5264.  
  5265. if(!strlen(params)) return
  5266. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /slap [PlayerID/PartOfName] [Reason]") &&
  5267. SendClientMessage(playerid, orange, "Function: Will Slap the specified player");
  5268. new player1;
  5269. new string[128];
  5270. new playername[MAX_PLAYER_NAME];
  5271. new adminname [MAX_PLAYER_NAME];
  5272. player1 = strval(tmp);
  5273.  
  5274. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
  5275. {
  5276. GetPlayerName(player1, playername, sizeof(playername));
  5277. GetPlayerName(playerid, adminname, sizeof(adminname));
  5278. SendCommandToAdmins(playerid,"Slap");
  5279. new Float:Health;
  5280. new Float:x, Float:y, Float:z;
  5281. GetPlayerHealth(player1,Health);
  5282. SetPlayerHealth(player1,Health-25);
  5283. GetPlayerPos(player1,x,y,z);
  5284. SetPlayerPos(player1,x,y,z+5);
  5285. PlayerPlaySound(playerid,1190,0.0,0.0,0.0);
  5286. PlayerPlaySound(player1,1190,0.0,0.0,0.0);
  5287.  
  5288. if(strlen(tmp2))
  5289. {
  5290. format(string,sizeof(string),"You have slapped %s | Reason: %s ",playername,params[2]);
  5291. return SendClientMessage(playerid,BlueMsg,string);
  5292. }
  5293. else
  5294. {
  5295. format(string,sizeof(string),"You have slapped %s ",playername);
  5296. return SendClientMessage(playerid,BlueMsg,string);
  5297. }
  5298. }
  5299. else return SendClientMessage(playerid, red, "ERROR: Player is not connected or is the highest level admin");
  5300. }
  5301. else return ErrorMessages(playerid, 1);
  5302. }
  5303. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  5304. }
  5305. dcmd_akill(playerid,params[])
  5306. {
  5307. if(AccInfo[playerid][LoggedIn] == 1)
  5308. {
  5309. if(AccInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid))
  5310. {
  5311. if(!strlen(params)) return
  5312. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /akill [PlayerID]") &&
  5313. SendClientMessage(playerid, orange, "Function: Will Kill a specified player");
  5314. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  5315. player1 = strval(params);
  5316.  
  5317. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  5318. {
  5319. if((AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]))
  5320. return SendClientMessage(playerid, red, "ERROR: You cannot akill the highest level admin");
  5321. SendCommandToAdmins(playerid,"AKIll");
  5322. GetPlayerName(player1, playername, sizeof(playername));
  5323. GetPlayerName(playerid, adminname, sizeof(adminname));
  5324. format(string,sizeof(string),"|- Administrator %s has Killed you -|",adminname);
  5325. SendClientMessage(player1,blue,string);
  5326. format(string,sizeof(string),"|- You have Killed %s -|",playername);
  5327. SendClientMessage(playerid,BlueMsg,string);
  5328. return SetPlayerHealth(player1,0.0);
  5329. }
  5330. else return ErrorMessages(playerid, 2);
  5331. }
  5332. else return ErrorMessages(playerid, 1);
  5333. }
  5334. else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  5335. }
  5336. dcmd_aka(playerid,params[])
  5337. {
  5338. if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
  5339. {
  5340. if(!strlen(params)) return
  5341. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /aka [PlayerID]") &&
  5342. SendClientMessage(playerid, orange, "Function: Will see other names used per specified player (AKA)");
  5343. new player1, playername[MAX_PLAYER_NAME], str[128], pIP[50];
  5344. player1 = strval(params);
  5345. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  5346. {
  5347. GetPlayerIp(player1,pIP,50);
  5348. GetPlayerName(player1, playername, sizeof(playername));
  5349. format(str,sizeof(str),"|- %s's AKA -|", playername);
  5350. SendClientMessage(playerid,blue,str);
  5351. format(str,sizeof(str),"|- Id: %d | Ip: %s | Names: %s -|", player1, pIP, dini_Get("LuxAdmin/Config/aka.txt",pIP));
  5352. return SendClientMessage(playerid,blue,str);
  5353. }
  5354. else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  5355. }
  5356. else return ErrorMessages(playerid, 1);
  5357. }
  5358.  
  5359. dcmd_screen(playerid,params[])
  5360. {
  5361. if(AccInfo[playerid][Level] >= 2)
  5362. {
  5363. new tmp [256];
  5364. new tmp2[256], Index;
  5365. tmp = strtok(params,Index);
  5366. tmp2 = strtok(params,Index);
  5367. if(!strlen(params)) return
  5368. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /screen [PlayerID] [Text]") &&
  5369. SendClientMessage(playerid, orange, "Function: Will sending a Text in screen for specified Player");
  5370. new playername[MAX_PLAYER_NAME];
  5371. new adminname [MAX_PLAYER_NAME], player1;
  5372. new string[128];
  5373. player1 = strval(params);
  5374.  
  5375. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
  5376. {
  5377. GetPlayerName(player1, playername, sizeof(playername));
  5378. GetPlayerName(playerid, adminname, sizeof(adminname));
  5379. SendCommandToAdmins(playerid,"Screen");
  5380. format(string,sizeof(string),"You have sent %s a Screen Message: %s ", playername, params[2]);
  5381. SendClientMessage(playerid,BlueMsg,string);
  5382. return GameTextForPlayer(player1, params[2],4000,3);
  5383. }
  5384. else return ErrorMessages(playerid, 3);
  5385. }
  5386. else return ErrorMessages(playerid, 1);
  5387. }
  5388. dcmd_laston(playerid,params[])
  5389. {
  5390. if(AccInfo[playerid][Level] >= 1)
  5391. {
  5392. new player1;
  5393. new playername[MAX_PLAYER_NAME];
  5394. new adminname [MAX_PLAYER_NAME];
  5395. new str[128];
  5396. new file[256];
  5397. new tmp2[256];
  5398. GetPlayerName(playerid, adminname, sizeof(adminname));
  5399. if(!strlen(params))
  5400. {
  5401. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(adminname));
  5402. if(!fexist(file))
  5403. return SendClientMessage(playerid, red, "ERROR: File not found, Player is not registered!");
  5404. if(dUserINT(PlayerName2(playerid)).("LastOn")==0)
  5405. {
  5406. format(str, sizeof(str),"Never"); tmp2 = str;
  5407. }
  5408. else
  5409. {
  5410. tmp2 = dini_Get(file,"LastOn"); }
  5411. format(str, sizeof(str),"|- Your last Time on Server was: %s -|",tmp2);
  5412. return SendClientMessage(playerid, red, str);
  5413. }
  5414. player1 = strval(params);
  5415. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
  5416. {
  5417. SendCommandToAdmins(playerid,"LastON");
  5418. GetPlayerName(player1,playername,sizeof(playername));
  5419. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(playername));
  5420. if(!fexist(file)) return SendClientMessage(playerid, red, "ERROR: File not found, Player is not registered!");
  5421. if(dUserINT(PlayerName2(player1)).("LastOn")==0)
  5422. {
  5423. format(str, sizeof(str),"Never"); tmp2 = str;
  5424. } else {
  5425. tmp2 = dini_Get(file,"LastOn");
  5426. }
  5427. format(str, sizeof(str),"|- The last time of '%s' in server was: %s -|",playername,tmp2);
  5428. return SendClientMessage(playerid, red, str);
  5429. }
  5430. else return ErrorMessages(playerid, 4);
  5431. }
  5432. else return ErrorMessages(playerid, 1);
  5433. }
  5434. dcmd_adminarea(playerid,params[])
  5435. {
  5436. #pragma unused params
  5437. if(AccInfo[playerid][Level] >= 1)
  5438. {
  5439. SendCommandToAdmins(playerid,"AdminArea");
  5440. SetPlayerPos(playerid, AdminArea[0], AdminArea[1], AdminArea[2]);
  5441. SetPlayerFacingAngle(playerid, AdminArea[3]);
  5442. SetPlayerInterior(playerid, AdminArea[4]);
  5443. SetPlayerVirtualWorld(playerid, AdminArea[5]);
  5444. return GameTextForPlayer(playerid,"Welcome in Admin Area",1000,3);
  5445. }
  5446. else
  5447. {
  5448. SetPlayerHealth(playerid,1.0);
  5449. new string[100];
  5450. format(string, sizeof(string),"ATTENTION: %s has used AdminArea (Not is Admin)", PlayerName2(playerid));
  5451. MessageToAdmins(red,string);
  5452. }
  5453. return SendClientMessage(playerid,red, "ERROR: You must be an administrator to use this command.");
  5454. }
  5455.  
  5456.  
  5457. dcmd_hide(playerid,params[])
  5458. {
  5459. #pragma unused params
  5460. if (AccInfo[playerid][Level] >= 4)
  5461. {
  5462. if (AccInfo[playerid][Hide] == 1)
  5463. return SendClientMessage(playerid,red,"ERROR: You are already have Hidden in the Admin List!");
  5464.  
  5465. AccInfo[playerid][Hide] = 1;
  5466. return SendClientMessage(playerid,green,"|- You are now Hidden from the Admin List -|");
  5467. }
  5468. return ErrorMessages(playerid, 5);
  5469. }
  5470. dcmd_unhide(playerid,params[])
  5471. {
  5472. #pragma unused params
  5473. if(AccInfo[playerid][Level] >= 4)
  5474. {
  5475. if (AccInfo[playerid][Hide] != 1)
  5476. return SendClientMessage(playerid,red,"ERROR: You are not Hidden in the Admin List!");
  5477. AccInfo[playerid][Hide] = 0;
  5478. return SendClientMessage(playerid,green,"|- You are now Visible in the Admin List -|");
  5479. }
  5480. return ErrorMessages(playerid, 5);
  5481. }
  5482.  
  5483.  
  5484. //==============================================================================
  5485. // Duty System
  5486. //==============================================================================
  5487. dcmd_onduty(playerid,params[])
  5488. {
  5489. #pragma unused params
  5490. if (AccInfo[playerid][Level] >= 1)
  5491. {
  5492. if(AccInfo[playerid][OnDuty] == 0)
  5493. {
  5494. AccInfo[playerid][OnDuty] = 1;
  5495. return SendClientMessage(playerid,green,"You are now in \"Duty Mode\" ");
  5496. }
  5497. else
  5498. {
  5499. AccInfo[playerid][OnDuty] = 0;
  5500. return SendClientMessage(playerid,orange,"You are now in \"Playing Mode\" ");
  5501. }
  5502. }
  5503. return ErrorMessages(playerid, 5);
  5504. }
  5505.  
  5506. dcmd_admins(playerid,params[])
  5507. {
  5508. #pragma unused params
  5509. if(AccInfo[playerid][LoggedIn] != 1) return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  5510. if(AccInfo[playerid][Level] < 0) return ErrorMessages(playerid, 1);
  5511. new count1 = 0, count2 = 0;
  5512. new string[512]; //Because you use Dialog to show "Staff list", you can decrease or increase it.
  5513. strcat(string, "Admins online:\n\n");
  5514. for(new i = 0; i < MAX_PLAYERS; i++)
  5515. {
  5516. if(IsPlayerConnected(i) && AccInfo[i][Level] >= 1 && AccInfo[i][Hide] == 0)
  5517. {
  5518. if(AccInfo[i][Level] > 5) AdmRank = "Professional Admin";
  5519. if(IsPlayerAdmin(i)) AdmRank = "RCON Administrator";
  5520. else
  5521. {
  5522. switch(AccInfo[i][Level])
  5523. {
  5524. case 1: AdmRank = "Basic Moderator";
  5525. case 2: AdmRank = "Moderator";
  5526. case 3: AdmRank = "Master Moderator";
  5527. case 4: AdmRank = "Administrator";
  5528. case 5: AdmRank = "Master Administrator";
  5529. }
  5530. }
  5531. switch(AccInfo[i][OnDuty])
  5532. {
  5533. case 0: AdmDuty = "Playing!";
  5534. case 1: AdmDuty = "On Duty!";
  5535. }
  5536. format(string, sizeof(string), "%s{A9C4E4}Level: %d - {FFD119}%s (ID:%i) {A9C4E4}| %s | %s\n", string, AccInfo[i][Level], PlayerName2(i), i, AdmRank, AdmDuty);
  5537. count1++;
  5538. }
  5539. }
  5540. if(count1 == 0) strcat(string, "{FFD119}No administrators online{A9C4E4}\n");
  5541. strcat(string, "\nVIP Players online:\n\n");
  5542. for(new vips = 0; vips < MAX_PLAYERS; vips++)
  5543. {
  5544. if(IsPlayerConnected(vips) && AccInfo[vips][pVip] > 0)
  5545. {
  5546. switch(AccInfo[vips][pVip])
  5547. {
  5548. case 1: AccType = "Silver";
  5549. case 2: AccType = "Gold";
  5550. case 3: AccType = "Premium";
  5551. }
  5552. format(string, sizeof(string), "%s{FFD119}%s (ID: %d){A9C4E4} | VIP Type: %s\n", string, PlayerName2(vips), vips, AccType);
  5553. count2++;
  5554. }
  5555. }
  5556. if(count2 == 0) strcat(string, "{FFD119}No VIP online{A9C4E4}\n");
  5557. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Staffs Online" ,string, "Close", "");
  5558. return 1;
  5559. }
  5560.  
  5561. dcmd_weaps(playerid,params[])
  5562. {
  5563. if(AccInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  5564. {
  5565. if(!strlen(params)) return
  5566. SendClientMessage(playerid, yellow, "Usage: /weaps [PlayerID]") &&
  5567. SendClientMessage(playerid, orange, "Function: See weapons of specified player");
  5568.  
  5569. new player1;
  5570. new Count, x;
  5571. new string[128], string2[64];
  5572. new WeapName[24], slot, weap, ammo;
  5573. player1 = strval(params);
  5574. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  5575. {
  5576. format(string2,sizeof(string2),"_______|- (%d)%s Weapons -|_______", player1,PlayerName2(player1));
  5577. SendClientMessage(playerid,yellow,string2);
  5578. for(slot = 0; slot < 14; slot++)
  5579. {
  5580. GetPlayerWeaponData(player1, slot, weap, ammo);
  5581. if( ammo != 0 && weap != 0)
  5582. Count++;
  5583. }
  5584. if(Count < 1)
  5585. return SendClientMessage(playerid,blue,"No Weapons found!");
  5586.  
  5587. if(Count >= 1)
  5588. {
  5589. for (slot = 0; slot < 14; slot++)
  5590. {
  5591. GetPlayerWeaponData(player1, slot, weap, ammo);
  5592.  
  5593. if( ammo != 0 && weap != 0)
  5594. {
  5595. GetWeaponName(weap, WeapName, sizeof(WeapName));
  5596. if(ammo == 65535 || ammo == 1)
  5597. format(string,sizeof(string),"%s%s (1)",string, WeapName);
  5598. else format(string,sizeof(string),"%s%s (%d)",string, WeapName, ammo);
  5599. x++;
  5600. if(x >= 5)
  5601. {
  5602. SendClientMessage(playerid, blue, string);
  5603. x = 0;
  5604. format(string, sizeof(string), "");
  5605. }
  5606. else format(string, sizeof(string), "%s, ", string);
  5607. }
  5608. }
  5609. if(x <= 4 && x > 0)
  5610. {
  5611. string[strlen(string)-3] = '.';
  5612. SendClientMessage(playerid, blue, string);
  5613. }
  5614. }
  5615. return 1;
  5616. }
  5617. else return ErrorMessages(playerid, 2);
  5618. }
  5619. else return ErrorMessages(playerid, 1);
  5620. }
  5621.  
  5622. dcmd_reports(playerid,params[])
  5623. {
  5624. #pragma unused params
  5625. if(AccInfo[playerid][Level] >= 1)
  5626. {
  5627. new ReportCount;
  5628. for(new i = 1; i < MAX_REPORTS; i++)
  5629. {
  5630. if(strcmp( Reports[i], "[NONE]", true) != 0)
  5631. {
  5632. ReportCount++; SendClientMessage(playerid,COLOR_WHITE,Reports[i]);
  5633. }
  5634. }
  5635. if(ReportCount == 0)
  5636. SendClientMessage(playerid,COLOR_WHITE,"No reports Found!");
  5637. }
  5638. else ErrorMessages(playerid, 8);
  5639. return 1;
  5640. }
  5641.  
  5642. dcmd_report(playerid,params[])
  5643. {
  5644. new reported;
  5645. new tmp[256];
  5646. new tmp2[256];
  5647. new Index;
  5648. tmp = strtok(params,Index);
  5649. tmp2 = strtok(params,Index);
  5650. if(!strlen(params)) return
  5651. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /report [PlayerID] [Reason]") &&
  5652. SendClientMessage(playerid, orange, "Attention: Not report anyone without Reason!");
  5653. reported = strval(tmp);
  5654.  
  5655. if(IsPlayerConnected(reported) && reported != INVALID_PLAYER_ID)
  5656. {
  5657. if(AccInfo[reported][Level] == ServerInfo[MaxAdminLevel])
  5658. return SendClientMessage(playerid,red,"ERROR: You cannot report this Administrator");
  5659. if(playerid == reported)
  5660. return SendClientMessage(playerid,red,"ERROR: You Cannot report Yourself");
  5661. if(strlen(params) > 7)
  5662. {
  5663. new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], str[128];
  5664. new hour,minute,second;
  5665. gettime(hour,minute,second);
  5666. GetPlayerName(reported, reportedname, sizeof(reportedname));
  5667. GetPlayerName(playerid, reporter, sizeof(reporter));
  5668. format(str, sizeof(str), "REPORT: %s(Id:%d) Reported %s(Id:%d) Reason: %s |Time: %d:%d:%d|", reporter,playerid, reportedname, reported, params[strlen(tmp)+1], hour,minute,second);
  5669. MessageToAdmins(COLOR_WHITE,str);
  5670. SaveIn("ReportLog",str);
  5671. format(str, sizeof(str), "(%d:%d:%d): %s(Id:%d) Reported %s(Id:%d) Reason: %s", hour,minute,second, reporter,playerid, reportedname, reported, params[strlen(tmp)+1]);
  5672. for(new i = 1; i < MAX_REPORTS-1; i++) Reports[i] = Reports[i+1];
  5673. Reports[MAX_REPORTS-1] = str;
  5674. return SendClientMessage(playerid,yellow, "|- Your report has been sent to Online Administrators and saved in File! -|");
  5675. }
  5676. else return SendClientMessage(playerid,red,"ERROR: Invalid Reason!");
  5677. }
  5678. else return ErrorMessages(playerid, 2);
  5679. }
  5680.  
  5681. dcmd_richlist(playerid,params[])
  5682. {
  5683. #pragma unused params
  5684. if(AccInfo[playerid][Level] >= 1)
  5685. {
  5686. new string[128], Slot1 = -1, Slot2 = -1, Slot3 = -1, Slot4 = -1;
  5687. new HighestCash = -9999;
  5688. SendClientMessage(playerid,green," Rich List: ");
  5689.  
  5690. for(new x=0; x<MAX_PLAYERS; x++)
  5691. if(IsPlayerConnected(x))
  5692. if(GetPlayerMoney(x) >= HighestCash)
  5693. {
  5694. HighestCash = GetPlayerMoney(x);
  5695. Slot1 = x;
  5696. }
  5697. HighestCash = -9999;
  5698. for(new x=0; x<MAX_PLAYERS; x++)
  5699. if(IsPlayerConnected(x) && x != Slot1)
  5700. if(GetPlayerMoney(x) >= HighestCash)
  5701. {
  5702. HighestCash = GetPlayerMoney(x);
  5703. Slot2 = x;
  5704. }
  5705. HighestCash = -9999;
  5706. for(new x=0; x<MAX_PLAYERS; x++)
  5707. if(IsPlayerConnected(x) && x != Slot1 && x != Slot2)
  5708. if(GetPlayerMoney(x) >= HighestCash)
  5709. {
  5710. HighestCash = GetPlayerMoney(x);
  5711. Slot3 = x;
  5712. }
  5713. HighestCash = -9999;
  5714. for(new x=0; x<MAX_PLAYERS; x++)
  5715. if(IsPlayerConnected(x) && x != Slot1 && x != Slot2 && x != Slot3)
  5716. if(GetPlayerMoney(x) >= HighestCash)
  5717. {
  5718. HighestCash = GetPlayerMoney(x);
  5719. Slot4 = x;
  5720. }
  5721. format(string, sizeof(string), "(%d) Player %s - $%d", Slot1,PlayerName2(Slot1),GetPlayerMoney(Slot1));
  5722. SendClientMessage(playerid,COLOR_WHITE,string);
  5723. if(Slot2 != -1){
  5724. format(string, sizeof(string), "(%d) Player %s - $%d", Slot2,PlayerName2(Slot2),GetPlayerMoney(Slot2));
  5725. SendClientMessage(playerid,COLOR_WHITE,string);
  5726. }
  5727. if(Slot3 != -1){
  5728. format(string, sizeof(string), "(%d) Player %s - $%d", Slot3,PlayerName2(Slot3),GetPlayerMoney(Slot3));
  5729. SendClientMessage(playerid,COLOR_WHITE,string);
  5730. }
  5731. if(Slot4 != -1){
  5732. format(string, sizeof(string), "(%d) Player %s - $%d", Slot4,PlayerName2(Slot4),GetPlayerMoney(Slot4));
  5733. SendClientMessage(playerid,COLOR_WHITE,string);
  5734. }
  5735. return 1;
  5736. }
  5737. else return ErrorMessages(playerid, 1);
  5738. }
  5739.  
  5740. dcmd_botcheck(playerid,params[])
  5741. {
  5742. #pragma unused params
  5743. if(AccInfo[playerid][Level] >= 4)
  5744. {
  5745. for(new i=0; i<MAX_PLAYERS; i++)
  5746. BotCheck(i);
  5747. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5748. return SendCommandToAdmins(playerid,"BotCheck");
  5749. }
  5750. else return ErrorMessages(playerid, 5);
  5751. }
  5752. dcmd_unlockserver(playerid,params[])
  5753. {
  5754. #pragma unused params
  5755. if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
  5756. {
  5757. if(ServerInfo[Locked] == 1)
  5758. {
  5759. return ShowPlayerDialog(playerid, DIALOG_TYPE_SERVUNLOCK, DIALOG_STYLE_MSGBOX, "Unlock Server","You are sure to want unlock the server?", "Yes", "No");
  5760. }
  5761. else return SendClientMessage(playerid,red,"ERROR: Server is not Locked");
  5762. }
  5763. else return ErrorMessages(playerid, 1);
  5764. }
  5765. dcmd_lockserver(playerid,params[])
  5766. {
  5767. new string[156];
  5768. if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
  5769. {
  5770. if(ServerInfo[Locked] == 0)
  5771. {
  5772. if(!strlen(params)) return
  5773. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /lockserver [Pssword]") &&
  5774. SendClientMessage(playerid, orange, "Function: Will server lock with specified Password");
  5775. strmid(ServerInfo[Password], params[0], 0, strlen(params[0]), 128);
  5776. format(string, 128, "Server Password: '%s'", params);
  5777. return ShowPlayerDialog(playerid, DIALOG_TYPE_SERVLOCK, DIALOG_STYLE_MSGBOX, "Lock/Unlock Server", string, "Yes", "No");
  5778. }
  5779. else return SendClientMessage(playerid,red,"ERROR: Server is Locked!");
  5780. }
  5781. else return ErrorMessages(playerid, 1);
  5782. }
  5783.  
  5784. dcmd_uconfig(playerid,params[])
  5785. {
  5786. #pragma unused params
  5787. if(AccInfo[playerid][Level] >= 4)
  5788. {
  5789. UpdateConfig();
  5790. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5791. return SendCommandToAdmins(playerid,"UConfig");
  5792. }
  5793. else return ErrorMessages(playerid, 5);
  5794. }
  5795.  
  5796. //==============================================================================
  5797. // Spectating Commands - I have changed. More it is not my
  5798. //==============================================================================
  5799.  
  5800. dcmd_lspec(playerid,params[])
  5801. {
  5802. if(AccInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid) || AccInfo[playerid][pVip] >= 1)
  5803. {
  5804. if(AccInfo[playerid][pGps] != -1)
  5805. return SendClientMessage(playerid, red, "ERROR: First Disable the Gps System! (/gps off)");
  5806.  
  5807. if(!strlen(params) || !IsNumeric(params)) return
  5808. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /lspec [PlayerID]") &&
  5809. SendClientMessage(playerid, orange, "Function: Will spec a specified Player");
  5810.  
  5811. new specplayerid = ReturnUser(params);
  5812. if(AccInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  5813. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  5814.  
  5815. if(IsPlayerConnected(specplayerid) && specplayerid != INVALID_PLAYER_ID)
  5816. {
  5817. if(specplayerid == playerid)
  5818. return SendClientMessage(playerid, red, "ERROR: You cannot spectate Yourself");
  5819.  
  5820. if(GetPlayerState(specplayerid) == PLAYER_STATE_SPECTATING && AccInfo[specplayerid][SpecID] != INVALID_PLAYER_ID)
  5821. return SendClientMessage(playerid, red, "ERROR: Player spectating someone else");
  5822.  
  5823. if(GetPlayerState(specplayerid) != 1 && GetPlayerState(specplayerid) != 2 && GetPlayerState(specplayerid) != 3)
  5824. return SendClientMessage(playerid, red, "ERROR: Player not Spawned");
  5825.  
  5826. if((AccInfo[specplayerid][Level] != ServerInfo[MaxAdminLevel]) || (AccInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] == ServerInfo[MaxAdminLevel]))
  5827. {
  5828. GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  5829. GetPlayerFacingAngle(playerid,Pos[playerid][3]);
  5830. SendCommandToAdmins(playerid,"LSpec");
  5831. SendClientMessage(playerid,blue,"Spectating On");
  5832. return StartSpectate(playerid, specplayerid);
  5833. }
  5834. else return SendClientMessage(playerid,red,"ERROR: You cannot spectate the highest level admin");
  5835. }
  5836. else return ErrorMessages(playerid, 2);
  5837. }
  5838. else return ErrorMessages(playerid, 7);
  5839. }
  5840.  
  5841. dcmd_lspecoff(playerid,params[])
  5842. {
  5843. #pragma unused params
  5844. if(AccInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
  5845. {
  5846. if(AccInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE)
  5847. {
  5848. StopSpectate(playerid);
  5849. TogglePlayerControllable(playerid, 0);
  5850. SetTimerEx("ReturnPosition",1000,0,"d",playerid);
  5851. return SendClientMessage(playerid,blue,"Spectating Off");
  5852. }
  5853. else return SendClientMessage(playerid,red,"ERROR: You are not spectating");
  5854. }
  5855. else return ErrorMessages(playerid, 7);
  5856. }
  5857.  
  5858.  
  5859. //==============================================================================
  5860. // Pickups and Objects
  5861. //==============================================================================
  5862. dcmd_object(playerid,params[])
  5863. {
  5864. if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
  5865. {
  5866. if(!strlen(params)) return
  5867. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /object [ObjectID]") &&
  5868. SendClientMessage(playerid, orange, "Function: Will created a specified Object");
  5869.  
  5870. new ObjID = strval(params), string[128];
  5871. new Float:X, Float:Y, Float:Z, Float:Ang;
  5872. SendCommandToAdmins(playerid,"Object");
  5873. GetPlayerPos(playerid, X, Y, Z);
  5874. GetPlayerFacingAngle(playerid, Ang);
  5875. X += (3 * floatsin(-Ang, degrees));
  5876. Y += (3 * floatcos(-Ang, degrees));
  5877. CreateObject(ObjID, X, Y, Z, 0.0, 0.0, Ang);
  5878. format(string, sizeof(string), "CreateObject(%d, %0.2f, %0.2f, %0.2f, 0.00, 0.00, %0.2f);", ObjID, X, Y, Z, Ang);
  5879. SaveIn("CreatedObjects",string);
  5880. format(string, sizeof(string), "|- Object Created: (Id: %d) (Position: X: %0.2f, Y: %0.2f, Z: %0.2f) (Angle: %0.2f) -|", ObjID, X, Y, Z, Ang);
  5881. return SendClientMessage(playerid,yellow, string);
  5882. }
  5883. else return ErrorMessages(playerid, 1);
  5884. }
  5885. dcmd_pickup(playerid,params[])
  5886. {
  5887. if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
  5888. {
  5889. if(!strlen(params)) return
  5890. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /pickup [PickupID]") &&
  5891. SendClientMessage(playerid, orange, "Function: Will created a specified Pickup");
  5892.  
  5893. new PickupID = strval(params), string[128];
  5894. new Float:X, Float:Y, Float:Z, Float:Ang;
  5895. SendCommandToAdmins(playerid,"Pickup");
  5896. GetPlayerPos(playerid, X, Y, Z);
  5897. GetPlayerFacingAngle(playerid, Ang);
  5898. X += (3 * floatsin(-Ang, degrees));
  5899. Y += (3 * floatcos(-Ang, degrees));
  5900. CreatePickup(PickupID, 2, X+2, Y, Z);
  5901. format(string, sizeof(string), "CreatePickup(%d, 2, %0.2f, %0.2f, %0.2f);", PickupID, X+2, Y, Z);
  5902. SaveIn("CreatedPickups",string);
  5903. format(string, sizeof(string), "|- Pickup Created: (Id: %d) (Position: X: %0.2f, Y: %0.2f, Z: %0.2f) -|", PickupID, X+2, Y, Z);
  5904. return SendClientMessage(playerid,yellow, string);
  5905. }
  5906. else return ErrorMessages(playerid, 1);
  5907. }
  5908. //==============================================================================
  5909. // Fake Commands
  5910. //==============================================================================
  5911.  
  5912. dcmd_fakecmd(playerid,params[])
  5913. {
  5914. if(AccInfo[playerid][Level] >= 5)
  5915. {
  5916. new tmp[256], tmp2[256], Index;
  5917. tmp = strtok(params,Index);
  5918. tmp2 = strtok(params,Index);
  5919.  
  5920. if(!strlen(tmp) || !strlen(tmp2)) return
  5921. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /fakecmd [PlayerID] [Command]") &&
  5922. SendClientMessage(playerid, orange, "Function: Will sending a false Command used per Specified player");
  5923.  
  5924. new player1 = strval(tmp);
  5925. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  5926. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  5927. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  5928. {
  5929. SendCommandToAdmins(playerid,"FakeCmd");
  5930. CallRemoteFunction("OnPlayerCommandText", "is", player1, tmp2);
  5931. return SendClientMessage(playerid,blue,"|- Fake command sent! -|");
  5932. }
  5933. else return ErrorMessages(playerid, 2);
  5934. }
  5935. else return ErrorMessages(playerid, 1);
  5936. }
  5937. //--------------------------
  5938. dcmd_fakechat(playerid,params[])
  5939. {
  5940. if(AccInfo[playerid][Level] >= 5)
  5941. {
  5942. new tmp[256], tmp2[256], Index;
  5943. tmp = strtok(params,Index);
  5944. tmp2 = strtok(params,Index);
  5945. if(!strlen(tmp) || !strlen(tmp2)) return
  5946. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /fakechat [PlayerID] [Message]") &&
  5947. SendClientMessage(playerid, orange, "Function: Will sending a false message typed per Specified player");
  5948.  
  5949. new player1 = strval(tmp);
  5950. if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  5951. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  5952. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  5953. {
  5954. SendCommandToAdmins(playerid,"FakeChat");
  5955. SendPlayerMessageToAll(player1, params[strlen(tmp)+1]);
  5956. return SendClientMessage(playerid,blue,"|- Fake message sent! -|");
  5957. }
  5958. else return ErrorMessages(playerid, 2);
  5959. }
  5960. else return ErrorMessages(playerid, 1);
  5961. }
  5962. //--------------------------
  5963. dcmd_fakedeath(playerid,params[])
  5964. {
  5965. if(AccInfo[playerid][Level] >= 4)
  5966. {
  5967. new Index;
  5968. new tmp [256];
  5969. new tmp2[256];
  5970. new tmp3[256];
  5971. tmp = strtok(params,Index);
  5972. tmp2 = strtok(params,Index);
  5973. tmp3 = strtok(params,Index);
  5974.  
  5975. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return
  5976. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /fakedeath [KillerID] [KilledID] [WeaponID]") &&
  5977. SendClientMessage(playerid, orange, "Function: Will cause a false death per specified player (FakeKill)");
  5978.  
  5979. new killer = strval(tmp);
  5980. new killee = strval(tmp2);
  5981. new weap = strval(tmp3);
  5982. if(!IsValidWeapon(weap))
  5983. return SendClientMessage(playerid,red,"ERROR: Invalid Weapon ID");
  5984. if(AccInfo[killer][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  5985. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  5986. if(AccInfo[killee][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  5987. return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  5988.  
  5989. if(IsPlayerConnected(killer) && killer != INVALID_PLAYER_ID)
  5990. {
  5991. if(IsPlayerConnected(killee) && killee != INVALID_PLAYER_ID)
  5992. {
  5993. SendCommandToAdmins(playerid,"FakeDeath");
  5994. SendDeathMessage(killer,killee,weap);
  5995. return SendClientMessage(playerid,blue,"Fake death message sent");
  5996. }
  5997. else return SendClientMessage(playerid,red,"ERROR: Fake Killed is not connected");
  5998. }
  5999. else return SendClientMessage(playerid,red,"ERROR: Fake Killer is not connected");
  6000. }
  6001. else return ErrorMessages(playerid, 1);
  6002. }
  6003.  
  6004. //==============================================================================
  6005. //-------------------------------------------------
  6006. // All (Commands)
  6007. //-------------------------------------------------
  6008. //==============================================================================
  6009.  
  6010. dcmd_healall(playerid,params[])
  6011. {
  6012. #pragma unused params
  6013. if(AccInfo[playerid][Level] >= 3)
  6014. {
  6015. SendCommandToAdmins(playerid,"HealAll");
  6016. for(new i = 0; i < MAX_PLAYERS; i++)
  6017. {
  6018. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6019. {
  6020. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6021. SetPlayerHealth(i,100.0);
  6022. }
  6023. }
  6024. new string[128];
  6025. format(string,sizeof(string),"|- Administrator \"%s\" has Healed all players -|", pName(playerid));
  6026. return SendClientMessageToAll(blue, string);
  6027. }
  6028. else return ErrorMessages(playerid, 6);
  6029. }
  6030. dcmd_spawnall(playerid,params[])
  6031. {
  6032. #pragma unused params
  6033. if(AccInfo[playerid][Level] >= 4)
  6034. {
  6035. SendCommandToAdmins(playerid,"SpawnAll");
  6036. for(new i = 0; i < MAX_PLAYERS; i++)
  6037. {
  6038. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6039. {
  6040. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6041. SetPlayerPos(i, 0.0, 0.0, 0.0); SpawnPlayer(i);
  6042. }
  6043. }
  6044. new string[128];
  6045. format(string,sizeof(string),"|- Administrator \"%s\" has Spawned all players -|", pName(playerid));
  6046. return SendClientMessageToAll(blue, string);
  6047. }
  6048. else return ErrorMessages(playerid, 5);
  6049. }
  6050. dcmd_armourall(playerid,params[])
  6051. {
  6052. #pragma unused params
  6053. if(AccInfo[playerid][Level] >= 3)
  6054. {
  6055. SendCommandToAdmins(playerid,"ArmourAll");
  6056. for(new i = 0; i < MAX_PLAYERS; i++)
  6057. {
  6058. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6059. {
  6060. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6061. SetPlayerArmour(i,100.0);
  6062. }
  6063. }
  6064. new string[128];
  6065. format(string,sizeof(string),"|- Administrator \"%s\" has Restored all players armour -|", pName(playerid));
  6066. return SendClientMessageToAll(blue, string);
  6067. }
  6068. else return ErrorMessages(playerid, 6);
  6069. }
  6070.  
  6071. dcmd_slapall(playerid,params[])
  6072. {
  6073. #pragma unused params
  6074. if(AccInfo[playerid][Level] >= 4)
  6075. {
  6076. SendCommandToAdmins(playerid,"SlapAll");
  6077. new Float:x, Float:y, Float:z;
  6078. for(new i = 0; i < MAX_PLAYERS; i++)
  6079. {
  6080. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6081. {
  6082. PlayerPlaySound(i,1190,0.0,0.0,0.0);
  6083. GetPlayerPos(i,x,y,z);
  6084. SetPlayerPos(i,x,y,z+4);
  6085. }
  6086. }
  6087. new string[128];
  6088. format(string,sizeof(string),"|- Administrator \"%s\" has Slapped all players -|", pName(playerid));
  6089. return SendClientMessageToAll(blue, string);
  6090. }
  6091. else return ErrorMessages(playerid, 5);
  6092. }
  6093.  
  6094. dcmd_freezeall(playerid,params[])
  6095. {
  6096. #pragma unused params
  6097. if(AccInfo[playerid][Level] >= 4)
  6098. {
  6099. SendCommandToAdmins(playerid,"FreezeAll");
  6100. for(new i = 0; i < MAX_PLAYERS; i++) {
  6101. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6102. {
  6103. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6104. TogglePlayerControllable(playerid,false);
  6105. AccInfo[i][Frozen] = 1;
  6106. }
  6107. }
  6108. new string[128];
  6109. format(string,sizeof(string),"|- Administrator \"%s\" has Frozen all players -|", pName(playerid));
  6110. return SendClientMessageToAll(blue, string);
  6111. }
  6112. else return ErrorMessages(playerid, 5);
  6113. }
  6114.  
  6115. dcmd_unfreezeall(playerid,params[])
  6116. {
  6117. #pragma unused params
  6118. if(AccInfo[playerid][Level] >= 4)
  6119. {
  6120. SendCommandToAdmins(playerid,"UnfreezeAll");
  6121. for(new i = 0; i < MAX_PLAYERS; i++)
  6122. {
  6123. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6124. {
  6125. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6126. TogglePlayerControllable(playerid,true);
  6127. AccInfo[i][Frozen] = 0;
  6128. }
  6129. }
  6130. new string[128];
  6131. format(string,sizeof(string),"|- Administrator \"%s\" has Unfrozen all players -|", pName(playerid));
  6132. return SendClientMessageToAll(blue, string);
  6133. }
  6134. else return ErrorMessages(playerid, 5);
  6135. }
  6136.  
  6137. dcmd_killall(playerid,params[])
  6138. {
  6139. #pragma unused params
  6140. if(AccInfo[playerid][Level] >= 4)
  6141. {
  6142. SendCommandToAdmins(playerid,"KillAll");
  6143. for(new i = 0; i < MAX_PLAYERS; i++)
  6144. {
  6145. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6146. {
  6147. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6148. SetPlayerHealth(i,0.0);
  6149. }
  6150. }
  6151. new string[128];
  6152. format(string,sizeof(string),"|- Administrator \"%s\" has Killed all players -|", pName(playerid));
  6153. return SendClientMessageToAll(blue, string);
  6154. }
  6155. else return ErrorMessages(playerid, 5);
  6156. }
  6157.  
  6158. dcmd_kickall(playerid,params[])
  6159. {
  6160. #pragma unused params
  6161. if(AccInfo[playerid][Level] >= 4)
  6162. {
  6163. SendCommandToAdmins(playerid,"KickAll");
  6164. for(new i = 0; i < MAX_PLAYERS; i++) {
  6165. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6166. {
  6167. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6168. Kick(i);
  6169. }
  6170. }
  6171. new string[128];
  6172. format(string,sizeof(string),"|- Administrator \"%s\" has Kicked all players -|", pName(playerid));
  6173. SaveIn("KickLog",string);
  6174. return SendClientMessageToAll(blue, string);
  6175. }
  6176. else return ErrorMessages(playerid, 5);
  6177. }
  6178.  
  6179. dcmd_explodeall(playerid,params[])
  6180. {
  6181. #pragma unused params
  6182. if(AccInfo[playerid][Level] >= 4)
  6183. {
  6184. SendCommandToAdmins(playerid,"ExplodeAll");
  6185. new Float:x, Float:y, Float:z;
  6186. for(new i = 0; i < MAX_PLAYERS; i++)
  6187. {
  6188. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6189. {
  6190. PlayerPlaySound(i,1190,0.0,0.0,0.0);
  6191. GetPlayerPos(i,x,y,z);
  6192. CreateExplosion(x,y,z,7,10.0);
  6193. }
  6194. }
  6195. new string[128]; format(string,sizeof(string),"|- Administrator \"%s\" has Exploded all players -|", pName(playerid));
  6196. return SendClientMessageToAll(blue, string);
  6197. }
  6198. else return ErrorMessages(playerid, 5);
  6199. }
  6200.  
  6201. dcmd_setallwanted(playerid,params[])
  6202. {
  6203. if(AccInfo[playerid][Level] >= 3)
  6204. {
  6205. if(!strlen(params)) return
  6206. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setallwanted [WantedLevel]") &&
  6207. SendClientMessage(playerid, orange, "Function: Will set a specified Weather for all players");
  6208. new var = strval(params), string[128];
  6209. SendCommandToAdmins(playerid,"SetAllWanted");
  6210. for(new i = 0; i < MAX_PLAYERS; i++)
  6211. {
  6212. if(IsPlayerConnected(i))
  6213. {
  6214. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6215. SetPlayerWantedLevel(i,var);
  6216. }
  6217. }
  6218. format(string,sizeof(string),"|- Administrator \"%s\" has set all players wanted level to '%d' -|", pName(playerid), var );
  6219. return SendClientMessageToAll(blue, string);
  6220. }
  6221. else return ErrorMessages(playerid, 1);
  6222. }
  6223.  
  6224. dcmd_setallskin(playerid,params[])
  6225. {
  6226. if(AccInfo[playerid][Level] >= 3)
  6227. {
  6228. if(!strlen(params)) return
  6229. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setallskin [SkinID]") &&
  6230. SendClientMessage(playerid, orange, "Function: Will set a specified Skin for all players");
  6231. new var = strval(params), string[128];
  6232. if(!IsValidSkin(var)) return SendClientMessage(playerid, red, "ERROR: Invaild Skin ID");
  6233. SendCommandToAdmins(playerid,"SetAllSkin");
  6234. for(new i = 0; i < MAX_PLAYERS; i++)
  6235. {
  6236. if(IsPlayerConnected(i))
  6237. {
  6238. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6239. SetPlayerSkin(i,var);
  6240. }
  6241. }
  6242. format(string,sizeof(string),"|- Administrator \"%s\" has set all players Skin to '%d' -|", pName(playerid), var );
  6243. return SendClientMessageToAll(blue, string);
  6244. }
  6245. else return ErrorMessages(playerid, 1);
  6246. }
  6247.  
  6248. dcmd_setallweather(playerid,params[])
  6249. {
  6250. if(AccInfo[playerid][Level] >= 3)
  6251. {
  6252. if(!strlen(params)) return
  6253. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setallweather [WeatherID]") &&
  6254. SendClientMessage(playerid, orange, "Function: Will set a specified Weather for all players");
  6255. new var = strval(params), string[128];
  6256. SendCommandToAdmins(playerid,"SetAllWeather");
  6257. for(new i = 0; i < MAX_PLAYERS; i++)
  6258. {
  6259. if(IsPlayerConnected(i))
  6260. {
  6261. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6262. SetPlayerWeather(i, var);
  6263. }
  6264. }
  6265. format(string,sizeof(string),"|- Administrator \"%s\" has set all players Weather to '%d' -|", pName(playerid), var );
  6266. return SendClientMessageToAll(blue, string);
  6267. }
  6268. else return ErrorMessages(playerid, 1);
  6269. }
  6270.  
  6271. dcmd_disarmall(playerid,params[])
  6272. {
  6273. #pragma unused params
  6274. if(AccInfo[playerid][Level] >= 4)
  6275. {
  6276. SendCommandToAdmins(playerid,"DisarmAll");
  6277. for(new i = 0; i < MAX_PLAYERS; i++)
  6278. {
  6279. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6280. {
  6281. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6282. ResetPlayerWeapons(i);
  6283. }
  6284. }
  6285. new string[128];
  6286. format(string,sizeof(string),"|- Administrator \"%s\" has Disarmed all Players -|", pName(playerid));
  6287. return SendClientMessageToAll(blue, string);
  6288. }
  6289. else return ErrorMessages(playerid, 5);
  6290. }
  6291.  
  6292. dcmd_ejectall(playerid,params[])
  6293. {
  6294. #pragma unused params
  6295. if(AccInfo[playerid][Level] >= 4)
  6296. {
  6297. SendCommandToAdmins(playerid,"EjectAll");
  6298. new Float:x, Float:y, Float:z;
  6299. for(new i = 0; i < MAX_PLAYERS; i++)
  6300. {
  6301. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6302. {
  6303. if(IsPlayerInAnyVehicle(i))
  6304. {
  6305. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6306. GetPlayerPos(i,x,y,z);
  6307. SetPlayerPos(i,x,y,z+3);
  6308. }
  6309. }
  6310. }
  6311. new string[128];
  6312. format(string,sizeof(string),"|- Administrator \"%s\" has Ejected all Players -|", pName(playerid));
  6313. return SendClientMessageToAll(blue, string);
  6314. }
  6315. else return ErrorMessages(playerid, 5);
  6316. }
  6317.  
  6318. dcmd_setalltime(playerid,params[])
  6319. {
  6320. if(AccInfo[playerid][Level] >= 3)
  6321. {
  6322. if(!strlen(params)) return
  6323. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setalltime [Time(Hour)]") &&
  6324. SendClientMessage(playerid, orange, "Function: Will set a specified Hour for all players");
  6325.  
  6326. new var = strval(params), string[128];
  6327. if(var > 24) return SendClientMessage(playerid, red, "ERROR: Invalid Hour!");
  6328. SendCommandToAdmins(playerid,"SetAllTime");
  6329. for(new i = 0; i < MAX_PLAYERS; i++)
  6330. {
  6331. if(IsPlayerConnected(i))
  6332. {
  6333. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6334. SetPlayerTime(i, var, 0);
  6335. }
  6336. }
  6337. format(string,sizeof(string),"|- Administrator \"%s\" has set all players Time to '%d:00' -|", pName(playerid), var );
  6338. return SendClientMessageToAll(blue, string);
  6339. }
  6340. else return ErrorMessages(playerid, 1);
  6341. }
  6342.  
  6343. dcmd_setallcash(playerid,params[])
  6344. {
  6345. if(AccInfo[playerid][Level] >= 3)
  6346. {
  6347. if(!strlen(params)) return
  6348. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setallcash [Value]") &&
  6349. SendClientMessage(playerid, orange, "Function: Will set a specified value in Money for all players");
  6350. new var = strval(params), string[128];
  6351. SendCommandToAdmins(playerid,"SetAllCash");
  6352. for(new i = 0; i < MAX_PLAYERS; i++)
  6353. {
  6354. if(IsPlayerConnected(i))
  6355. {
  6356. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6357. ResetPlayerMoney(i);
  6358. GivePlayerMoney(i,var);
  6359. }
  6360. }
  6361. format(string,sizeof(string),"|- Administrator \"%s\" has set all Players Cash to '$%d' -|", pName(playerid), var );
  6362. return SendClientMessageToAll(blue, string);
  6363. }
  6364. else return ErrorMessages(playerid, 1);
  6365. }
  6366.  
  6367. dcmd_setallworld(playerid,params[])
  6368. {
  6369. if(AccInfo[playerid][Level] >= 3)
  6370. {
  6371. if(!strlen(params)) return
  6372. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setallworld [VirtualWorld]") &&
  6373. SendClientMessage(playerid, orange, "Function: Will set a specified Virtual World for all players");
  6374. new var = strval(params), string[128];
  6375. SendCommandToAdmins(playerid,"SetAllWorld");
  6376. for(new i = 0; i < MAX_PLAYERS; i++)
  6377. {
  6378. if(IsPlayerConnected(i))
  6379. {
  6380. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6381. SetPlayerVirtualWorld(i,var);
  6382. }
  6383. }
  6384. format(string,sizeof(string),"|- Administrator \"%s\" has set all players Virtual Worlds to '%d' -|", pName(playerid), var );
  6385. return SendClientMessageToAll(blue, string);
  6386. }
  6387. else return ErrorMessages(playerid, 1);
  6388. }
  6389.  
  6390. dcmd_setallscore(playerid,params[])
  6391. {
  6392. if(AccInfo[playerid][Level] >= 3)
  6393. {
  6394. if(!strlen(params)) return
  6395. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setallscore [Score]") &&
  6396. SendClientMessage(playerid, orange, "Function: Will set a score value for all players");
  6397. new var = strval(params), string[128];
  6398. SendCommandToAdmins(playerid,"SetAllScore");
  6399. for(new i = 0; i < MAX_PLAYERS; i++)
  6400. {
  6401. if(IsPlayerConnected(i)) {
  6402. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6403. SetPlayerScore(i,var);
  6404. }
  6405. }
  6406. format(string,sizeof(string),"|- Administrator \"%s\" has set all Players Scores to '%d' -|", pName(playerid), var );
  6407. return SendClientMessageToAll(blue, string);
  6408. }
  6409. else return ErrorMessages(playerid, 1);
  6410. }
  6411.  
  6412. dcmd_getall(playerid,params[])
  6413. {
  6414. #pragma unused params
  6415. if(AccInfo[playerid][Level] >= 4)
  6416. {
  6417. SendCommandToAdmins(playerid,"GetAll");
  6418. new Float:x,Float:y,Float:z, interior = GetPlayerInterior(playerid);
  6419. GetPlayerPos(playerid,x,y,z);
  6420. for(new i = 0; i < MAX_PLAYERS; i++)
  6421. {
  6422. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6423. {
  6424. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6425. SetPlayerPos(i,x+(playerid/4)+1,y+(playerid/4),z);
  6426. SetPlayerInterior(i,interior);
  6427. }
  6428. }
  6429. new string[128];
  6430. format(string,sizeof(string),"|- Administrator \"%s\" has Teleported all players -|", pName(playerid));
  6431. return SendClientMessageToAll(blue, string);
  6432. }
  6433. else return ErrorMessages(playerid, 5);
  6434. }
  6435.  
  6436. dcmd_muteall(playerid,params[])
  6437. {
  6438. #pragma unused params
  6439. if(AccInfo[playerid][Level] >= 4)
  6440. {
  6441. SendCommandToAdmins(playerid,"MuteAll");
  6442. for(new i = 0; i < MAX_PLAYERS; i++)
  6443. {
  6444. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6445. {
  6446. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6447. AccInfo[i][Muted] = 1;
  6448. AccInfo[i][MuteWarnings] = 0;
  6449. }
  6450. }
  6451. new string[128];
  6452. format(string,sizeof(string),"|- Administrator \"%s\" has Muted all players -|", pName(playerid));
  6453. return SendClientMessageToAll(blue, string);
  6454. }
  6455. else return ErrorMessages(playerid, 5);
  6456. }
  6457.  
  6458. dcmd_unmuteall(playerid,params[])
  6459. {
  6460. #pragma unused params
  6461. if(AccInfo[playerid][Level] >= 4)
  6462. {
  6463. SendCommandToAdmins(playerid,"UnmuteAll");
  6464. for(new i = 0; i < MAX_PLAYERS; i++)
  6465. {
  6466. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
  6467. {
  6468. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6469. AccInfo[i][Muted] = 0;
  6470. AccInfo[i][MuteWarnings] = 0;
  6471. }
  6472. }
  6473. new string[128];
  6474. format(string,sizeof(string),"|- Administrator \"%s\" has Unmuted all players -|", pName(playerid));
  6475. return SendClientMessageToAll(blue, string);
  6476. }
  6477. else return ErrorMessages(playerid, 5);
  6478. }
  6479.  
  6480. dcmd_giveallcash(playerid,params[])
  6481. {
  6482. if(AccInfo[playerid][Level] >= 3)
  6483. {
  6484. if(!strlen(params)) return
  6485. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /giveallcash [Value]") &&
  6486. SendClientMessage(playerid, orange, "Function: Will give a specified value in Money for all players");
  6487. new var = strval(params), string[128];
  6488. SendCommandToAdmins(playerid,"GiveAllCash");
  6489. for(new i = 0; i < MAX_PLAYERS; i++)
  6490. {
  6491. if(IsPlayerConnected(i))
  6492. {
  6493. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6494. GivePlayerMoney(i,var);
  6495. }
  6496. }
  6497. format(string,sizeof(string),"|- Administrator \"%s\" has given all Players '$%d' -|", pName(playerid), var );
  6498. return SendClientMessageToAll(blue, string);
  6499. }
  6500. else return ErrorMessages(playerid, 1);
  6501. }
  6502.  
  6503. dcmd_giveallweapon(playerid,params[])
  6504. {
  6505. if(AccInfo[playerid][Level] >= 3)
  6506. {
  6507. new tmp[256], tmp2[256], Index;
  6508. new ammo, weap, WeapName[32];
  6509. new string[128];
  6510. tmp = strtok(params,Index); tmp2 = strtok(params,Index);
  6511. if(!strlen(tmp)) return
  6512. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /giveallweapon [WeaponID or WeaponName] [Ammo]") &&
  6513. SendClientMessage(playerid, orange, "Function: Will give a specified weapon and ammo for all players");
  6514.  
  6515. if(!strlen(tmp2) || !IsNumeric(tmp2) || strval(tmp2) <= 0 || strval(tmp2) > 99999) ammo = 500;
  6516. if(!IsNumeric(tmp))
  6517. weap = GetWeaponIDFromName(tmp);
  6518. else weap = strval(tmp);
  6519. if(!IsValidWeapon(weap))
  6520. return SendClientMessage(playerid,red,"ERROR: Invalid Weapon ID");
  6521. SendCommandToAdmins(playerid,"GiveAllWeapon");
  6522. for(new i = 0; i < MAX_PLAYERS; i++)
  6523. {
  6524. if(IsPlayerConnected(i))
  6525. {
  6526. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  6527. GivePlayerWeapon(i,weap,ammo);
  6528. }
  6529. }
  6530. GetWeaponName(weap, WeapName, sizeof(WeapName));
  6531. format(string,sizeof(string),"|- Administrator \"%s\" has Given all Players a %'s' (%d) with %d rounds of Ammo -|", pName(playerid), WeapName, weap, ammo);
  6532. return SendClientMessageToAll(blue, string);
  6533. }
  6534. else return ErrorMessages(playerid, 1);
  6535. }
  6536. //==============================================================================
  6537. // Position
  6538. //==============================================================================
  6539. dcmd_gotoplace(playerid,params[])
  6540. {
  6541. #pragma unused params
  6542. if(AccInfo[playerid][LoggedIn] == 1 && AccInfo[playerid][Level] >= 1)
  6543. {
  6544. if (dUserINT(PlayerName2(playerid)).("x")!=0)
  6545. {
  6546. PutAtPos(playerid);
  6547. SetPlayerVirtualWorld(playerid, (dUserINT(PlayerName2(playerid)).("world")) );
  6548. return SendClientMessage(playerid,yellow,"|- You have been teleported to your saved position -|");
  6549. }
  6550. else return SendClientMessage(playerid,red,"ERROR: You not have a saved Position! (/gotoplace)");
  6551. }
  6552. else return SendClientMessage(playerid,red, "ERROR: You must be an administrator to use this command");
  6553. }
  6554.  
  6555. dcmd_saveplace(playerid,params[])
  6556. {
  6557. #pragma unused params
  6558. if(AccInfo[playerid][LoggedIn] == 1 && AccInfo[playerid][Level] >= 1)
  6559. {
  6560. new Float:x,Float:y,Float:z, interior;
  6561. GetPlayerPos(playerid,x,y,z);
  6562. interior = GetPlayerInterior(playerid);
  6563.  
  6564. dUserSetINT(PlayerName2(playerid)).("x",floatround(x));
  6565. dUserSetINT(PlayerName2(playerid)).("y",floatround(y));
  6566. dUserSetINT(PlayerName2(playerid)).("z",floatround(z));
  6567. dUserSetINT(PlayerName2(playerid)).("interior",interior);
  6568. dUserSetINT(PlayerName2(playerid)).("world", (GetPlayerVirtualWorld(playerid)));
  6569. return SendClientMessage(playerid,yellow,"|- Coordinates of your position successfully saved! -|");
  6570. }
  6571. else return SendClientMessage(playerid,red, "ERROR: You must be an administrator to use this command");
  6572. }
  6573. //==============================================================================
  6574. //==============================================================================
  6575. // Dialog Menu
  6576. //==============================================================================
  6577. #if USE_DIALOGS == true
  6578. dcmd_lmenu(playerid,params[])
  6579. {
  6580. #pragma unused params
  6581. if(AccInfo[playerid][Level] >= 2)
  6582. {
  6583. if(IsPlayerInAnyVehicle(playerid))
  6584. {
  6585. TogglePlayerControllable(playerid,false);
  6586. return ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "LuxAdmin Main Menu",
  6587. "Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
  6588. }
  6589. else return ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "LuxAdmin Main Menu",
  6590. "Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
  6591. }
  6592. else return ErrorMessages(playerid, 1);
  6593. }
  6594. dcmd_execcmd(playerid,params[])
  6595. {
  6596. #pragma unused params
  6597. if(AccInfo[playerid][Level] >= 2)
  6598. {
  6599. return ShowPlayerDialog(playerid, DIALOGID+80, DIALOG_STYLE_INPUT, "LuxAdmin - Execute Command",
  6600. "Simple type a Command! \n\nFor LuxAdmin, for your GameMode, and for any other Filterscript! \n\nExemple: 'ban 0 cheats' (Without '/')", "Exec Cmd", "Cancel");
  6601. }
  6602. else return ErrorMessages(playerid, 1);
  6603. }
  6604.  
  6605.  
  6606. dcmd_fstyles(playerid,params[])
  6607. {
  6608. #pragma unused params
  6609. if(AccInfo[playerid][Level] >= 2)
  6610. {
  6611. new tmp[128];
  6612. new FightName[30];
  6613. new Float:FStyle;
  6614.  
  6615. FStyle = GetPlayerFightingStyle(playerid);
  6616.  
  6617. if(FStyle == FIGHT_STYLE_ELBOW) FightName = "Elbow";
  6618. if(FStyle == FIGHT_STYLE_BOXING) FightName = "Boxing";
  6619. if(FStyle == FIGHT_STYLE_GRABKICK) FightName = "Grabkick";
  6620. if(FStyle == FIGHT_STYLE_KNEEHEAD) FightName = "Kneehead";
  6621. if(FStyle == FIGHT_STYLE_KUNGFU) FightName = "Kungfu";
  6622. if(FStyle == FIGHT_STYLE_NORMAL) FightName = "Normal";
  6623.  
  6624. format(tmp,sizeof(tmp),"LuxAdmin - Fighting Styles (Current: %s)",FightName);
  6625. return ShowPlayerDialog(playerid,DIALOGID+81,DIALOG_STYLE_LIST,tmp,"Elbow\nBoxing\nGrabkick\nKneehead\nKungfu\nNormal", "Change", "Cancel");
  6626. }
  6627. else return ErrorMessages(playerid, 1);
  6628. }
  6629.  
  6630. dcmd_console(playerid,params[])
  6631. {
  6632. #pragma unused params
  6633. if(AccInfo[playerid][Level] >= 5)
  6634. {
  6635. return ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "LuxAdmin - Console",
  6636. "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad LuxAdmin\nUnload LuxAdmin\nReload LuxAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
  6637. }
  6638. else return ErrorMessages(playerid, 1);
  6639. }
  6640.  
  6641. dcmd_ctele(playerid,params[])
  6642. {
  6643. #pragma unused params
  6644. if(AccInfo[playerid][Level] >= 4)
  6645. {
  6646. return ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"LuxAdmin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
  6647. }
  6648. else return ErrorMessages(playerid, 1);
  6649. }
  6650. #endif
  6651. //==============================================================================
  6652. // Skin
  6653. //==============================================================================
  6654.  
  6655. //==============================================================================
  6656. // Login Player
  6657. //==============================================================================
  6658. LoginPlayer(playerid)
  6659. {
  6660. if(ServerInfo[GiveMoney] == 1)
  6661. {
  6662. ResetPlayerMoney(playerid);
  6663. GivePlayerMoney(playerid, dUserINT(PlayerName2(playerid)).("Money"));
  6664. }
  6665. SetPlayerWantedLevel(playerid,dUserINT(PlayerName2(playerid)).("WantedLevel"));
  6666. #if SaveScore == true
  6667. SetPlayerScore(playerid,dUserINT(PlayerName2(playerid)).("Score"));
  6668. #endif
  6669. dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
  6670. AccInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).("Deaths"));
  6671. AccInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).("Kills"));
  6672. AccInfo[playerid][Level] = (dUserINT(PlayerName2(playerid)).("Level"));
  6673. AccInfo[playerid][pVip] = (dUserINT(PlayerName2(playerid)).("AccountType"));
  6674. AccInfo[playerid][hours] = dUserINT(PlayerName2(playerid)).("Hours");
  6675. AccInfo[playerid][mins] = dUserINT(PlayerName2(playerid)).("Minutes");
  6676. AccInfo[playerid][secs] = dUserINT(PlayerName2(playerid)).("Seconds");
  6677. AccInfo[playerid][Registered] = 1;
  6678. AccInfo[playerid][LoggedIn] = 1;
  6679. }
  6680.  
  6681. //==============================================================================
  6682. //-------------------------------------------------
  6683. // OnPlayerCommandText
  6684. //-------------------------------------------------
  6685. //==============================================================================
  6686. public OnPlayerCommandText(playerid, cmdtext[])
  6687. {
  6688. if(AccInfo[playerid][Jailed] == 1 && AccInfo[playerid][Level] < 1)
  6689. return SendClientMessage(playerid,red,"ERROR: You cannot use commands in Jail!");
  6690.  
  6691. new cmd[256];
  6692. new string[128];
  6693. new tmp[256];
  6694. new idx;
  6695.  
  6696. cmd = strtok(cmdtext, idx);
  6697.  
  6698. //============================
  6699. // Register & Login
  6700. //============================
  6701. dcmd2(CMD_REGISTER,CMD_REGISTER_LEN,cmdtext);
  6702. dcmd2(CMD_LOGIN,CMD_LOGIN_LEN,cmdtext);
  6703. //============================
  6704. // Password
  6705. //============================
  6706. dcmd(setpass,7,cmdtext);
  6707. dcmd2(CMD_CHANGEPASS,CMD_CHANGEPASS_LEN,cmdtext);
  6708. //============================
  6709. // Reports
  6710. //============================
  6711. dcmd(report,6,cmdtext);
  6712. dcmd(reports,7,cmdtext);
  6713. //============================
  6714. // Stats
  6715. //============================
  6716. #if USE_STATS == true
  6717. dcmd(stats,5,cmdtext);
  6718. dcmd(resetstats,10,cmdtext);
  6719. #endif
  6720.  
  6721. //==============================================================================
  6722. // Read Commands (View commands typed per players)
  6723. //==============================================================================
  6724. if(ServerInfo[ReadCmds] == 1)
  6725. {
  6726. format(string, sizeof(string), "*** %s (%d) Command: %s", pName(playerid),playerid,cmdtext);
  6727. for(new i = 0; i < MAX_PLAYERS; i++)
  6728. {
  6729. if(IsPlayerConnected(i))
  6730. {
  6731. if( (AccInfo[i][Level] > AccInfo[playerid][Level]) && (AccInfo[i][Level] > 1) && (i != playerid))
  6732. {
  6733. SendClientMessage(i, grey, string);
  6734. }
  6735. }
  6736. }
  6737. }
  6738.  
  6739. //==============================================================================
  6740. // DCMD
  6741. //==============================================================================
  6742.  
  6743. //============================
  6744. // Chat
  6745. //============================
  6746. dcmd(disablechat,11,cmdtext);
  6747. dcmd(clearallchat,12,cmdtext);
  6748. dcmd(caps,4,cmdtext);
  6749. //============================
  6750. // Vehicle
  6751. //============================
  6752. dcmd(tcar,4,cmdtext);
  6753. dcmd(linkcar,7,cmdtext);
  6754. dcmd(car,3,cmdtext);
  6755. dcmd(respawncars,11,cmdtext);
  6756. dcmd(carcolour,9,cmdtext);
  6757. dcmd(destroycar,10,cmdtext);
  6758. dcmd(carhealth,9,cmdtext);
  6759. dcmd(vgoto,5,cmdtext);
  6760. dcmd(vget,4,cmdtext);
  6761. dcmd(givecar,7,cmdtext);
  6762. //============================
  6763. // Player
  6764. //============================
  6765. dcmd(sethealth,9,cmdtext);
  6766. dcmd(setarmour,9,cmdtext);
  6767. dcmd(setname,7,cmdtext);
  6768. dcmd(setskin,7,cmdtext);
  6769. dcmd(settime,7,cmdtext);
  6770. dcmd(setweather,10,cmdtext);
  6771. dcmd(setscore,8,cmdtext);
  6772. dcmd(setcash,7,cmdtext);
  6773. dcmd(goto,4,cmdtext);
  6774. dcmd(lgoto,5,cmdtext);
  6775. dcmd(gethere,7,cmdtext);
  6776. dcmd(get,3,cmdtext);
  6777. dcmd(removecash,10,cmdtext);
  6778. dcmd(sremovecash,11,cmdtext);
  6779. dcmd(setworld,8,cmdtext);
  6780. dcmd(setinterior,11,cmdtext);
  6781. dcmd(ubound,6,cmdtext);
  6782. dcmd(setwanted,9,cmdtext);
  6783. dcmd(spawn,5,cmdtext);
  6784. dcmd(weaps,5,cmdtext);
  6785. dcmd(screen,6,cmdtext);
  6786. dcmd(highlight,9,cmdtext);
  6787. dcmd(spawnplayer,11,cmdtext);
  6788. dcmd(disarm,6,cmdtext);
  6789. dcmd(eject,5,cmdtext);
  6790. dcmd(crash,5,cmdtext);
  6791. dcmd(warp,4,cmdtext);
  6792. dcmd(teleplayer,10,cmdtext);
  6793. dcmd(setlevel,8,cmdtext);
  6794. dcmd(setvip,6,cmdtext);
  6795. dcmd(settemplevel,12,cmdtext);
  6796. dcmd(warn,4,cmdtext);
  6797. dcmd(kick,4,cmdtext);
  6798. dcmd(ip,2,cmdtext);
  6799. dcmd(aka,3,cmdtext);
  6800. dcmd(ban,3,cmdtext);
  6801. dcmd(rban,4,cmdtext);
  6802. dcmd(slap,4,cmdtext);
  6803. dcmd(force,5,cmdtext);
  6804. dcmd(burn,4,cmdtext);
  6805. dcmd(explode,7,cmdtext);
  6806. dcmd(fu,2,cmdtext);
  6807. dcmd(jail,4,cmdtext);
  6808. dcmd(unjail,6,cmdtext);
  6809. dcmd(cage,4,cmdtext);
  6810. dcmd(gps,3,cmdtext);
  6811. dcmd(freeze,6,cmdtext);
  6812. dcmd(unfreeze,8,cmdtext);
  6813. dcmd(mute,4,cmdtext);
  6814. dcmd(unmute,6,cmdtext);
  6815. dcmd(akill,5,cmdtext);
  6816. dcmd(frozen,6,cmdtext);
  6817. dcmd(muted,5,cmdtext);
  6818. dcmd(jailed,6,cmdtext);
  6819. //============================
  6820. // Spectate
  6821. //============================
  6822. #if EnableSpec == true
  6823. dcmd(lspec,5,cmdtext);
  6824. dcmd(lspecoff,8,cmdtext);
  6825. #endif
  6826. //============================
  6827. // Commands (ALL)
  6828. //============================
  6829. dcmd(freezeall,9,cmdtext);
  6830. dcmd(unfreezeall,11,cmdtext);
  6831. dcmd(setallcash,10,cmdtext);
  6832. dcmd(setalltime,10,cmdtext);
  6833. dcmd(setallskin,10,cmdtext);
  6834. dcmd(setallscore,11,cmdtext);
  6835. dcmd(setallwanted,12,cmdtext);
  6836. dcmd(setallweather,13,cmdtext);
  6837. dcmd(setallworld,11,cmdtext);
  6838. dcmd(giveallcash,11,cmdtext);
  6839. dcmd(giveallweapon,13,cmdtext);
  6840. dcmd(spawnall,8,cmdtext);
  6841. dcmd(killall,7,cmdtext);
  6842. dcmd(getall,6,cmdtext);
  6843. dcmd(explodeall,10,cmdtext);
  6844. dcmd(kickall,7,cmdtext);
  6845. dcmd(healall,7,cmdtext);
  6846. dcmd(armourall,9,cmdtext);
  6847. dcmd(muteall,7,cmdtext);
  6848. dcmd(unmuteall,9,cmdtext);
  6849. dcmd(slapall,7,cmdtext);
  6850. dcmd(ejectall,8,cmdtext);
  6851. dcmd(disarmall,9,cmdtext);
  6852. //============================
  6853. // Configuration
  6854. //============================
  6855. dcmd(disable,7,cmdtext);
  6856. dcmd(enable,6,cmdtext);
  6857. dcmd(setping,7,cmdtext);
  6858. dcmd(setgravity,10,cmdtext);
  6859. dcmd(uconfig,7,cmdtext);
  6860. dcmd(lconfig,7,cmdtext);
  6861. dcmd(forbidname,10,cmdtext);
  6862. dcmd(forbidword,10,cmdtext);
  6863. //============================
  6864. // Fake Cmds
  6865. //============================
  6866. dcmd(fakedeath,9,cmdtext);
  6867. dcmd(fakechat,8,cmdtext);
  6868. dcmd(fakecmd,7,cmdtext);
  6869. //============================
  6870. // Misc
  6871. //============================
  6872. dcmd(admins,6,cmdtext);
  6873. dcmd(hide,4,cmdtext);
  6874. dcmd(onduty,6,cmdtext);
  6875. dcmd(unhide,6,cmdtext);
  6876. dcmd(setmytime,9,cmdtext);
  6877. dcmd(announce,8,cmdtext);
  6878. dcmd(announce2,9,cmdtext);
  6879. dcmd(kill,4,cmdtext);
  6880. dcmd(ahelp,5,cmdtext);
  6881. dcmd(level,5,cmdtext);
  6882. dcmd(observations,12,cmdtext);
  6883. dcmd(lcredits,8,cmdtext);
  6884. dcmd(serverinfo,10,cmdtext);
  6885. dcmd(countdown,9,cmdtext);
  6886. dcmd(duel,4,cmdtext);
  6887. dcmd(asay,4,cmdtext);
  6888. dcmd(time,4,cmdtext);
  6889. dcmd(saveplace,9,cmdtext);
  6890. dcmd(gotoplace,9,cmdtext);
  6891. dcmd(lockserver,10,cmdtext);
  6892. dcmd(unlockserver,12,cmdtext);
  6893. dcmd(adminarea,9,cmdtext);
  6894. dcmd(moveplayer,10,cmdtext);
  6895. dcmd(move,4,cmdtext);
  6896. dcmd(getid,5,cmdtext);
  6897. dcmd(getinfo,7,cmdtext);
  6898. dcmd(laston,6,cmdtext);
  6899. dcmd(botcheck,8,cmdtext);
  6900. dcmd(object,6,cmdtext);
  6901. dcmd(pickup,6,cmdtext);
  6902. dcmd(richlist,8,cmdtext);
  6903. dcmd(aweaps,6,cmdtext);
  6904. dcmd(lslowmo,7,cmdtext);
  6905. dcmd(godcar,6,cmdtext);
  6906. dcmd(die,3,cmdtext);
  6907. dcmd(lammo,5,cmdtext);
  6908. dcmd(sgod,4,cmdtext);
  6909. dcmd(visible,7,cmdtext);
  6910. dcmd(invisible,9,cmdtext);
  6911. //============================
  6912. // Dialog
  6913. //============================
  6914. #if USE_DIALOGS == true
  6915. dcmd(lmenu,5,cmdtext);
  6916. dcmd(execcmd,7,cmdtext);
  6917. dcmd(console,7,cmdtext);
  6918. dcmd(ctele,5,cmdtext);
  6919. dcmd(fstyles,7,cmdtext);
  6920. #endif
  6921. //============================
  6922. // Cam System
  6923. //============================
  6924. #if EnableCamHack == true
  6925. dcmd(lcam,4,cmdtext);
  6926. dcmd(lockcam,7,cmdtext);
  6927. dcmd(follow,6,cmdtext);
  6928. #endif
  6929.  
  6930. //==============================================================================
  6931. // Commands
  6932. //==============================================================================
  6933. if(strcmp(cmd, "/spam", true) == 0)
  6934. {
  6935. if(AccInfo[playerid][Level] >= 5)
  6936. {
  6937. tmp = strtok(cmdtext, idx);
  6938. if(!strlen(tmp))
  6939. {
  6940. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /spam [Colour] [Text]");
  6941. SendClientMessage(playerid, orange, "Colours: [0]Black, [1]White, [2]Red, [3]Orange, [4]Yellow, [5]Green, [6]Blue, [7]Purple, [8]Brown, [9]Pink");
  6942. SendClientMessage(playerid, orange, "Function: Will sending many messages in chat in specified Colour");
  6943. return 1;
  6944. }
  6945. new Colour = strval(tmp);
  6946. if(Colour > 9 )
  6947. return SendClientMessage(playerid, red, "Colours: [0]Black, [1]White, [2]Red, [3]Orange, [4]Yellow, [5]Green, [6]Blue, [7]Purple, [8]Brown, [9]Pink");
  6948. tmp = strtok(cmdtext, idx);
  6949.  
  6950. format(string,sizeof(string),"%s",cmdtext[8]);
  6951.  
  6952. if(Colour == 0) for(new i; i < 50; i++) SendClientMessageToAll(black,string);
  6953. else if(Colour == 1) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_WHITE,string);
  6954. else if(Colour == 2) for(new i; i < 50; i++) SendClientMessageToAll(red,string);
  6955. else if(Colour == 3) for(new i; i < 50; i++) SendClientMessageToAll(orange,string);
  6956. else if(Colour == 4) for(new i; i < 50; i++) SendClientMessageToAll(yellow,string);
  6957. else if(Colour == 5) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_GREEN1,string);
  6958. else if(Colour == 6) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_BLUE,string);
  6959. else if(Colour == 7) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_PURPLE,string);
  6960. else if(Colour == 8) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_BROWN,string);
  6961. else if(Colour == 9) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_PINK,string);
  6962. return 1;
  6963. }
  6964. else return ErrorMessages(playerid, 9);
  6965. }
  6966.  
  6967.  
  6968. //----------------------------
  6969.  
  6970. if(strcmp(cmd, "/tempban", true) == 0)
  6971. {
  6972. new name[MAX_PLAYER_NAME];
  6973. new giveplayer[MAX_PLAYER_NAME];
  6974. new giveplayerid;
  6975.  
  6976. if(AccInfo[playerid][Level] >= 4)
  6977. {
  6978. tmp = strtok(cmdtext,idx);
  6979. if(!strlen(tmp))
  6980. {
  6981. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /tempban [PlayerID] [Day(s)] [Reason]");
  6982. SendClientMessage(playerid, orange, "Function: Temporarily bans a player for specified Days");
  6983. return 1;
  6984. }
  6985. giveplayerid = ReturnUser(tmp);
  6986. if(IsPlayerConnected(giveplayerid))
  6987. {
  6988. tmp = strtok(cmdtext, idx);
  6989. if (!strlen(tmp))
  6990. {
  6991. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /tempban [PlayerID] [Day(s)] [Reason]");
  6992. SendClientMessage(playerid, orange, "Function: Temporarily bans a player for specified Days");
  6993. return 1;
  6994. }
  6995. new days = strval(tmp);
  6996. if(!IsNumeric(tmp))
  6997. return SendClientMessage(playerid, lightred, "ERROR: Invalid Day! Only Numbers!");
  6998.  
  6999. if(strval(tmp) <= 0 || strval(tmp) > 1000)
  7000. return SendClientMessage(playerid, lightred, "ERROR: Invalid Day! (1-1000)");
  7001.  
  7002. new reason[128];
  7003. reason = strtok2(cmdtext,idx);
  7004. if (!strlen(reason))
  7005. return SendClientMessage(playerid, lightred, "ERROR: Reason not Specified!");
  7006.  
  7007. if (strlen(reason) <= 0 || strlen(reason) > 100)
  7008. return SendClientMessage(playerid, lightred, "ERROR: Invalid Reason length!");
  7009.  
  7010. new ip[15];
  7011. GetPlayerIp(giveplayerid,ip,15);
  7012. GetPlayerName(playerid, name, sizeof name);
  7013. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  7014. new File:tempban = fopen("LuxAdmin/Config/TempBans.ban", io_append);
  7015. if (tempban)
  7016. {
  7017. new year,month,day;
  7018. getdate(year, month, day);
  7019. day += days;
  7020. if (IsMonth31(month))
  7021. {
  7022. if (day > 31)
  7023. {
  7024. month += 1;
  7025. if (month > 12)
  7026. {
  7027. year += 1;
  7028. while(day > 31) day -= 31;
  7029. }
  7030. else while(day > 31) day -= 31;
  7031. }
  7032. }
  7033. else if (!IsMonth31(month))
  7034. {
  7035. if (day > 30)
  7036. {
  7037. month += 1;
  7038. if (month > 12)
  7039. {
  7040. year += 1;
  7041. while(day > 30) day -= 30;
  7042. }
  7043. else while(day > 30) day -= 30;
  7044. }
  7045. }
  7046. else if (!IsMonth31(month) && IsMonth29(year) && month == 2)
  7047. {
  7048. if (day > 29)
  7049. {
  7050. month += 1;
  7051. if (month > 12)
  7052. {
  7053. year += 1;
  7054. while(day > 29) day -= 29;
  7055. }
  7056. else while(day > 29) day -= 29;
  7057. }
  7058. }
  7059. else if (!IsMonth31(month) && !IsMonth29(year) && month == 2)
  7060. {
  7061. if (day > 28)
  7062. {
  7063. month += 1;
  7064. if (month > 12)
  7065. {
  7066. year += 1;
  7067. while(day > 28) day -= 28;
  7068. }
  7069. else while(day > 28) day -= 28;
  7070. }
  7071. }
  7072. format(string, sizeof string, "%d|%d|%d|%s\n", day, month, year, ip);
  7073. fwrite(tempban, string);
  7074. fclose(tempban);
  7075. }
  7076. format(string,128,"|- Administrator %s Temporarily Banned %s for %d Day(s) | Reason: %s -|",name,giveplayer,days,reason);
  7077. SendClientMessageToAll(lightred,string);
  7078. Kick(giveplayerid);
  7079.  
  7080. format(string, sizeof string, "Admin %s Temporarily Banned %s for %d Day(s) | Reason: %s",name,giveplayer,days,reason);
  7081. SaveIn("TempBansLog",string);
  7082. }
  7083. else
  7084. {
  7085. ErrorMessages(playerid, 2);
  7086. }
  7087. }
  7088. else return ErrorMessages(playerid, 1);
  7089. return true;
  7090. }
  7091. //------------------------------------------------------------------------------
  7092. return 0;
  7093. }
  7094.  
  7095. //==============================================================================
  7096. // ReturnUser (By Y_Less)
  7097. //==============================================================================
  7098. ReturnUser(text[], playerid = INVALID_PLAYER_ID)
  7099. {
  7100. new pos = 0;
  7101. while (text[pos] < 0x21)
  7102. {
  7103. if (text[pos] == 0) return INVALID_PLAYER_ID;
  7104. pos++;
  7105. }
  7106. new userid = INVALID_PLAYER_ID;
  7107. if (IsNumeric(text[pos]))
  7108. {
  7109. userid = strval(text[pos]);
  7110. if (userid >=0 && userid < MAX_PLAYERS)
  7111. {
  7112. if(!IsPlayerConnected(userid))
  7113. userid = INVALID_PLAYER_ID;
  7114. else return userid;
  7115. }
  7116. }
  7117. new len = strlen(text[pos]);
  7118. new count = 0;
  7119. new pname[MAX_PLAYER_NAME];
  7120. for (new i = 0; i < MAX_PLAYERS; i++)
  7121. {
  7122. if (IsPlayerConnected(i))
  7123. {
  7124. GetPlayerName(i, pname, sizeof (pname));
  7125. if (strcmp(pname, text[pos], true, len) == 0)
  7126. {
  7127. if (len == strlen(pname)) return i;
  7128. else
  7129. {
  7130. count++;
  7131. userid = i;
  7132. }
  7133. }
  7134. }
  7135. }
  7136. if (count != 1)
  7137. {
  7138. if (playerid != INVALID_PLAYER_ID)
  7139. {
  7140. if (count) SendClientMessage(playerid, red, "ERROR: There are multiple users, enter full playername.");
  7141. }
  7142. userid = INVALID_PLAYER_ID;
  7143. }
  7144. return userid;
  7145. }
  7146.  
  7147. //==============================================================================
  7148. // Server Info
  7149. //==============================================================================
  7150.  
  7151. //------------
  7152. //Players ON
  7153. //------------
  7154. public ConnectedPlayers()
  7155. {
  7156. new Connected;
  7157. for(new i = 0; i < MAX_PLAYERS; i++)
  7158. if(IsPlayerConnected(i))
  7159. Connected++;
  7160. return Connected;
  7161. }
  7162. //------------
  7163. //Players Jailed
  7164. //------------
  7165. public JailedPlayers()
  7166. {
  7167. new JailedCount;
  7168. for(new i = 0; i < MAX_PLAYERS; i++)
  7169. if(IsPlayerConnected(i) && AccInfo[i][Jailed] == 1)
  7170. JailedCount++;
  7171. return JailedCount;
  7172. }
  7173. //------------
  7174. //Players Muted
  7175. //------------
  7176. public MutedPlayers()
  7177. {
  7178. new Count; for(new i = 0; i < MAX_PLAYERS; i++)
  7179. if(IsPlayerConnected(i) && AccInfo[i][Muted] == 1)
  7180. Count++;
  7181. return Count;
  7182. }
  7183. //------------
  7184. //Players Freezed
  7185. //------------
  7186. public FrozenPlayers()
  7187. {
  7188. new FrozenCount; for(new i = 0; i < MAX_PLAYERS; i++)
  7189. if(IsPlayerConnected(i) && AccInfo[i][Frozen] == 1)
  7190. FrozenCount++;
  7191. return FrozenCount;
  7192. }
  7193. //------------
  7194. //In Vehicle Total
  7195. //------------
  7196. public InVehTotal()
  7197. {
  7198. new InVeh; for(new i = 0; i < MAX_PLAYERS; i++)
  7199. if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
  7200. InVeh++;
  7201. return InVeh;
  7202. }
  7203. //------------
  7204. //In Bike
  7205. //------------
  7206. public OnBikeCount()
  7207. {
  7208. new BikeCount;
  7209. for(new i = 0; i < MAX_PLAYERS; i++)
  7210. if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
  7211. {
  7212. new LModel = GetVehicleModel(GetPlayerVehicleID(i));
  7213. switch(LModel)
  7214. {
  7215. case 448,461,462,463,468,471,509,510,521,522,523,581,586:
  7216. BikeCount++;
  7217. }
  7218. }
  7219. return BikeCount;
  7220. }
  7221.  
  7222. //------------
  7223. //In Car
  7224. //------------
  7225. public InCarCount()
  7226. {
  7227. new PInCarCount;
  7228. for(new i = 0; i < MAX_PLAYERS; i++)
  7229. {
  7230. if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
  7231. {
  7232. new LModel = GetVehicleModel(GetPlayerVehicleID(i));
  7233. switch(LModel)
  7234. {
  7235. case 448,461,462,463,468,471,509,510,521,522,523,581,586:
  7236. {
  7237. }
  7238. default: PInCarCount++;
  7239. }
  7240. }
  7241. }
  7242. return PInCarCount;
  7243. }
  7244. //------------
  7245. //Rcon Admins
  7246. //------------
  7247. public RconAdminTotal()
  7248. {
  7249. new rAdminTotal;
  7250. for(new i = 0; i < MAX_PLAYERS; i++)
  7251. if(IsPlayerConnected(i) && IsPlayerAdmin(i))
  7252. rAdminTotal++;
  7253. return rAdminTotal;
  7254. }
  7255. //------------
  7256. //Admins
  7257. //------------
  7258. public AdminTotal()
  7259. {
  7260. new AdminsCount;
  7261. for(new i = 0; i < MAX_PLAYERS; i++)
  7262. if(IsPlayerConnected(i) && AccInfo[i][Level] >= 1)
  7263. AdminsCount++;
  7264. return AdminsCount;
  7265. }
  7266. //==============================================================================
  7267. //-------------------------------------------------
  7268. // RCON Commands
  7269. //-------------------------------------------------
  7270. //==============================================================================
  7271. public OnRconCommand(cmd[])
  7272. {
  7273. if( strlen(cmd) > 50 || strlen(cmd) == 1 )
  7274. return print("ERROR: You can not exceed 50 characters!");
  7275.  
  7276. //===============================
  7277. // (Command) Commands
  7278. //===============================
  7279. if(strcmp(cmd, "lrcon", true)==0)
  7280. {
  7281. print("______________________");
  7282. print(" ");
  7283. print(" Rcon Commands ");
  7284. print(" ------------- ");
  7285. print(" info, execcmd, pm, ");
  7286. print(" asay, uconfig, chat, ");
  7287. print(" aka, ann ");
  7288. print("______________________");
  7289. return true;
  7290. }
  7291. //===============================
  7292. // (Command) Server Infomation
  7293. //===============================
  7294. if(strcmp(cmd, "info", true)==0)
  7295. {
  7296. new VehTotal = CreateVehicle(411,0,0,0,0,0,0,1000); DestroyVehicle(VehTotal);
  7297. new numo = CreateObject(1245,0,0,1000,0,0,0); DestroyObject(numo);
  7298. new nump = CreatePickup(371,2,0,0,1000); DestroyPickup(nump);
  7299. new gz = GangZoneCreate(3,3,5,5); GangZoneDestroy(gz);
  7300.  
  7301. new model[250], nummodel;
  7302. for(new i=1;i<VehTotal;i++) model[GetVehicleModel(i)-400]++;
  7303.  
  7304. for(new i=0;i<250;i++){
  7305. if(model[i]!=0){
  7306. nummodel++; }
  7307. }
  7308. new string[256];
  7309. print(" ________________________________________________________________\n");
  7310. print(" Server Information ");
  7311. print(" --------------------\n");
  7312.  
  7313. format(string,sizeof(string)," Player:\n Connected[%d], Maximum[%d], Ratio[%0.2f]\n",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers() );
  7314. printf(string);
  7315. format(string,sizeof(string)," Vehicles:\n Total[%d], Models[%d], In Vehicle[%d] (InCar[%d], OnBike[%d])\n",VehTotal-1,nummodel, InVehTotal(), InCarCount(),OnBikeCount());
  7316. printf(string);
  7317. format(string,sizeof(string)," Total:\n Objects[%d], Pickups[%d], GangZones[%d]\n",numo-1, nump, gz);
  7318. printf(string);
  7319. format(string,sizeof(string)," Player Stats:\n Jailed[%d], Frozen[%d], Muted[%d]\n",JailedPlayers(),FrozenPlayers(), MutedPlayers() );
  7320. printf(string);
  7321. format(string,sizeof(string)," Administration:\n Rcon[%d], Online[%d]\n",AdminTotal(), RconAdminTotal() );
  7322. printf(string);
  7323. print(" ________________________________________________________________\n");
  7324. return true;
  7325. }
  7326.  
  7327. //===============================
  7328. // (Command) Player/All execute cmd
  7329. //===============================
  7330.  
  7331. if(!strcmp(cmd, "execcmd", .length = 3))
  7332. {
  7333. new arg_1 = argpos(cmd);
  7334. new arg_2 = argpos(cmd, arg_1);
  7335. new targetid = strval(cmd[arg_1]);
  7336.  
  7337. if (!strcmp(cmd[arg_1], "all", .length = 3) && cmd[arg_2])
  7338. {
  7339. if (cmd[arg_2] == '/')
  7340. {
  7341. for(new i = 0; i <= MAX_PLAYERS; i++)
  7342. if (IsPlayerConnected(i))
  7343. CallRemoteFunction("OnPlayerCommandText", "is", i, cmd[arg_2]);
  7344. }
  7345. else
  7346. {
  7347. for(new i = 0; i <= MAX_PLAYERS; i++)
  7348. if (IsPlayerConnected(i))
  7349. SendPlayerMessageToAll(i, cmd[arg_2]);
  7350. }
  7351. printf("\nRCON: Command \"%s\" executed on all players!\n", cmd[arg_2]);
  7352. }
  7353.  
  7354. else if(!cmd[arg_2] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0)
  7355.  
  7356. print("\n--------------------------") ||
  7357. printf("Usage: \"execcmd (PlayerID(0-%d)/All) (Command)\"",MAX_PLAYERS) ||
  7358. print("Function: Will force specified player execute command") ||
  7359. print("--------------------------\n");
  7360.  
  7361. else if ( !IsPlayerConnected(targetid) )
  7362. print("\nERROR: This player is not connected!\n");
  7363.  
  7364. else
  7365. {
  7366. if (cmd[arg_2] == '/')
  7367. CallRemoteFunction("OnPlayerCommandText", "is", targetid, cmd[arg_2]);
  7368.  
  7369. else
  7370. SendPlayerMessageToAll(targetid, cmd[arg_2]);
  7371.  
  7372. new targetname[24];
  7373. GetPlayerName(targetid, targetname, 24);
  7374. printf("Command \"%s\" executed on %s(%d)!",cmd[arg_2], targetname, targetid);
  7375. }
  7376.  
  7377. return true;
  7378. }
  7379. //===============================
  7380. // (Command) Announce a Message
  7381. //===============================
  7382. if(!strcmp(cmd, "ann", .length = 3))
  7383. {
  7384. new arg_1 = argpos(cmd);
  7385. new message[128];
  7386.  
  7387. if (!cmd[arg_1] || cmd[arg_1] < '0')
  7388. print("\n--------------------------") ||
  7389. print("Usage: \"ann (Message)\"") ||
  7390. print("Function: Will Send a message in screen for all Players") ||
  7391. print("--------------------------\n");
  7392. else
  7393. {
  7394. format(message, sizeof(message), "[RCON]: %s", cmd[arg_1]);
  7395. GameTextForAll(message,3000,3);
  7396. printf("Screen Message '%s' Sent!", cmd[arg_1] );
  7397. }
  7398. return true;
  7399. }
  7400. //===============================
  7401. // (Command) Send Admnistration Msg
  7402. //===============================
  7403. if(!strcmp(cmd, "asay", .length = 4))
  7404. {
  7405. new arg_1 = argpos(cmd);
  7406. new message[128];
  7407.  
  7408. if (!cmd[arg_1] || cmd[arg_1] < '0')
  7409. print("\n--------------------------") ||
  7410. print("Usage: \"asay (Message)\"") ||
  7411. print("Function: Will Send a message for online Admins") ||
  7412. print("--------------------------\n");
  7413. else
  7414. {
  7415. format(message, sizeof(message), "[RCON] MessageToAdmins: %s", cmd[arg_1]);
  7416. MessageToAdmins(COLOR_WHITE, message);
  7417. printf("Admin Message '%s' Sent!", cmd[arg_1] );
  7418. }
  7419. return true;
  7420. }
  7421. //===============================
  7422. // (Command) Send Private Message
  7423. //===============================
  7424. if(!strcmp(cmd, "pm", .length = 2))
  7425. {
  7426. new arg_1 = argpos(cmd);
  7427. new arg_2 = argpos(cmd, arg_1);
  7428. new targetid = strval(cmd[arg_1]);
  7429. new message[128];
  7430.  
  7431. if (!cmd[arg_1] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0 || !cmd[arg_2])
  7432. print("\n--------------------------") ||
  7433. print("Usage: \"pm (PlayerID) (Message)\"") ||
  7434. print("Function: Will Send a private message for specified player") ||
  7435. print("--------------------------\n");
  7436.  
  7437. else if(!IsPlayerConnected(targetid)) print("ERROR: Player not connected!");
  7438. else
  7439. {
  7440. format(message, sizeof(message), "[RCON] PM: %s", cmd[arg_2]);
  7441. SendClientMessage(targetid, COLOR_WHITE, message);
  7442. printf("Rcon PM '%s' Sent!", cmd[arg_1]);
  7443. }
  7444. return true;
  7445. }
  7446. //===============================
  7447. // (Command) Verify player AKA
  7448. //===============================
  7449. if(!strcmp(cmd, "aka", .length = 3))
  7450. {
  7451. new arg_1 = argpos(cmd);
  7452. new targetid = strval(cmd[arg_1]);
  7453.  
  7454. if (!cmd[arg_1] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0)
  7455. print("\n--------------------------") ||
  7456. print("Usage: \"aka (PlayerID)\"") ||
  7457. print("Function: Will show other names used per Specified Player") ||
  7458. print("--------------------------\n");
  7459.  
  7460. else if (!IsPlayerConnected(targetid) )
  7461. print("ERROR: Player not Connected!");
  7462. else
  7463. {
  7464. new tmp3[50], playername[MAX_PLAYER_NAME];
  7465. GetPlayerIp(targetid,tmp3,50);
  7466. GetPlayerName(targetid, playername, sizeof(playername));
  7467. printf("AKA: [%s id:%d] [%s] %s", playername, targetid, tmp3, dini_Get("LuxAdmin/Config/aka.txt",tmp3));
  7468. }
  7469. return true;
  7470. }
  7471. //===============================
  7472. // (Command) Update Configuration
  7473. //===============================
  7474. if(strcmp(cmd, "uconfig", true)==0)
  7475. {
  7476. UpdateConfig();
  7477. print("Configuration Successfully Updated!");
  7478. return true;
  7479. }
  7480. //===============================
  7481. // (Command) Send RCON Message
  7482. //===============================
  7483. if(!strcmp(cmd, "msg", .length = 3))
  7484. {
  7485. new arg_1 = argpos(cmd);
  7486. new message[128];
  7487.  
  7488. if (!cmd[arg_1] || cmd[arg_1] < '0')
  7489. print("\n--------------------------") ||
  7490. print("Usage: \"msg (Message)\"") ||
  7491. print("Function: Will Send a message in Chat for all Players") ||
  7492. print("--------------------------\n");
  7493. else
  7494. {
  7495. format(message, sizeof(message), "[RCON]: %s", cmd[arg_1]);
  7496. SendClientMessageToAll(COLOR_WHITE, message);
  7497. printf("Message to All '%s' Sent!", cmd[arg_1] );
  7498. }
  7499. return true;
  7500. }
  7501. //===============================
  7502. // (Command) View Game Chat
  7503. //===============================
  7504. if(!strcmp(cmd, "chat", .length = 4))
  7505. {
  7506. for(new i = 1; i < MAX_CHAT_LINES; i++) print(Chat[i]);
  7507. return true;
  7508. }
  7509. return 0;
  7510. }
  7511. //==============================================================================
  7512. // Spectate
  7513. //==============================================================================
  7514. #if EnableSpec == true
  7515.  
  7516. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  7517. {
  7518. new x = 0;
  7519. while(x!=MAX_PLAYERS)
  7520. {
  7521. if( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
  7522. AccInfo[x][SpecID] == playerid && AccInfo[x][SpecType] == ADMIN_SPEC_TYPE_PLAYER)
  7523. {
  7524. SetPlayerInterior(x,newinteriorid);
  7525. }
  7526. x++;
  7527. }
  7528. }
  7529. //==============================================================================
  7530. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  7531. {
  7532. #if ExecuteCmdKey != 0
  7533. if(newkeys == ExecuteCmdKey && AccInfo[playerid][Level] >= 2)
  7534. {
  7535. return ShowPlayerDialog(playerid, DIALOGID+80, DIALOG_STYLE_INPUT, "LuxAdmin - Execute Command",
  7536. "Simple type a Command! \n\nFor LuxAdmin, for your GameMode, and for any other Filterscript! \n\nExemple: 'ban 0 cheats' (Without '/')", "Exec Cmd", "Cancel");
  7537. }
  7538. #endif
  7539. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && AccInfo[playerid][SpecID] != INVALID_PLAYER_ID)
  7540. {
  7541. if(newkeys == KEY_JUMP) AdvanceSpectate(playerid);
  7542. else if(newkeys == KEY_SPRINT) ReverseSpectate(playerid);
  7543. }
  7544. #if EnableCamHack == true
  7545. if(AccInfo[playerid][InCamMod] == 1)
  7546. {
  7547. if(newkeys == KEY_CROUCH)
  7548. {
  7549. KeyState[playerid] = 1;
  7550. }
  7551. else if(newkeys == KEY_SPRINT)
  7552. {
  7553. KeyState[playerid] = 2;
  7554. }
  7555. else if(newkeys == (KEY_CROUCH+KEY_SPRINT))
  7556. {
  7557. KeyState[playerid] = 3;
  7558. }
  7559. else if(newkeys == KEY_WALK)
  7560. {
  7561. KeyState[playerid] = 4;
  7562. }
  7563. else if(newkeys == (KEY_WALK+KEY_SPRINT))
  7564. {
  7565. KeyState[playerid] = 5;
  7566. }
  7567. else
  7568. {
  7569. KeyState[playerid] = 0;
  7570. }
  7571. }
  7572. #endif
  7573. return 1;
  7574. }
  7575.  
  7576. //==============================================================================
  7577. public OnPlayerEnterVehicle(playerid, vehicleid)
  7578. {
  7579. for(new x=0; x<MAX_PLAYERS; x++)
  7580. {
  7581. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
  7582. {
  7583. TogglePlayerSpectating(x, 1);
  7584. PlayerSpectateVehicle(x, vehicleid);
  7585. AccInfo[x][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
  7586. }
  7587. }
  7588. return 1;
  7589. }
  7590.  
  7591. //==============================================================================
  7592. public OnPlayerStateChange(playerid, newstate, oldstate)
  7593. {
  7594. switch(newstate)
  7595. {
  7596. case PLAYER_STATE_ONFOOT:
  7597. {
  7598. switch(oldstate)
  7599. {
  7600. case PLAYER_STATE_DRIVER: OnPlayerExitVehicle(playerid,255);
  7601. case PLAYER_STATE_PASSENGER: OnPlayerExitVehicle(playerid,255);
  7602. }
  7603. }
  7604. }
  7605. return 1;
  7606. }
  7607. #endif
  7608.  
  7609. //==============================================================================
  7610. public OnPlayerExitVehicle(playerid, vehicleid)
  7611. {
  7612. if(AccInfo[playerid][DoorsLocked] == 1)
  7613. SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),playerid,false,false);
  7614.  
  7615. #if EnableSpec == true
  7616. for(new x=0; x<MAX_PLAYERS; x++)
  7617. {
  7618. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid && AccInfo[x][SpecType] == ADMIN_SPEC_TYPE_VEHICLE)
  7619. {
  7620. TogglePlayerSpectating(x, 1);
  7621. PlayerSpectatePlayer(x, playerid);
  7622. AccInfo[x][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
  7623. }
  7624. }
  7625. #endif
  7626. return 1;
  7627. }
  7628.  
  7629. //==============================================================================
  7630.  
  7631. #if EnableSpec == true
  7632.  
  7633. stock StartSpectate(playerid, specplayerid)
  7634. {
  7635. for(new x=0; x<MAX_PLAYERS; x++)
  7636. {
  7637. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
  7638. {
  7639. AdvanceSpectate(x);
  7640. }
  7641. }
  7642. SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
  7643. TogglePlayerSpectating(playerid, 1);
  7644.  
  7645. if(IsPlayerInAnyVehicle(specplayerid))
  7646. {
  7647. PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid));
  7648. AccInfo[playerid][SpecID] = specplayerid;
  7649. AccInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
  7650. }
  7651. else
  7652. {
  7653. PlayerSpectatePlayer(playerid, specplayerid);
  7654. AccInfo[playerid][SpecID] = specplayerid;
  7655. AccInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
  7656. }
  7657. new string[128], Float:hp, Float:ar;
  7658. GetPlayerName(specplayerid,string,sizeof(string));
  7659. GetPlayerHealth(specplayerid, hp);
  7660. GetPlayerArmour(specplayerid, ar);
  7661.  
  7662. for(new i=0; i<MAX_PLAYERS; i++)
  7663. {
  7664. format(string, 256, "~w~- %s(%d) -~n~~n~~y~Health: ~w~%0.1f ~l~- ~y~Armour: ~w~%0.1f ~l~- ~y~Money: ~w~$%d~n~~n~~r~< Sprint - Jump >", string,specplayerid,hp,ar,GetPlayerMoney(specplayerid));
  7665. TextDrawSetString(GpsTD[i], string);
  7666. return TextDrawShowForPlayer(playerid,GpsTD[i]);
  7667. }
  7668. return 1;
  7669. }
  7670.  
  7671. stock StopSpectate(playerid)
  7672. {
  7673. TogglePlayerSpectating(playerid, 0);
  7674. AccInfo[playerid][SpecID] = INVALID_PLAYER_ID;
  7675. AccInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_NONE;
  7676. GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~w~~g~Spectate ~w~mode ~r~Ended",1000,3);
  7677. for(new x=0; x<MAX_PLAYERS; x++) TextDrawHideForPlayer(playerid,GpsTD[x]);
  7678. return 1;
  7679. }
  7680.  
  7681. stock AdvanceSpectate(playerid)
  7682. {
  7683. if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
  7684. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && AccInfo[playerid][SpecID] != INVALID_PLAYER_ID)
  7685. {
  7686. for(new x=AccInfo[playerid][SpecID]+1; x<=MAX_PLAYERS; x++)
  7687. {
  7688. if(x == MAX_PLAYERS) x = 0;
  7689. if(IsPlayerConnected(x) && x != playerid)
  7690. {
  7691. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] != INVALID_PLAYER_ID || (GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
  7692. {
  7693. continue;
  7694. }
  7695. else
  7696. {
  7697. StartSpectate(playerid, x);
  7698. break;
  7699. }
  7700. }
  7701. }
  7702. }
  7703. return 1;
  7704. }
  7705.  
  7706. stock ReverseSpectate(playerid)
  7707. {
  7708. if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
  7709. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && AccInfo[playerid][SpecID] != INVALID_PLAYER_ID)
  7710. {
  7711. for(new x=AccInfo[playerid][SpecID]-1; x>=0; x--)
  7712. {
  7713. if(x == 0) x = MAX_PLAYERS;
  7714. if(IsPlayerConnected(x) && x != playerid)
  7715. {
  7716. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] != INVALID_PLAYER_ID || (GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
  7717. {
  7718. continue;
  7719. }
  7720. else
  7721. {
  7722. StartSpectate(playerid, x);
  7723. break;
  7724. }
  7725. }
  7726. }
  7727. }
  7728. return 1;
  7729. }
  7730. //-------------------------------------------
  7731. public ReturnPosition(playerid)
  7732. {
  7733. TogglePlayerControllable(playerid, 1);
  7734. SetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  7735. SetPlayerFacingAngle(playerid,Pos[playerid][3]);
  7736. PlayerPlaySound(playerid,1137,0.0,0.0,0.0);
  7737. }
  7738. #endif
  7739.  
  7740. GetVehicleModelIDFromName(vname[])
  7741. {
  7742. for(new i = 0; i < 211; i++)
  7743. {
  7744. if ( strfind(VehicleNames[i], vname, true) != -1 )
  7745. return i + 400;
  7746. }
  7747. return -1;
  7748. }
  7749. //==============================================================================
  7750. // Vehicle Spawn/Delete
  7751. //==============================================================================
  7752. DelVehicle(vehicleid)
  7753. {
  7754. for(new players=0;players<=MAX_PLAYERS;players++)
  7755. {
  7756. new Float:X,Float:Y,Float:Z;
  7757. if (IsPlayerInVehicle(players,vehicleid))
  7758. {
  7759. GetPlayerPos(players,X,Y,Z);
  7760. SetPlayerPos(players,X,Y,Z+2);
  7761. SetVehicleToRespawn(vehicleid);
  7762. }
  7763. SetVehicleParamsForPlayer(vehicleid,players,0,1);
  7764. }
  7765. SetTimerEx("VehRes",3000,0,"d",vehicleid);
  7766. return 1;
  7767. }
  7768.  
  7769.  
  7770. public CarSpawner(playerid,model)
  7771. {
  7772. if(IsPlayerInAnyVehicle(playerid))
  7773. SendClientMessage(playerid, red, "ERROR: You already have a car!");
  7774. else
  7775. {
  7776. new Float:x, Float:y, Float:z, Float:angle;
  7777. GetPlayerPos(playerid, x, y, z);
  7778. GetPlayerFacingAngle(playerid, angle);
  7779.  
  7780. if(AccInfo[playerid][pCar] != -1)
  7781. EraseVeh(AccInfo[playerid][pCar]);
  7782. new vehicleid=CreateVehicle(model, x, y, z, angle, -1, -1, -1);
  7783. PutPlayerInVehicle(playerid, vehicleid, 0);
  7784. SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  7785. LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  7786. ChangeVehicleColor(vehicleid,0,3);
  7787. AccInfo[playerid][pCar] = vehicleid;
  7788. }
  7789. return 1;
  7790. }
  7791.  
  7792.  
  7793. public EraseVeh(vehicleid)
  7794. {
  7795. for(new i=0;i<MAX_PLAYERS;i++)
  7796. {
  7797. new Float:X,Float:Y,Float:Z;
  7798. if(IsPlayerInVehicle(i, vehicleid))
  7799. {
  7800. RemovePlayerFromVehicle(i);
  7801. GetPlayerPos(i,X,Y,Z);
  7802. SetPlayerPos(i,X,Y+3,Z);
  7803. }
  7804. SetVehicleParamsForPlayer(vehicleid,i,0,1);
  7805. }
  7806. SetTimerEx("VehRes",1500,0,"i",vehicleid);
  7807. }
  7808. public VehRes(vehicleid)
  7809. {
  7810. DestroyVehicle(vehicleid);
  7811. }
  7812.  
  7813. public OnVehicleSpawn(vehicleid)
  7814. {
  7815. for(new i=0;i<MAX_PLAYERS;i++)
  7816. {
  7817. if(vehicleid==AccInfo[i][pCar])
  7818. {
  7819. EraseVeh(vehicleid);
  7820. AccInfo[i][pCar]=-1;
  7821. }
  7822. }
  7823. return 1;
  7824. }
  7825.  
  7826. //==============================================================================
  7827.  
  7828. //==============================================================================
  7829. //-------------------------------------------------
  7830. // Dialog Response
  7831. //-------------------------------------------------
  7832. //==============================================================================
  7833. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  7834. {
  7835. #if EnablePM_Cmd == true
  7836. if (dialogid == DIALOG_TYPE_PM)
  7837. {
  7838. if(response)
  7839. {
  7840. if (strlen(inputtext) < 1 || strlen(inputtext) > 80)
  7841. return SendClientMessage(playerid, red, "ERROR: Invalid PM Lenght!");
  7842. OnPlayerPrivmsg(playerid, PMplayer1, inputtext);
  7843. }
  7844. return 1;
  7845. }
  7846. #endif
  7847. #if USE_DIALOGS == true
  7848. //==============================================================================
  7849. //---------------
  7850. // Dialog - SAFETY QUESTION
  7851. //---------------
  7852. //==============================================================================
  7853. if (dialogid == DIALOG_TYPE_QUESTION)
  7854. {
  7855. if(response == 0)
  7856. {
  7857. AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",1);
  7858. }
  7859. if(response)
  7860. {
  7861. if (strlen(inputtext) < 1 || strlen(inputtext) > 60)
  7862. return ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION,DIALOG_STYLE_INPUT,"Account Safety Question","{D7E4F0}Type a security question, for when you forget\n your password, you just answer this Question.","Next","End");
  7863.  
  7864. new file[256],name[MAX_PLAYER_NAME];
  7865. AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",0);
  7866. GetPlayerName(playerid,name,sizeof(name));
  7867. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(name));
  7868. dini_Set(file,"Question",inputtext);
  7869. new rstring[256];
  7870. format(rstring,256,"{D7E4F0}Type a RESPONSE for your Safety Question: \"%s\"",inputtext);
  7871. ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION+1,DIALOG_STYLE_INPUT,"Account Safety Question - RESPONSE",rstring,"Confirm","End");
  7872. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  7873. }
  7874. return 1;
  7875. }
  7876.  
  7877. //==============================================================================
  7878. //---------------
  7879. // Dialog - SAFETY QUESTION (RESPONSE)
  7880. //---------------
  7881. //==============================================================================
  7882. if (dialogid == DIALOG_TYPE_QUESTION+1)
  7883. {
  7884. if(response == 0)
  7885. {
  7886. AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",1);
  7887. }
  7888.  
  7889. if(response)
  7890. {
  7891. if(strlen(inputtext) < 1 || strlen(inputtext) > 40)
  7892. {
  7893. new rstring[256];
  7894. new file[256],name[MAX_PLAYER_NAME];
  7895. GetPlayerName(playerid,name,sizeof(name));
  7896. new tmp[256];
  7897. dini_Get(file,"Question");
  7898. AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",0);
  7899. format(rstring,256,"Type a RESPONSE for your Safety Question: \"%s\"",tmp);
  7900. return ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION+1,DIALOG_STYLE_INPUT,"LuxAdmin - Account Safety Question - RESPONSE",rstring,"Confirm","End");
  7901. }
  7902.  
  7903. new file[256],name[MAX_PLAYER_NAME];
  7904. GetPlayerName(playerid,name,sizeof(name));
  7905. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(name));
  7906. new hashq[145];
  7907. WP_Hash(hashq, sizeof(hashq), inputtext);
  7908. dini_Set(file,"QuestionR",hashq);
  7909. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  7910. }
  7911. return 1;
  7912. }
  7913. //==============================================================================
  7914. //---------------
  7915. // Dialog - REGISTER
  7916. //---------------
  7917. //==============================================================================
  7918. if (dialogid == DIALOGID+66)
  7919. {
  7920. if(response == 0 && ServerInfo[MustRegister] == 1)
  7921. {
  7922. Kick(playerid);
  7923. }
  7924. if(response)
  7925. {
  7926. if (strlen(inputtext) < 4 || strlen(inputtext) > 20)
  7927. {
  7928. new rstring[256];
  7929. format(rstring,256,"Sorry %s\n\nThe length of your password should contain more \nthan 3 characters and less than 20 characters! \n\n Please, re-enter the Password:",pName(playerid));
  7930. return ShowPlayerDialog(playerid,DIALOGID+68,DIALOG_STYLE_INPUT,"Register Error!",rstring,"Register","Quit");
  7931. }
  7932. if (udb_Create(PlayerName2(playerid)))
  7933. {
  7934. ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION,DIALOG_STYLE_INPUT,"Account Safety Question","{D7E4F0}Type a security question, for when you forget\n your password, you just answer this Question.","Next","End");
  7935. new file[256],name[MAX_PLAYER_NAME], buf[145],tmp3[100];
  7936. new strdate[20], year,month,day;
  7937. getdate(year, month, day);
  7938. WP_Hash(buf, sizeof(buf), inputtext);
  7939. GetPlayerName(playerid,name,sizeof(name));
  7940. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(name));
  7941. GetPlayerIp(playerid,tmp3,100);
  7942. dini_Set(file,"Password",buf);
  7943. dini_Set(file,"Ip",tmp3);
  7944. dUserSetINT(PlayerName2(playerid)).("Registered",1);
  7945. format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
  7946. dini_Set(file,"RegisteredDate",strdate);
  7947. dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
  7948. dUserSetINT(PlayerName2(playerid)).("Banned",0);
  7949. dUserSetINT(PlayerName2(playerid)).("Level",0);
  7950. dUserSetINT(PlayerName2(playerid)).("AccountType",0);
  7951. dUserSetINT(PlayerName2(playerid)).("LastOn",0);
  7952. dUserSetINT(PlayerName2(playerid)).("Money",0);
  7953. dUserSetINT(PlayerName2(playerid)).("Kills",0);
  7954. dUserSetINT(PlayerName2(playerid)).("Deaths",0);
  7955. dUserSetINT(PlayerName2(playerid)).("WantedLevel",0);
  7956. #if SaveScore == true
  7957. dUserSetINT(PlayerName2(playerid)).("Score",0);
  7958. #endif
  7959. dUserSetINT(PlayerName2(playerid)).("Hours",0);
  7960. dUserSetINT(PlayerName2(playerid)).("Minutes",0);
  7961. dUserSetINT(PlayerName2(playerid)).("Seconds",0);
  7962. AccInfo[playerid][LoggedIn] = 1;
  7963. AccInfo[playerid][Registered] = 1;
  7964. SendClientMessage(playerid, green, "You are now Registered, and have been automaticaly Logged in!");
  7965. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  7966. return 1;
  7967. }
  7968. }
  7969. return 1;
  7970. }
  7971. //==============================================================================
  7972. //---------------
  7973. // Dialog - LOGIN
  7974. //---------------
  7975. //==============================================================================
  7976. if (dialogid == DIALOGID+67)
  7977. {
  7978. if(response == 0 && ServerInfo[MustLogin] == 1)
  7979. {
  7980. Kick(playerid);
  7981. }
  7982. if(response)
  7983. {
  7984. new lstring[256];
  7985. new file[128], Pass[256];
  7986. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
  7987.  
  7988. Pass = dini_Get(file, "Password");
  7989. new buf[145];
  7990. WP_Hash(buf, sizeof(buf), inputtext);
  7991.  
  7992. AccInfo[playerid][NoQuestion] = dUserINT(PlayerName2(playerid)).("NoQuestion");
  7993.  
  7994. if(strcmp(Pass, buf, false) == 0)
  7995. {
  7996. new tmp3[100], string[128];
  7997. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
  7998. GetPlayerIp(playerid,tmp3,100);
  7999. dini_Set(file,"Ip",tmp3);
  8000. LoginPlayer(playerid);
  8001. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  8002.  
  8003. if(AccInfo[playerid][Level] > 0)
  8004. {
  8005. switch(AccInfo[playerid][Level])
  8006. {
  8007. case 1: AdmRank = "Basic Moderator";
  8008. case 2: AdmRank = "Moderator";
  8009. case 3: AdmRank = "Master Moderator";
  8010. case 4: AdmRank = "Administrator";
  8011. case 5: AdmRank = "Master Administrator";
  8012. }
  8013. if(AccInfo[playerid][Level] > 5)
  8014. {
  8015. AdmRank = "Professional Admin";
  8016. }
  8017. if(AccInfo[playerid][pVip] > 0)
  8018. {
  8019. switch(AccInfo[playerid][pVip])
  8020. {
  8021. case 1: AccType = "Silver";
  8022. case 2: AccType = "Gold";
  8023. case 3: AccType = "Premium";
  8024. }
  8025. format(string,sizeof(string),"|- You have Successfully Logged! | Account: %s | Level %d - %s -|", AccType, AccInfo[playerid][Level], AdmRank);
  8026. return SendClientMessage(playerid,0x00C378AA,string);
  8027. }
  8028. else
  8029. {
  8030. format(string,sizeof(string),"|- You have Successfully Logged! | Level %d - %s -|", AccInfo[playerid][Level], AdmRank);
  8031. return SendClientMessage(playerid,green,string);
  8032. }
  8033. }
  8034. else
  8035. {
  8036. if(AccInfo[playerid][pVip] > 0)
  8037. {
  8038. switch(AccInfo[playerid][pVip])
  8039. {
  8040. case 1: AccType = "Silver";
  8041. case 2: AccType = "Gold";
  8042. case 3: AccType = "Premium";
  8043. }
  8044. format(string,sizeof(string),"|- You have Successfully logged! | Account: %s -|", AccType);
  8045. return SendClientMessage(playerid,0x00C896AA,string);
  8046. }
  8047. else return SendClientMessage(playerid,green,"|- You have Successfully logged! -|");
  8048. }
  8049. }
  8050. else
  8051. {
  8052. AccInfo[playerid][FailLogin]++;
  8053. printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), inputtext, AccInfo[playerid][FailLogin] );
  8054. if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  8055. {
  8056. new string[128]; format(string, sizeof(string), "|- Player %s has been automatically kicked (Reason: Many attempts Incorrect Passwords) -|", PlayerName2(playerid) );
  8057. SendClientMessageToAll(red, string);
  8058. print(string);
  8059. Kick(playerid);
  8060. }
  8061. if(AccInfo[playerid][NoQuestion] == 1)
  8062. {
  8063. format(lstring,256,"Sorry '%s'\n\nYour entered password is Incorrect!\nPlease, re-enter the Correct Password:",pName(playerid));
  8064. return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
  8065. }
  8066. if(AccInfo[playerid][NoQuestion] == 0)
  8067. {
  8068. format(lstring,256,"Sorry '%s'\n\nYour entered password is Incorrect!\nPlease, re-enter the Correct Password:\n\nOr type the response of your security question:\n\n \"%s\"",pName(playerid),dini_Get(file, "Question"));
  8069. return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
  8070. }
  8071. }
  8072. }
  8073. }
  8074. //==============================================================================
  8075. //---------------
  8076. // Dialog - ERROR PASSWORD
  8077. //---------------
  8078. //==============================================================================
  8079. if (dialogid == DIALOGID+68)
  8080. {
  8081. if(response == 0 && ServerInfo[MustRegister] == 1)
  8082. {
  8083. Kick(playerid);
  8084. }
  8085. if(response)
  8086. {
  8087. if (strlen(inputtext) < 4 || strlen(inputtext) > 20)
  8088. {
  8089. new rstring[256];
  8090. format(rstring,256,"Sorry %s\n\nThe length of your password should contain more \nthan 3 characters and less than 20 characters! \n\n Please, re-enter the Password:",pName(playerid));
  8091. return ShowPlayerDialog(playerid,DIALOGID+68,DIALOG_STYLE_INPUT,"Register Error!",rstring,"Register","Quit");
  8092. }
  8093. if (udb_Create(PlayerName2(playerid)))
  8094. {
  8095. ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION,DIALOG_STYLE_INPUT,"LuxAdmin - Account Safety Question","Type a security question, for when you forget\n your password, you just answer this Question.","Next","End");
  8096. new file[256],name[MAX_PLAYER_NAME], buf[145],tmp3[100];
  8097. new strdate[20], year,month,day;
  8098. getdate(year, month, day);
  8099. WP_Hash(buf, sizeof(buf), inputtext);
  8100. GetPlayerName(playerid,name,sizeof(name));
  8101.  
  8102. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(name));
  8103. GetPlayerIp(playerid,tmp3,100);
  8104. dini_Set(file,"Password",buf);
  8105. dini_Set(file,"Ip",tmp3);
  8106. dUserSetINT(PlayerName2(playerid)).("Registered",1);
  8107. format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
  8108. dini_Set(file,"RegisteredDate",strdate);
  8109. dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
  8110. dUserSetINT(PlayerName2(playerid)).("Banned",0);
  8111. dUserSetINT(PlayerName2(playerid)).("Level",0);
  8112. dUserSetINT(PlayerName2(playerid)).("AccountType",0);
  8113. dUserSetINT(PlayerName2(playerid)).("LastOn",0);
  8114. dUserSetINT(PlayerName2(playerid)).("Money",0);
  8115. dUserSetINT(PlayerName2(playerid)).("Kills",0);
  8116. dUserSetINT(PlayerName2(playerid)).("Deaths",0);
  8117. dUserSetINT(PlayerName2(playerid)).("WantedLevel",0);
  8118. #if SaveScore == true
  8119. dUserSetINT(PlayerName2(playerid)).("Score",0);
  8120. #endif
  8121. dUserSetINT(PlayerName2(playerid)).("Hours",0);
  8122. dUserSetINT(PlayerName2(playerid)).("Minutes",0);
  8123. dUserSetINT(PlayerName2(playerid)).("Seconds",0);
  8124. AccInfo[playerid][LoggedIn] = 1;
  8125. AccInfo[playerid][Registered] = 1;
  8126. SendClientMessage(playerid, green, "|- You are now Registered, and have been automaticaly Logged in! -|");
  8127. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  8128. return 1;
  8129. }
  8130. }
  8131. return 1;
  8132. }
  8133. //==============================================================================
  8134. //---------------
  8135. // Dialog - INCORRECT PASSWORD
  8136. //---------------
  8137. //==============================================================================
  8138. if (dialogid == DIALOGID+69)
  8139. {
  8140. if(response == 0 && ServerInfo[MustLogin] == 1)
  8141. {
  8142. Kick(playerid);
  8143. }
  8144. if(response)
  8145. {
  8146. new file[128], Pass[256], Question[256];
  8147. new lstring[256];
  8148. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
  8149.  
  8150. Pass = dini_Get(file, "Password");
  8151. new buf[145];
  8152. WP_Hash(buf, sizeof(buf), inputtext);
  8153.  
  8154. Question = dini_Get(file, "QuestionR");
  8155. new buf2[145];
  8156. WP_Hash(buf2, sizeof(buf2), inputtext);
  8157.  
  8158. AccInfo[playerid][NoQuestion] = dUserINT(PlayerName2(playerid)).("NoQuestion");
  8159.  
  8160. if(AccInfo[playerid][NoQuestion] == 1)
  8161. {
  8162. if(strcmp(Pass, buf, false) == 0)
  8163. {
  8164. new tmp3[100], string[128];
  8165. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
  8166. GetPlayerIp(playerid,tmp3,100);
  8167. dini_Set(file,"Ip",tmp3);
  8168. LoginPlayer(playerid);
  8169. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  8170.  
  8171. if(AccInfo[playerid][Level] > 0)
  8172. {
  8173. switch(AccInfo[playerid][Level])
  8174. {
  8175. case 1: AdmRank = "Basic Moderator";
  8176. case 2: AdmRank = "Moderator";
  8177. case 3: AdmRank = "Master Moderator";
  8178. case 4: AdmRank = "Administrator";
  8179. case 5: AdmRank = "Master Administrator";
  8180. }
  8181. if(AccInfo[playerid][Level] > 5)
  8182. {
  8183. AdmRank = "Professional Admin";
  8184. }
  8185. if(AccInfo[playerid][pVip] > 0)
  8186. {
  8187. switch(AccInfo[playerid][pVip])
  8188. {
  8189. case 1: AccType = "Silver";
  8190. case 2: AccType = "Gold";
  8191. case 3: AccType = "Premium";
  8192. }
  8193. format(string,sizeof(string),"|- You have Successfully Logged! | Account: %s | Level %d - %s -|", AccType, AccInfo[playerid][Level], AdmRank);
  8194. return SendClientMessage(playerid,0x00C378AA,string);
  8195. }
  8196. else
  8197. {
  8198. format(string,sizeof(string),"|- You have Successfully Logged! | Level %d - %s -|", AccInfo[playerid][Level], AdmRank);
  8199. return SendClientMessage(playerid,green,string);
  8200. }
  8201. }
  8202. else
  8203. {
  8204. if(AccInfo[playerid][pVip] > 0)
  8205. {
  8206. switch(AccInfo[playerid][pVip])
  8207. {
  8208. case 1: AccType = "Silver";
  8209. case 2: AccType = "Gold";
  8210. case 3: AccType = "Premium";
  8211. }
  8212. format(string,sizeof(string),"|- You have Successfully logged! | Account: %s -|", AccType);
  8213. return SendClientMessage(playerid,0x00C896AA,string);
  8214. }
  8215. else return SendClientMessage(playerid,green,"|- You have Successfully logged! -|");
  8216. }
  8217. }
  8218. else
  8219. {
  8220. AccInfo[playerid][FailLogin]++;
  8221. printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), inputtext, AccInfo[playerid][FailLogin] );
  8222. if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  8223. {
  8224. new string[128]; format(string, sizeof(string), "|- Player %s has been automatically kicked (Reason: Many attempts Incorrect Passwords) -|", PlayerName2(playerid) );
  8225. SendClientMessageToAll(red, string);
  8226. print(string);
  8227. Kick(playerid);
  8228. }
  8229. if(AccInfo[playerid][NoQuestion] == 1)
  8230. {
  8231. format(lstring,256,"Sorry '%s'\n\nYour entered password is Incorrect!\nPlease, re-enter the Correct Password:",pName(playerid));
  8232. return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
  8233. }
  8234. else if(AccInfo[playerid][NoQuestion] == 0)
  8235. {
  8236. format(lstring,256,"Sorry '%s'\n\nYour entered password is Incorrect!\nPlease, re-enter the Correct Password:\n\nOr type the response of your security question:\n\n \"%s\"",pName(playerid),dini_Get(file, "Question"));
  8237. return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
  8238. }
  8239. }
  8240. }
  8241. else
  8242. {
  8243. if(strcmp(Pass, buf, false) == 0 || strcmp(Question, buf2, false) == 0)
  8244. {
  8245. new tmp3[100], string[128];
  8246. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
  8247. GetPlayerIp(playerid,tmp3,100);
  8248. dini_Set(file,"Ip",tmp3);
  8249. LoginPlayer(playerid);
  8250. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  8251.  
  8252. if(AccInfo[playerid][Level] > 0)
  8253. {
  8254. switch(AccInfo[playerid][Level])
  8255. {
  8256. case 1: AdmRank = "Basic Moderator";
  8257. case 2: AdmRank = "Moderator";
  8258. case 3: AdmRank = "Master Moderator";
  8259. case 4: AdmRank = "Administrator";
  8260. case 5: AdmRank = "Master Administrator";
  8261. }
  8262. if(AccInfo[playerid][Level] > 5)
  8263. {
  8264. AdmRank = "Professional Admin";
  8265. }
  8266. if(AccInfo[playerid][pVip] > 0)
  8267. {
  8268. switch(AccInfo[playerid][pVip])
  8269. {
  8270. case 1: AccType = "Silver";
  8271. case 2: AccType = "Gold";
  8272. case 3: AccType = "Premium";
  8273. }
  8274. format(string,sizeof(string),"|- You have Successfully Logged! | Account: %s | Level %d - %s -|", AccType, AccInfo[playerid][Level], AdmRank);
  8275. return SendClientMessage(playerid,0x00C378AA,string);
  8276. }
  8277. else
  8278. {
  8279. format(string,sizeof(string),"|- You have Successfully Logged! | Level %d - %s -|", AccInfo[playerid][Level], AdmRank);
  8280. return SendClientMessage(playerid,green,string);
  8281. }
  8282. }
  8283. else
  8284. {
  8285. if(AccInfo[playerid][pVip] > 0)
  8286. {
  8287. switch(AccInfo[playerid][pVip])
  8288. {
  8289. case 1: AccType = "Silver";
  8290. case 2: AccType = "Gold";
  8291. case 3: AccType = "Premium";
  8292. }
  8293. format(string,sizeof(string),"|- You have Successfully logged! | Account: %s -|", AccType);
  8294. return SendClientMessage(playerid,0x00C896AA,string);
  8295. }
  8296. else return SendClientMessage(playerid,green,"|- You have Successfully logged! -|");
  8297. }
  8298. }
  8299. else
  8300. {
  8301. AccInfo[playerid][FailLogin]++;
  8302. printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), inputtext, AccInfo[playerid][FailLogin] );
  8303. if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  8304. {
  8305. new string[128]; format(string, sizeof(string), "|- Player %s has been automatically kicked (Reason: Many attempts Incorrect Passwords) -|", PlayerName2(playerid) );
  8306. SendClientMessageToAll(red, string);
  8307. print(string);
  8308. Kick(playerid);
  8309. }
  8310. if(AccInfo[playerid][NoQuestion] == 1)
  8311. {
  8312. format(lstring,256,"Sorry '%s'\n\nYour entered password is Incorrect!\nPlease, re-enter the Correct Password:",pName(playerid));
  8313. return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
  8314. }
  8315. else if(AccInfo[playerid][NoQuestion] == 0)
  8316. {
  8317. format(lstring,256,"Sorry '%s'\n\nYour entered password is Incorrect!\nPlease, re-enter the Correct Password:\n\nOr type the response of your security question:\n\n \"%s\"",pName(playerid),dini_Get(file, "Question"));
  8318. return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
  8319. }
  8320. }
  8321. }
  8322. }
  8323. }
  8324. #endif
  8325. //==============================================================================
  8326. new string[128];
  8327. new adminname[MAX_PLAYER_NAME];
  8328. new file[256];
  8329. GetPlayerName(playerid, adminname, sizeof(adminname));
  8330. format(file,sizeof(file),"LuxAdmin/Config/Config.ini");
  8331. //==============================================================================
  8332. #if USE_DIALOGS == true
  8333. //==============================================================================
  8334. //Teleport Main
  8335. //==============================================================================
  8336. if (dialogid == DIALOGID+70)
  8337. {
  8338. if(response)
  8339. {
  8340. if(listitem == 0){ ShowPlayerDialog(playerid,DIALOGID+72,DIALOG_STYLE_INPUT,"Teleport System - Create Teleport","Put in Box the name of new Teleport","Create","Back");}
  8341. //-------------------------------------------
  8342. if(listitem == 1)
  8343. {
  8344. new tcount = 0, tp=0,numrow = 0;
  8345. for(new t=0;t<MAX_CTELES;t++)
  8346. {
  8347. if(CTeleInfo[t][TValid] == 1)
  8348. {
  8349. numrow++;
  8350. }
  8351. }
  8352. if(numrow > 0)
  8353. {
  8354. for(new t=0;t<MAX_CTELES;t++)
  8355. {
  8356. if(CTeleInfo[t][TValid] == 1)
  8357. {
  8358. format(string,sizeof(string),"%s %s,",string,CTeleInfo[t][TName]);
  8359. tp++;
  8360. if(tp == CTELE_LINE || tcount == numrow-1)
  8361. {
  8362. strdel(string,strlen(string)-1,strlen(string));
  8363. ShowPlayerDialog(playerid,DIALOGID+73,DIALOG_STYLE_INPUT,"Teleport System - Delete Teleport",string,"Delete","Back");
  8364. format(string,sizeof(string),"%s,\n",string,CTeleInfo[t][TName]);
  8365. tp = 0;
  8366. }
  8367. tcount++;
  8368. }
  8369. }
  8370. } else {
  8371. GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~There is ~r~no ~w~Teleport created",3000,5);
  8372. ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"LuxAdmin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
  8373. }
  8374. }
  8375. //-------------------------------------------
  8376. if(listitem == 2)
  8377. {
  8378. new tcount = 0, tp=0,numrow = 0;
  8379. for(new t=0;t<MAX_CTELES;t++)
  8380. {
  8381. if(CTeleInfo[t][TValid] == 1)
  8382. {
  8383. numrow++;
  8384. }
  8385. }
  8386. if(numrow > 0)
  8387. {
  8388. for(new t=0;t<MAX_CTELES;t++)
  8389. {
  8390. if(CTeleInfo[t][TValid] == 1)
  8391. {
  8392. format(string,sizeof(string),"%s %s,",string,CTeleInfo[t][TName]);
  8393. tp++;
  8394. if(tp == CTELE_LINE || tcount == numrow-1)
  8395. {
  8396. strdel(string,strlen(string)-1,strlen(string));
  8397. ShowPlayerDialog(playerid,DIALOGID+71,DIALOG_STYLE_INPUT,"Teleport System - Teleport:",string,"Tele","Back");
  8398. format(string,sizeof(string),"%s,\n",string,CTeleInfo[t][TName]);
  8399. tp = 0;
  8400. }
  8401. tcount++;
  8402. }
  8403. }
  8404. } else {
  8405. GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~There is ~r~no ~w~Teleport created",3000,5);
  8406. ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"LuxAdmin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
  8407. }
  8408. }
  8409. }
  8410. return 1;
  8411. }
  8412. //==============================================================================
  8413. //Go To Teleport
  8414. //==============================================================================
  8415. if (dialogid == DIALOGID+71)
  8416. {
  8417. if(response == 0)
  8418. {
  8419. ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"LuxAdmin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
  8420. }
  8421. if(response)
  8422. {
  8423. for(new t=0;t<MAX_CTELES;t++)
  8424. {
  8425. if(!strlen(inputtext)) return
  8426. SendClientMessage(playerid,lightred,"ERROR: Invalid Telepot!");
  8427.  
  8428. if(CTeleInfo[t][TValid] == 0) return
  8429. SendClientMessage(playerid,lightred,"ERROR: Invalid Telepot!");
  8430.  
  8431. if(strcmp(inputtext,CTeleInfo[t][TName],true) == 0)
  8432. {
  8433. if(IsPlayerInAnyVehicle(playerid))
  8434. {
  8435. SetPlayerInterior(playerid, CTeleInfo[t][PosInt]);
  8436. LinkVehicleToInterior(GetPlayerVehicleID(playerid), CTeleInfo[t][PosInt]);
  8437. SetVehiclePos(GetPlayerVehicleID(playerid),CTeleInfo[t][PosX],CTeleInfo[t][PosY],CTeleInfo[t][PosZ]);
  8438. SetVehicleZAngle(GetPlayerVehicleID(playerid),CTeleInfo[t][PosA]);
  8439. }
  8440. else
  8441. {
  8442. SetPlayerInterior(playerid, CTeleInfo[t][PosInt]);
  8443. SetPlayerPos(playerid,CTeleInfo[t][PosX],CTeleInfo[t][PosY],CTeleInfo[t][PosZ]);
  8444. SetPlayerFacingAngle(playerid,CTeleInfo[t][PosA]);
  8445. }
  8446. format(string,sizeof(string),"~w~Welcome to ~g~%s",CTeleInfo[t][TName]);
  8447. GameTextForPlayer(playerid,string,2000,5);
  8448. return 1;
  8449. }
  8450. }
  8451. }
  8452. return 1;
  8453. }
  8454. //==============================================================================
  8455. //Create Teleport
  8456. //==============================================================================
  8457. if (dialogid == DIALOGID+72)
  8458. {
  8459. if(response == 0)
  8460. {
  8461. ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"LuxAdmin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
  8462. }
  8463. if(response)
  8464. {
  8465. for(new t=0;t<MAX_CTELES;t++)
  8466. {
  8467. if(!strlen(inputtext)) return
  8468. SendClientMessage(playerid,lightred,"ERROR: Invalid Telepot!");
  8469.  
  8470. if(CTeleInfo[t][TValid] == 1)
  8471. {
  8472. if(strcmp(inputtext,CTeleInfo[t][TName],true) == 0)
  8473. {
  8474. SendClientMessage(playerid,lightred,"ERROR: Teleportation already exist!");
  8475. return 1;
  8476. }
  8477. }
  8478. new Float:x,Float:y,Float:z,Float:a;
  8479. GetPlayerPos(playerid,x,y,z);
  8480. GetPlayerFacingAngle(playerid,a);
  8481.  
  8482. if(CTeleInfo[t][TValid] == 0)
  8483. {
  8484. CTeleInfo[t][PosX] = x;
  8485. CTeleInfo[t][PosY] = y;
  8486. CTeleInfo[t][PosZ] = z;
  8487. CTeleInfo[t][PosA] = a;
  8488. CTeleInfo[t][PosInt] = GetPlayerInterior(playerid);
  8489. CTeleInfo[t][TValid] = 1;
  8490. strmid(CTeleInfo[t][TName],inputtext,0,strlen(inputtext),30);
  8491. GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~Teleport ~g~Created!",3000,5);
  8492. SaveTeleport();
  8493. ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"LuxAdmin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
  8494.  
  8495. new sstring[256];
  8496. format(sstring, sizeof(sstring), "(Created) Tele: %s, Pos: X: %f,Y: %f,Z: %f,Ang:%f,Interior:%d",CTeleInfo[t][TName],CTeleInfo[t][PosX],CTeleInfo[t][PosY],CTeleInfo[t][PosZ],CTeleInfo[t][PosA],CTeleInfo[t][PosInt]);
  8497. SaveIn("TelesLog",sstring);
  8498. return 1;
  8499. }
  8500. }
  8501. }
  8502. return 1;
  8503. }
  8504. //==============================================================================
  8505. //Delete Teleport
  8506. //==============================================================================
  8507. if (dialogid == DIALOGID+73)
  8508. {
  8509. if(response == 0)
  8510. {
  8511. ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"LuxAdmin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
  8512. }
  8513. if(response)
  8514. {
  8515. for(new t=0;t<MAX_CTELES;t++)
  8516. {
  8517. if(!strlen(inputtext)) return
  8518. SendClientMessage(playerid,lightred,"ERROR: Invalid Telepot!");
  8519.  
  8520. if(CTeleInfo[t][TValid] == 1)
  8521. {
  8522. if(strcmp(inputtext,CTeleInfo[t][TName],true) == 0)
  8523. {
  8524. CTeleInfo[t][TValid] = 0;
  8525. CTeleInfo[t][PosX] = 0;
  8526. CTeleInfo[t][PosY] = 0;
  8527. CTeleInfo[t][PosZ] = 0;
  8528. CTeleInfo[t][PosA] = 0;
  8529. CTeleInfo[t][PosInt] = 0;
  8530. GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~Teleport ~r~Deleted!",3000,5);
  8531. SaveTeleport();
  8532. ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"LuxAdmin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
  8533.  
  8534. new sstring[256];
  8535. format(sstring, sizeof(sstring), "(Deleted) Tele: %s",CTeleInfo[t][TName]);
  8536. SaveIn("TelesLog",sstring);
  8537. return 1;
  8538. }
  8539. }
  8540. }
  8541. }
  8542. return 1;
  8543. }
  8544. #endif
  8545. //==============================================================================
  8546. //---------------
  8547. // Dialog - Server Password
  8548. //---------------
  8549. //==============================================================================
  8550. if (dialogid == DIALOG_TYPE_SERVUNLOCK)
  8551. {
  8552. if(response)
  8553. {
  8554. format(ServerLockPass, sizeof ServerLockPass, "%s", ServerInfo[Password]);
  8555. ServerInfo[Locked] = 0;
  8556. strmid(ServerInfo[Password], "", 0, strlen(""), 128);
  8557. format(string, sizeof(string), "|- Administrator \"%s\" has Unlocked the Server -|",adminname);
  8558. SendClientMessageToAll(green,string);
  8559. for(new i = 0; i <= MAX_PLAYERS; i++)
  8560. if(IsPlayerConnected(i))
  8561. {
  8562. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  8563. AccInfo[i][AllowedIn] = true;
  8564. }
  8565. SendCommandToAdmins(playerid,"(Only Dialog)UnlockServer");
  8566. }
  8567. return 1;
  8568. }
  8569. //==============================================================================
  8570. if (dialogid == DIALOG_TYPE_SERVLOCK)
  8571. {
  8572. if(response)
  8573. {
  8574. format(ServerLockPass, sizeof ServerLockPass, "%s", ServerInfo[Password]);
  8575. ServerInfo[Locked] = 1;
  8576. format(string, sizeof(string), "|- Administrator \"%s\" has Locked the Server -|",adminname);
  8577. SendClientMessageToAll(red,string);
  8578. for(new i = 0; i <= MAX_PLAYERS; i++)
  8579. if(IsPlayerConnected(i))
  8580. {
  8581. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  8582. AccInfo[i][AllowedIn] = true;
  8583. }
  8584. SendCommandToAdmins(playerid,"(Only Dialog)LockServer");
  8585. format(string, sizeof(string), "|- Administrator \"%s\" has set the Server Password to '%s' -|",adminname, ServerInfo[Password]);
  8586. MessageToAdmins(COLOR_WHITE, string);
  8587. }
  8588. return 1;
  8589. }
  8590. //==============================================================================
  8591.  
  8592. if(dialogid == DIALOG_TYPE_SERVPASS)
  8593. {
  8594. if (response)
  8595. {
  8596. if (!strcmp(ServerLockPass, inputtext) && !(!strlen(inputtext)))
  8597. {
  8598. KillTimer( LockKickTimer[playerid]);
  8599. AccInfo[playerid][AllowedIn] = true;
  8600. SendClientMessage(playerid,COLOR_WHITE,"SERVER: You have successsfully entered the server Password and may now Spawn! ");
  8601. format(string, sizeof(string), "|- %s has Successfully entered server Password -|",PlayerName2(playerid));
  8602. MessageToAdmins(COLOR_WHITE, string);
  8603. } else {
  8604. SendClientMessage(playerid, red, "|- Invalid server password, try again or cancel -|");
  8605. ShowPlayerDialog(playerid, DIALOG_TYPE_SERVPASS, DIALOG_STYLE_INPUT, "Server is currently locked.", "Enter the password to access it:", "Enter", "Cancel");
  8606. }
  8607. } else {
  8608. SendClientMessage(playerid, red, "You have no business here, then.");
  8609. Kick(playerid);
  8610. }
  8611. return 1;
  8612. }
  8613. //=============================================================================
  8614. //---------------
  8615. // Dialog - SERVER TWO RCON
  8616. //---------------
  8617. //==============================================================================
  8618. #if EnableTwoRcon == true
  8619. if(dialogid == DIALOG_TYPE_RCON2)
  8620. {
  8621. if (response)
  8622. {
  8623. if (!strcmp(TwoRconPass, inputtext) && !(!strlen(inputtext)))
  8624. {
  8625. GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~g~Authorized ~w~Access!~n~~y~Welcome Administrator!",3000,3);
  8626. }
  8627. else
  8628. {
  8629. if(AccInfo[playerid][MaxRcon] == 3)
  8630. {
  8631. SendClientMessage(playerid, red, "|- You has been Automatically Kicked! Reason: Maximum number of 'TwoRcon' attempts has reached -|");
  8632. Kick(playerid);
  8633. }
  8634. AccInfo[playerid][MaxRcon]++;
  8635. new tmp[140];
  8636. SendClientMessage(playerid, red, "|- Invalid Rcon Password! -|");
  8637. format(tmp,sizeof(tmp),"Invalid Password!. \n\nFor access the account, you must enter the CORRECT second password RCON.\n\nAttempts: %d/3", AccInfo[playerid][MaxRcon]);
  8638. ShowPlayerDialog(playerid, DIALOG_TYPE_RCON2, DIALOG_STYLE_INPUT, "LuxAdmin - RCON!",tmp, "Enter", "Exit");
  8639. }
  8640. }
  8641. else
  8642. {
  8643. SendClientMessage(playerid, red, "|- ERROR: Kicked! -|");
  8644. return Kick(playerid);
  8645. }
  8646. return 1;
  8647. }
  8648. #endif
  8649.  
  8650. #if USE_DIALOGS == true
  8651. //=============================================================================
  8652. //---------------
  8653. // Dialog - Main
  8654. //---------------
  8655. //==============================================================================
  8656. if(dialogid == DIALOGID+1)
  8657. {
  8658. if(response == 0)
  8659. {
  8660. TogglePlayerControllable(playerid,true);
  8661. }
  8662. if(response)
  8663. {
  8664.  
  8665. //---------------------------------------------------
  8666. // Enable
  8667. //---------------------------------------------------
  8668. if(listitem == 0) // Enable
  8669. {
  8670. if(AccInfo[playerid][Level] >= 4)
  8671. ShowPlayerDialog(playerid, DIALOGID+2, DIALOG_STYLE_LIST,
  8672. "Enable", "AntiSwear\nNameKick\nAntiSpam\nMaxPing\nReadCmds\nReadPMs\nNoCaps\nConnectMessages\nAdminCmdMessages\nAutoLogin\nAnti Forbidden Weaps\nAnti Advertisements\nAnnouncements", "Select", "Back") && TogglePlayerControllable(playerid,true);
  8673. else
  8674. {
  8675. ErrorMessages(playerid, 1);
  8676. TogglePlayerControllable(playerid,true);
  8677. }
  8678. }
  8679. //---------------------------------------------------
  8680. // Disable
  8681. //---------------------------------------------------
  8682. if(listitem == 1) // Disable
  8683. {
  8684. if(AccInfo[playerid][Level] >= 4)
  8685. ShowPlayerDialog(playerid, DIALOGID+3, DIALOG_STYLE_LIST,
  8686. "Disable", "AntiSwear\nNameKick\nAntiSpam\nMaxPing\nReadCmds\nReadPMs\nNoCaps\nConnectMessages\nAdminCmdMessages\nAutoLogin\nAnti Forbidden Weaps\nAnti Advertisements\nAnnouncements", "Select", "Back") && TogglePlayerControllable(playerid,true);
  8687. else
  8688. {
  8689. ErrorMessages(playerid, 1);
  8690. TogglePlayerControllable(playerid,true);
  8691. }
  8692. }
  8693. //---------------------------------------------------
  8694. // Server Weather
  8695. //---------------------------------------------------
  8696. if(listitem == 2) //Server Weather
  8697. {
  8698. if(AccInfo[playerid][Level] >= 3)
  8699. {
  8700. if(IsPlayerInAnyVehicle(playerid))
  8701. {
  8702. return ShowPlayerDialog(playerid, DIALOGID+16, DIALOG_STYLE_LIST,
  8703. "Server Weather", "Blue Sky\nSand Storm\nThunderstorm\nFoggy\nCloudy\nHigh Tide\nPurple Sky\nBlack/White Sky\nDark, Green Sky\nHeatwave", "Select", "Back") &&
  8704. TogglePlayerControllable(playerid,true);
  8705. }
  8706. else
  8707. return ShowPlayerDialog(playerid, DIALOGID+16, DIALOG_STYLE_LIST,
  8708. "Server Weather", "Blue Sky\nSand Storm\nThunderstorm\nFoggy\nCloudy\nHigh Tide\nPurple Sky\nBlack/White Sky\nDark, Green Sky\nHeatwave", "Select", "Back") &&
  8709. TogglePlayerControllable(playerid,true);
  8710. }
  8711. else return ErrorMessages(playerid, 1) && TogglePlayerControllable(playerid,true);
  8712. }
  8713. //---------------------------------------------------
  8714. // Server Time
  8715. //---------------------------------------------------
  8716. if(listitem == 3) //Server Time
  8717. {
  8718. if(AccInfo[playerid][Level] >= 3)
  8719. {
  8720. if(IsPlayerInAnyVehicle(playerid))
  8721. {
  8722. TogglePlayerControllable(playerid,true);
  8723. return ShowPlayerDialog(playerid, DIALOGID+17, DIALOG_STYLE_LIST,
  8724. "Server Time", "Morning\nMid day\nAfternoon\nEvening\nMidnight", "Select", "Back") &&
  8725. TogglePlayerControllable(playerid,true);
  8726. }
  8727. else
  8728. return ShowPlayerDialog(playerid, DIALOGID+17, DIALOG_STYLE_LIST,
  8729. "Server Time", "Morning\nMid day\nAfternoon\nEvening\nMidnight", "Select", "Back");
  8730. }
  8731. else
  8732. return ErrorMessages(playerid, 1) && TogglePlayerControllable(playerid,true);
  8733. }
  8734. //---------------------------------------------------
  8735. // Vehicles
  8736. //---------------------------------------------------
  8737. if(listitem == 4) //Vehicles
  8738. {
  8739. if(AccInfo[playerid][Level] >= 2)
  8740. {
  8741. if(IsPlayerInAnyVehicle(playerid))
  8742. return TogglePlayerControllable(playerid,true) && SendClientMessage(playerid,red,"ERROR: You already have a car.");
  8743. else
  8744. {
  8745. ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST,
  8746. "LuX Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");
  8747. }
  8748. }
  8749. else return ErrorMessages(playerid, 1);
  8750. }
  8751. //---------------------------------------------------
  8752. // Tune Menu
  8753. //---------------------------------------------------
  8754. if(listitem == 5) //Tuning Menu
  8755. {
  8756. if(AccInfo[playerid][Level] >= 2)
  8757. {
  8758. if(IsPlayerInAnyVehicle(playerid))
  8759. {
  8760. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  8761. switch(LModel)
  8762. {
  8763. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  8764. {
  8765. SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle");
  8766. TogglePlayerControllable(playerid,true);
  8767. return 1;
  8768. }
  8769. }
  8770. TogglePlayerControllable(playerid,true);
  8771. ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
  8772. "Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
  8773. }
  8774. else
  8775. {
  8776. SendClientMessage(playerid,red,"ERROR: You do not have a vehicle to tune");
  8777. TogglePlayerControllable(playerid,true);
  8778. }
  8779. }
  8780. else
  8781. {
  8782. ErrorMessages(playerid, 1);
  8783. TogglePlayerControllable(playerid,true);
  8784. }
  8785. }
  8786. //---------------------------------------------------
  8787. // Teleports
  8788. //---------------------------------------------------
  8789. if(listitem == 7) //Teleports
  8790. {
  8791. if(AccInfo[playerid][Level] >= 2)
  8792. {
  8793. if(IsPlayerInAnyVehicle(playerid))
  8794. {
  8795. TogglePlayerControllable(playerid,true);
  8796. return ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST,
  8797. "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");
  8798. }
  8799. else
  8800. return ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back") && TogglePlayerControllable(playerid,true);
  8801. }
  8802. else
  8803. return
  8804. ErrorMessages(playerid, 1) && TogglePlayerControllable(playerid,true);
  8805. }
  8806. }
  8807. return 1;
  8808. }
  8809. //===============================
  8810. //---------------
  8811. // Dialog - Enable
  8812. //---------------
  8813. //===============================
  8814. if(dialogid == DIALOGID+2)
  8815. {
  8816. if(response == 0)
  8817. {
  8818. ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "LuxAdmin Main Menu",
  8819. "Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
  8820. }
  8821.  
  8822. if(response)
  8823. {
  8824. if(listitem == 0) // AntiSwear
  8825. {
  8826. ServerInfo[AntiSwear] = 1;
  8827. dini_IntSet(file,"AntiSwear",1);
  8828. format(string,sizeof(string),"|- Administrator %s has enabled AntiSwear -|",adminname);
  8829. SendClientMessageToAll(0x00A700FF,string);
  8830. }
  8831. if(listitem == 1) // NameKick
  8832. {
  8833. ServerInfo[NameKick] = 1;
  8834. dini_IntSet(file,"NameKick",1);
  8835. format(string,sizeof(string),"|- Administrator %s has enabled NameKick -|",adminname);
  8836. SendClientMessageToAll(0x00A700FF,string);
  8837. }
  8838. if(listitem == 2) //AntiSpam
  8839. {
  8840. ServerInfo[AntiSpam] = 1;
  8841. dini_IntSet(file,"AntiSpam",1);
  8842. format(string,sizeof(string),"|- Administrator %s has enabled AntiSpam -|",adminname);
  8843. SendClientMessageToAll(0x00A700FF,string);
  8844. }
  8845. if(listitem == 3) //MaxPing
  8846. {
  8847. ServerInfo[MaxPing] = 1000;
  8848. dini_IntSet(file,"MaxPing",1000);
  8849. format(string,sizeof(string),"|- Administrator %s has enabled Ping Kick -|",adminname);
  8850. SendClientMessageToAll(0x00A700FF,string);
  8851. }
  8852. if(listitem == 4) //Read Commands
  8853. {
  8854. ServerInfo[ReadCmds] = 1;
  8855. dini_IntSet(file,"ReadCmds",1);
  8856. format(string,sizeof(string),"|- Administrator %s has enabled Reading Commands -|",adminname);
  8857. MessageToAdmins(orange,string);
  8858. }
  8859. if(listitem == 5) //Read PM's
  8860. {
  8861. ServerInfo[ReadPMs] = 1;
  8862. dini_IntSet(file,"ReadPMs",1);
  8863. format(string,sizeof(string),"|- Administrator %s has enabled Reading Pms -|",adminname);
  8864. MessageToAdmins(orange,string);
  8865. }
  8866. if(listitem == 6) //Permit CapsLock
  8867. {
  8868. ServerInfo[NoCaps] = 0;
  8869. dini_IntSet(file,"NoCaps",0);
  8870. format(string,sizeof(string),"|- Administrator %s has allowed Captial Letters in Chat -|",adminname);
  8871. SendClientMessageToAll(0x00A700FF,string);
  8872. }
  8873. if(listitem == 7) //Connect/Disconnect Messages
  8874. {
  8875. ServerInfo[ConnectMessages] = 1;
  8876. dini_IntSet(file,"ConnectMessages",1);
  8877. format(string,sizeof(string),"|- Administrator %s has enabled Connect Messages -|",adminname);
  8878. SendClientMessageToAll(0x00A700FF,string);
  8879. }
  8880. if(listitem == 8) //Command Messages
  8881. {
  8882. ServerInfo[AdminCmdMsg] = 1;
  8883. dini_IntSet(file,"AdminCmdMessages",1);
  8884. format(string,sizeof(string),"|- Administrator %s has enabled Admin Command messages -|",adminname);
  8885. MessageToAdmins(orange,string);
  8886. }
  8887. if(listitem == 9) //Auto Login
  8888. {
  8889. ServerInfo[AutoLogin] = 1;
  8890. dini_IntSet(file,"AutoLogin",1);
  8891. format(string,sizeof(string),"|- Administrator %s has enabled Auto Login -|",adminname);
  8892. SendClientMessageToAll(0x00A700FF,string);
  8893. }
  8894. if(listitem == 10) //Anti Forbidden Weapons
  8895. {
  8896. ServerInfo[ForbiddenWeaps] = 1;
  8897. dini_IntSet(file,"ForbiddenWeapons",1);
  8898. format(string,sizeof(string),"|- Administrator %s has enabled Anti Forbidden Weapons -|",adminname);
  8899. SendClientMessageToAll(0x00A700FF,string);
  8900. SendClientMessage(playerid, orange, "|- To update Forbidden Weapons File use: /uconfig -|");
  8901. }
  8902. if(listitem == 11) //Anti Advertisements
  8903. {
  8904. ServerInfo[AntiAds] = 1;
  8905. dini_IntSet(file,"AntiAdvertisements",1);
  8906. format(string,sizeof(string),"|- Administrator %s has enabled Anti Advertisements -|",adminname);
  8907. MessageToAdmins(orange,string);
  8908. }
  8909. if(listitem == 12) //Announcements
  8910. {
  8911. ServerInfo[AntiAds] = 1;
  8912. dini_IntSet(file,"Announcements",1);
  8913. format(string,sizeof(string),"|- Administrator %s has enabled Announcements! -|",adminname);
  8914. MessageToAdmins(orange,string);
  8915. OnPlayerCommandText(playerid,"/uconfig");
  8916. SetTimer("RandomMessage",ANNOUNCES_TIME,1);
  8917. for(new i = 0; i < MAX_PLAYERS; i++)
  8918. TextDrawShowForPlayer(i, Announcements);
  8919. }
  8920. }
  8921. return 1;
  8922. }
  8923. //===============================
  8924. //---------------
  8925. // Dialog - Console
  8926. //---------------
  8927. //===============================
  8928. if(dialogid == DIALOGID+61)
  8929. {
  8930. if(response)
  8931. {
  8932. if(listitem == 0) { ShowPlayerDialog(playerid,DIALOGID+62,DIALOG_STYLE_INPUT,"LuxAdmin Console","Load FilterScript:\n","Load!","Back");}
  8933. if(listitem == 1) { ShowPlayerDialog(playerid,DIALOGID+63,DIALOG_STYLE_INPUT,"LuxAdmin Console","Unload FilterScript:\n","Unload!","Back");}
  8934. if(listitem == 2) { ShowPlayerDialog(playerid,DIALOGID+64,DIALOG_STYLE_INPUT,"LuxAdmin Console","Changemode:\n","Unload!","Back");}
  8935. if(listitem == 3) { OnFilterScriptExit(); SetTimer("RestartGM",5000,0); SendClientMessage(playerid,orange,"|- Console Command Sent! -|"); format(string,sizeof(string),"|- %s has been Restarted Server",pName(playerid),inputtext); SaveIn("ConsoleLog",string);}
  8936. if(listitem == 4){ SendRconCommand("loadfs LuxAdmin"); return SendClientMessage(playerid,orange,"|- Console Command Sent! -|");}
  8937. if(listitem == 5){ SendRconCommand("unloadfs LuxAdmin"); return SendClientMessage(playerid,orange,"|- Console Command Sent! -|");}
  8938. if(listitem == 6){ SendRconCommand("reloadfs LuxAdmin"); return SendClientMessage(playerid,orange,"|- Console Command Sent! -|");}
  8939. if(listitem == 7){ return ShowPlayerDialog(playerid,DIALOGID+65,DIALOG_STYLE_INPUT,"LuxAdmin Console","Unban IP:\n","Unban!","Back");}
  8940. if(listitem == 8){ SendRconCommand("reloadbans"); SendClientMessage(playerid,orange,"|- Console Command Sent! -|"); }
  8941. if(listitem == 9){ ShowPlayerDialog(playerid, DIALOGID+80, DIALOG_STYLE_INPUT, "LuxAdmin - Execute Command","Simple type a Command! \n\nFor LuxAdmin, for your GameMode, and for any other Filterscript! \n\nExemple: 'ban 0 cheats' (Without '/')", "Exec Cmd", "Cancel"); }
  8942. }
  8943. return 1;
  8944. }
  8945. //===============================
  8946. // Dialog - LOADFS
  8947. //===============================
  8948. if(dialogid == DIALOGID+62)
  8949. {
  8950. if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "LuxAdmin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad LuxAdmin\nUnload LuxAdmin\nReload LuxAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
  8951. if(response){
  8952. new str[256];
  8953. format(string,sizeof(string),"%s has been Loaded '%s' Filterscript",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
  8954. format(str,sizeof(string),"loadfs %s",inputtext);
  8955. SendRconCommand(str);
  8956. SendClientMessage(playerid,orange,"|- Console Command Sent! -|");
  8957. ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "LuxAdmin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad LuxAdmin\nUnload LuxAdmin\nReload LuxAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
  8958. }
  8959. return 1;
  8960. }
  8961. //===============================
  8962. // Dialog - UNLOADFS
  8963. //===============================
  8964. if(dialogid == DIALOGID+63)
  8965. {
  8966. if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "LuxAdmin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad LuxAdmin\nUnload LuxAdmin\nReload LuxAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
  8967. if(response) {
  8968. new str[256];
  8969. format(string,sizeof(string),"%s has been Unloaded '%s' Filterscript",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
  8970. format(str,sizeof(string),"unloadfs %s",inputtext);
  8971. SendRconCommand(str);
  8972. SendClientMessage(playerid,orange,"|- Console Command Sent! -|");
  8973. ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "LuxAdmin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad LuxAdmin\nUnload LuxAdmin\nReload LuxAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
  8974. }
  8975. return 1;
  8976. }
  8977. //===============================
  8978. // Dialog - CHANGEMODE
  8979. //===============================
  8980. if(dialogid == DIALOGID+64)
  8981. {
  8982. if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "LuxAdmin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad LuxAdmin\nUnload LuxAdmin\nReload LuxAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
  8983. if(response) {
  8984. new str[256];
  8985. format(string,sizeof(string),"%s has been Changed '%s' GameMode",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
  8986. format(str,sizeof(string),"changemode %s",inputtext);
  8987. SendRconCommand(str);
  8988. SendClientMessage(playerid,orange,"|- Console Command Sent! -|");
  8989. }
  8990. return 1;
  8991. }
  8992. //===============================
  8993. // Dialog - EXECUTE COMMAND
  8994. //===============================
  8995. if(dialogid == DIALOGID+80)
  8996. {
  8997. if(response)
  8998. {
  8999. new str[128];
  9000. format(str,sizeof(str),"/%s",inputtext);
  9001. CallRemoteFunction("OnPlayerCommandText", "is",playerid, str);
  9002. }
  9003. return 1;
  9004. }
  9005. //===============================
  9006. // Dialog - UNBANIP
  9007. //===============================
  9008. if(dialogid == DIALOGID+65)
  9009. {
  9010. if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "LuxAdmin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad LuxAdmin\nUnload LuxAdmin\nReload LuxAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
  9011. if(response) {
  9012. new str[256];
  9013. format(string,sizeof(string),"%s has been Unbaned '%s' Ip",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
  9014. format(str,sizeof(string),"unbanip %s",inputtext);
  9015. SendRconCommand(str);
  9016. SendClientMessage(playerid,orange,"|- Console Command Sent! -|");
  9017. ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "LuxAdmin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad LuxAdmin\nUnload LuxAdmin\nReload LuxAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
  9018. }
  9019. return 1;
  9020. }
  9021.  
  9022. //===============================
  9023. //---------------
  9024. // Dialog - Fight Styles
  9025. //---------------
  9026. //===============================
  9027. if(dialogid == DIALOGID+81)
  9028. {
  9029. if(response)
  9030. {
  9031. if(listitem == 0)
  9032. {
  9033. SetPlayerFightingStyle (playerid, FIGHT_STYLE_ELBOW);
  9034. GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Elbow ~w~Style Changed!",2000,3);
  9035. }
  9036. if(listitem == 1)
  9037. {
  9038. SetPlayerFightingStyle (playerid, FIGHT_STYLE_BOXING);
  9039. GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Boxing ~w~Style Changed!",2000,3);
  9040. }
  9041. if(listitem == 2)
  9042. {
  9043. SetPlayerFightingStyle (playerid, FIGHT_STYLE_GRABKICK);
  9044. GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Grabkick ~w~Style Changed!",2000,3);
  9045. }
  9046. if(listitem == 3)
  9047. {
  9048. SetPlayerFightingStyle (playerid, FIGHT_STYLE_KNEEHEAD);
  9049. GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Nheehead ~w~Style Changed!",2000,3);
  9050. }
  9051. if(listitem == 4)
  9052. {
  9053. SetPlayerFightingStyle (playerid, FIGHT_STYLE_KUNGFU);
  9054. GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~KungFu ~w~Style Changed!",2000,3);
  9055. }
  9056. if(listitem == 5)
  9057. {
  9058. SetPlayerFightingStyle (playerid, FIGHT_STYLE_NORMAL);
  9059. GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Normal ~w~Style Changed!",2000,3);
  9060. }
  9061. }
  9062. return 1;
  9063. }
  9064. //===============================
  9065. //---------------
  9066. // Dialog - Disable
  9067. //---------------
  9068. //===============================
  9069. if(dialogid == DIALOGID+3)
  9070. {
  9071. if(response == 0)
  9072. {
  9073. ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "LuxAdmin Main Menu",
  9074. "Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
  9075. }
  9076.  
  9077. if(response)
  9078. {
  9079. if(listitem == 0) // AntiSwear
  9080. {
  9081. ServerInfo[AntiSwear] = 0;
  9082. dini_IntSet(file,"AntiSwear",0);
  9083. format(string,sizeof(string),"|- Administrator %s has disabled AntiSwear",adminname);
  9084. SendClientMessageToAll(0x21DD00FF,string);
  9085. }
  9086. if(listitem == 1) // NameKick
  9087. {
  9088. ServerInfo[NameKick] = 0;
  9089. dini_IntSet(file,"NameKick",0);
  9090. format(string,sizeof(string),"|- Administrator %s has disabled NameKick -|",adminname);
  9091. SendClientMessageToAll(0x21DD00FF,string);
  9092. }
  9093. if(listitem == 2) //AntiSpam
  9094. {
  9095. ServerInfo[AntiSpam] = 0;
  9096. dini_IntSet(file,"AntiSpam",0);
  9097. format(string,sizeof(string),"|- Administrator %s has disabled AntiSpam -|",adminname);
  9098. SendClientMessageToAll(0x21DD00FF,string);
  9099. }
  9100. if(listitem == 3) //MaxPing
  9101. {
  9102. ServerInfo[MaxPing] = 0;
  9103. dini_IntSet(file,"MaxPing",0);
  9104. format(string,sizeof(string),"|- Administrator %s has disabled Ping Kick -|",adminname);
  9105. SendClientMessageToAll(0x21DD00FF,string);
  9106. }
  9107. if(listitem == 4) //Read Commands
  9108. {
  9109. ServerInfo[ReadCmds] = 0;
  9110. dini_IntSet(file,"ReadCmds",0);
  9111. format(string,sizeof(string),"|- Administrator %s has disabled Reading Commands -|",adminname);
  9112. MessageToAdmins(orange,string);
  9113. }
  9114. if(listitem == 5) //Read PM's
  9115. {
  9116. ServerInfo[ReadPMs] = 0;
  9117. dini_IntSet(file,"ReadPMs",0);
  9118. format(string,sizeof(string),"|- Administrator %s has disabled Reading Pms -|",adminname);
  9119. MessageToAdmins(orange,string);
  9120. }
  9121. if(listitem == 6) //Permit CapsLock
  9122. {
  9123. ServerInfo[NoCaps] = 1;
  9124. dini_IntSet(file,"NoCaps",1);
  9125. format(string,sizeof(string),"|- Administrator %s has prevented Captial Letters in Chat -|",adminname);
  9126. SendClientMessageToAll(0x21DD00FF,string);
  9127. }
  9128. if(listitem == 7) //Connect/Disconnect Messages
  9129. {
  9130. ServerInfo[ConnectMessages] = 0;
  9131. dini_IntSet(file,"ConnectMessages",0);
  9132. format(string,sizeof(string),"|- Administrator %s has disabled Connect Messages -|",adminname);
  9133. SendClientMessageToAll(0x21DD00FF,string);
  9134. }
  9135. if(listitem == 8) //Command Messages
  9136. {
  9137. ServerInfo[AdminCmdMsg] = 0;
  9138. dini_IntSet(file,"AdminCmdMessages",0);
  9139. format(string,sizeof(string),"|- Administrator %s has disabled Admin Command nessages -|",adminname);
  9140. MessageToAdmins(orange,string);
  9141. }
  9142. if(listitem == 9) //Auto Login
  9143. {
  9144. ServerInfo[AutoLogin] = 0;
  9145. dini_IntSet(file,"AutoLogin",0);
  9146. format(string,sizeof(string),"|- Administrator %s has disabled Auto Kogin -|",adminname);
  9147. SendClientMessageToAll(0x21DD00FF,string);
  9148. }
  9149. if(listitem == 10) //Anti Forbidden Weapons
  9150. {
  9151. ServerInfo[ForbiddenWeaps] = 0;
  9152. dini_IntSet(file,"ForbiddenWeapons",0);
  9153. format(string,sizeof(string),"|- Administrator %s has disabled Anti Forbidden Weapons -|",adminname);
  9154. SendClientMessageToAll(0x00A700FF,string);
  9155. }
  9156. if(listitem == 11) //Anti Advertisements
  9157. {
  9158. ServerInfo[AntiAds] = 0;
  9159. dini_IntSet(file,"AntiAdvertisements",0);
  9160. format(string,sizeof(string),"|- Administrator %s has disabled Anti Advertisements -|",adminname);
  9161. MessageToAdmins(orange,string);
  9162. }
  9163. if(listitem == 12) //Announcements
  9164. {
  9165. ServerInfo[AntiAds] = 0;
  9166. dini_IntSet(file,"Announcements",0);
  9167. format(string,sizeof(string),"|- Administrator %s has disabled Announcements! -|",adminname);
  9168. for(new i = 0; i < MAX_PLAYERS; i++)
  9169. TextDrawHideForPlayer(i, Announcements);
  9170.  
  9171. MessageToAdmins(orange,string);
  9172. }
  9173. }
  9174. return 1;
  9175. }
  9176. //==============================================================================
  9177. //---------------
  9178. // VEHICLES
  9179. //---------------
  9180. //==============================================================================
  9181.  
  9182. if(dialogid == DIALOGID+40)
  9183. {
  9184. if(response == 0){
  9185. ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "LuxAdmin Main Menu","Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");}
  9186. if(response)
  9187. {
  9188. if(listitem == 0){ ShowPlayerDialog(playerid, DIALOGID+41, DIALOG_STYLE_LIST, "Bicycles", "Bike\nBMX\nMountain Bike", "Select", "Back");}
  9189. if(listitem == 1){ ShowPlayerDialog(playerid, DIALOGID+42, DIALOG_STYLE_LIST, "Bikes", "NRG-500\nFaggio\nFCR-900\nPCJ-600\nFreeway\nBF-400\nPizzaBoy\nWayfarer\nCop Bike\nSanchez\nQuad", "Select", "Back");}
  9190. if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+43, DIALOG_STYLE_LIST, "Monster Trucks", "Dumper\nDuneride\nMonster\nMonster A\nMonster B", "Select", "Back");}
  9191. if(listitem == 3){ ShowPlayerDialog(playerid, DIALOGID+44, DIALOG_STYLE_LIST, "Boats", "Coastguard\nDinghy\nJetmax\nLaunch\nMarquis\nPredator\nReefer\nSpeeder\nSqualo\nTropic", "Select", "Back");}
  9192. if(listitem == 4){ ShowPlayerDialog(playerid, DIALOGID+45, DIALOG_STYLE_LIST, "Helicopters", "Cargobob\nHunter\nLeviathn\nMaverick\nPolmav\nRaindanc\nSeasparr\nSparrow\nVCN Helicopter", "Select", "Back");}
  9193. if(listitem == 5){ ShowPlayerDialog(playerid, DIALOGID+46, DIALOG_STYLE_LIST, "Planes", "Hydra\nRustler\nDodo\nNevada\nSuntplane\nCropdust\nAT-400\nAndromeda\nBeagle\nVortex\nSkimmer\nShamal", "Select", "Back");}
  9194. if(listitem == 6){ ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9195. if(listitem == 7){ ShowPlayerDialog(playerid, DIALOGID+48, DIALOG_STYLE_LIST, "Vehicles RC","RC Goblin\nRC Raider\nRC Barron \nRC Bandit\nRC Cam\nRC Tiger", "Select", "Back");}
  9196. }
  9197. return 1;
  9198. }
  9199. //=====================
  9200. //-----------------
  9201. // Bicycles
  9202. //-----------------
  9203. //=====================
  9204. if(dialogid == DIALOGID+41)
  9205. {
  9206. if(response == 0){
  9207. ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, "LuX Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
  9208. if(response)
  9209. {
  9210. if(listitem == 0){ CarSpawner(playerid,509);}
  9211. if(listitem == 1){ CarSpawner(playerid,481);}
  9212. if(listitem == 2){ CarSpawner(playerid,510);}
  9213. }
  9214. return 1;
  9215. }
  9216. //=====================
  9217. //-----------------
  9218. // Bikes
  9219. //-----------------
  9220. //=====================
  9221. if(dialogid == DIALOGID+42)
  9222. {
  9223. if(response == 0){
  9224. ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, "LuX Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
  9225. if(response)
  9226. {
  9227.  
  9228. if(listitem == 0){CarSpawner(playerid,522);}
  9229. if(listitem == 1){CarSpawner(playerid,462);}
  9230. if(listitem == 2){CarSpawner(playerid,521);}
  9231. if(listitem == 3){CarSpawner(playerid,461);}
  9232. if(listitem == 4){CarSpawner(playerid,463);}
  9233. if(listitem == 5){CarSpawner(playerid,581);}
  9234. if(listitem == 6){CarSpawner(playerid,448);}
  9235. if(listitem == 7){CarSpawner(playerid,586);}
  9236. if(listitem == 8){CarSpawner(playerid,523);}
  9237. if(listitem == 9){CarSpawner(playerid,468);}
  9238. if(listitem == 10){CarSpawner(playerid,471);}
  9239. }
  9240. return 1;
  9241. }
  9242. //=====================
  9243. //-----------------
  9244. // Monster Trucks
  9245. //-----------------
  9246. //=====================
  9247. if(dialogid == DIALOGID+43)
  9248. {
  9249. if(response == 0){
  9250. ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, "LuX Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
  9251. if(response)
  9252. {
  9253. if(listitem == 0){ CarSpawner(playerid,406);}
  9254. if(listitem == 1){ CarSpawner(playerid,573);}
  9255. if(listitem == 2){ CarSpawner(playerid,444);}
  9256. if(listitem == 3){ CarSpawner(playerid,556);}
  9257. if(listitem == 4){ CarSpawner(playerid,557);}
  9258. }
  9259. return 1;
  9260. }
  9261.  
  9262. //=====================
  9263. //-----------------
  9264. // Boats
  9265. //-----------------
  9266. //=====================
  9267. if(dialogid == DIALOGID+44)
  9268. {
  9269. if(response == 0){
  9270. ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, "LuX Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
  9271. if(response)
  9272. {
  9273. if(listitem == 0){ CarSpawner(playerid,472);}
  9274. if(listitem == 1){ CarSpawner(playerid,473);}
  9275. if(listitem == 2){ CarSpawner(playerid,493);}
  9276. if(listitem == 3){ CarSpawner(playerid,595);}
  9277. if(listitem == 4){ CarSpawner(playerid,484);}
  9278. if(listitem == 5){ CarSpawner(playerid,430);}
  9279. if(listitem == 6){ CarSpawner(playerid,453);}
  9280. if(listitem == 7){ CarSpawner(playerid,452);}
  9281. if(listitem == 8){ CarSpawner(playerid,446);}
  9282. if(listitem == 9){ CarSpawner(playerid,454);}
  9283. }
  9284. return 1;
  9285. }
  9286. //=====================
  9287. //-----------------
  9288. // Helicopters
  9289. //-----------------
  9290. //=====================
  9291. if(dialogid == DIALOGID+45)
  9292. {
  9293. if(response == 0){
  9294. ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, "LuX Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
  9295. if(response)
  9296. {
  9297. if(listitem == 0){ CarSpawner(playerid,548);}
  9298. if(listitem == 1){ CarSpawner(playerid,425);}
  9299. if(listitem == 2){ CarSpawner(playerid,417);}
  9300. if(listitem == 3){ CarSpawner(playerid,487);}
  9301. if(listitem == 4){ CarSpawner(playerid,497);}
  9302. if(listitem == 5){ CarSpawner(playerid,563);}
  9303. if(listitem == 6){ CarSpawner(playerid,447);}
  9304. if(listitem == 7){ CarSpawner(playerid,469);}
  9305. if(listitem == 8){ CarSpawner(playerid,488);}
  9306. }
  9307. return 1;
  9308. }
  9309. //=====================
  9310. //-----------------
  9311. // Planes
  9312. //-----------------
  9313. //=====================
  9314. if(dialogid == DIALOGID+46)
  9315. {
  9316. if(response == 0){
  9317. ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, "LuX Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
  9318. if(response)
  9319. {
  9320. if(listitem == 0){ CarSpawner(playerid,520);}
  9321. if(listitem == 1){ CarSpawner(playerid,476);}
  9322. if(listitem == 2){ CarSpawner(playerid,593);}
  9323. if(listitem == 3){ CarSpawner(playerid,553);}
  9324. if(listitem == 4){ CarSpawner(playerid,513);}
  9325. if(listitem == 5){ CarSpawner(playerid,512);}
  9326. if(listitem == 6){ CarSpawner(playerid,577);}
  9327. if(listitem == 7){ CarSpawner(playerid,592);}
  9328. if(listitem == 8){ CarSpawner(playerid,511);}
  9329. if(listitem == 9){ CarSpawner(playerid,539);}
  9330. if(listitem == 10){ CarSpawner(playerid,460);}
  9331. if(listitem == 11){ CarSpawner(playerid,519);}
  9332. }
  9333. return 1;
  9334. }
  9335. //=====================
  9336. //-----------------
  9337. // Vehicles RC
  9338. //-----------------
  9339. //=====================
  9340. if(dialogid == DIALOGID+48)
  9341. {
  9342. if(response == 0){
  9343. ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, "LuX Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
  9344. if(response)
  9345. {
  9346. if(listitem == 0){ CarSpawner(playerid,501);}
  9347. if(listitem == 0){ CarSpawner(playerid,465);}
  9348. if(listitem == 0){ CarSpawner(playerid,464);}
  9349. if(listitem == 0){ CarSpawner(playerid,441);}
  9350. if(listitem == 0){ CarSpawner(playerid,594);}
  9351. if(listitem == 0){ CarSpawner(playerid,564);}
  9352. }
  9353. return 1;
  9354. }
  9355. //=====================
  9356. //-----------------
  9357. // Cars
  9358. //-----------------
  9359. //=====================
  9360. if(dialogid == DIALOGID+47)
  9361. {
  9362. if(response == 0){
  9363. ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, "LuX Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
  9364. if(response)
  9365. {
  9366. if(listitem == 0){ ShowPlayerDialog(playerid, DIALOGID+4, DIALOG_STYLE_LIST, "Lowriders", "Blade\nBroadway\nRemmington\nSavanna\nSlamvan\nTornado\nVoodoo", "Select", "Back");}
  9367. if(listitem == 1){ ShowPlayerDialog(playerid, DIALOGID+5, DIALOG_STYLE_LIST, "Street Racers","Elegy\nFlash\nJester\nStratum\nSultan\nUranus", "Select", "Back");}
  9368. if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+6, DIALOG_STYLE_LIST, "Muscle Cars", "Buffalo\nClover\nPhoenix\nSabre", "Select", "Back");}
  9369. if(listitem == 3){ ShowPlayerDialog(playerid, DIALOGID+7, DIALOG_STYLE_LIST, "Suvs & Wagons", "Huntley\nLandstalker\nPerenial\nRancher\nRegina\nRomero\nSolair", "Select", "Back");}
  9370. if(listitem == 4){ ShowPlayerDialog(playerid, DIALOGID+8, DIALOG_STYLE_LIST, "Sport Cars", "Banshee\nBullet\nCheetah\nComet\nHotknife\nHotring Racer\nInfernus\nSuper GT\nTurismo\nWindsor\nZR-350", "Select", "Back");}
  9371. if(listitem == 5){ ShowPlayerDialog(playerid, DIALOGID+9, DIALOG_STYLE_LIST, "Recreational", "Bandito\nBF Injection\nBloodring Banger\nCaddy\nCamper\nJourney\nKart\nMesa\nSandking\nVortex", "Select", "Back");}
  9372. if(listitem == 6){ ShowPlayerDialog(playerid, DIALOGID+10, DIALOG_STYLE_LIST, "Civil", "Baggage\nBus\nCabbie\nCoach\nSweeper\nTaxi\nTowtruck\nTrashmaster\nUtiliy van", "Select", "Back");}
  9373. if(listitem == 7){ ShowPlayerDialog(playerid, DIALOGID+11, DIALOG_STYLE_LIST, "Government", "Ambulance\nBarracks\nEnforcer\nFBI Rancher\nFBI Truck\nFiretruck\nPatriot\nPolite Car SF\nRanger\nSecuricar\nS.W.A.T", "Select", "Back");}
  9374. if(listitem == 8){ ShowPlayerDialog(playerid, DIALOGID+12, DIALOG_STYLE_LIST, "4 Door Luxury", "Admiral\nElegant\nEmperor\nEuros\nGlendale\nGreenwood\nIntruder\nMerit\nNebula\nOceanic\nPremier\nPrimo\nSentinel\nStretch\nSunrise\nTahoma\nVincent\nWashington\nWillard", "Select", "Back");}
  9375. if(listitem == 9){ ShowPlayerDialog(playerid, DIALOGID+58, DIALOG_STYLE_LIST, "2 Door Sedans", "Alpha\nBlista Compact\nBravura\nBaccaneer\nCadrona\nClub\nEsperanto\nFeltzer\nFortune\nHermer\nHustler\nMagestic\nManana\nPicador\nPrevion\nStafford\nStallion\nTampa\nVirgo", "Select", "Back");}
  9376. if(listitem == 10){ ShowPlayerDialog(playerid, DIALOGID+59, DIALOG_STYLE_LIST, "Heavy trucks", "Benson\nBoxville\nCement truck\nCombine Harvester\nDFT-30\nDozer\nFlatbed\nHotdog\nLinerunner\nMr Whoopee\nMule\nPacker\nRoadtrain\nTanker\nTractor\nYankee", "Select", "Back");}
  9377. if(listitem == 11){ ShowPlayerDialog(playerid, DIALOGID+60, DIALOG_STYLE_LIST, "Light trucks", "Berkley's RC van\nBobcat\nBurrito\nForklift\nMoonbeam\nMower\nNewsvan\nNext page\nPony\nRumpo\nSadler\nTug\nWalton\nYosemite", "Select", "Back");}
  9378. }
  9379. return 1;
  9380. }
  9381. //=====================
  9382. //-----------------
  9383. // Lowriders
  9384. //-----------------
  9385. //=====================
  9386. if(dialogid == DIALOGID+4)
  9387. {
  9388. if(response == 0){
  9389. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9390. if(response)
  9391. {
  9392. if(listitem == 0){ CarSpawner(playerid,536);}
  9393. if(listitem == 1){ CarSpawner(playerid,575);}
  9394. if(listitem == 2){ CarSpawner(playerid,534);}
  9395. if(listitem == 3){ CarSpawner(playerid,567);}
  9396. if(listitem == 4){ CarSpawner(playerid,535);}
  9397. if(listitem == 5){ CarSpawner(playerid,576);}
  9398. if(listitem == 6){ CarSpawner(playerid,412);}
  9399. }
  9400. return 1;
  9401. }
  9402. //=====================
  9403. //-----------------
  9404. // Street Racers
  9405. //-----------------
  9406. //=====================
  9407. if(dialogid == DIALOGID+5)
  9408. {
  9409. if(response == 0){
  9410. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9411. if(response)
  9412. {
  9413. if(listitem == 0){ CarSpawner(playerid,562);}
  9414. if(listitem == 1){ CarSpawner(playerid,565);}
  9415. if(listitem == 2){ CarSpawner(playerid,559);}
  9416. if(listitem == 3){ CarSpawner(playerid,561);}
  9417. if(listitem == 4){ CarSpawner(playerid,560);}
  9418. if(listitem == 5){ CarSpawner(playerid,558);}
  9419. }
  9420. return 1;
  9421. }
  9422. //=====================
  9423. //-----------------
  9424. // Muscle Cars
  9425. //-----------------
  9426. //=====================
  9427. if(dialogid == DIALOGID+6)
  9428. {
  9429. if(response == 0){
  9430. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9431. if(response)
  9432. {
  9433. if(listitem == 0){ CarSpawner(playerid,402);}
  9434. if(listitem == 1){ CarSpawner(playerid,542);}
  9435. if(listitem == 2){ CarSpawner(playerid,603);}
  9436. if(listitem == 3){ CarSpawner(playerid,475);}
  9437. }
  9438. return 1;
  9439. }
  9440. //=====================
  9441. //-----------------
  9442. // Suvs & Wagons
  9443. //-----------------
  9444. //=====================
  9445. if(dialogid == DIALOGID+7)
  9446. {
  9447. if(response == 0){
  9448. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9449. if(response)
  9450. {
  9451. if(listitem == 0){ CarSpawner(playerid,579);}
  9452. if(listitem == 1){ CarSpawner(playerid,400);}
  9453. if(listitem == 2){ CarSpawner(playerid,404);}
  9454. if(listitem == 3){ CarSpawner(playerid,489);}
  9455. if(listitem == 4){ CarSpawner(playerid,479);}
  9456. if(listitem == 5){ CarSpawner(playerid,442);}
  9457. if(listitem == 6){ CarSpawner(playerid,458);}
  9458. }
  9459. return 1;
  9460. }
  9461. //=====================
  9462. //-----------------
  9463. // Sport Cars
  9464. //-----------------
  9465. //=====================
  9466. if(dialogid == DIALOGID+8)
  9467. {
  9468. if(response == 0){
  9469. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9470. if(response)
  9471. {
  9472. if(listitem == 0){ CarSpawner(playerid,429);}
  9473. if(listitem == 1){ CarSpawner(playerid,541);}
  9474. if(listitem == 2){ CarSpawner(playerid,415);}
  9475. if(listitem == 3){ CarSpawner(playerid,480);}
  9476. if(listitem == 4){ CarSpawner(playerid,434);}
  9477. if(listitem == 5){ CarSpawner(playerid,494);}
  9478. if(listitem == 6){ CarSpawner(playerid,411);}
  9479. if(listitem == 7){ CarSpawner(playerid,506);}
  9480. if(listitem == 8){ CarSpawner(playerid,451);}
  9481. if(listitem == 9){ CarSpawner(playerid,555);}
  9482. if(listitem == 10){ CarSpawner(playerid,477);}
  9483. }
  9484. return 1;
  9485. }
  9486. //=====================
  9487. //-----------------
  9488. // Recreation
  9489. //-----------------
  9490. //=====================
  9491. if(dialogid == DIALOGID+9)
  9492. {
  9493. if(response == 0){
  9494. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9495. if(response)
  9496. {
  9497. if(listitem == 0){ CarSpawner(playerid,568);}
  9498. if(listitem == 1){ CarSpawner(playerid,424);}
  9499. if(listitem == 2){ CarSpawner(playerid,504);}
  9500. if(listitem == 3){ CarSpawner(playerid,457);}
  9501. if(listitem == 4){ CarSpawner(playerid,483);}
  9502. if(listitem == 5){ CarSpawner(playerid,508);}
  9503. if(listitem == 6){ CarSpawner(playerid,571);}
  9504. if(listitem == 7){ CarSpawner(playerid,500);}
  9505. if(listitem == 8){ CarSpawner(playerid,495);}
  9506. if(listitem == 9){ CarSpawner(playerid,539);}
  9507. }
  9508. return 1;
  9509. }
  9510. //=====================
  9511. //-----------------
  9512. // Civil
  9513. //-----------------
  9514. //=====================
  9515. if(dialogid == DIALOGID+10)
  9516. {
  9517. if(response == 0){
  9518. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9519. if(response)
  9520. {
  9521. if(listitem == 0){ CarSpawner(playerid,485);}
  9522. if(listitem == 1){ CarSpawner(playerid,431);}
  9523. if(listitem == 2){ CarSpawner(playerid,438);}
  9524. if(listitem == 3){ CarSpawner(playerid,437);}
  9525. if(listitem == 4){ CarSpawner(playerid,574);}
  9526. if(listitem == 5){ CarSpawner(playerid,420);}
  9527. if(listitem == 6){ CarSpawner(playerid,525);}
  9528. if(listitem == 7){ CarSpawner(playerid,408);}
  9529. if(listitem == 8){ CarSpawner(playerid,552);}
  9530. }
  9531. return 1;
  9532. }
  9533. //=====================
  9534. //-----------------
  9535. // Governament
  9536. //-----------------
  9537. //=====================
  9538. if(dialogid == DIALOGID+11)
  9539. {
  9540. if(response == 0){
  9541. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9542. if(response)
  9543. {
  9544. if(listitem == 0){ CarSpawner(playerid,416);}
  9545. if(listitem == 1){ CarSpawner(playerid,433);}
  9546. if(listitem == 2){ CarSpawner(playerid,427);}
  9547. if(listitem == 3){ CarSpawner(playerid,490);}
  9548. if(listitem == 4){ CarSpawner(playerid,528);}
  9549. if(listitem == 5){ CarSpawner(playerid,407);}
  9550. if(listitem == 6){ CarSpawner(playerid,570);}
  9551. if(listitem == 7){ CarSpawner(playerid,597);}
  9552. if(listitem == 8){ CarSpawner(playerid,599);}
  9553. if(listitem == 9){ CarSpawner(playerid,428);}
  9554. if(listitem == 10){ CarSpawner(playerid,601);}
  9555. }
  9556. return 1;
  9557. }
  9558. //=====================
  9559. //-----------------
  9560. // 4 doors
  9561. //-----------------
  9562. //=====================
  9563. if(dialogid == DIALOGID+12)
  9564. {
  9565.  
  9566. if(response == 0){
  9567. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9568. if(response)
  9569. {
  9570. if(listitem == 0){ CarSpawner(playerid,445);}
  9571. if(listitem == 1){ CarSpawner(playerid,507);}
  9572. if(listitem == 2){ CarSpawner(playerid,585);}
  9573. if(listitem == 3){ CarSpawner(playerid,587);}
  9574. if(listitem == 4){ CarSpawner(playerid,466);}
  9575. if(listitem == 5){ CarSpawner(playerid,492);}
  9576. if(listitem == 6){ CarSpawner(playerid,546);}
  9577. if(listitem == 7){ CarSpawner(playerid,551);}
  9578. if(listitem == 8){ CarSpawner(playerid,516);}
  9579. if(listitem == 9){ CarSpawner(playerid,467);}
  9580. if(listitem == 10){ CarSpawner(playerid,426);}
  9581. if(listitem == 11){ CarSpawner(playerid,547);}
  9582. if(listitem == 12){ CarSpawner(playerid,405);}
  9583. if(listitem == 13){ CarSpawner(playerid,409);}
  9584. if(listitem == 14){ CarSpawner(playerid,550);}
  9585. if(listitem == 15){ CarSpawner(playerid,566);}
  9586. if(listitem == 16){ CarSpawner(playerid,540);}
  9587. if(listitem == 17){ CarSpawner(playerid,421);}
  9588. if(listitem == 18){ CarSpawner(playerid,529);}
  9589. }
  9590. return 1;
  9591. }
  9592. //=====================
  9593. //-----------------
  9594. // 2 doors
  9595. //-----------------
  9596. //=====================
  9597. if(dialogid == DIALOGID+58)
  9598. {
  9599. if(response == 0){
  9600. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9601. if(response)
  9602. {
  9603. if(listitem == 0){ CarSpawner(playerid,602);}
  9604. if(listitem == 1){ CarSpawner(playerid,496);}
  9605. if(listitem == 2){ CarSpawner(playerid,401);}
  9606. if(listitem == 3){ CarSpawner(playerid,518);}
  9607. if(listitem == 4){ CarSpawner(playerid,527);}
  9608. if(listitem == 5){ CarSpawner(playerid,589);}
  9609. if(listitem == 6){ CarSpawner(playerid,419);}
  9610. if(listitem == 7){ CarSpawner(playerid,533);}
  9611. if(listitem == 8){ CarSpawner(playerid,526);}
  9612. if(listitem == 9){ CarSpawner(playerid,474);}
  9613. if(listitem == 10){ CarSpawner(playerid,545);}
  9614. if(listitem == 11){ CarSpawner(playerid,517);}
  9615. if(listitem == 12){ CarSpawner(playerid,410);}
  9616. if(listitem == 13){ CarSpawner(playerid,600);}
  9617. if(listitem == 14){ CarSpawner(playerid,436);}
  9618. if(listitem == 15){ CarSpawner(playerid,580);}
  9619. if(listitem == 16){ CarSpawner(playerid,439);}
  9620. if(listitem == 17){ CarSpawner(playerid,549);}
  9621. if(listitem == 18){ CarSpawner(playerid,491);}
  9622. }
  9623. return 1;
  9624. }
  9625. //=====================
  9626. //-----------------
  9627. // Heavy Trucks
  9628. //-----------------
  9629. //=====================
  9630. if(dialogid == DIALOGID+59)
  9631. {
  9632. if(response == 0){
  9633. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9634. if(response)
  9635. {
  9636. if(listitem == 0){ CarSpawner(playerid,499);}
  9637. if(listitem == 1){ CarSpawner(playerid,498);}
  9638. if(listitem == 2){ CarSpawner(playerid,524);}
  9639. if(listitem == 3){ CarSpawner(playerid,532);}
  9640. if(listitem == 4){ CarSpawner(playerid,578);}
  9641. if(listitem == 5){ CarSpawner(playerid,486);}
  9642. if(listitem == 6){ CarSpawner(playerid,455);}
  9643. if(listitem == 7){ CarSpawner(playerid,588);}
  9644. if(listitem == 8){ CarSpawner(playerid,403);}
  9645. if(listitem == 9){ CarSpawner(playerid,423);}
  9646. if(listitem == 10){ CarSpawner(playerid,414);}
  9647. if(listitem == 11){ CarSpawner(playerid,443);}
  9648. if(listitem == 12){ CarSpawner(playerid,515);}
  9649. if(listitem == 13){ CarSpawner(playerid,514);}
  9650. if(listitem == 14){ CarSpawner(playerid,531);}
  9651. if(listitem == 15){ CarSpawner(playerid,456);}
  9652. }
  9653. return 1;
  9654. }
  9655. //=====================
  9656. //-----------------
  9657. // Light Trucks
  9658. //-----------------
  9659. //=====================
  9660. if(dialogid == DIALOGID+60)
  9661. {
  9662. if(response == 0){
  9663. ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
  9664. if(response)
  9665. {
  9666. if(listitem == 0){ CarSpawner(playerid,459);}
  9667. if(listitem == 1){ CarSpawner(playerid,422);}
  9668. if(listitem == 2){ CarSpawner(playerid,482);}
  9669. if(listitem == 3){ CarSpawner(playerid,530);}
  9670. if(listitem == 4){ CarSpawner(playerid,418);}
  9671. if(listitem == 5){ CarSpawner(playerid,572);}
  9672. if(listitem == 6){ CarSpawner(playerid,582);}
  9673. if(listitem == 7){ CarSpawner(playerid,413);}
  9674. if(listitem == 8){ CarSpawner(playerid,440);}
  9675. if(listitem == 9){ CarSpawner(playerid,543);}
  9676. if(listitem == 10){ CarSpawner(playerid,583);}
  9677. if(listitem == 11){ CarSpawner(playerid,478);}
  9678. if(listitem == 12){ CarSpawner(playerid,554);}
  9679. }
  9680. return 1;
  9681. }
  9682. //==============================================================================
  9683. //---------------
  9684. // TUNING
  9685. //---------------
  9686. //==============================================================================
  9687.  
  9688. //===============================
  9689. //---------------
  9690. // Tune Main
  9691. //---------------
  9692. //===============================
  9693. if(dialogid == DIALOGID+13)
  9694. {
  9695. if(response == 0)
  9696. {
  9697. ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "LuxAdmin Main Menu",
  9698. "Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
  9699. }
  9700. if(response)
  9701. {
  9702. if(listitem == 0){ AddVehicleComponent(GetPlayerVehicleID(playerid),1010); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Hydraulics Added to your Vehicle");}
  9703. if(listitem == 1){ AddVehicleComponent(GetPlayerVehicleID(playerid),1087); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Nitrox Added to your Vehicle");
  9704. }
  9705. if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+14, DIALOG_STYLE_LIST, "Wheels","Wire\nTwist\nAccess\nMega\nImport\nAtomic\nOfTwistfroad\nClassic", "Select", "Back");}
  9706. if(listitem == 3){ ShowPlayerDialog(playerid, DIALOGID+15, DIALOG_STYLE_LIST, "Paint Jobs","Style 1\nStyle 2\nStyle 3\nStyle 4\nStyle 5", "Select", "Back");}
  9707. if(listitem == 4){ ShowPlayerDialog(playerid, DIALOGID+19, DIALOG_STYLE_LIST, "Vehicle Colours","Black \nWhite \nDark Blue \nLight Blue \nGreen \nRed \nYellow \nPink", "Select", "Back");}
  9708. }
  9709. return 1;
  9710. }
  9711. //===============================
  9712. //---------------
  9713. // Wheels
  9714. //---------------
  9715. //===============================
  9716. if(dialogid == DIALOGID+14)
  9717. {
  9718. if(response == 0)
  9719. {
  9720. ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
  9721. "Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
  9722. }
  9723. if(response)
  9724. {
  9725. if(listitem == 0){ AddVehicleComponent(GetPlayerVehicleID(playerid),1081); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Wire Wheels to your Vehicle");}
  9726. if(listitem == 1){ AddVehicleComponent(GetPlayerVehicleID(playerid),1078); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Twist Wheels Added to your Vehicle");}
  9727. if(listitem == 2){ AddVehicleComponent(GetPlayerVehicleID(playerid),1098); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Access Wheels Added to your Vehicle");}
  9728. if(listitem == 3){ AddVehicleComponent(GetPlayerVehicleID(playerid),1074); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Mega Wheels Added to your Vehicle");}
  9729. if(listitem == 4){ AddVehicleComponent(GetPlayerVehicleID(playerid),1082); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Import Wheels Added to your Vehicle");}
  9730. if(listitem == 5){ AddVehicleComponent(GetPlayerVehicleID(playerid),1085); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Atomic Wheels Added to your Vehicle");}
  9731. if(listitem == 6){ AddVehicleComponent(GetPlayerVehicleID(playerid),1025); StartTuneSound(playerid); SendClientMessage(playerid,blue,"OfTwistfroad Wheels Added to your Vehicle");}
  9732. if(listitem == 7){ AddVehicleComponent(GetPlayerVehicleID(playerid),1077); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Classic Wheels Added to your Vehicle");}
  9733. }
  9734. return 1;
  9735. }
  9736. //===============================
  9737. //---------------
  9738. // Paint Jobs
  9739. //---------------
  9740. //===============================
  9741. if(dialogid == DIALOGID+15)
  9742. {
  9743. if(response == 0)
  9744. {
  9745. ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
  9746. "Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
  9747. }
  9748. if(response)
  9749. {
  9750. if(listitem == 0){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),0); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 1"); }
  9751. if(listitem == 1){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),1); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 2"); }
  9752. if(listitem == 2){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),2); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 3"); }
  9753. if(listitem == 3){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),3); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 4"); }
  9754. if(listitem == 4){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),4); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 5"); }
  9755. }
  9756. return 1;
  9757. }
  9758. //===============================
  9759. //---------------
  9760. // Vehicle Colours
  9761. //---------------
  9762. //===============================
  9763. if(dialogid == DIALOGID+19)
  9764. {
  9765. if(response == 0)
  9766. {
  9767. ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
  9768. "Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
  9769. }
  9770. if(response)
  9771. {
  9772. if(listitem == 0){ ChangeVehicleColor(GetPlayerVehicleID(playerid),0,0); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Black"); }
  9773. if(listitem == 1){ ChangeVehicleColor(GetPlayerVehicleID(playerid),1,1); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to White"); }
  9774. if(listitem == 2){ ChangeVehicleColor(GetPlayerVehicleID(playerid),425,425); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Dark Blue"); }
  9775. if(listitem == 3){ ChangeVehicleColor(GetPlayerVehicleID(playerid),2,2); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Light Blue"); }
  9776. if(listitem == 4){ ChangeVehicleColor(GetPlayerVehicleID(playerid),16,16); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Green"); }
  9777. if(listitem == 5){ ChangeVehicleColor(GetPlayerVehicleID(playerid),3,3); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Red"); }
  9778. if(listitem == 6){ ChangeVehicleColor(GetPlayerVehicleID(playerid),6,6); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Yellow"); }
  9779. if(listitem == 7){ ChangeVehicleColor(GetPlayerVehicleID(playerid),146,146); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Pink"); }
  9780. }
  9781. return 1;
  9782. }
  9783. //===============================
  9784. //---------------
  9785. // Server Weather
  9786. //---------------
  9787. //===============================
  9788. if(dialogid == DIALOGID+16)
  9789. {
  9790. if(response == 0)
  9791. {
  9792. ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "LuxAdmin Main Menu",
  9793. "Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
  9794. }
  9795. if(response)
  9796. {
  9797. if(listitem == 0)
  9798. {
  9799. SetWeather(5);
  9800. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9801. SendCommandToAdmins(playerid,"SetWeather");
  9802. format(string,sizeof(string),"|- Administrator %s has changed the weather to 'Blue Sky' -|",adminname);
  9803. SendClientMessageToAll(blue,string);
  9804. }
  9805. if(listitem == 1)
  9806. {
  9807. SetWeather(19);
  9808. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9809. SendCommandToAdmins(playerid,"SetWeather");
  9810. format(string,sizeof(string),"|- Administrator %s has changed the weather to 'Sand Storm' -|",adminname);
  9811. SendClientMessageToAll(blue,string);
  9812. }
  9813. if(listitem == 2)
  9814. {
  9815. SetWeather(8);
  9816. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9817. SendCommandToAdmins(playerid,"SetWeather");
  9818. format(string,sizeof(string),"|- Administrator %s has changed the weather to 'Thunderstorm' -|",adminname);
  9819. SendClientMessageToAll(blue,string);
  9820. }
  9821.  
  9822. if(listitem == 3)
  9823. {
  9824. SetWeather(20);
  9825. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9826. SendCommandToAdmins(playerid,"SetWeather");
  9827. format(string,sizeof(string),"|- Administrator %s has changed the weather to 'Foggy' -|",adminname);
  9828. SendClientMessageToAll(blue,string);
  9829. }
  9830. if(listitem == 4)
  9831. {
  9832. SetWeather(9);
  9833. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9834. SendCommandToAdmins(playerid,"SetWeather");
  9835. format(string,sizeof(string),"|- Administrator %s has changed the weather to 'Cloudy' -|",adminname);
  9836. SendClientMessageToAll(blue,string);
  9837. }
  9838. if(listitem == 5)
  9839. {
  9840. SetWeather(16);
  9841. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9842. SendCommandToAdmins(playerid,"SetWeather");
  9843. format(string,sizeof(string),"|- Administrator %s has changed the weather to 'High Tide' -|",adminname);
  9844. SendClientMessageToAll(blue,string);
  9845. }
  9846. if(listitem == 6)
  9847. {
  9848. SetWeather(45);
  9849. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9850. SendCommandToAdmins(playerid,"SetWeather");
  9851. format(string,sizeof(string),"|- Administrator %s has changed the weather to 'Purple Sky' -|",adminname);
  9852. SendClientMessageToAll(blue,string);
  9853. }
  9854. if(listitem == 7)
  9855. {
  9856. SetWeather(44);
  9857. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9858. SendCommandToAdmins(playerid,"SetWeather");
  9859. format(string,sizeof(string),"|- Administrator %s has changed the weather to 'Black/White Sky' -|",adminname);
  9860. SendClientMessageToAll(blue,string);
  9861. }
  9862. if(listitem == 8)
  9863. {
  9864. SetWeather(22);
  9865. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9866. SendCommandToAdmins(playerid,"SetWeather");
  9867. format(string,sizeof(string),"|- Administrator %s has changed the weather to 'Dark, Green Sky' -|",adminname);
  9868. SendClientMessageToAll(blue,string);
  9869. }
  9870. if(listitem == 9)
  9871. {
  9872. SetWeather(11);
  9873. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9874. SendCommandToAdmins(playerid,"SetWeather");
  9875. format(string,sizeof(string),"|- Administrator %s has changed the weather to 'Heatwave' -|",adminname);
  9876. SendClientMessageToAll(blue,string);
  9877. }
  9878. }
  9879. return 1;
  9880. }
  9881.  
  9882. //===============================
  9883. //---------------
  9884. // Server Time
  9885. //---------------
  9886. //===============================
  9887. if(dialogid == DIALOGID+17)
  9888. {
  9889. if(response == 0)
  9890. {
  9891. ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "LuxAdmin Main Menu",
  9892. "Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
  9893. }
  9894. if(response)
  9895. {
  9896. if(listitem == 0)
  9897. {
  9898. for(new i = 0; i < MAX_PLAYERS; i++)
  9899. if(IsPlayerConnected(i))
  9900. SetPlayerTime(i,7,0);
  9901. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9902. format(string,sizeof(string),"|- Administrator %s has changed the Time -|",adminname);
  9903. SendClientMessageToAll(blue,string);
  9904. }
  9905.  
  9906. if(listitem == 1)
  9907. {
  9908. for(new i = 0; i < MAX_PLAYERS; i++)
  9909. if(IsPlayerConnected(i))
  9910. SetPlayerTime(i,12,0);
  9911. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9912. format(string,sizeof(string),"|- Administrator %s has changed the Time -|",adminname);
  9913. SendClientMessageToAll(blue,string);
  9914. }
  9915. if(listitem == 2)
  9916. {
  9917. for(new i = 0; i < MAX_PLAYERS; i++)
  9918. if(IsPlayerConnected(i))
  9919. SetPlayerTime(i,16,0);
  9920. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9921. format(string,sizeof(string),"|- Administrator %s has changed the Time -|",adminname);
  9922. SendClientMessageToAll(blue,string);
  9923. }
  9924. if(listitem == 3)
  9925. {
  9926. for(new i = 0; i < MAX_PLAYERS; i++)
  9927. if(IsPlayerConnected(i))
  9928. SetPlayerTime(i,20,0);
  9929. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9930. format(string,sizeof(string),"|- Administrator %s has changed the Time -|",adminname);
  9931. SendClientMessageToAll(blue,string);
  9932. }
  9933. if(listitem == 4)
  9934. {
  9935. for(new i = 0; i < MAX_PLAYERS; i++)
  9936. if(IsPlayerConnected(i))
  9937. SetPlayerTime(i,0,0);
  9938. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  9939. format(string,sizeof(string),"|- Administrator %s has changed the Time -|",adminname);
  9940. SendClientMessageToAll(blue,string);
  9941. }
  9942. }
  9943. return 1;
  9944. }
  9945.  
  9946.  
  9947. //=====================
  9948. //-----------------
  9949. // Teles (Main)
  9950. //-----------------
  9951. //=====================
  9952. if(dialogid == DIALOGID+30)
  9953. {
  9954. if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "LuxAdmin Main Menu","Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel"); }
  9955. if(response)
  9956. {
  9957. if(listitem == 0){ ShowPlayerDialog(playerid, DIALOGID+31, DIALOG_STYLE_LIST, "Los Santos", "Los Santos Airport \nPershing Square \nVinewood \nGrove Street \nRichman \nSanta Maria Beach \nOcean Docks \nDillimore \nPalomino Creek \nBlueBerry \nMontGomery", "Select", "Back");}
  9958. if(listitem == 1){ ShowPlayerDialog(playerid, DIALOGID+32, DIALOG_STYLE_LIST, "San Fierro", "San Fierro Airport \nGolden Gate Bridge \nMt. Chilliad \nCJ's garage \nSan Fierro Stadium \nOcean Flats \nMissionary Hill", "Select", "Back");}
  9959. if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+33, DIALOG_STYLE_LIST, "Las Venturas", "Las Venturas Airport \nArea51 \nFour Dragons Casino \nLas Venturas Police Department \nBayside \nBig Jump \nLas Barrancas \nFort Carson \nLas Venturas Stadium \nNorthern Las Venturas \nStarfish Casino", "Select", "Back");}
  9960. }
  9961. return 1;
  9962. }
  9963. //=====================
  9964. //-----------------
  9965. // Teles (Los Santos)
  9966. //-----------------
  9967. //=====================
  9968. if(dialogid == DIALOGID+31)
  9969. {
  9970. if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");}
  9971. if(response)
  9972. {
  9973. if(listitem == 0){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1642.3022,-2333.6287,13.5469); }
  9974. if(listitem == 1){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1511.8770,-1661.2853,13.5469); }
  9975. if(listitem == 2){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1382.6194,-888.5532,38.0863); }
  9976. if(listitem == 3){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2485.2546,-1684.7223,13.5096); }
  9977. if(listitem == 4){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 597.6629,-1241.3900,18.1275); }
  9978. if(listitem == 5){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 491.7868,-1823.2258,5.5028); }
  9979. if(listitem == 6){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2771.1060,-2417.5828,13.6405); }
  9980. if(listitem == 7){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 661.0361,-573.5891,16.3359); }
  9981. if(listitem == 8){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2269.6877,-75.0973,26.7724); }
  9982. if(listitem == 9){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 198.4328,-252.1696,1.5781); }
  9983. if(listitem == 10){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1242.2875,328.5506,19.7555); }
  9984. }
  9985. return 1;
  9986. }
  9987. //=====================
  9988. //-----------------
  9989. // Teles (San Fierro)
  9990. //-----------------
  9991. //=====================
  9992. if(dialogid == DIALOGID+32)
  9993. {
  9994. if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");}
  9995. if(response)
  9996. {
  9997. if(listitem == 0){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -1422.8820,-287.4992,14.1484); }
  9998. if(listitem == 1){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2672.6116,1268.4943,55.9456); }
  9999. if(listitem == 2){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2305.6143,-1626.0594,483.7662); }
  10000. if(listitem == 3){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2026.2843,156.4974,29.0391); }
  10001. if(listitem == 4){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2159.3616,-407.8362,35.3359); }
  10002. if(listitem == 5){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2648.7498,14.2868,6.1328); }
  10003. if(listitem == 6){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2521.4055,-623.5245,132.7727); }
  10004. }
  10005. return 1;
  10006. }
  10007. //=====================
  10008. //-----------------
  10009. // Teles (Las Venturas)
  10010. //-----------------
  10011. //=====================
  10012. if(dialogid == DIALOGID+33)
  10013. {
  10014. if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");}
  10015. if(response)
  10016. {
  10017. if(listitem == 0) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1679.3361,1448.6248,10.7744); }
  10018. if(listitem == 1) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 95.7283,1920.3488,18.1163); }
  10019. if(listitem == 2) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2027.5721,1008.2877,10.8203); }
  10020. if(listitem == 3) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2287.0313,2431.0276,10.8203); }
  10021. if(listitem == 4) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -2241.4238,2327.4290,4.9844); }
  10022. if(listitem == 5) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -670.6358,2306.0559,135.2990); }
  10023. if(listitem == 6) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -761.5192,1552.1647,26.9609); }
  10024. if(listitem == 7) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -143.5370,1217.8855,19.7352); }
  10025. if(listitem == 8) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1099.1533,1384.3300,10.8203); }
  10026. if(listitem == 9) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1614.2190,2334.9338,10.8203); }
  10027. if(listitem == 10) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2572.6560,1818.1030,10.8203); }
  10028. }
  10029. return 1;
  10030. }
  10031. return 0;
  10032. }
  10033. #endif
  10034.  
  10035. public Duel(player1, player2)
  10036. {
  10037. if(cdt[player1]==6) {
  10038. GameTextForPlayer(player1,"~p~Duel Starting...",1000,6); GameTextForPlayer(player2,"~p~Duel Starting...",1000,6);
  10039. }
  10040.  
  10041. cdt[player1]--;
  10042. if(cdt[player1]==0)
  10043. {
  10044. TogglePlayerControllable(player1,1); TogglePlayerControllable(player2,1);
  10045. PlayerPlaySound(player1, 1057, 0.0, 0.0, 0.0); PlayerPlaySound(player2, 1057, 0.0, 0.0, 0.0);
  10046. GameTextForPlayer(player1,"~g~GO~ r~!",1000,6); GameTextForPlayer(player2,"~g~GO~ r~!",1000,6);
  10047. return 0;
  10048. }
  10049. else
  10050. {
  10051. new text[7]; format(text,sizeof(text),"~w~%d",cdt[player1]);
  10052. PlayerPlaySound(player1, 1056, 0.0, 0.0, 0.0); PlayerPlaySound(player2, 1056, 0.0, 0.0, 0.0);
  10053. TogglePlayerControllable(player1,0); TogglePlayerControllable(player2,0);
  10054. GameTextForPlayer(player1,text,1000,6); GameTextForPlayer(player2,text,1000,6);
  10055. }
  10056.  
  10057. SetTimerEx("Duel",1000,0,"dd", player1, player2);
  10058. return 0;
  10059. }
  10060. //============================ [ Timers ]=======================================
  10061.  
  10062. public PingKick()
  10063. {
  10064. if(ServerInfo[MaxPing] != 0)
  10065. {
  10066. PingPos++; if(PingPos > PING_MAX_EXCEEDS) PingPos = 0;
  10067.  
  10068. for(new i=0; i<MAX_PLAYERS; i++)
  10069. {
  10070. AccInfo[i][pPing][PingPos] = GetPlayerPing(i);
  10071.  
  10072. if(GetPlayerPing(i) > ServerInfo[MaxPing])
  10073. {
  10074. if(AccInfo[i][PingCount] == 0) AccInfo[i][PingTime] = TimeStamp();
  10075.  
  10076. AccInfo[i][PingCount]++;
  10077. if(TimeStamp() - AccInfo[i][PingTime] > PING_TIMELIMIT)
  10078. {
  10079. AccInfo[i][PingTime] = TimeStamp();
  10080. AccInfo[i][PingCount] = 1;
  10081. }
  10082. else if(AccInfo[i][PingCount] >= PING_MAX_EXCEEDS)
  10083. {
  10084. new Sum, Average, x, string[128];
  10085. while (x < PING_MAX_EXCEEDS) {
  10086. Sum += AccInfo[i][pPing][x];
  10087. x++;
  10088. }
  10089. Average = (Sum / PING_MAX_EXCEEDS);
  10090. format(string,sizeof(string),"|- Player %s (Id:%d) has been Automatically Kicked. | Reason: High Ping - %d (Average - %d | Max Allowed - %d)", PlayerName2(i),i, GetPlayerPing(i), Average, ServerInfo[MaxPing]);
  10091. SendClientMessageToAll(grey,string);
  10092. SaveIn("KickLog",string);
  10093. Kick(i);
  10094. }
  10095. }
  10096. else if(GetPlayerPing(i) < 1 && ServerInfo[AntiBot] == 1)
  10097. {
  10098. AccInfo[i][BotPing]++;
  10099. if(AccInfo[i][BotPing] >= 3) BotCheck(i);
  10100. }
  10101. else
  10102. {
  10103. AccInfo[i][BotPing] = 0;
  10104. }
  10105. }
  10106. }
  10107. }
  10108. //==============================================================================
  10109.  
  10110. public GodModUp()
  10111. {
  10112. for(new i = 0; i < MAX_PLAYERS; i++)
  10113. {
  10114. if(IsPlayerConnected(i) && AccInfo[i][God] == 1)
  10115. {
  10116. SetPlayerHealth(i,100000);
  10117. }
  10118. if(IsPlayerConnected(i) && AccInfo[i][GodCar] == 1 && IsPlayerInAnyVehicle(i))
  10119. {
  10120. SetVehicleHealth(GetPlayerVehicleID(i),10000);
  10121. }
  10122. }
  10123. }
  10124.  
  10125. //==============================================================================
  10126. // Console
  10127. //==============================================================================
  10128. public RestartGM() { SendRconCommand("gmx");
  10129. }
  10130. public UnloadFS() { SendRconCommand("unloadfs LuxAdmin");
  10131. }
  10132. //==============================================================================
  10133. // Time in Game
  10134. //==============================================================================
  10135. TotalGameTime(playerid, &h=0, &m=0, &s=0)
  10136. {
  10137. AccInfo[playerid][TotalTime] = ( (gettime() - AccInfo[playerid][ConnectTime]) + (AccInfo[playerid][hours]*60*60) + (AccInfo[playerid][mins]*60) + (AccInfo[playerid][secs]) );
  10138.  
  10139. h = floatround(AccInfo[playerid][TotalTime] / 3600, floatround_floor);
  10140. m = floatround(AccInfo[playerid][TotalTime] / 60, floatround_floor) % 60;
  10141. s = floatround(AccInfo[playerid][TotalTime] % 60, floatround_floor);
  10142.  
  10143. return AccInfo[playerid][TotalTime];
  10144. }
  10145. //==============================================================================
  10146. //-------------------------------------
  10147. // Anti WeaponsHack
  10148. //-------------------------------------
  10149. //==============================================================================
  10150. public LoadForbiddenWeapons()
  10151. {
  10152. if(dini_Exists("LuxAdmin/Config/ForbiddenWeapons.cfg"))
  10153. {
  10154. new File:f=fopen("LuxAdmin/Config/ForbiddenWeapons.cfg", io_read),c,string[32];
  10155. while(fread(f,string,sizeof(string)) && c<MAX_FORBIDDEN_WEAPONS)
  10156. {
  10157. L_NewLine(string);
  10158. if(strlen(string))
  10159. {
  10160. ForbiddenWeapons[c]=strval(string);
  10161. c++;
  10162. }
  10163. }
  10164. fclose(f);
  10165. ForbiddenWeaponsCount=c;
  10166. return 1;
  10167. }
  10168. print("\nForbidden Weapons File NOT Loaded!\n");
  10169. return 0;
  10170. }
  10171. public WeaponCheck(playerid)
  10172. {
  10173. for(new i=0;i<MAX_PLAYERS;i++)
  10174. {
  10175. new lbweapon[64];
  10176. new string[128];
  10177. new var;
  10178. new PlayerName[MAX_PLAYER_NAME];
  10179. GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
  10180.  
  10181. var=GetPlayerWeapon(i);
  10182. if(IsForbiddenWeapon(var) && WeaponForbiddenForPlayer[i][var] && AccInfo[i][Level] == 0 && ServerInfo[ForbiddenWeaps] == 1)
  10183. {
  10184. SendClientMessage(i,lightred, "|- You have been Automatically Banned. | Reason: WeaponHack -| ");
  10185.  
  10186. GetWeaponName(var,lbweapon,sizeof(lbweapon));
  10187. format(lbweapon,sizeof(lbweapon),"Weapon Cheat (%s)",lbweapon);
  10188. BanEx(i,lbweapon);
  10189.  
  10190. format(string,sizeof(string),"|- Player %s (Id:%d) has been Automatically Banned. | Reason: Weapon Hack -|",PlayerName,i);
  10191. SendClientMessageToAll(lightred, string);
  10192.  
  10193. new str[128];
  10194. format(str,sizeof(str),"%s has been Automatically Banned. | Reason: WeaponHack",PlayerName);
  10195. SaveIn("BanLog",str);
  10196. }
  10197. }
  10198. return 1;
  10199. }
  10200. //==============================================================================
  10201. // Check Bot
  10202. //==============================================================================
  10203. public BotCheck(playerid)
  10204. {
  10205. if(IsPlayerConnected(playerid))
  10206. {
  10207. if(GetPlayerPing(playerid) < 1)
  10208. {
  10209. new string[128], ip[20]; GetPlayerIp(playerid,ip,sizeof(ip));
  10210. format(string,sizeof(string),"BOT: %s id:%d ip: %s ping: %d",PlayerName2(playerid),playerid,ip,GetPlayerPing(playerid));
  10211. SaveIn("BotKickLog",string);
  10212. SaveIn("KickLog",string);
  10213. printf("[ADMIN] Possible bot has been detected (Kicked %s ID:%d)", PlayerName2(playerid), playerid);
  10214. Kick(playerid);
  10215. }
  10216. }
  10217. }
  10218. //==============================================================================
  10219. // Position
  10220. //==============================================================================
  10221. public PutAtPos(playerid)
  10222. {
  10223. if (dUserINT(PlayerName2(playerid)).("x")!=0)
  10224. {
  10225. SetPlayerPos(playerid, float(dUserINT(PlayerName2(playerid)).("x")), float(dUserINT(PlayerName2(playerid)).("y")), float(dUserINT(PlayerName2(playerid)).("z")) );
  10226. SetPlayerInterior(playerid, (dUserINT(PlayerName2(playerid)).("interior")) );
  10227. }
  10228. }
  10229. public PutAtDisconectPos(playerid)
  10230. {
  10231. if (dUserINT(PlayerName2(playerid)).("x1")!=0) {
  10232. SetPlayerPos(playerid, float(dUserINT(PlayerName2(playerid)).("x1")), float(dUserINT(PlayerName2(playerid)).("y1")), float(dUserINT(PlayerName2(playerid)).("z1")) );
  10233. SetPlayerInterior(playerid, (dUserINT(PlayerName2(playerid)).("interior1")) );
  10234. }
  10235. }
  10236. //==============================================================================
  10237. // Freeze
  10238. //==============================================================================
  10239. public UnFreezeMe(player1)
  10240. {
  10241. KillTimer( FreezeTimer[player1] );
  10242. TogglePlayerControllable(player1,true);
  10243. AccInfo[player1][Frozen] = 0;
  10244. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  10245. GameTextForPlayer(player1,"~g~Unfrozen",3000,3);
  10246. }
  10247. //==============================================================================
  10248. // Jail
  10249. //==============================================================================
  10250. public Jail1(player1)
  10251. {
  10252. TogglePlayerControllable(player1,false);
  10253. new Float:x, Float:y, Float:z;
  10254. GetPlayerPos(player1,x,y,z);
  10255. SetPlayerCameraPos(player1,x+10,y,z+10);
  10256. SetPlayerCameraLookAt(player1,x,y,z);
  10257. SetTimerEx("Jail2",1000,0,"d",player1);
  10258. }
  10259. public Jail2(player1)
  10260. {
  10261. new Float:x, Float:y, Float:z;
  10262. GetPlayerPos(player1,x,y,z);
  10263. SetPlayerCameraPos(player1,x+7,y,z+5);
  10264. SetPlayerCameraLookAt(player1,x,y,z);
  10265. if(GetPlayerState(player1) == PLAYER_STATE_ONFOOT) SetPlayerSpecialAction(player1,SPECIAL_ACTION_HANDSUP);
  10266. GameTextForPlayer(player1,"~r~Busted By Admins",3000,3);
  10267. SetTimerEx("Jail3",1000,0,"d",player1);
  10268. }
  10269. public Jail3(player1)
  10270. {
  10271. new Float:x, Float:y, Float:z;
  10272. GetPlayerPos(player1,x,y,z);
  10273. SetPlayerCameraPos(player1,x+3,y,z);
  10274. SetPlayerCameraLookAt(player1,x,y,z);
  10275. }
  10276. public JailPlayer(player1)
  10277. {
  10278. TogglePlayerControllable(player1,true);
  10279. SetPlayerPos(player1,197.6661,173.8179,1003.0234);
  10280. SetPlayerInterior(player1,3);
  10281. SetCameraBehindPlayer(player1);
  10282. JailTimer[player1] = SetTimerEx("UnjailPlayer",AccInfo[player1][JailTime],0,"d",player1);
  10283. AccInfo[player1][Jailed] = 1;
  10284. }
  10285.  
  10286. public UnjailPlayer(player1)
  10287. {
  10288. KillTimer( JailTimer[player1] );
  10289. AccInfo[player1][JailTime] = 0;
  10290. AccInfo[player1][Jailed] = 0;
  10291. SetPlayerInterior(player1,0);
  10292. SetPlayerPos(player1, 0.0, 0.0, 0.0);
  10293. SpawnPlayer(player1);
  10294. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  10295. GameTextForPlayer(player1,"~g~Released ~n~From Jail",3000,3);
  10296. }
  10297. //==============================================================================
  10298. MaxAmmo(playerid)
  10299. {
  10300. new slot, weap, ammo;
  10301. for (slot = 0; slot < 14; slot++)
  10302. {
  10303. GetPlayerWeaponData(playerid, slot, weap, ammo);
  10304. if(IsValidWeapon(weap))
  10305. {
  10306. GivePlayerWeapon(playerid, weap, 99999);
  10307. }
  10308. }
  10309. return 1;
  10310. }
  10311. stock DisableWord(const badword[], text[])
  10312. {
  10313. for(new i=0; i<256; i++)
  10314. {
  10315. if (strfind(text[i], badword, true) == 0)
  10316. {
  10317. for(new a=0; a<256; a++)
  10318. {
  10319. if (a >= i && a < i+strlen(badword)) text[a]='*';
  10320. }
  10321. }
  10322. }
  10323. }
  10324.  
  10325. argpos(const string[], idx = 0, sep = ' ')// (by yom)
  10326. {
  10327. for(new i = idx, j = strlen(string); i < j; i++)
  10328. if (string[i] == sep && string[i+1] != sep)
  10329. return i+1;
  10330.  
  10331. return -1;
  10332. }
  10333.  
  10334. //==============================================================================
  10335. public MessageToAdmins(color,const string[])
  10336. {
  10337. for(new i = 0; i < MAX_PLAYERS; i++)
  10338. {
  10339. if(IsPlayerConnected(i) == 1)
  10340. if(AccInfo[i][Level] >= 1)
  10341. SendClientMessage(i, color, string);
  10342. }
  10343. return 1;
  10344. }
  10345.  
  10346.  
  10347. public MessageToPlayerVIP(color,const string[])
  10348. {
  10349. for(new i = 0; i < MAX_PLAYERS; i++)
  10350. {
  10351. if(IsPlayerConnected(i) == 1)
  10352. if(AccInfo[i][pVip] >= 1)
  10353. SendClientMessage(i, color, string);
  10354. }
  10355. return 1;
  10356. }
  10357.  
  10358. stock SendCommandToAdmins(playerid,command[])
  10359. {
  10360. if(ServerInfo[AdminCmdMsg] == 0)
  10361. return 1;
  10362.  
  10363. new string[128];
  10364. GetPlayerName(playerid,string,sizeof(string));
  10365. format(string,sizeof(string)," %s (Level: %d) | Command: %s",string,AccInfo[playerid][Level],command);
  10366. return MessageToAdmins(blue,string);
  10367. }
  10368.  
  10369. stock StartTuneSound(playerid)
  10370. {
  10371. PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  10372. return 1;
  10373. }
  10374.  
  10375. //==============================================================================
  10376. SavePlayerStats(playerid)
  10377. {
  10378. dUserSetINT(PlayerName2(playerid)).("Money",GetPlayerMoney(playerid));
  10379. dUserSetINT(PlayerName2(playerid)).("Kills",AccInfo[playerid][Kills]);
  10380. dUserSetINT(PlayerName2(playerid)).("Deaths",AccInfo[playerid][Deaths]);
  10381. dUserSetINT(PlayerName2(playerid)).("WantedLevel",GetPlayerWantedLevel(playerid));
  10382. #if SaveScore == true
  10383. dUserSetINT(PlayerName2(playerid)).("Score",GetPlayerScore(playerid));
  10384. #endif
  10385.  
  10386. new h, m, s;
  10387. TotalGameTime(playerid, h, m, s);
  10388.  
  10389. dUserSetINT(PlayerName2(playerid)).("Hours", h);
  10390. dUserSetINT(PlayerName2(playerid)).("Minutes", m);
  10391. dUserSetINT(PlayerName2(playerid)).("Seconds", s);
  10392.  
  10393. new Float:x,Float:y,Float:z, interior;
  10394. GetPlayerPos(playerid,x,y,z);
  10395. interior = GetPlayerInterior(playerid);
  10396.  
  10397. dUserSetINT(PlayerName2(playerid)).("x1",floatround(x));
  10398. dUserSetINT(PlayerName2(playerid)).("y1",floatround(y));
  10399. dUserSetINT(PlayerName2(playerid)).("z1",floatround(z));
  10400. dUserSetINT(PlayerName2(playerid)).("interior1",interior);
  10401.  
  10402. new weap1, ammo1, weap2, ammo2, weap3, ammo3, weap4, ammo4, weap5, ammo5, weap6, ammo6;
  10403.  
  10404. GetPlayerWeaponData(playerid,2,weap1,ammo1);
  10405. GetPlayerWeaponData(playerid,3,weap2,ammo2);
  10406. GetPlayerWeaponData(playerid,4,weap3,ammo3);
  10407. GetPlayerWeaponData(playerid,5,weap4,ammo4);
  10408. GetPlayerWeaponData(playerid,6,weap5,ammo5);
  10409. GetPlayerWeaponData(playerid,7,weap6,ammo6);
  10410.  
  10411. dUserSetINT(PlayerName2(playerid)).("Weapon1",weap1);
  10412. dUserSetINT(PlayerName2(playerid)).("Weapon1Ammo",ammo1);
  10413. dUserSetINT(PlayerName2(playerid)).("Weapon2",weap2);
  10414. dUserSetINT(PlayerName2(playerid)).("Weapon2Ammo",ammo2);
  10415. dUserSetINT(PlayerName2(playerid)).("Weapon3",weap3);
  10416. dUserSetINT(PlayerName2(playerid)).("Weapon3Ammo",ammo3);
  10417. dUserSetINT(PlayerName2(playerid)).("Weapon4",weap4);
  10418. dUserSetINT(PlayerName2(playerid)).("Weapon4Ammo",ammo4);
  10419. dUserSetINT(PlayerName2(playerid)).("Weapon5",weap5);
  10420. dUserSetINT(PlayerName2(playerid)).("Weapon5Ammo",ammo5);
  10421. dUserSetINT(PlayerName2(playerid)).("Weapon6",weap6);
  10422. dUserSetINT(PlayerName2(playerid)).("Weapon6Ammo",ammo6);
  10423.  
  10424. new Float:health;
  10425. GetPlayerHealth(playerid, Float:health);
  10426. new Float:armour;
  10427. GetPlayerArmour(playerid, Float:armour);
  10428. new year,month,day;
  10429. getdate(year, month, day);
  10430. new strdate[20];
  10431. format(strdate, sizeof(strdate), "%d.%d.%d",day,month,year);
  10432. new file[256];
  10433. format(file,sizeof(file),"/LuxAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );
  10434.  
  10435. dUserSetINT(PlayerName2(playerid)).("Health",floatround(health));
  10436. dUserSetINT(PlayerName2(playerid)).("Armour",floatround(armour));
  10437. dini_Set(file,"LastOn",strdate);
  10438. dUserSetINT(PlayerName2(playerid)).("Loggedin",0);
  10439. dUserSetINT(PlayerName2(playerid)).("TimesOnServer",(dUserINT(PlayerName2(playerid)).("TimesOnServer"))+1);
  10440. }
  10441.  
  10442.  
  10443. //==============================================================================
  10444. //-------------------------------------
  10445. // Save Created Teleports
  10446. //-------------------------------------
  10447. //==============================================================================
  10448. public SaveTeleport()
  10449. {
  10450. new File:TPFile = fopen("LuxAdmin/Config/CreatedTeles.cfg", io_write);
  10451. new tpstring[256];
  10452. for(new t=0;t<MAX_CTELES;t++)
  10453. {
  10454. if(CTeleInfo[t][TValid] == 1)
  10455. {
  10456. format(tpstring, sizeof(tpstring), "%s,%f,%f,%f,%f,%d\r\n",CTeleInfo[t][TName],CTeleInfo[t][PosX],CTeleInfo[t][PosY],CTeleInfo[t][PosZ],CTeleInfo[t][PosA],CTeleInfo[t][PosInt]);
  10457. fwrite(TPFile, tpstring);
  10458. }
  10459. }
  10460. fclose(TPFile);
  10461. }
  10462.  
  10463.  
  10464. //==============================================================================
  10465. //-------------------------------------
  10466. // Read TextDraws
  10467. //-------------------------------------
  10468. //==============================================================================
  10469. stock ReadTextDraws()
  10470. {
  10471. Announcements = TextDrawCreate(7.000000, 432.000000, " ");
  10472. TextDrawAlignment(Announcements,0);
  10473. TextDrawBackgroundColor(Announcements, 255);
  10474. TextDrawFont(Announcements, 1);
  10475. TextDrawLetterSize(Announcements, 0.280000, 0.899999);
  10476. TextDrawColor(Announcements, -1);
  10477. TextDrawSetOutline(Announcements, 1);
  10478. for(new l=0; l<130; l++)
  10479. {
  10480. GpsTD[l] = TextDrawCreate(326.000000, 362.000000, " ");
  10481. TextDrawAlignment(GpsTD[l], 2);
  10482. TextDrawBackgroundColor(GpsTD[l], 255);
  10483. TextDrawFont(GpsTD[l], 1);
  10484. TextDrawLetterSize(GpsTD[l], 0.300000, 1.100000);
  10485. TextDrawColor(GpsTD[l], -1587871574);
  10486. TextDrawSetOutline(GpsTD[l], 0);
  10487. TextDrawSetProportional(GpsTD[l], 1);
  10488. TextDrawSetShadow(GpsTD[l], 1);
  10489. }
  10490. return 1;
  10491. }
  10492. //==============================================================================
  10493. //-------------------------------------
  10494. // Configuration
  10495. //-------------------------------------
  10496. //==============================================================================
  10497. stock UpdateConfig()
  10498. {
  10499. new file[256];
  10500.  
  10501. format(file,sizeof(file),"LuxAdmin/Config/Config.ini");
  10502.  
  10503. BadWordsCount = 0;
  10504. BlockedNamesCount = 0;
  10505. BlockedPartNameCount = 0;
  10506. LoadForbiddenWeapons();
  10507.  
  10508. if(!dini_Exists("LuxAdmin/Config/aka.txt")) dini_Create("LuxAdmin/Config/aka.txt");
  10509.  
  10510. if(!dini_Exists(file))
  10511. {
  10512. dini_Create(file);
  10513. print("\n Configuration File 'Config.ini' Successfully Created!");
  10514. }
  10515.  
  10516. if(!dini_Isset(file,"MaxPing"))
  10517. dini_IntSet(file,"MaxPing",1200);
  10518. if(!dini_Isset(file,"ReadPms"))
  10519. dini_IntSet(file,"ReadPMs",1);
  10520. if(!dini_Isset(file,"ReadCmds"))
  10521. dini_IntSet(file,"ReadCmds",1);
  10522. if(!dini_Isset(file,"MaxAdminLevel"))
  10523. dini_IntSet(file,"MaxAdminLevel",5);
  10524. if(!dini_Isset(file,"AdminOnlySkins"))
  10525. dini_IntSet(file,"AdminOnlySkins",0);
  10526. if(!dini_Isset(file,"AdminSkin"))
  10527. dini_IntSet(file,"AdminSkin",217);
  10528. if(!dini_Isset(file,"AdminSkin2"))
  10529. dini_IntSet(file,"AdminSkin2",214);
  10530. if(!dini_Isset(file,"AntiBot"))
  10531. dini_IntSet(file,"AntiBot",1);
  10532. if(!dini_Isset(file,"AntiSpam"))
  10533. dini_IntSet(file,"AntiSpam",1);
  10534. if(!dini_Isset(file,"AntiSwear"))
  10535. dini_IntSet(file,"AntiSwear",1);
  10536. if(!dini_Isset(file,"NameKick"))
  10537. dini_IntSet(file,"NameKick",1);
  10538. if(!dini_Isset(file,"PartNameKick"))
  10539. dini_IntSet(file,"PartNameKick",1);
  10540. if(!dini_Isset(file,"NoCaps"))
  10541. dini_IntSet(file,"NoCaps",0);
  10542. if(!dini_Isset(file,"Locked"))
  10543. dini_IntSet(file,"Locked",0);
  10544. if(!dini_Isset(file,"SaveWeap"))
  10545. dini_IntSet(file,"SaveWeap",1);
  10546. if(!dini_Isset(file,"SaveMoney"))
  10547. dini_IntSet(file,"SaveMoney",1);
  10548. if(!dini_Isset(file,"ConnectMessages"))
  10549. dini_IntSet(file,"ConnectMessages",1);
  10550. if(!dini_Isset(file,"AdminCmdMessages"))
  10551. dini_IntSet(file,"AdminCmdMessages",1);
  10552. if(!dini_Isset(file,"AutoLogin"))
  10553. dini_IntSet(file,"AutoLogin",1);
  10554. if(!dini_Isset(file,"MaxMuteWarnings"))
  10555. dini_IntSet(file,"MaxMuteWarnings",4);
  10556. if(!dini_Isset(file,"MustLogin"))
  10557. dini_IntSet(file,"MustLogin",0);
  10558. if(!dini_Isset(file,"MustRegister"))
  10559. dini_IntSet(file,"MustRegister",0);
  10560. if(!dini_Isset(file,"ForbiddenWeapons"))
  10561. dini_IntSet(file,"ForbiddenWeapons",0);
  10562. if(!dini_Isset(file,"AntiAdvertisements"))
  10563. dini_IntSet(file,"AntiAdvertisements",0);
  10564. if(!dini_Isset(file,"Announcements"))
  10565. dini_IntSet(file,"Announcements",0);
  10566.  
  10567. if(dini_Exists(file))
  10568. {
  10569. ServerInfo[MaxPing] = dini_Int(file, "MaxPing" );
  10570. ServerInfo[ReadPMs] = dini_Int(file, "ReadPMs" );
  10571. ServerInfo[ReadCmds] = dini_Int(file, "ReadCmds" );
  10572. ServerInfo[MaxAdminLevel] = dini_Int(file, "MaxAdminLevel" );
  10573. ServerInfo[AdminOnlySkins] = dini_Int(file, "AdminOnlySkins" );
  10574. ServerInfo[AdminSkin] = dini_Int(file, "AdminSkin" );
  10575. ServerInfo[AdminSkin2] = dini_Int(file, "AdminSkin2" );
  10576. ServerInfo[AntiBot] = dini_Int(file, "AntiBot" );
  10577. ServerInfo[AntiSpam] = dini_Int(file, "AntiSpam" );
  10578. ServerInfo[AntiSwear] = dini_Int(file, "AntiSwear" );
  10579. ServerInfo[NameKick] = dini_Int(file, "NameKick" );
  10580. ServerInfo[PartNameKick] = dini_Int(file, "PartNameKick" );
  10581. ServerInfo[NoCaps] = dini_Int(file, "NoCaps" );
  10582. ServerInfo[Locked] = dini_Int(file, "Locked" );
  10583. ServerInfo[GiveWeap] = dini_Int(file, "SaveWeap" );
  10584. ServerInfo[GiveMoney] = dini_Int(file, "SaveMoney" );
  10585. ServerInfo[ConnectMessages] = dini_Int(file, "ConnectMessages" );
  10586. ServerInfo[AdminCmdMsg] = dini_Int(file, "AdminCmdMessages" );
  10587. ServerInfo[AutoLogin] = dini_Int(file, "AutoLogin" );
  10588. ServerInfo[MaxMuteWarnings] = dini_Int(file, "MaxMuteWarnings" );
  10589. ServerInfo[MustLogin] = dini_Int(file, "MustLogin" );
  10590. ServerInfo[MustRegister] = dini_Int(file, "MustRegister" );
  10591. ServerInfo[ForbiddenWeaps] = dini_Int(file, "ForbiddenWeapons" );
  10592. ServerInfo[AntiAds] = dini_Int(file, "AntiAdvertisements" );
  10593. ServerInfo[Announce] = dini_Int(file, "Announcements" );
  10594.  
  10595. print("\n -Current Configurations Successfully Loaded!");
  10596. }
  10597. }
  10598.  
  10599.  
  10600.  
  10601. //==============================================================================
  10602. // Cage/UnCage Function
  10603. //==============================================================================
  10604.  
  10605. public CagePrevent(playerid)
  10606. {
  10607. SetPlayerPos(playerid,LPosX[playerid],LPosY[playerid],LPosZ[playerid]);
  10608. TogglePlayerControllable(playerid, 0);
  10609. SendClientMessage(playerid,red,"|- You cant escape your punishment. You Are Still in Cage -|");
  10610. SetTimerEx("CagePlayer", 500, 0, "i", playerid);
  10611. SetTimerEx("UnCagePlayer", AccInfo[playerid][pCageTime]*1000, 0, "i", playerid);
  10612. return 1;
  10613. }
  10614.  
  10615. public CagePlayer(playerid)
  10616. {
  10617. if(IsPlayerConnected(playerid))
  10618. {
  10619. new Float:X, Float:Y, Float:Z;
  10620. GetPlayerPos(playerid, X, Y, Z);
  10621. cage[playerid] = CreateObject(985, X, Y+4, Z, 0.0, 0.0, 0.0);
  10622. cage2[playerid] = CreateObject(985, X+4, Y, Z, 0.0, 0.0, 90.0);
  10623. cage3[playerid] = CreateObject(985, X-4, Y, Z, 0.0, 0.0, 270.0);
  10624. cage4[playerid] = CreateObject(985, X, Y-4, Z, 0.0, 0.0, 180.0);
  10625. TogglePlayerControllable(playerid, 1);
  10626. PlayerPlaySound(playerid,1137,0.0,0.0,0.0);
  10627. GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~~n~~n~~r~Caged",3000, 3);
  10628. }
  10629. }
  10630. public UnCagePlayer(playerid)
  10631. {
  10632. cage[playerid] = DestroyObject(cage[playerid]);
  10633. cage2[playerid] = DestroyObject(cage2[playerid]);
  10634. cage3[playerid] = DestroyObject(cage3[playerid]);
  10635. cage4[playerid] = DestroyObject(cage4[playerid]);
  10636. AccInfo[playerid][pCaged] = 0;
  10637. AccInfo[playerid][pCageTime] = 0;
  10638. }
  10639.  
  10640. //==============================================================================
  10641. // Gps
  10642. //==============================================================================
  10643. public LuxGpsSys(playerid)
  10644. for(new g = 0;g < MAX_PLAYERS; g++)
  10645. if(IsPlayerConnected(g))
  10646. {
  10647. if(AccInfo[g][pGps] != -1)
  10648. {
  10649. if(IsPlayerConnected(AccInfo[g][pGps]))
  10650. {
  10651. new Float:X,
  10652. Float:Y,
  10653. Float:Z;
  10654.  
  10655. new Float:X2,
  10656. Float:Y2,
  10657. Float:Z2;
  10658.  
  10659. new Distance,
  10660. LuX_GpsCity[MAX_ZONE_NAME] = "Undetected City!",
  10661. LuX_GpsZone[MAX_ZONE_NAME] = "Undetected Zone!";
  10662.  
  10663. GetPlayerInCity(AccInfo[g][pGps], LuX_GpsCity, MAX_ZONE_NAME);
  10664. GetPlayerInZone(AccInfo[g][pGps], LuX_GpsZone, MAX_ZONE_NAME);
  10665. GetPlayerPos(g, X, Y, Z);
  10666. GetPlayerPos(AccInfo[g][pGps], X2, Y2, Z2);
  10667.  
  10668. Distance = floatround(floatsqroot(floatadd(floatadd(floatpower(floatabs(floatsub(X,X2)),2),floatpower(floatabs(floatsub(Y,Y2)),2)),floatpower(floatabs(floatsub(Z,Z2)),2))));
  10669. if(Distance > 6.0)
  10670. {
  10671. new str[256];
  10672. new pname[256];
  10673.  
  10674. #if GpsCheckPoint == true
  10675. SetPlayerRaceCheckpoint(g, 0, X2, Y2, Z2+2, X2, Y2, Z2-10, 5.0);
  10676. #endif
  10677. TextDrawShowForPlayer(g, GpsTD[g]);
  10678.  
  10679. pname = pName(AccInfo[g][pGps]);
  10680. pname = strreplace("[", "(", pname); pname = strreplace("[", "(", pname);
  10681. pname = strreplace("]", ")", pname); pname = strreplace("]", ")", pname);
  10682.  
  10683. #if GpsOnlyCity == true
  10684. format(str, 256, "~w~- %s -~n~~n~~b~Distance: ~w~%d ~l~- ~b~Radar: ~w~%s", pname,Distance, LuX_GpsCity);
  10685. TextDrawSetString(GpsTD[g], str);
  10686. #else
  10687. format(str, 256, "~w~- %s -~n~~n~~b~Distance: ~w~%d ~l~- ~b~Radar: ~w~%s (%s)", pname,Distance, LuX_GpsZone, LuX_GpsCity);
  10688. TextDrawSetString(GpsTD[g], str);
  10689. #endif
  10690. }
  10691. else
  10692. {
  10693. #if GpsCheckPoint == true
  10694. DisablePlayerRaceCheckpoint(g);
  10695. #endif
  10696. }
  10697. }
  10698. else
  10699. {
  10700. AccInfo[g][pGps] = -1;
  10701. GameTextForPlayer(g,"~r~Gps Off~n~~g~The Player you used GPS on has left the Server!",3000,3);
  10702. }
  10703. }
  10704. else
  10705. {
  10706. TextDrawHideForPlayer(g, GpsTD[g]);
  10707. if(IsDisable[g] == 0)
  10708. #if GpsCheckPoint == true
  10709. DisablePlayerRaceCheckpoint(g);
  10710. #endif
  10711. IsDisable[g] = 1;
  10712. }
  10713. }
  10714.  
  10715.  
  10716. //==============================================================================
  10717. // Advertisement Check
  10718. //==============================================================================
  10719. stock AdvertisementCheck(string[])
  10720. {
  10721. if(string[0])
  10722. {
  10723. if(!strfind(string,"www.",false) || !strfind(string,"http://",false)
  10724. || !strfind(string,".com",false) || !strfind(string,".net",false)
  10725. || !strfind(string,".de",false) || !strfind(string,".org",false))
  10726. return true;
  10727.  
  10728. new c=1,idx,tmp[32],ip[4];
  10729. for(new i=0;i<strlen(string);i++)
  10730. if(string[i]==' ')
  10731. c++;
  10732.  
  10733. for(new i=0;i<c;i++)
  10734. {
  10735. idx=0;
  10736. tmp = L_strtok(string,idx);
  10737. idx=0;
  10738. tmp = L_strtok(tmp,idx,':');
  10739. ip=SplitIP(tmp);
  10740. if(ip[0] && ip[1] && ip[2] && ip[3]) // We have found and IP :o
  10741. return true;
  10742. }
  10743. }
  10744. return false;
  10745. }
  10746. //==============================================================================
  10747. // Verify if Vehicle if Occupied
  10748. //==============================================================================
  10749. public VehicleOccupied(vehicleid)
  10750. {
  10751. for(new i=0;i<MAX_PLAYERS;i++)
  10752. {
  10753. if(IsPlayerInVehicle(i,vehicleid)) return 1;
  10754. }
  10755. return 0;
  10756. }
  10757. //==============================================================================
  10758. //-------------------------------------
  10759. // RCON Attempts
  10760. //-------------------------------------
  10761. //==============================================================================
  10762. public OnRconLoginAttempt(ip[], password[], success)
  10763. {
  10764. //====================================
  10765. // INCORRECT RCON
  10766. //====================================
  10767. if(!success)
  10768. {
  10769. if(!dini_Exists("LuxAdmin/Config/BadRconLogins.txt"))
  10770. dini_Create("LuxAdmin/Config/BadRconLogins.txt");
  10771.  
  10772. new attempts=dini_Int("LuxAdmin/Config/BadRconLogins.txt",ip);
  10773. attempts++;
  10774. if(attempts>=MAX_RCON_ATTEMPS)
  10775. {
  10776. new cmd[32];
  10777. format(cmd,sizeof(cmd),"banip %s",ip);
  10778. SendRconCommand(cmd);
  10779. }
  10780. dini_IntSet("LuxAdmin/Config/BadRconLogins.txt",ip,attempts);
  10781. }
  10782. //====================================
  10783. // CORRECT RCON
  10784. //====================================
  10785. #if EnableTwoRcon == true
  10786. else
  10787. {
  10788. for(new i = 0; i < MAX_PLAYERS; i++)
  10789. {
  10790. if(IsPlayerConnected(i))
  10791. {
  10792. new pIP[16];
  10793. GetPlayerIp(i, pIP, 16);
  10794. if(!strcmp(pIP,ip,true))
  10795. {
  10796. new string[128];
  10797. format(string,sizeof(string),"This server uses a system of two RCON passwords. \n\nFor access the account, you must enter the second password RCON.");
  10798. ShowPlayerDialog(i, DIALOG_TYPE_RCON2, DIALOG_STYLE_INPUT,"LuxAdmin - RCON!",string, "Enter", "Exit");
  10799. }
  10800. }
  10801. }
  10802. }
  10803. #endif
  10804. }
  10805. //==============================================================================
  10806. //-------------------------------------
  10807. // Save In File
  10808. //-------------------------------------
  10809. //==============================================================================
  10810.  
  10811. public SaveIn(filename[],text[])
  10812. {
  10813. #if SaveLogs == true
  10814. new File:Lfile;
  10815. new filepath[256];
  10816. new string[256];
  10817. new year,month,day;
  10818. new hour,minute,second;
  10819.  
  10820. getdate(year,month,day);
  10821. gettime(hour,minute,second);
  10822. format(filepath,sizeof(filepath),"LuxAdmin/Logs/%s.txt",filename);
  10823. Lfile = fopen(filepath,io_append);
  10824. format(string,sizeof(string),"[%02d/%02d/%02d | %02d:%02d:%02d] %s\r\n",day,month,year,hour,minute,second,text);
  10825. fwrite(Lfile,string);
  10826. fclose(Lfile);
  10827. #endif
  10828. return 1;
  10829. }
  10830. //==============================================================================
  10831. //-------------------------------------
  10832. // CountDown
  10833. //-------------------------------------
  10834. //==============================================================================
  10835. public CountDown(playerid)
  10836. {
  10837. if(cd_sec == 0)
  10838. {
  10839. for(new i; i < MAX_PLAYERS; i++)
  10840. {
  10841. if(AccInfo[i][Frozen] == 0)
  10842. {
  10843. TogglePlayerControllable(i, 1);
  10844. }
  10845. }
  10846. PlaySound(playerid, 1058);
  10847. GameTextForAll("~r~Go!",1000,3);
  10848. CdStated = 0;
  10849. KillTimer(cd_timer);
  10850. }
  10851. else
  10852. {
  10853. new string[256];
  10854. PlaySound(playerid, 1057);
  10855. format(string,256,"~g~%d",cd_sec);
  10856. GameTextForAll(string,1000,3);
  10857. }
  10858. cd_sec = cd_sec-1;
  10859. return 1;
  10860. }
  10861. stock PlaySound (playerid,sound)
  10862. {
  10863. new Float:X, Float:Y, Float:Z;
  10864. GetPlayerPos(playerid, X, Y, Z);
  10865. PlayerPlaySound(playerid, sound, X, Y, Z);
  10866. return sound;
  10867. }
  10868.  
  10869. //==============================================================================
  10870. //-------------------------------------
  10871. // Announcements
  10872. //-------------------------------------
  10873. //==============================================================================
  10874. public RandomMessage()
  10875. {
  10876. if(ServerInfo[Announce] == 1)
  10877. TextDrawSetString(Announcements, RandomMessages[random(sizeof(RandomMessages))]);
  10878. return 1;
  10879. }
  10880.  
  10881. //=============================================================================================================
  10882. stock ShowConfigInConsole()
  10883. {
  10884. #if ConfigInConsole == true
  10885. new rAutoLogin [9],rReadCmds [9],rReadPMs [9],rAntiSpam [9],rNameKick [9],rAntiBot [9];
  10886. new rLocked [9],rConnectMsg [9], rACmdMsg [9],rAntiSwear [9],rSaveWeapon [9],rASkins [9];
  10887. new rDisableChat[9],rMustLogin [9],rMustReg [9],rNoCaps [9],rSaveMoney [9],rFWeaps [9];
  10888. new rAntiAds [9];
  10889.  
  10890. if(ServerInfo[AutoLogin] == 1) rAutoLogin = "Enabled!"; else rAutoLogin = "Disabled";
  10891. if(ServerInfo[ReadCmds] == 1) rReadCmds = "Enabled!"; else rReadCmds = "Disabled";
  10892. if(ServerInfo[ReadPMs] == 1) rReadPMs = "Enabled!"; else rReadPMs = "Disabled";
  10893. if(ServerInfo[AntiSpam] == 1) rAntiSpam = "Enabled!"; else rAntiSpam = "Disabled";
  10894. if(ServerInfo[NameKick] == 1) rNameKick = "Enabled!"; else rNameKick = "Disabled";
  10895. if(ServerInfo[AdminOnlySkins] == 1) rASkins = "Enabled!"; else rASkins = "Disabled";
  10896. if(ServerInfo[AntiBot] == 1) rAntiBot = "Enabled!"; else rAntiBot = "Disabled";
  10897. if(ServerInfo[AntiSwear] == 1) rAntiSwear = "Enabled!"; else rAntiSwear = "Disabled";
  10898. if(ServerInfo[Locked] == 1) rLocked = "Enabled!"; else rLocked = "Disabled";
  10899. if(ServerInfo[ConnectMessages] == 1) rConnectMsg = "Enabled!"; else rConnectMsg = "Disabled";
  10900. if(ServerInfo[AdminCmdMsg] == 1) rACmdMsg = "Enabled!"; else rACmdMsg = "Disabled";
  10901. if(ServerInfo[DisableChat] == 1) rDisableChat = "Enabled!"; else rDisableChat = "Disabled";
  10902. if(ServerInfo[MustLogin] == 1) rMustLogin = "Enabled!"; else rMustLogin = "Disabled";
  10903. if(ServerInfo[MustRegister] == 1) rMustReg = "Enabled!"; else rMustReg = "Disabled";
  10904. if(ServerInfo[NoCaps] == 1) rNoCaps = "Enabled!"; else rNoCaps = "Disabled";
  10905. if(ServerInfo[GiveWeap] == 1) rSaveWeapon = "Enabled!"; else rSaveWeapon = "Disabled";
  10906. if(ServerInfo[GiveMoney] == 1) rSaveMoney = "Enabled!"; else rSaveMoney = "Disabled";
  10907. if(ServerInfo[ForbiddenWeaps] == 1) rFWeaps = "Enabled!"; else rFWeaps = "Disabled";
  10908. if(ServerInfo[ForbiddenWeaps] == 1) rFWeaps = "Enabled!"; else rFWeaps = "Disabled";
  10909. if(ServerInfo[AntiAds] == 1) rAntiAds = "Enabled!"; else rAntiAds = "Disabled";
  10910.  
  10911. print(" -> L.A.S Basic Loaded Configurations:\n");
  10912.  
  10913. printf(" AutoLogin: [%s] ReadCmds: [%s]", rAutoLogin, rReadCmds);
  10914. printf(" AntiSwear: [%s] AntiSpam: [%s]", rAntiSwear, rAntiSpam);
  10915. printf(" NameKick: [%s] AntiBot: [%s]", rNameKick, rAntiBot);
  10916. printf(" ConnectMsgs: [%s] NoCaps: [%s]", rConnectMsg, rNoCaps);
  10917. printf(" AdminCmdMsgs: [%s] Anti Ads: [%s]", rACmdMsg, rAntiAds);
  10918. printf(" SaveMoney: [%s] MustLogin [%s]", rSaveMoney, rMustLogin);
  10919. printf(" Forbid Weaps: [%s] AdmSkins: [%s]", rFWeaps, rASkins,rMustReg);
  10920. printf(" ReadPms: [%s] MaxLevel: [%d]", rReadPMs, ServerInfo[MaxAdminLevel]);
  10921. printf(" SaveWeaps [%s] Max Ping: [%dms]", rSaveWeapon,ServerInfo[MaxPing]);
  10922. printf(" ChatDisabled: [%s] MuteWarns: [%d]", rDisableChat,ServerInfo[MaxMuteWarnings]);
  10923. printf(" MustRegister: [%s] AdmSkins [%d, %d]\n",rMustReg, ServerInfo[AdminSkin], ServerInfo[AdminSkin2]);
  10924. #endif
  10925. return 1;
  10926. }
  10927.  
  10928. #if EnableCamHack == true
  10929. //==================================================
  10930. //ROTATING CAMERA
  10931. //==================================================
  10932. public CheckKeyPress(playerid)
  10933. {
  10934. new keys, updown, leftright;
  10935. GetPlayerKeys(playerid, keys, updown, leftright);
  10936.  
  10937. if(AccInfo[playerid][InCamMod] == 1)
  10938. {
  10939. if(KeyState[playerid] == 1 || KeyState[playerid] == 3)
  10940. {
  10941. if(leftright == KEY_RIGHT)
  10942. {
  10943. if(KeyState[playerid] == 3)
  10944. {
  10945. PCA[playerid] = (PCA[playerid]-SPEED_ROTATE_LEFTRIGHT_FAST);
  10946. }
  10947. else
  10948. {
  10949. PCA[playerid] = (PCA[playerid]-SPEED_ROTATE_LEFTRIGHT_SLOW);
  10950. }
  10951. if(PCA[playerid] <= 0)
  10952. {
  10953. PCA[playerid] = (360-PCA[playerid]);
  10954. }
  10955. MovePlayerCamera(playerid);
  10956. }
  10957. if(leftright == KEY_LEFT)
  10958. {
  10959. if(KeyState[playerid] == 3)
  10960. {
  10961. PCA[playerid] = (PCA[playerid]+SPEED_ROTATE_LEFTRIGHT_FAST);
  10962. }
  10963. else
  10964. {
  10965. PCA[playerid] = (PCA[playerid]+SPEED_ROTATE_LEFTRIGHT_SLOW);
  10966. }
  10967. if(PCA[playerid] >= 360)
  10968. {
  10969. PCA[playerid] = (PCA[playerid]-360);
  10970. }
  10971. MovePlayerCamera(playerid);
  10972. }
  10973. if(updown == KEY_UP)
  10974. {
  10975. if(PCL[playerid][2] < (PCP[playerid][2]+5))
  10976. {
  10977. if(KeyState[playerid] == 3)
  10978. {
  10979. PCL[playerid][2] = PCL[playerid][2]+SPEED_ROTATE_UPDOWN_FAST;
  10980. }
  10981. else
  10982. {
  10983. PCL[playerid][2] = PCL[playerid][2]+SPEED_ROTATE_UPDOWN_SLOW;
  10984. }
  10985. }
  10986. MovePlayerCamera(playerid);
  10987. }
  10988. if(updown == KEY_DOWN)
  10989. {
  10990. if(PCL[playerid][2] > (PCP[playerid][2]-5))
  10991. {
  10992. if(KeyState[playerid] == 3)
  10993. {
  10994. PCL[playerid][2] = PCL[playerid][2]-SPEED_ROTATE_UPDOWN_FAST;
  10995. }
  10996. else
  10997. {
  10998. PCL[playerid][2] = PCL[playerid][2]-SPEED_ROTATE_UPDOWN_SLOW;
  10999. }
  11000. }
  11001. MovePlayerCamera(playerid);
  11002. }
  11003. }
  11004.  
  11005. //==================================================
  11006. //MOVING CAMERA UP/DOWN
  11007. //==================================================
  11008. if(KeyState[playerid] == 4 || KeyState[playerid] == 5)
  11009. {
  11010. if(updown == KEY_UP)
  11011. {
  11012. if(KeyState[playerid] == 4) //Slow Up
  11013. {
  11014. PCP[playerid][2] = (PCP[playerid][2]+SPEED_MOVE_UPDOWN_SLOW);
  11015. PCL[playerid][2] = (PCL[playerid][2]+SPEED_MOVE_UPDOWN_SLOW);
  11016. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  11017. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11018. }
  11019. else if(KeyState[playerid] == 5) //Fast Up
  11020. {
  11021. PCP[playerid][2] = (PCP[playerid][2]+SPEED_MOVE_UPDOWN_FAST);
  11022. PCL[playerid][2] = (PCL[playerid][2]+SPEED_MOVE_UPDOWN_FAST);
  11023. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  11024. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11025. }
  11026. }
  11027. if(updown == KEY_DOWN)
  11028. {
  11029. if(KeyState[playerid] == 4) //Slow Down
  11030. {
  11031. PCP[playerid][2] = (PCP[playerid][2]-SPEED_MOVE_UPDOWN_SLOW);
  11032. PCL[playerid][2] = (PCL[playerid][2]-SPEED_MOVE_UPDOWN_SLOW);
  11033. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  11034. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11035. }
  11036. else if(KeyState[playerid] == 5) //Fast Down
  11037. {
  11038. PCP[playerid][2] = (PCP[playerid][2]-SPEED_MOVE_UPDOWN_FAST);
  11039. PCL[playerid][2] = (PCL[playerid][2]-SPEED_MOVE_UPDOWN_FAST);
  11040. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  11041. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11042. }
  11043. }
  11044. }
  11045.  
  11046.  
  11047.  
  11048. //==================================================
  11049. //MOVING CAMERA
  11050. //==================================================
  11051. else if(KeyState[playerid] == 2 || KeyState[playerid] == 0)
  11052. {
  11053. if(leftright == KEY_RIGHT)
  11054. {
  11055. new Float:Angle;
  11056. Angle = PCA[playerid];
  11057. Angle -= 90.0;
  11058. if(KeyState[playerid] == 2)
  11059. {
  11060.  
  11061. PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  11062. PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  11063. PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  11064. PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  11065. }
  11066. else
  11067. {
  11068. PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  11069. PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  11070. PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  11071. PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  11072. }
  11073. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  11074. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11075. }
  11076. if(leftright == KEY_LEFT)
  11077. {
  11078. new Float:Angle;
  11079. Angle = PCA[playerid];
  11080. Angle += 90.0;
  11081. if(KeyState[playerid] == 2)
  11082. {
  11083. PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  11084. PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  11085. PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  11086. PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  11087. }
  11088. else
  11089. {
  11090. PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  11091. PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  11092. PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  11093. PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  11094. }
  11095. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  11096. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11097. }
  11098.  
  11099. if(updown == KEY_UP)
  11100. {
  11101. new Float:X, Float:Y, Float:Z;
  11102. if(KeyState[playerid] == 2)
  11103. {
  11104. GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], SPEED_MOVE_FORWARDBACKWARD_FAST, X, Y, Z);
  11105. PCP[playerid][0] = X;
  11106. PCP[playerid][1] = Y;
  11107. PCP[playerid][2] = Z;
  11108. X = 0.0; Y=0.0; Z=0.0;
  11109. GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
  11110. PCL[playerid][0] = X;
  11111. PCL[playerid][1] = Y;
  11112. PCL[playerid][2] = Z;
  11113. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  11114. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11115. }
  11116. else
  11117. {
  11118. GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], SPEED_MOVE_FORWARDBACKWARD_SLOW, X, Y, Z);
  11119. PCP[playerid][0] = X;
  11120. PCP[playerid][1] = Y;
  11121. PCP[playerid][2] = Z;
  11122. X = 0.0; Y=0.0; Z=0.0;
  11123. GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
  11124. PCL[playerid][0] = X;
  11125. PCL[playerid][1] = Y;
  11126. PCL[playerid][2] = Z;
  11127. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  11128. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11129. }
  11130. }
  11131.  
  11132. if(updown == KEY_DOWN)
  11133. {
  11134. new Float:X, Float:Y, Float:Z;
  11135. if(KeyState[playerid] == 2)
  11136. {
  11137. GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], -SPEED_MOVE_FORWARDBACKWARD_FAST, X, Y, Z);
  11138. PCP[playerid][0] = X;
  11139. PCP[playerid][1] = Y;
  11140. PCP[playerid][2] = Z;
  11141. X = 0.0; Y=0.0; Z=0.0;
  11142. GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
  11143. PCL[playerid][0] = X;
  11144. PCL[playerid][1] = Y;
  11145. PCL[playerid][2] = Z;
  11146. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  11147. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11148. }
  11149. else
  11150. {
  11151. GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], -SPEED_MOVE_FORWARDBACKWARD_SLOW, X, Y, Z);
  11152. PCP[playerid][0] = X;
  11153. PCP[playerid][1] = Y;
  11154. PCP[playerid][2] = Z;
  11155. X = 0.0; Y=0.0; Z=0.0;
  11156. GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
  11157. PCL[playerid][0] = X;
  11158. PCL[playerid][1] = Y;
  11159. PCL[playerid][2] = Z;
  11160. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  11161. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11162. }
  11163. }
  11164. }
  11165. }
  11166. }
  11167.  
  11168. stock MovePlayerCamera(playerid)
  11169. {
  11170. PCL[playerid][0] = PCP[playerid][0] + (floatmul(5.0, floatsin(-PCA[playerid], degrees)));
  11171. PCL[playerid][1] = PCP[playerid][1] + (floatmul(5.0, floatcos(-PCA[playerid], degrees)));
  11172. SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  11173. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11174. }
  11175.  
  11176. GetCoordsOnLine3D(Float:startX, Float:startY, Float:startZ, Float:endX, Float:endY, Float:endZ, Float:length, &Float:RX, &Float:RY, &Float:RZ) //Original function by Nubotron. Slightly edited by me.
  11177. {
  11178. RX = startX - endX;
  11179. RY = startY - endY;
  11180. RZ = startZ - endZ;
  11181. new Float:sqrt = floatsqroot((RX * RX) + (RY * RY) + (RZ * RZ));
  11182. if (sqrt < 0.01)
  11183. sqrt = 0.01;
  11184. RX = -length * (RX / sqrt) + startX;
  11185. RY = -length * (RY / sqrt) + startY;
  11186. RZ = -length * (RZ / sqrt) + startZ;
  11187. }
  11188.  
  11189. stock Float:GetAngle(playerid, Float:x, Float:y)
  11190. {
  11191. new Float: Pa;
  11192. Pa = floatabs(atan((y-PCP[playerid][1])/(x-PCP[playerid][0])));
  11193. if (x <= PCP[playerid][0] && y >= PCP[playerid][1]) Pa = floatsub(180, Pa);
  11194. else if (x < PCP[playerid][0] && y < PCP[playerid][1]) Pa = floatadd(Pa, 180);
  11195. else if (x >= PCP[playerid][0] && y <= PCP[playerid][1]) Pa = floatsub(360.0, Pa);
  11196. Pa = floatsub(Pa, 90.0);
  11197. if (Pa >= 360.0) Pa = floatsub(Pa, 360.0);
  11198. return Pa;
  11199. }
  11200.  
  11201. public FollowPlayer(playerid)
  11202. {
  11203. new Float:PX, Float:PY, Float:PZ;
  11204. new Float:X, Float:Y, Float:Z;
  11205. GetPlayerPos(playerid, PX, PY, PZ);
  11206. GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PX, PY, PZ, 5.0, X, Y, Z);
  11207. PCL[playerid][0] = X;
  11208. PCL[playerid][1] = Y;
  11209. PCL[playerid][2] = Z;
  11210. PCA[playerid] = GetAngle(playerid, PX, PY);
  11211. SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  11212. }
  11213. #endif
  11214.  
  11215. // © LuxurioN 2010 - All rights Reserved
Advertisement
Add Comment
Please, Sign In to add comment