Advertisement
Xaviour212

Ulric Admin System (Not Completed)

Apr 25th, 2011
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 36.47 KB | None | 0 0
  1. /*====================================|
  2. |   Ulric Admin Script                |
  3. |   Simple Admin script               |
  4. |                                     |
  5. |                                     |
  6. |   by Xaviour212 / Dimas Rizward H   |
  7. |====================================*/
  8. #include <a_samp>
  9. #include <dini>
  10. #include <sscanf>
  11.  
  12. //DCMD by Dracoblue
  13. #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
  14.  
  15. //Color
  16. #define Red 0xFF0000AA
  17. #define Green 0x16EB43FF
  18. #define Yellow 0xFFFF00FF
  19.  
  20. #define Blue 0x0259EAAA
  21. #define Purple 0xB360FDFF
  22. #define Pink 0xCCFF00FF
  23. #define Grey 0xC0C0C0FF
  24. #define Orange 0xFFA500FF
  25. #define Brown 0x800000FF
  26.  
  27. new file[256];
  28. new level[MAX_PLAYERS];
  29.  
  30. enum PlayerData
  31. {
  32.     vCar,
  33.     Warn,
  34.     Login,
  35.     Jailed,
  36.     JailTime,
  37.     Muted
  38. };
  39.  
  40. new PlayerInfo[MAX_PLAYERS][PlayerData];
  41.  
  42. new VehicleNames[212][] = {
  43.     "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
  44.     "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
  45.     "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
  46.     "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
  47.     "Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
  48.     "Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
  49.     "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
  50.     "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B",
  51.     "Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
  52.     "Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
  53.     "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover",
  54.     "Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
  55.     "Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
  56.     "Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
  57.     "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)",
  58.     "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  59.     "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  60. };
  61.  
  62. stock udb_hash(buf[]) {
  63.     new length=strlen(buf);
  64.     new s1 = 1;
  65.     new s2 = 0;
  66.     new n;
  67.     for (n=0; n<length; n++)
  68.     {
  69.        s1 = (s1 + buf[n]) % 65521;
  70.        s2 = (s2 + s1)     % 65521;
  71.     }
  72.     return (s2 << 16) + s1;
  73. }
  74.  
  75. public OnFilterScriptInit()
  76. {
  77.     print("\n--------------------------------------");
  78.     print(" Ulric Admin System by Xaviour212");
  79.     print("--------------------------------------\n");
  80.     return 1;
  81. }
  82.  
  83. public OnPlayerText(playerid, text[])
  84. {
  85.     if(PlayerInfo[playerid][Muted] == 1)
  86.     {
  87.         SendClientMessage(playerid, Red, "[ERROR]You has been a muted");
  88.     }
  89.     return 1;
  90. }
  91.  
  92. public OnPlayerConnect(playerid)
  93. {
  94.     new string[256];
  95.     PlayerInfo[playerid][vCar] = -1;
  96.     PlayerInfo[playerid][Warn] = 0;
  97.     PlayerInfo[playerid][Login] = 0;
  98.     PlayerInfo[playerid][Jailed] = 0;
  99.     PlayerInfo[playerid][JailTime] = 0;
  100.     PlayerInfo[playerid][Muted] = 0;
  101.     if(!dini_Exists(PFile(playerid)))
  102.     {
  103.         format(string, 128, "Account with name %s not registered. Type /register to regist your account", Gn(playerid));
  104.         SendClientMessage(playerid, Yellow, string);
  105.     }
  106.     else
  107.     {
  108.         format(string, 128, "Account with name %s already registered. Type /login to login to your account", Gn(playerid));
  109.         SendClientMessage(playerid, Yellow, string);
  110.     }
  111.     return 1;
  112. }
  113.  
  114. public OnPlayerDisconnect(playerid, reason)
  115. {
  116.     if(PlayerInfo[playerid][vCar] != -1) CarDeleter(PlayerInfo[playerid][vCar]);
  117.     return 1;
  118. }
  119.  
  120. public OnPlayerSpawn(playerid)
  121. {
  122.     if(PlayerInfo[playerid][Login] == 0)
  123.     {
  124.         SetPlayerHealth(playerid, 0);
  125.         SendClientMessage(playerid, Red, "You are not logged");
  126.     }
  127.     return 1;
  128. }
  129.  
  130. public OnPlayerCommandText(playerid, cmdtext[])
  131. {
  132.     //Player Command
  133.     dcmd(register,8,cmdtext);
  134.     dcmd(login,5,cmdtext);
  135.     dcmd(pm,2,cmdtext);
  136.    
  137.     //RCON command
  138.     dcmd(setmeadmin,10,cmdtext);
  139.     dcmd(rconpm,6,cmdtext);
  140.    
  141.     //Trial Administrator ( Level 1) CMD - Total CMD : 14
  142.     dcmd(abike,5,cmdtext);
  143.     dcmd(acar,4,cmdtext);
  144.     dcmd(addnos,6,cmdtext);
  145.     dcmd(ann1,4,cmdtext);
  146.     dcmd(saveskin,8,cmdtext);
  147.     dcmd(useskin,7,cmdtext);
  148.     dcmd(saveplace,9,cmdtext);
  149.     dcmd(goplace,7,cmdtext);
  150.     dcmd(a,1,cmdtext);
  151.     dcmd(warn,4,cmdtext);
  152.     dcmd(admname,7,cmdtext);
  153.     dcmd(fix,3,cmdtext);
  154.     dcmd(acolors,7,cmdtext);
  155.     dcmd(carcolor,8,cmdtext);
  156.    
  157.     //Beta Administrator (Level 2) CMD - Total CMD: 14
  158.     dcmd(ajetpack,8,cmdtext);
  159.     dcmd(car,3,cmdtext);
  160.     dcmd(slap,4,cmdtext);
  161.     dcmd(ajail,5,cmdtext);
  162.     dcmd(unajail,7,cmdtext);
  163.     dcmd(spawn,5,cmdtext);
  164.     dcmd(kick,4,cmdtext);
  165.     dcmd(announce,8,cmdtext);
  166.     dcmd(mute,4,cmdtext);
  167.     dcmd(aheli,5,cmdtext);
  168.     dcmd(aplane,6,cmdtext);
  169.     dcmd(apm,3,cmdtext);
  170.     dcmd(admm,4,cmdtext);
  171.     dcmd(unmute,6,cmdtext);
  172.    
  173.     //Senior Administrator (Level 3) CMD
  174.    
  175.    
  176.     return 0;
  177. }
  178.  
  179. /*==============================================================================
  180.                             PLAYER COMMAND
  181. ==============================================================================*/
  182. dcmd_register(playerid, params[])
  183. {
  184.     new string[128];
  185.     if(sscanf(params,"s",params)) return SendClientMessage(playerid, Red, "USAGE:/register [password]");
  186.     if(dini_Exists(PFile(playerid))) return SendClientMessage(playerid, Red, "You are already registered!");
  187.     dini_Create(PFile(playerid));
  188.     dini_IntSet(PFile(playerid), "hashPW", udb_hash(params));
  189.     dini_Set(PFile(playerid), "password", params);
  190.     dini_IntSet(PFile(playerid), "level", 0);
  191.     dini_IntSet(PFile(playerid), "score", GetPlayerScore(playerid));
  192.     dini_IntSet(PFile(playerid), "money", GetPlayerMoney(playerid));
  193.     format(string, 128, "You succesfully registered the nickname %s with password %s", Gn(playerid), params);
  194.     SendClientMessage(playerid, Green, string);
  195.     PlayerInfo[playerid][Login] = 1;
  196.     SendClientMessage(playerid, Green, "You have been automatically logged in!");
  197.     return 1;
  198. }
  199.  
  200. dcmd_login(playerid, params[])
  201. {
  202.     new string[128], password;
  203.     if(sscanf(params,"s",password)) return SendClientMessage(playerid, Red, "USAGE: /login [password]");
  204.     if(!dini_Exists(PFile(playerid))) return SendClientMessage(playerid,Red, "You are not registered!");
  205.     if(PlayerInfo[playerid][Login] == 1) return SendClientMessage(playerid, Red, "You are already logged in!");
  206.     password = dini_Int(PFile(playerid), "hashPW");
  207.     if(udb_hash(params) != password)
  208.     {
  209.         format(string, 256, "You specified the wrong password for %s!", Gn(playerid));
  210.         SendClientMessage(playerid, Red, string);
  211.     }
  212.     else
  213.     {
  214.         PlayerInfo[playerid][Login] = 1;
  215.         level[playerid] = dini_Int(file, "level");
  216.         SetPlayerScore(playerid, dini_Int(PFile(playerid), "score"));
  217.         GivePlayerMoney(playerid, dini_Int(PFile(playerid), "money")-GetPlayerMoney(playerid));
  218.         SendClientMessage(playerid, Green, "You have succesfully logged in!");
  219.         printf("%s (%i) logged in with password %s", Gn(playerid), playerid, params);
  220.     }
  221.     return 1;
  222. }
  223.  
  224. dcmd_pm(playerid, params[])
  225. {
  226.     new tmp[256], string[128];
  227.     new player1, Message[100];
  228.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  229.     if(sscanf(params,"ds",player1,Message )) return SendClientMessage(playerid, Red, "USAGE: /pm [PlayerID] [Message]");
  230.     format(string, sizeof(string), "PM from %s[%s]: %s", Gn(playerid), playerid, Message);
  231.     SendClientMessage(player1, Yellow, string);
  232.     format(tmp, sizeof(tmp), "PM to %s[%s]: %s", Gn(player1), player1, Message);
  233.     SendClientMessage(playerid, Green, tmp);
  234.     return 1;
  235. }
  236.    
  237. /*==============================================================================
  238.                                 RCON COMMAND
  239. ==============================================================================*/
  240. dcmd_setmeadmin(playerid, params[])
  241. {
  242.     #pragma unused params
  243.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Red, "[ERROR]Only RCON Admin can used this command!");
  244.     if(dini_Int(PFile(playerid),"AdmLevel")== 6) return SendClientMessage(playerid, Red, "[ERROR]You has admin level 6!");
  245.     if(!dini_Exists(PFile(playerid))) return SendClientMessage(playerid,Red, "You are not registered!");
  246.     dini_IntSet(PFile(playerid), "AdmLevel", 6);
  247.     dini_Set(PFile(playerid), "AdmName", "New Admin");
  248.     SendClientMessage(playerid, Green, "Now you are an admin level 6 :D. Congratz");
  249.     GameTextForPlayer(playerid, "~g~Congratz, now you is admin level 6", 3000, 4);
  250.     return 1;
  251. }
  252.  
  253. dcmd_rconpm(playerid, params[])
  254. {
  255.     new Player1, Message[256];
  256.     new string[128], string2[256];
  257.     new name[MAX_PLAYER_NAME];
  258.     GetPlayerName(Player1, name, sizeof(name));
  259.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Red, "[ERROR]Only RCON Admin can used this command!");
  260.     if(sscanf(params,"ds",Player1,Message)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /rconpm [ID] [Message]");
  261.     if(IsPlayerConnected(Player1) && Player1 != INVALID_PLAYER_ID) return SendClientMessage(playerid, Red, "[ERROR]This player not connected to the game");
  262.     format(string, sizeof(string), "PM from RCON: %s", Message);
  263.     SendClientMessage(Player1, Yellow, string);
  264.     format(string2, sizeof(string2), "RCON PM to %s", name);
  265.     SendClientMessage(playerid, Green, string2);
  266.     return 1;
  267. }
  268. /*==============================================================================
  269.                 ADMIN LEVEL 1 (TRIAL ADMINISTRATOR) COMMAND
  270. ==============================================================================*/
  271. dcmd_abike(playerid, params[])
  272. {
  273.     #pragma unused params
  274.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  275.     if(dini_Int(PFile(playerid),"AdmLevel")<1)return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  276.     if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, Red, "[ERROR]You already have a car!");
  277.     if(PlayerInfo[playerid][vCar] != -1) CarDeleter(PlayerInfo[playerid][vCar]);
  278.     CarSpawner(playerid, 522);
  279.     SendClientMessage(playerid, Green, "Your bike has been spawn!");
  280.     return 1;
  281. }
  282.  
  283. dcmd_acar(playerid, params[])
  284. {
  285.     #pragma unused params
  286.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  287.     if(dini_Int(PFile(playerid),"AdmLevel")<1)return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  288.     if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, Red, "[ERROR]You already have a car!");
  289.     if(PlayerInfo[playerid][vCar] != -1) CarDeleter(PlayerInfo[playerid][vCar]);
  290.     CarSpawner(playerid, 411);
  291.     SendClientMessage(playerid, Green, "Your car has been spawn!");
  292.     return 1;
  293. }
  294.  
  295. dcmd_addnos(playerid, params[])
  296. {
  297.     #pragma unused params
  298.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  299.     if(dini_Int(PFile(playerid),"AdmLevel")<1)return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  300.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Red, "[ERROR]You must in vehicle to use this command");
  301.     switch(GetVehicleModel( GetPlayerVehicleID(playerid) ))
  302.     {
  303.         case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  304.         return SendClientMessage(playerid,Red,"[ERROR] You can not tune this vehicle!");
  305.     }
  306.     AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  307.     SendClientMessage(playerid, Green, "Nos has been added");
  308.     return 1;
  309. }
  310.  
  311. dcmd_ann1(playerid, params[])
  312. {
  313.     new string[128], text;
  314.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  315.     if(dini_Int(PFile(playerid),"AdmLevel")<1) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  316.     if(sscanf(params,"s",text)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /ann1 [text]");
  317.     format(string, sizeof(string), "((Announce from %s))%s", dini_Get(PFile(playerid),"AdmName"), params);
  318.     SendClientMessageToAll(Yellow, string);
  319.     return 1;
  320. }
  321.  
  322. dcmd_saveskin(playerid, params[])
  323. {
  324.     new string[128], skin;
  325.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  326.     if(dini_Int(PFile(playerid),"AdmLevel")<1) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  327.     if(sscanf(params,"d",skin)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /saveskin [SkinID]");
  328.     if(!IsValidSkin(skin)) return SendClientMessage(playerid,Red,"[ERROR]Invalid skinID");
  329.     dini_IntSet(PFile(playerid),"Skin",skin);
  330.     format(string, sizeof(string), "You has save your skin to %d", skin);
  331.     SendClientMessage(playerid, Green, string);
  332.     return 1;
  333. }
  334.  
  335. dcmd_useskin(playerid, params[])
  336. {
  337.     #pragma unused params
  338.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  339.     if(dini_Int(PFile(playerid),"AdmLevel")<1) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  340.     SetPlayerSkin(playerid, dini_Int(PFile(playerid),"Skin"));
  341.     SendClientMessage(playerid, Green, "You has use your saved skin");
  342.     return 1;
  343. }
  344.  
  345. dcmd_saveplace(playerid, params[])
  346. {
  347.     #pragma unused params
  348.     new Float:X, Float:Y, Float:Z;
  349.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  350.     if(dini_Int(PFile(playerid),"AdmLevel")<1) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  351.     GetPlayerPos(playerid, X, Y, Z);
  352.     dini_FloatSet(PFile(playerid),"SaveX",X);
  353.     dini_FloatSet(PFile(playerid),"SaveY",Y);
  354.     dini_FloatSet(PFile(playerid),"SaveZ",Z);
  355.     SendClientMessage(playerid, Green, "You has save this place. Type /goplace to teleport your self in here");
  356.     return 1;
  357. }
  358.  
  359. dcmd_goplace(playerid, params[])
  360. {
  361.     #pragma unused params
  362.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  363.     if(dini_Int(PFile(playerid),"AdmLevel")<1) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  364.     SetPlayerPos(playerid, dini_Float(PFile(playerid), "X"), dini_Float(PFile(playerid), "Y"), dini_Float(PFile(playerid), "Z"));
  365.     SendClientMessage(playerid, Green, "You has been teleport to place");
  366.     return 1;
  367. }
  368.  
  369. dcmd_a(playerid, params[])
  370. {
  371.     new string[128];
  372.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  373.     if(dini_Int(PFile(playerid),"AdmLevel")<1) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  374.     if(sscanf(params,"s", string)) return SendClientMessage(playerid, Red, "[ERROR] Usage: /a [message]");
  375.     format(string, sizeof(string), "[AdmMessage] %s(%d): %s.", dini_Get(PFile(playerid),"AdmName"), dini_Int(PFile(playerid),"AdmLevel"), string);
  376.     SendAdminMessage(Red, string);
  377.     return 1;
  378. }
  379.  
  380. dcmd_warn(playerid, params[])
  381. {
  382.     new string[128], Reason[265];
  383.     new name[MAX_PLAYER_NAME], player1;
  384.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  385.     if(dini_Int(PFile(playerid),"AdmLevel")<1) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  386.     if(sscanf(params,"ds",player1, Reason)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /warn [PlayerID] [Reason]");
  387.     PlayerInfo[player1][Warn] += 1;
  388.     GetPlayerName(player1, name, sizeof(name));
  389.     format(string, sizeof(string), "%s has been warn by %s (%i warning)|Reason: %d", name, Gn(playerid), PlayerInfo[playerid][Warn], Reason);
  390.     SendClientMessageToAll(Yellow, string);
  391.     return 1;
  392. }
  393.  
  394. dcmd_admname(playerid, params[])
  395. {
  396.     new string[256], NameAdm[50];
  397.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  398.     if(dini_Int(PFile(playerid),"AdmLevel")<1) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  399.     if(sscanf(params,"s",NameAdm)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /admname [Admin Name]");
  400.     format(string, sizeof(string), "[AdmMessage] %s(%d) has set his admin name to %s.", Gn(playerid), dini_Int(PFile(playerid),"AdmLevel"), dini_Get(PFile(playerid),"AdmName"));
  401.     SendAdminMessage(Red, string);
  402.     dini_Set(PFile(playerid),"AdmName",NameAdm);
  403.     return 1;
  404. }
  405.  
  406. dcmd_fix(playerid, params[])
  407. {
  408.     #pragma unused params
  409.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  410.     if(dini_Int(PFile(playerid),"AdmLevel")<1) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  411.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Red, "[ERROR]You are not in a vehicle!");
  412.     RepairVehicle(GetPlayerVehicleID(playerid));
  413.     SendClientMessage(playerid, Green, "Your vehicle has been successfully repaired!");
  414.     return 1;
  415. }
  416.  
  417. dcmd_acolors(playerid, params[])
  418. {
  419.     new color, string[128];
  420.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  421.     if(dini_Int(PFile(playerid),"AdmLevel")<1) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 1 (Trial Administrator) to use this command");
  422.     if(sscanf(params,"s",color)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /acolors [ColorID]");
  423.     if(color == Red) return SetPlayerColor(playerid, color);
  424.     if(color == Blue) return SetPlayerColor(playerid, color);
  425.     if(color == Green) return SetPlayerColor(playerid, color);
  426.     if(color == Yellow) return SetPlayerColor(playerid, color);
  427.     if(color == Pink) return SetPlayerColor(playerid, color);
  428.     if(color == Grey) return SetPlayerColor(playerid, color);
  429.     if(color == Orange) return SetPlayerColor(playerid, color);
  430.     if(color == Purple) return SetPlayerColor(playerid, color);
  431.     if(color == Brown) return SetPlayerColor(playerid, color);
  432.     format(string, sizeof(string), "Your nickname color has been set to color %s", color);
  433.     SendClientMessage(playerid, Green, string);
  434.     return 1;
  435. }
  436.  
  437. dcmd_carcolor(playerid, params[])
  438. {
  439.     new colour1, colour2;
  440.     new tmp[256],player1 = strval(tmp);
  441.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  442.     if(dini_Int(PFile(playerid),"AdmLevel")<1)return SendClientMessage(playerid, Red, "[ERROR]You must became Premium member to use this command");
  443.     if(sscanf(params,"dd", colour1, colour2))return SendClientMessage(playerid, Red, "[ERROR]Usage: /vehcolor [Colour1] [Colour2]");
  444.     ChangeVehicleColor(GetPlayerVehicleID(player1), colour1, colour2);
  445.     SendClientMessage(playerid, Green, "Your vehicle colour has been changed!");
  446.     return 1;
  447. }
  448.  
  449. /*==============================================================================
  450.                 Level 2 (Beta Administrator) Command
  451. ==============================================================================*/
  452. dcmd_ajetpack(playerid, params[])
  453. {
  454.     #pragma unused params
  455.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  456.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  457.     SendClientMessage(playerid,Green,"Jetpack Spawned.");
  458.     SetPlayerSpecialAction(playerid, 2);
  459.     return 1;
  460. }
  461.  
  462. dcmd_car(playerid, params[])
  463. {
  464.     new string[256], car;
  465.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  466.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  467.     if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, Red, "[ERROR]You already have a car!");
  468.     if(sscanf(params,"d",car))return SendClientMessage(playerid, Red, "[ERROR]Usage: /car [ModelID]");
  469.     if(car < 400 || car > 611) return  SendClientMessage(playerid, Red, "[ERROR] Invalid Vehicle Model");
  470.     if(PlayerInfo[playerid][vCar] != -1) CarDeleter(PlayerInfo[playerid][vCar]);
  471.     SpawnCar(playerid, car);
  472.     format(string, sizeof(string), "Your has spawned a %s - Model ID: %d", VehicleNames[car-400], car);
  473.     SendClientMessage(playerid, Green, string);
  474.     return 1;
  475. }
  476.  
  477. dcmd_slap(playerid, params[])
  478. {
  479.     new string[256], player1, tmp[256];
  480.     new Float:X, Float:Y, Float:Z;
  481.     new name[MAX_PLAYER_NAME];
  482.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  483.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  484.     if(sscanf(params,"d",player1))return SendClientMessage(playerid, Red, "[ERROR]Usage: /slap [PlayerID]");
  485.     if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) return SendClientMessage(playerid, Red, "[ERROR]This player not connected to the game");
  486.     GetPlayerPos(player1, X, Y, Z);
  487.     SetPlayerPos(player1, X, Y, Z+5);
  488.     GetPlayerName(player1, name, sizeof(name));
  489.     format(string, sizeof(string), "You has slap %s(%d)", name, params);
  490.     SendClientMessage(playerid, Green, string);
  491.     format(tmp, sizeof(tmp), "You has been slap by Admin %s", Gn(playerid));
  492.     SendClientMessage(player1, Green, tmp);
  493.     return 1;
  494. }
  495.  
  496. dcmd_ajail(playerid, params[])
  497. {
  498.     new string[128], Reason[265], tmp[126];
  499.     new player1, Time;
  500.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  501.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  502.     if(sscanf(params,"dsd",player1, Reason, Time)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /ajail [PlayerID] [Reason] [Time]"); //Remember, the time is in milisecond, 1 second = 1000 ms
  503.     if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) return SendClientMessage(playerid, Red, "[ERROR]This player not connected to the game");
  504.     if(PlayerInfo[playerid][Jailed] == 1) return SendClientMessage(playerid, Red, "[ERROR]This player has been jailed!");
  505.     PlayerInfo[player1][Jailed] = 1;
  506.     PlayerInfo[player1][JailTime] = Time;
  507.     format(string, sizeof(string), "Admin %s has jailed %s |Reason: %d", Gn(player1), Gn(playerid), Reason);
  508.     SendClientMessageToAll(Yellow, string);
  509.     format(tmp, sizeof(tmp), "You has been jailed by %s with Reason %d", Gn(playerid), Reason);
  510.     SendClientMessage(player1, Green, tmp);
  511.     SetTimer("jail1",1000,false);
  512.     return 1;
  513. }
  514.  
  515. dcmd_unajail(playerid, params[])
  516. {
  517.     new string[128], player1;
  518.     new tmp[256];
  519.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  520.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  521.     if(sscanf(params,"d",player1)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /unajail [PlayerID");
  522.     if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) return SendClientMessage(playerid, Red, "[ERROR]This player not connected to the game");
  523.     if(PlayerInfo[playerid][Jailed] == 1) return SendClientMessage(playerid, Red, "[ERROR]This player not in jail!");
  524.     SetPlayerInterior(player1,0);
  525.     SpawnPlayer(player1);
  526.     SetPlayerHealth(player1, 100.0);
  527.     format(string, sizeof(string), "You has been released from jail by Admin %s", Gn(playerid));
  528.     SendClientMessage(player1, Green, string);
  529.     format(tmp, sizeof(tmp), "Admin %s has been unjailed %s", Gn(playerid), Gn(player1));
  530.     SendClientMessageToAll(Yellow, tmp);
  531.     return 1;
  532. }
  533.  
  534. dcmd_spawn(playerid, params[])
  535. {
  536.     new string[128], player1;
  537.     new tmp[256];
  538.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  539.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  540.     if(sscanf(params,"d",player1)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /spawn [PlayerID]");
  541.     if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) return SendClientMessage(playerid, Red, "[ERROR]This player not connected to the game");
  542.     SetPlayerInterior(player1,0);
  543.     SpawnPlayer(player1);
  544.     format(string, sizeof(string), "You has been spawned by Admin %s", Gn(playerid));
  545.     SendClientMessage(player1, Green, string);
  546.     format(tmp, sizeof(tmp), "Admin %s has been spawned %s", Gn(playerid), Gn(player1));
  547.     SendClientMessageToAll(Yellow, tmp);
  548.     return 1;
  549. }
  550.  
  551. dcmd_kick(playerid, params[])
  552. {
  553.     new string[128], player1;
  554.     new tmp[256], Reason[256];
  555.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  556.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  557.     if(sscanf(params,"ds",player1, Reason)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /kick [PlayerID] [Reason]");
  558.     if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) return SendClientMessage(playerid, Red, "[ERROR]This player not connected to the game");
  559.     format(tmp, sizeof(tmp), "You has been kicked by %s | Reason: %s", Gn(playerid), Reason);
  560.     SendClientMessageToAll(Yellow, tmp);
  561.     Kick(player1);
  562.     format(string, sizeof(string), "Admin %s has been kick by %s | Reason: %s", Gn(playerid), Gn(player1), Reason);
  563.     SendClientMessage(player1, Green, string);
  564.     return 1;
  565. }
  566.  
  567. dcmd_announce(playerid, params[])
  568. {
  569.     new string[128];
  570.     new text[256];
  571.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  572.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  573.     if(sscanf(params,"s",text)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /announce [Text]");
  574.     format(string, sizeof(string), "%s", text);
  575.     GameTextForPlayer(playerid, string, 3000, 4);
  576.     return 1;
  577. }
  578.  
  579. dcmd_aheli(playerid, params[])
  580. {
  581.     #pragma unused params
  582.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  583.     if(dini_Int(PFile(playerid),"AdmLevel")<2)return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  584.     if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, Red, "[ERROR]You already have a car!");
  585.     if(PlayerInfo[playerid][vCar] != -1) CarDeleter(PlayerInfo[playerid][vCar]);
  586.     SendClientMessage(playerid, Green, "Your heli has been spawn!");
  587.     return 1;
  588. }
  589.  
  590. dcmd_aplane(playerid, params[])
  591. {
  592.     #pragma unused params
  593.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  594.     if(dini_Int(PFile(playerid),"AdmLevel")<2)return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  595.     if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, Red, "[ERROR]You already have a car!");
  596.     if(PlayerInfo[playerid][vCar] != -1) CarDeleter(PlayerInfo[playerid][vCar]);
  597.     CarSpawner(playerid, 519);
  598.     SendClientMessage(playerid, Green, "Your plane has been spawn!");
  599.     return 1;
  600. }
  601.  
  602. dcmd_mute(playerid, params[])
  603. {
  604.     new string[128], player1;
  605.     new tmp[256];
  606.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  607.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  608.     if(sscanf(params,"d",player1)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /mute [PlayerID]");
  609.     if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) return SendClientMessage(playerid, Red, "[ERROR]This player not connected to the game");
  610.     if(PlayerInfo[playerid][Muted] == 1) return SendClientMessage(playerid, Red, "[ERROR]This Player has been a muted!");
  611.     PlayerInfo[player1][Muted] = 1;
  612.     format(string, sizeof(string), "You has been muted by Admin %s", Gn(playerid));
  613.     SendClientMessage(player1, Green, string);
  614.     format(tmp, sizeof(tmp), "Admin %s has been mute %s", Gn(playerid), Gn(player1));
  615.     SendClientMessageToAll(Yellow, tmp);
  616.     return 1;
  617. }
  618.  
  619. dcmd_apm(playerid, params[])
  620. {
  621.     new string[128], player1;
  622.     new tmp[256], Text[256];
  623.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  624.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  625.     if(sscanf(params,"ds",player1, Text)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /apm [PlayerID] [Text]");
  626.     if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) return SendClientMessage(playerid, Red, "[ERROR]This player not connected to the game");
  627.     format(string, sizeof(string), "PM from Admin: %s", Text);
  628.     SendClientMessage(player1, Red, string);
  629.     format(tmp, sizeof(tmp), "PM to %s[%d]: %s", Gn(player1), player1, Text);
  630.     SendClientMessage(playerid, Yellow, tmp);
  631.     return 1;
  632. }
  633.  
  634. dcmd_admm(playerid, params[])
  635. {
  636.     new string[128];
  637.     new Text[256];
  638.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  639.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  640.     if(sscanf(params,"s",Text)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /admm [Text]");
  641.     format(string, sizeof(string), "^Admin: %s", Text);
  642.     SendClientMessageToAll(Red, string);
  643.     return 1;
  644. }
  645.  
  646. dcmd_unmute(playerid, params[])
  647. {
  648.     new string[128], player1;
  649.     new tmp[256];
  650.     if(PlayerInfo[playerid][Login] == 0) return SendClientMessage(playerid, Red, "[ERROR]You must logged in to use this command!");
  651.     if(dini_Int(PFile(playerid),"AdmLevel")<2) return SendClientMessage(playerid, Red, "[ERROR]You need Admin level 2 (Beta Administrator) to use this command");
  652.     if(sscanf(params,"d",player1)) return SendClientMessage(playerid, Red, "[ERROR]Usage: /unmute [PlayerID]");
  653.     if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) return SendClientMessage(playerid, Red, "[ERROR]This player not connected to the game");
  654.     if(PlayerInfo[playerid][Muted] == 0) return SendClientMessage(playerid, Red, "[ERROR]This player not a muted!");
  655.     PlayerInfo[player1][Muted] = 0;
  656.     format(string, sizeof(string), "You has been unmuted by Admin %s", Gn(playerid));
  657.     SendClientMessage(player1, Green, string);
  658.     format(tmp, sizeof(tmp), "Admin %s has been unmute %s", Gn(playerid), Gn(player1));
  659.     SendClientMessageToAll(Yellow, tmp);
  660.     return 1;
  661. }
  662.    
  663. forward SendAdminMessage(color, string[]);
  664. public SendAdminMessage(color, string[])
  665. {
  666.     new playerid;
  667.     for(new players=0; players<MAX_PLAYERS; players++)
  668.     {
  669.         if(dini_Int(PFile(playerid),"AdmLevel")>1)
  670.         {
  671.             SendClientMessage(players,color,string);
  672.         }
  673.     }
  674.     return 1;
  675. }
  676.  
  677. forward CarSpawner(playerid,model);
  678. public CarSpawner(playerid,model)
  679. {
  680.     new Float:x, Float:y, Float:z, Float:angle;
  681.     GetPlayerPos(playerid, x, y, z);
  682.     GetPlayerFacingAngle(playerid, angle);
  683.     if(PlayerInfo[playerid][vCar] != -1) CarDeleter(PlayerInfo[playerid][vCar]);
  684.     new vehicleid=CreateVehicle(model, x, y, z, angle, -1, -1, -1);
  685.     PutPlayerInVehicle(playerid, vehicleid, 0);
  686.     SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  687.     LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  688.     ChangeVehicleColor(vehicleid,0,7);
  689.     PlayerInfo[playerid][vCar] = vehicleid;
  690.     return 1;
  691. }
  692.  
  693. forward SpawnCar(playerid,model);
  694. public SpawnCar(playerid,model)
  695. {
  696.     new Float:x, Float:y, Float:z, Float:angle;
  697.     GetPlayerPos(playerid, x, y, z);
  698.     GetPlayerFacingAngle(playerid, angle);
  699.     if(PlayerInfo[playerid][vCar] != -1) CarDeleter(PlayerInfo[playerid][vCar]);
  700.     new vehicleid=CreateVehicle(model, x+3, y, z, angle, -1, -1, -1);
  701.     SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  702.     LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  703.     ChangeVehicleColor(vehicleid,0,7);
  704.     PlayerInfo[playerid][vCar] = vehicleid;
  705.     return 1;
  706. }
  707.  
  708. forward CarDeleter(vehicleid);
  709. public CarDeleter(vehicleid)
  710. {
  711.     for(new i=0;i<MAX_PLAYERS;i++) {
  712.         new Float:X,Float:Y,Float:Z;
  713.         if(IsPlayerInVehicle(i, vehicleid)) {
  714.             RemovePlayerFromVehicle(i);
  715.             GetPlayerPos(i,X,Y,Z);
  716.             SetPlayerPos(i,X,Y+3,Z);
  717.         }
  718.         SetVehicleParamsForPlayer(vehicleid,i,0,1);
  719.     }
  720.     SetTimerEx("VehRes",1500,0,"i",vehicleid);
  721. }
  722.  
  723. /*==============================================================================
  724.                             Jail Callback
  725. ==============================================================================*/
  726. forward Jail1(player1);
  727. public Jail1(player1)
  728. {
  729.     TogglePlayerControllable(0,false);
  730.     new Float:x, Float:y, Float:z;  GetPlayerPos(player1,x,y,z);
  731.     SetPlayerCameraPos(player1,x+10,y,z+10);SetPlayerCameraLookAt(player1,x,y,z);
  732.     GameTextForPlayer(player1,"~r~You now is jailed",3000,3);
  733.     SetTimer("TheJail",3000,false);
  734. }
  735.  
  736. forward TheJail(player1);
  737. public TheJail(player1)
  738. {
  739.     SetPlayerPos(player1,197.6661,173.8179,1003.0234);
  740.     SetPlayerInterior(player1,3);
  741.     TogglePlayerControllable(1,false);
  742.     SetPlayerHealth(player1, 100.0);
  743.     SetTimer("Released",PlayerInfo[player1][JailTime],false);
  744.     return 1;
  745. }
  746.  
  747. forward Released(player1);
  748. public Released(player1)
  749. {
  750.     PlayerInfo[player1][JailTime] = 0;
  751.     PlayerInfo[player1][Jailed] = 0;
  752.     SetPlayerInterior(player1,0);
  753.     SpawnPlayer(player1);
  754.     SetPlayerHealth(player1, 100.0);
  755.     SendClientMessage(player1, Yellow, "You has been released from Jailed");
  756. }
  757.  
  758. /*==============================================================================
  759.  
  760. ==============================================================================*/
  761.  
  762. stock Gn(playerid)
  763. {
  764.     new pname[24];
  765.     GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
  766.     return pname;
  767. }
  768.  
  769. stock PFile(playerid)
  770. {
  771.     format(file,64,"U-Adm/Users/%s.ini",Gn(playerid));
  772.     return file;
  773. }
  774.  
  775. stock IsValidColor(ColorID)
  776. {
  777.     if((ColorID == Red && Blue && Green && Yellow && Pink && Orange && Brown && Purple && Grey)) return true;
  778.     else return false;
  779. }
  780.  
  781. stock IsValidSkin(SkinID)
  782. {
  783.     if((SkinID >= 0 && SkinID <= 2)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) return true;
  784.     else return false;
  785. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement