Guest User

Walker's Administration - Version 2

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