Advertisement
Guest User

Walker's Administrator - For Samp

a guest
May 30th, 2014
732
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 30.65 KB | None | 0 0
  1. /*
  2.             | Walker's Administration System - ENG - 0.3Z |
  3.                             | Copyright |
  4. */
  5. #include <a_samp>
  6. #include <sscanf2>
  7. #include <YSI\y_ini>
  8. #include <zcmd>
  9. // ===============[COLORS]===================
  10. #define         COLOR_GREEN             0x008000FF
  11. #define         COLOR_YELLOW            0xECD400F6
  12. #define         COLOR_WHITE             0xFFFFFFFF
  13.  
  14. #define         SCM                SendClientMessage
  15. #define         USER_PATH           "/Users/%s.ini"
  16.  
  17. #define         DIALOG_SNAME    1
  18. #define         DIALOG_SMAP     2
  19. #define         DIALOG_STIME    3
  20. #define         DIALOG_LOGIN    4
  21.  
  22. new Servertime1;
  23. new Servertime2;
  24. new Servertime3;
  25. new ServerName[300];
  26. new ServerMap[300];
  27.  
  28.  
  29. public OnFilterScriptInit()
  30. {
  31.     print("\n--------------------------------------");
  32.     print(" Walker's Administration System - v0.1");
  33.     print("--------------------------------------\n");
  34.     // Jail
  35.     CreateObject(19303, 218.04221, 1866.39355, 13.36293,   0.00000, 0.00000, 0.00000);
  36.     CreateObject(19303, 216.30815, 1866.39380, 13.36290,   0.00000, 0.00000, 180.00000);
  37.     CreateObject(19364, 215.50836, 1864.81128, 13.15941,   0.00000, 0.00000, 0.00000);
  38.     CreateObject(19364, 218.85277, 1861.62036, 13.15941,   0.00000, 0.00000, 0.00000);
  39.     CreateObject(19364, 216.91484, 1860.34424, 13.15940,   0.00000, 0.00000, 90.00000);
  40.     CreateObject(19364, 215.49251, 1861.62512, 13.15941,   0.00000, 0.00000, 0.00000);
  41.     CreateObject(19364, 215.56862, 1861.16565, 13.15940,   0.00000, 0.00000, -127.00000);
  42.     CreateObject(19364, 218.54053, 1860.76672, 13.15940,   0.00000, 0.00000, 127.00000);
  43.     CreateObject(19364, 218.84845, 1864.82092, 13.15941,   0.00000, 0.00000, 0.00000);
  44.     CreateObject(19377, 216.25209, 1861.57703, 14.67330,   0.00000, 90.00000, 0.00000);
  45.     // Admin Panel
  46.     LoadAdminPanel();
  47.     gettime(Servertime1, Servertime2, Servertime3);
  48.     SetTimer("ChangeTextdraws", 1000, true);
  49.     return 1;
  50. }
  51. enum pInfo
  52. {
  53.     Float:Health,
  54.     Float:Armour,
  55.     Skin,
  56.     Money,
  57.     Float:pX,
  58.     Float:pY,
  59.     Float:pZ,
  60.     Float:Angle,
  61.     pMuted,
  62.     pFreezed,
  63.     pJailed,
  64.     Admin,
  65.     AdminLevel,
  66.     AdminDuty
  67. };
  68. new PlayerInfo[MAX_PLAYERS][pInfo];
  69.  
  70. // Admin Panel
  71. new Text:txd1;
  72. new Text:txd2;
  73. new Text:gmtext;
  74. new Text:gmmap;
  75. new Text:gmtime;
  76. new Text:close;
  77.  
  78. public OnFilterScriptExit()
  79. {
  80.     return 1;
  81. }
  82. public OnPlayerConnect(playerid)
  83. {
  84.     new uFile[35];
  85.     format(uFile, 35, USER_PATH, GetName(playerid));
  86.     {
  87.         INI_ParseFile(uFile, "LoadUserData", .bExtra = true, .extra = playerid);
  88.     }
  89.     ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_MSGBOX, "Walker's Administration", "Welcome to Walker's Administration System,made by Jonathan walker.Press Login to proceed.", "Login", "");
  90.     return 1;
  91. }
  92. // ==============================================[ADMIN COMMANDS]======================================
  93. CMD:setadmin(playerid, params[])
  94. {
  95.     new targetid, level;
  96.     new string[128];
  97.     if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_WHITE, "{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  98.     else if (sscanf(params, "ui", targetid, level)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[Usage]: {FFFFFF}/setadmin [ID] [Level]");
  99.     else if(targetid == INVALID_PLAYER_ID) return SCM(playerid, COLOR_WHITE,  "{B3B3B3}[INFO]: {FFFFFF}Invalid Player ID.");
  100.     else
  101.     {
  102.         format(string, sizeof(string),"{37A63D}[INFO]{FFFFFF}You have set %s's Admin Level to %d.", GetName(targetid), level);
  103.         SCM(playerid, COLOR_WHITE, string);
  104.         format(string, sizeof(string),"{37A63D}[INFO]{FFFFFF}You have been promoted to Admin level %d by Administrator %s.", level, GetName(playerid));
  105.         SCM(targetid, COLOR_WHITE, string);
  106.         PlayerInfo[targetid][Admin] = 1;
  107.         PlayerInfo[targetid][AdminLevel] = level;
  108.         SavePlayer(targetid);
  109.     }
  110.     return 1;
  111. }
  112. CMD:ahelp(playerid, params[])
  113. {
  114.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  115.     if(PlayerInfo[playerid][AdminLevel] >= 1)
  116.     {
  117.         SCM(playerid, COLOR_WHITE, "{EED811}[Level 1] {FFFFFF} | /a | /kick | /get | /aduty | /ban | /goto | /mute | /unmute | /freeze /unfreeze | /givemoney |");
  118.     }
  119.     if(PlayerInfo[playerid][AdminLevel] >= 2)
  120.     {
  121.         SCM(playerid, COLOR_WHITE,"{EED811}[Level 2] {FFFFFF}| /setskin | /sethealth | /setarmour |");
  122.     }
  123.     if(PlayerInfo[playerid][AdminLevel] >= 3)
  124.     {
  125.         SCM(playerid, COLOR_WHITE, "{EED811}[Level 3] {FFFFFF}| /givegun| /jail | /unjail | /settime |");
  126.     }
  127.     if(PlayerInfo[playerid][AdminLevel] >= 4)
  128.     {
  129.         SCM(playerid, COLOR_WHITE, "{EED811}[Level 4] {FFFFFF}| /setmoney |");
  130.     }
  131.     if(PlayerInfo[playerid][AdminLevel] >= 5)
  132.     {
  133.         SCM(playerid, COLOR_WHITE, "{EED811}[Level 5] {FFFFFF}| /setadmin |");
  134.     }
  135.     SCM(playerid, COLOR_WHITE,"{1B951D}[================================================================]");
  136.     return 1;
  137. }
  138. CMD:a(playerid, params[])
  139. {
  140.     new string[256];
  141.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  142.     if(isnull(params)) return SCM(playerid, COLOR_WHITE, "{E5AC00}[Usage]:{FFFFFF} /a(nnounce) [text]");
  143.     format(string, sizeof(string), "{B52535}[Adminstrator %s]:{FFFFFF} %s", GetName(playerid), params);
  144.     SendClientMessageToAll(COLOR_WHITE, string);
  145.     return 1;
  146. }
  147. CMD:announce(playerid, params[]) return cmd_a(playerid, params);
  148.  
  149. CMD:kick(playerid,params[])
  150. {
  151.     new targetid, reason[128], string[128];
  152.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  153.     if(sscanf(params,"us[128]",targetid,reason)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /kick [playerid] [Reason]");
  154.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  155.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} %s is kicked from the Server by Administrator %s.(Reason: %s)",GetName(targetid),GetName(playerid),reason);
  156.     SendClientMessageToAll(COLOR_WHITE,string);
  157.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You are kicked from the Server by Administrator %s.(Reason: %s)",GetName(playerid),reason);
  158.     SCM(targetid,COLOR_WHITE,string);
  159.     SetTimerEx("KickPlayer", 2000, 0, "d", targetid);
  160.     return 1;
  161. }
  162. CMD:ban(playerid,params[])
  163. {
  164.     new targetid, reason[128], string[128];
  165.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  166.     if(sscanf(params,"us[128]",targetid,reason)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /ban [playerid] [Reason]");
  167.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  168.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} %s is Banned from the Server by Administrator %s.(Reason: %s)",GetName(targetid),GetName(playerid),reason);
  169.     SendClientMessageToAll(COLOR_WHITE,string);
  170.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You are Banned from the Server by Administrator %s.(Reason: %s)",GetName(playerid),reason);
  171.     SCM(targetid,COLOR_WHITE,string);
  172.     SetTimerEx("BanPlayer", 2000, 0, "d", targetid);
  173.     return 1;
  174. }
  175. CMD:get(playerid,params[])
  176. {
  177.     new targetid, Float:x,Float:y,Float:z;
  178.     new string[128];
  179.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  180.     if(sscanf(params,"u",targetid)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /get [playerid]");
  181.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  182.     GetPlayerPos(playerid, x, y, z);
  183.     SetPlayerPos(targetid, x+1, y+1, z);
  184.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You have teleported %s to your position.",GetName(targetid));
  185.     SendClientMessage(playerid, COLOR_WHITE,string);
  186.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} Administrator %s has teleported you to his Position.",GetName(playerid));
  187.     SCM(targetid,COLOR_WHITE,string);
  188.     return 1;
  189. }
  190. CMD:goto(playerid,params[])
  191. {
  192.     new targetid, Float:x,Float:y,Float:z;
  193.     new string[128];
  194.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  195.     if(sscanf(params,"u",targetid)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /goto [playerid]");
  196.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  197.     GetPlayerPos(targetid, x, y, z);
  198.     SetPlayerPos(playerid, x+1, y+1, z);
  199.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You have teleported to %s's Position.",GetName(targetid));
  200.     SCM(playerid, COLOR_WHITE,string);
  201.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} Administrator %s has teleported to your position.",GetName(playerid));
  202.     SCM(targetid,COLOR_WHITE,string);
  203.     return 1;
  204. }
  205. CMD:mute(playerid, params[])
  206. {
  207.     new targetid;
  208.     new string[128];
  209.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  210.     if(sscanf(params,"u",targetid)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /mute [playerid]");
  211.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  212.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You have Muted %s.",GetName(targetid));
  213.     SCM(playerid, COLOR_WHITE,string);
  214.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} Administrator %s has Muted you.",GetName(playerid));
  215.     SCM(targetid,COLOR_WHITE,string);
  216.     PlayerInfo[targetid][pMuted] = 1;
  217.     SavePlayer(targetid);
  218.     return 1;
  219. }
  220. CMD:unmute(playerid, params[])
  221. {
  222.     new targetid;
  223.     new string[128];
  224.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  225.     if(sscanf(params,"u",targetid)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /unmute [playerid]");
  226.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  227.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You have Un-Muted %s.",GetName(targetid));
  228.     SCM(playerid, COLOR_WHITE,string);
  229.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} Administrator %s has Un-Muted you.",GetName(playerid));
  230.     SCM(targetid,COLOR_WHITE,string);
  231.     PlayerInfo[targetid][pMuted] = 0;
  232.     SavePlayer(targetid);
  233.     return 1;
  234. }
  235. CMD:freeze(playerid, params[])
  236. {
  237.     new targetid;
  238.     new string[128];
  239.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  240.     if(sscanf(params,"u",targetid)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /freeze [playerid]");
  241.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  242.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You have Freezed %s.",GetName(targetid));
  243.     SCM(playerid, COLOR_WHITE,string);
  244.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} Administrator %s has Freezed you.",GetName(playerid));
  245.     SCM(targetid,COLOR_WHITE,string);
  246.     PlayerInfo[targetid][pFreezed] = 1;
  247.     TogglePlayerControllable(playerid, 0);
  248.     SavePlayer(targetid);
  249.     return 1;
  250. }
  251. CMD:unfreeze(playerid, params[])
  252. {
  253.     new targetid;
  254.     new string[128];
  255.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  256.     if(sscanf(params,"u",targetid)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /unfreeze [playerid]");
  257.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  258.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You have Un-Freezed %s.",GetName(targetid));
  259.     SCM(playerid, COLOR_WHITE,string);
  260.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} Administrator %s has Un-Freezed you.",GetName(playerid));
  261.     SCM(targetid,COLOR_WHITE,string);
  262.     PlayerInfo[targetid][pFreezed] = 0;
  263.     TogglePlayerControllable(playerid, 1);
  264.     SavePlayer(targetid);
  265.     return 1;
  266. }
  267. CMD:jail(playerid, params[])
  268. {
  269.     new targetid;
  270.     new string[128];
  271.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  272.     if(sscanf(params,"u",targetid)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /jail [playerid]");
  273.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  274.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You have Jailed %s.",GetName(targetid));
  275.     SCM(playerid, COLOR_WHITE,string);
  276.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} Administrator %s has Jailed you.",GetName(playerid));
  277.     SCM(targetid,COLOR_WHITE,string);
  278.     PlayerInfo[targetid][pJailed] = 1;
  279.     SetPlayerPos(targetid, 217.2644, 1863.2052, 12.5388);
  280.     SavePlayer(targetid);
  281.     return 1;
  282. }
  283. CMD:unjail(playerid, params[])
  284. {
  285.     new targetid;
  286.     new string[128];
  287.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  288.     if(sscanf(params,"u",targetid)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /unjail [playerid]");
  289.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  290.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You have Un-Jailed %s.",GetName(targetid));
  291.     SCM(playerid, COLOR_WHITE,string);
  292.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} Administrator %s has Un-Jailed you.",GetName(playerid));
  293.     SCM(targetid,COLOR_WHITE,string);
  294.     PlayerInfo[targetid][pJailed] = 0;
  295.     SetPlayerPos(playerid, -185.5223, 977.4722, 19.0640);
  296.     SavePlayer(targetid);
  297.     return 1;
  298. }
  299. CMD:setmoney(playerid, params[])
  300. {
  301.     new targetid;
  302.     new string[128];
  303.     new quantity;
  304.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  305.     if(sscanf(params,"ud",targetid, quantity)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /setmoney [playerid] [Amount]");
  306.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  307.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You have set %s's Money to $%d.",GetName(targetid),quantity);
  308.     SCM(playerid, COLOR_WHITE,string);
  309.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} Administrator %s has set your money to $%d.",GetName(playerid),quantity);
  310.     SCM(targetid,COLOR_WHITE,string);
  311.     SetMoney(targetid, quantity);
  312.     SavePlayer(targetid);
  313.     return 1;
  314. }
  315. CMD:setskin(playerid, params[])
  316. {
  317.     new targetid;
  318.     new string[128];
  319.     new quantity;
  320.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  321.     if(sscanf(params,"ud",targetid, quantity)) return SCM(playerid, COLOR_WHITE,"{E5AC00}[USAGE]:{FFFFFF} /setskin [playerid] [Model]");
  322.     if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_WHITE,  "{AF1C1C}(INFO){FFFFFF}Invalid Player ID.");
  323.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} You have set %s's Skin ID to %d.",GetName(targetid),quantity);
  324.     SCM(playerid, COLOR_WHITE,string);
  325.     format(string, sizeof(string),"{E5AC00}[INFO]:{FFFFFF} Administrator %s has set your Skin ID to %d.",GetName(playerid),quantity);
  326.     SCM(targetid,COLOR_WHITE,string);
  327.     SetPlayerSkin(targetid, quantity);
  328.     SavePlayer(targetid);
  329.     return 1;
  330. }
  331. CMD:givegun(playerid, params[])
  332. {
  333.     new weaponid;
  334.     new targetid;
  335.     new ammo;
  336.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  337.     if(sscanf(params,"uii",targetid,weaponid,ammo)) return SCM(playerid, COLOR_WHITE, "{E5AC00}[USAGE]:{FFFFFF}/givegun [playerid] [weaponid] [ammo]");
  338.     new string[128];
  339.     format(string, sizeof(string), "{E5AC00}[INFO]:{FFFFFF} Administrator %s has given %s weapon ID %i.(Ammo: %i)",GetName(playerid),GetName(targetid),weaponid,ammo);
  340.     for(new i=0; i < MAX_PLAYERS; i++)
  341.     {
  342.         if(PlayerInfo[i][Admin] == 1) SendClientMessage(i,COLOR_WHITE,string);
  343.     }
  344.     GivePlayerWeapon(targetid,weaponid,ammo);
  345.     format(string, sizeof(string), "{E5AC00}[INFO]:{FFFFFF} Administrator %s has given you weapon ID %i.(Ammo: %i)",GetName(playerid),weaponid,ammo);
  346.     SCM(playerid,COLOR_WHITE,string);
  347.     return 1;
  348. }
  349. CMD:repair(playerid, params[])
  350. {
  351.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  352.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "{AF1C1C}[USAGE]: {FFFFFF}You must be in a vehicle to use this command.");
  353.     RepairVehicle(GetPlayerVehicleID(playerid));
  354.     return 1;
  355. }
  356. CMD:aduty(playerid, params[])
  357. {
  358.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  359.     if(PlayerInfo[playerid][AdminDuty] == 0)
  360.     {
  361.             new string[128];
  362.             format(string, sizeof(string), "[INFO]: {FFFFFF}Administrator %s is now {37A63D}On-Duty{FFFFFF}.",GetName(playerid));
  363.             SendClientMessageToAll(COLOR_GREEN, string);
  364.             SetPlayerColor(playerid, COLOR_GREEN);
  365.             PlayerInfo[playerid][AdminDuty] = 1;
  366.             SetPlayerHealth(playerid, 9999);
  367.             SetPlayerArmour(playerid, 9999);
  368.     }
  369.     else
  370.     {
  371.             new string[128];
  372.             format(string, sizeof(string), "[INFO]: {FFFFFF}Administrator %s is now Off-Duty{FFFFFF}.",GetName(playerid));
  373.             SendClientMessageToAll(COLOR_GREEN, string);
  374.             SetPlayerColor(playerid, 0xDDDDDDC8);
  375.             SetPlayerArmour(playerid, 100);
  376.             SetPlayerHealth(playerid, 100);
  377.             PlayerInfo[playerid][AdminDuty] = 0;
  378.     }
  379.     return 1;
  380. }
  381. CMD:givemoney(playerid, params[])
  382. {
  383.     new targetid;
  384.     new amount;
  385.     new string[128];
  386.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  387.     if(sscanf(params,"ud", targetid, amount))return SendClientMessage(playerid, COLOR_WHITE, "{E5AC00}[USAGE]:{FFFFFF} /givemoney [playerid] [amount]");
  388.     if(amount <= 0) return SendClientMessage(playerid, COLOR_WHITE, "{AF1C1C}(INFO):{FFFFFF} Amount should be above 0.");
  389.     format(string, sizeof(string), "{E5AC00}(INFO):{FFFFFF}Administrator %s has added $%d to your wealth.",GetName(playerid), amount);
  390.     SCM(targetid, COLOR_GREEN, string);
  391.     format(string, sizeof(string), "{E5AC00}(INFO):{FFFFFF}You have added $%d to %s's Wealth.",amount, GetName(targetid));
  392.     SCM(playerid, COLOR_GREEN, string);
  393.     GivePlayerMoney(targetid, amount);
  394.     SavePlayer(targetid);
  395.     return 1;
  396. }
  397. CMD:sethealth(playerid, params[])
  398. {
  399.     new targetid;
  400.     new string[128];
  401.     new health;
  402.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  403.     if(sscanf(params,"ud", targetid, health))return SCM(playerid, COLOR_WHITE, "{E5AC00}[USAGE]:{FFFFFF} /sethealth [playerid] [health]");
  404.     if(health < 0) return SendClientMessage(playerid, COLOR_WHITE, "{AF1C1C}(INFO):{FFFFFF}Please enter a value above 0.");
  405.     format(string, sizeof(string),"{37A63D}(INFO):{FFFFFF}Administrator %s has set your health to %d.",GetName(playerid), health);
  406.     SendClientMessage(targetid, COLOR_GREEN, string);
  407.     format(string, sizeof(string),"{37A63D}(INFO):{FFFFFF}You have set %s's health to %d.",GetName(targetid), health);
  408.     SendClientMessage(playerid, COLOR_GREEN, string);
  409.     SetPlayerHealth(targetid, health);
  410.     SavePlayer(targetid);
  411.     return 1;
  412. }
  413. CMD:setarmour(playerid, params[])
  414. {
  415.     new targetid;
  416.     new string[128];
  417.     new armour;
  418.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  419.     if(sscanf(params,"ud", targetid, armour))return SCM(playerid, COLOR_WHITE, "{E5AC00}[USAGE]:{FFFFFF} /setarmour [playerid] [armour]");
  420.     if(armour < 0) return SendClientMessage(playerid, COLOR_WHITE, "{AF1C1C}(INFO):{FFFFFF}Please enter a value above 0.");
  421.     format(string, sizeof(string),"{37A63D}(INFO):{FFFFFF}Administrator %s has set your armour to %d.",GetName(playerid), armour);
  422.     SendClientMessage(targetid, COLOR_GREEN, string);
  423.     format(string, sizeof(string),"{37A63D}(INFO):{FFFFFF}You have set %s's armour to %d.",GetName(targetid), armour);
  424.     SendClientMessage(playerid, COLOR_GREEN, string);
  425.     SetPlayerArmour(targetid, armour);
  426.     SavePlayer(targetid);
  427.     return 1;
  428. }
  429. // Server Panel
  430. CMD:panel(playerid, params[])
  431. {
  432.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  433.     ServerPanel(playerid);
  434.     SendClientMessage(playerid, COLOR_GREEN, "[INFO]: {FFFFFF}You are now editing the Server Settings.");
  435.     return 1;
  436. }
  437. CMD:closepanel(playerid, params[])
  438. {
  439.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  440.     HidePanel(playerid);
  441.     SendClientMessage(playerid, COLOR_GREEN, "[INFO]: {FFFFFF}You have closed the Server Panel.");
  442.     return 1;
  443. }
  444. CMD:servername(playerid, params[])
  445. {
  446.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  447.     ShowPlayerDialog(playerid, DIALOG_SNAME, DIALOG_STYLE_INPUT, "Server Name", "Type the new Server's Name.", "Proceed", "");
  448.     return 1;
  449. }
  450. CMD:servermap(playerid, params[])
  451. {
  452.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  453.     ShowPlayerDialog(playerid, DIALOG_SMAP, DIALOG_STYLE_INPUT, "Server Mapname", "Type the new Server's Map.", "Proceed", "");
  454.     return 1;
  455. }
  456. CMD:servertime(playerid, params[])
  457. {
  458.     if(!PlayerInfo[playerid][Admin]) return SCM(playerid,COLOR_WHITE,"{AF1C1C}[INFO]:{FFFFFF}You are not allowed to use this Command.");
  459.     ShowPlayerDialog(playerid, DIALOG_STIME, DIALOG_STYLE_INPUT, "Server Time", "Type the new Time.", "Proceed", "");
  460.     return 1;
  461. }
  462. // Server Panel
  463. // =======================[STOCKS]======================
  464. stock GetName(playerid)
  465. {
  466.     new name[MAX_PLAYER_NAME];
  467.     GetPlayerName(playerid,name,sizeof(name));
  468.     for(new i = 0; i < MAX_PLAYER_NAME; i++)
  469.     {
  470.         if(name[i] == '_') name[i] = ' ';
  471.     }
  472.     return name;
  473. }
  474. stock SetMoney(playerid, money)
  475. {
  476.     PlayerInfo[playerid][Money] = money;
  477.     ResetPlayerMoney(playerid);
  478.     GivePlayerMoney(playerid, money);
  479.     return 1;
  480. }
  481. stock SavePlayer(playerid)
  482. {
  483.     GetPlayerPos(playerid, PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ]);
  484.     GetPlayerFacingAngle(playerid, PlayerInfo[playerid][Angle]);
  485.     GetPlayerHealth(playerid,PlayerInfo[playerid][Health]);
  486.     GetPlayerArmour(playerid,PlayerInfo[playerid][Armour]);
  487.     // FILES
  488.     new uFile[35];
  489.     format(uFile, 35, USER_PATH, GetName(playerid));
  490.     new INI:playerFile = INI_Open(uFile);
  491.     INI_WriteInt(playerFile, "Administrator", PlayerInfo[playerid][Admin]);
  492.     INI_WriteInt(playerFile, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
  493.     INI_WriteInt(playerFile, "AdminDuty", PlayerInfo[playerid][AdminDuty]);
  494.     INI_WriteInt(playerFile, "Skin", GetPlayerSkin(playerid));
  495.     INI_WriteInt(playerFile, "Money", GetPlayerMoney(playerid));
  496.     INI_WriteFloat(playerFile, "Health", PlayerInfo[playerid][Health]);
  497.     INI_WriteFloat(playerFile, "Armour",PlayerInfo[playerid][Armour]);
  498.     INI_WriteInt(playerFile, "Muted", PlayerInfo[playerid][pMuted]);
  499.     INI_WriteInt(playerFile, "Freezed", PlayerInfo[playerid][pFreezed]);
  500.     INI_WriteInt(playerFile, "Jailed", PlayerInfo[playerid][pJailed]);
  501.     INI_WriteFloat(playerFile,"X",PlayerInfo[playerid][pX]);
  502.     INI_WriteFloat(playerFile,"Y",PlayerInfo[playerid][pY]);
  503.     INI_WriteFloat(playerFile,"Z",PlayerInfo[playerid][pZ]);
  504.     INI_WriteFloat(playerFile,"Angle",PlayerInfo[playerid][Angle]);
  505.     INI_Close(playerFile);
  506.     return 1;
  507. }
  508. forward LoadUserData(playerid, name[], value[]);
  509. public LoadUserData(playerid, name[], value[])
  510. {
  511.     INI_Int("Money",PlayerInfo[playerid][Money]);
  512.     INI_Int("Skin",PlayerInfo[playerid][Skin]);
  513.     INI_Int("Administrator",PlayerInfo[playerid][Admin]);
  514.     INI_Int("AdminLevel",PlayerInfo[playerid][AdminLevel]);
  515.     INI_Int("AdminDuty",PlayerInfo[playerid][AdminDuty]);
  516.     INI_Float("Health",PlayerInfo[playerid][Health]);
  517.     INI_Int("Muted",PlayerInfo[playerid][pMuted]);
  518.     INI_Int("Freezed",PlayerInfo[playerid][pFreezed]);
  519.     INI_Int("Jailed",PlayerInfo[playerid][pJailed]);
  520.     INI_Float("Armour",PlayerInfo[playerid][Armour]);
  521.     INI_Float("X",PlayerInfo[playerid][pX]);
  522.     INI_Float("Y",PlayerInfo[playerid][pY]);
  523.     INI_Float("Z",PlayerInfo[playerid][pZ]);
  524.     INI_Float("Angle",PlayerInfo[playerid][Angle]);
  525.     return 1;
  526. }
  527. stock LoadAdminPanel()
  528. {
  529.     txd1 = TextDrawCreate(555.000000, 142.812500, "usebox");
  530.     TextDrawLetterSize(txd1, 0.000000, 15.919445);
  531.     TextDrawTextSize(txd1, 98.000000, 0.000000);
  532.     TextDrawAlignment(txd1, 1);
  533.     TextDrawColor(txd1, 0);
  534.     TextDrawUseBox(txd1, true);
  535.     TextDrawBoxColor(txd1, 102);
  536.     TextDrawSetShadow(txd1, 0);
  537.     TextDrawSetOutline(txd1, 0);
  538.     TextDrawFont(txd1, 0);
  539.  
  540.     txd2 = TextDrawCreate(204.000000, 146.562500, "Walker's Administration");
  541.     TextDrawLetterSize(txd2, 0.449999, 1.600000);
  542.     TextDrawAlignment(txd2, 1);
  543.     TextDrawColor(txd2, -1378294017);
  544.     TextDrawSetShadow(txd2, 0);
  545.     TextDrawSetOutline(txd2, 1);
  546.     TextDrawBackgroundColor(txd2, 51);
  547.     TextDrawFont(txd2, 2);
  548.     TextDrawSetProportional(txd2, 1);
  549.  
  550.     gmtext = TextDrawCreate(126.000000, 185.937500, "Server Name: ~y~");
  551.     TextDrawLetterSize(gmtext, 0.449999, 1.600000);
  552.     TextDrawAlignment(gmtext, 1);
  553.     TextDrawColor(gmtext, -1);
  554.     TextDrawSetShadow(gmtext, 0);
  555.     TextDrawSetOutline(gmtext, 1);
  556.     TextDrawBackgroundColor(gmtext, 51);
  557.     TextDrawFont(gmtext, 1);
  558.     TextDrawSetProportional(gmtext, 1);
  559.  
  560.     gmmap = TextDrawCreate(126.000000, 208.250000, "Server Map: ~y~");
  561.     TextDrawLetterSize(gmmap, 0.449999, 1.600000);
  562.     TextDrawAlignment(gmmap, 1);
  563.     TextDrawColor(gmmap, -1);
  564.     TextDrawSetShadow(gmmap, 0);
  565.     TextDrawSetOutline(gmmap, 1);
  566.     TextDrawBackgroundColor(gmmap, 51);
  567.     TextDrawFont(gmmap, 1);
  568.     TextDrawSetProportional(gmmap, 1);
  569.  
  570.     gmtime = TextDrawCreate(126.500000, 231.000000, "Server Time: ~y~");
  571.     TextDrawLetterSize(gmtime, 0.449999, 1.600000);
  572.     TextDrawAlignment(gmtime, 1);
  573.     TextDrawColor(gmtime, -1);
  574.     TextDrawSetShadow(gmtime, 0);
  575.     TextDrawSetOutline(gmtime, 1);
  576.     TextDrawBackgroundColor(gmtime, 51);
  577.     TextDrawFont(gmtime, 1);
  578.     TextDrawSetProportional(gmtime, 1);
  579.  
  580.     close = TextDrawCreate(505.500000, 268.187500, "Close");
  581.     TextDrawLetterSize(close, 0.449999, 1.600000);
  582.     TextDrawAlignment(close, 1);
  583.     TextDrawColor(close, -1523963137);
  584.     TextDrawSetShadow(close, 0);
  585.     TextDrawSetOutline(close, 1);
  586.     TextDrawBackgroundColor(close, 51);
  587.     TextDrawFont(close, 1);
  588.     TextDrawSetProportional(close, 1);
  589.     return 1;
  590. }
  591. stock ServerPanel(playerid)
  592. {
  593.     TextDrawShowForPlayer(playerid, txd1);
  594.     TextDrawShowForPlayer(playerid, txd2);
  595.     TextDrawShowForPlayer(playerid, gmtext);
  596.     TextDrawShowForPlayer(playerid, gmtime);
  597.     TextDrawShowForPlayer(playerid, gmmap);
  598.     TextDrawShowForPlayer(playerid, close);
  599.     SelectTextDraw(playerid, 0xFFFFFFCC);
  600.     return 1;
  601. }
  602. stock HidePanel(playerid)
  603. {
  604.     TextDrawHideForPlayer(playerid, txd1);
  605.     TextDrawHideForPlayer(playerid, txd2);
  606.     TextDrawHideForPlayer(playerid, gmtext);
  607.     TextDrawHideForPlayer(playerid, gmmap);
  608.     TextDrawHideForPlayer(playerid, gmtime);
  609.     TextDrawHideForPlayer(playerid, close);
  610.     return 1;
  611. }
  612. forward ChangeTextdraws();
  613. public ChangeTextdraws()
  614. {
  615.     new String[1000];
  616.  
  617.     format(String, sizeof(String), "Server Name: ~y~%s", ServerName);
  618.     TextDrawSetString(gmtext, String);
  619.    
  620.     format(String, sizeof(String), "Server Map: ~y~%s", ServerMap);
  621.     TextDrawSetString(gmmap, String);
  622.    
  623.     GetPlayerTime(Servertime1, Servertime2, Servertime3);
  624.     format(String, sizeof(String), "Server Time:~y~ %d:%d", Servertime1, Servertime2);
  625.     TextDrawSetString(gmtime, String);
  626.    
  627.     return 1;
  628. }
  629. forward KickPlayer(playerid);
  630. public KickPlayer(playerid)
  631. {
  632.     Kick(playerid);
  633. }
  634. forward BanPlayer(playerid);
  635. public BanPlayer(playerid)
  636. {
  637.     Ban(playerid);
  638. }
  639. forward LoadingObjects(playerid);
  640. public LoadingObjects(playerid)
  641. {
  642.     TogglePlayerControllable(playerid, 1);
  643. }
  644. public OnPlayerDisconnect(playerid, reason)
  645. {
  646.     SavePlayer(playerid);
  647.     return 1;
  648. }
  649.  
  650. public OnPlayerSpawn(playerid)
  651. {
  652.     // Position
  653.     if(PlayerInfo[playerid][pX] == 0.0 && PlayerInfo[playerid][pY] == 0.0)
  654.     {
  655.         SetPlayerPos(playerid, -185.5223, 977.4722, 19.0640);
  656.     }
  657.     else
  658.     {
  659.         SetSpawnInfo(playerid, 0, PlayerInfo[playerid][Skin], PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ], PlayerInfo[playerid][Angle], 0, 0, 0, 0, 0, 0);
  660.     }
  661.     // Health & Armour
  662.     if(PlayerInfo[playerid][Health] == 0.0 && PlayerInfo[playerid][Skin] == 0)
  663.     {
  664.         SetPlayerHealth(playerid, 100);
  665.         SetPlayerSkin(playerid, 120);
  666.     }
  667.     SetPlayerArmour(playerid, PlayerInfo[playerid][Armour]);
  668.     SetPlayerSkin(playerid, PlayerInfo[playerid][Skin]);
  669.     SetMoney(playerid, PlayerInfo[playerid][Money]);
  670.     TogglePlayerControllable(playerid, 1);
  671.     SetTimerEx("Loading Objects", 2000, 0, "d", playerid);
  672.     GameTextForPlayer(playerid, "~w~Loading Objects...", 2000, 3);
  673.     return 1;
  674. }
  675.  
  676. public OnPlayerText(playerid, text[])
  677. {
  678.     if(PlayerInfo[playerid][pMuted] == 1)
  679.     {
  680.         SendClientMessage(playerid, COLOR_WHITE, "[INFO]: {FFFFFF}You cannot speak as you're muted by an Administrator.");
  681.         return 0;
  682.     }
  683.     return 1;
  684. }
  685. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  686. {
  687.     return 1;
  688. }
  689.  
  690. public OnPlayerExitVehicle(playerid, vehicleid)
  691. {
  692.     return 1;
  693. }
  694.  
  695. public OnPlayerStateChange(playerid, newstate, oldstate)
  696. {
  697.     return 1;
  698. }
  699.  
  700. public OnRconCommand(cmd[])
  701. {
  702.     return 1;
  703. }
  704.  
  705. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  706. {
  707.     if(dialogid == DIALOG_SNAME)
  708.     {
  709.         new String[128];
  710.         format(ServerName, sizeof(ServerName), "%s", inputtext);
  711.         format(String, sizeof(String), "hostname %s", ServerName);
  712.         SendRconCommand(String);
  713.     }
  714.     if(dialogid == DIALOG_SMAP)
  715.     {
  716.         new String[128];
  717.         format(ServerMap, sizeof(ServerMap), "%s", inputtext);
  718.         format(String, sizeof(String), "mapname %s", ServerMap);
  719.         SendRconCommand(String);
  720.     }
  721.     if(dialogid == DIALOG_STIME)
  722.     {
  723.         Servertime1 = strval(inputtext);
  724.         SetWorldTime(Servertime1);
  725.     }
  726.     if(dialogid == DIALOG_LOGIN)
  727.     {
  728.         SetSpawnInfo(playerid, 0, PlayerInfo[playerid][Skin], PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ], PlayerInfo[playerid][Angle], 0, 0, 0, 0, 0, 0);
  729.         SpawnPlayer(playerid);
  730.         SetCameraBehindPlayer(playerid);
  731.     }
  732.     return 1;
  733. }
  734.  
  735. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  736. {
  737.     return 1;
  738. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement