Advertisement
Guest User

C-Admin (C00K13M0N$73R

a guest
Aug 28th, 2012
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 24.97 KB | None | 0 0
  1. //==============================================================================
  2. //--------------------------------> C-Admin <-----------------------------------
  3. //-----------------------------------> By <-------------------------------------
  4. //------------------------------> C00K13M0N$73R <-------------------------------
  5. //==============================================================================
  6. //==============================================================================
  7. //--------------------------------> Includes <----------------------------------
  8. //==============================================================================
  9. #include <a_samp>
  10. #include <sscanf2>
  11. #include <YSI\y_ini>
  12. #include <zcmd>
  13. #define invalid SendClientMessage(playerid,COLOR_RED,"ERROR:Invaild playerid");
  14. #define error SendClientMessage(playerid,COLOR_RED,"ERROR:You are not admin");
  15. #define DIALOG_REGISTER 2011
  16. #define DIALOG_LOGIN 2012
  17. #define ServerName " Your_Server_Name"
  18. #define UserPath "Users/%s.ini"
  19. //==============================================================================
  20. //---------------------------------> Other <------------------------------------
  21. //==============================================================================
  22. native WP_Hash(buffer[],len,const str[]);
  23. new muted[MAX_PLAYERS];
  24. new Float:x,Float:y,Float:z;
  25. new telex[MAX_PLAYERS];
  26. new teley[MAX_PLAYERS];
  27. new Duty[MAX_PLAYERS];
  28. new telez[MAX_PLAYERS];
  29. new specing[MAX_PLAYERS];
  30. forward loadaccount_user(playerid, name[], value[]);
  31. enum PlayerInfo
  32. {
  33.     Pass[129],
  34.     Admin,
  35.     Vip,
  36.     Money,
  37.     Scores,
  38.     Kills,
  39.     Deaths
  40. }
  41. new pInfo[MAX_PLAYERS][PlayerInfo];
  42. //==============================================================================
  43. //--------------------------------> Defines <-----------------------------------
  44. //==============================================================================
  45. #define COLOR_ORANGE 0xFFA500FF
  46. #define COLOR_LIMEGREEN 0x32CD32FF
  47. #define COLOR_ROYALBLUE 0x4169E1FF
  48. #define COLOR_SALMON 0xFA8072FF
  49. #define COLOR_GREY 0xAFAFAFAA
  50. #define COLOR_GREEN 0x33AA33AA
  51. #define COLOR_RED 0xAA3333AA
  52. #define COLOR_YELLOW 0xFFFF00AA
  53. #define COLOR_WHITE 0xFFFFFFAA
  54. #define COLOR_BLUE 0x0000BBAA
  55. #define COLOR_LIGHTBLUE 0x33CCFFAA
  56. #define COLOR_RED 0xAA3333AA
  57. //==============================================================================
  58. //---------------------------------> Stocks <-----------------------------------
  59. //==============================================================================
  60. stock GetName(playerid)
  61. {
  62.     new pName[MAX_PLAYER_NAME];
  63.     GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  64.     return pName;
  65. }
  66. stock Path(playerid)
  67. {
  68.     new str[128],name[MAX_PLAYER_NAME];
  69.     GetPlayerName(playerid,name,sizeof(name));
  70.     format(str,sizeof(str),UserPath,name);
  71.     return str;
  72. }
  73. stock SendMessageToAdmins(const string[])
  74. {
  75.     for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) == 1) if(pInfo[i][Admin] > 0) SendClientMessage(i, COLOR_GREY, string);
  76.     return 0;
  77. }
  78. stock SendMessageToVips(const string[])
  79. {
  80.     for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) == 1) if(pInfo[i][Vip] > 0) SendClientMessage(i, -1, string);
  81.     return 1;
  82. }
  83. //==============================================================================
  84. //--------------------------------> Commands <----------------------------------
  85. //==============================================================================
  86. CMD:admins(playerid,params[])
  87. {
  88.     new string[128], bool:dfound = false, dcount = 0;
  89.     for(new i = 0; i < GetMaxPlayers(); i++) {
  90.         if(Duty[i] != 1) continue;
  91.  
  92.         if(dcount == 0) {
  93.             dfound = true; dcount += 1;
  94.             format(string, sizeof(string), "%s", GetName(i));
  95.         } else {
  96.             dcount += 1;
  97.             format(string, sizeof(string), "%s, %s", string, GetName(i));
  98.         }
  99.  
  100.         if(dcount == 6) {
  101.             dcount = 0;
  102.             SendClientMessage(playerid, -1, string);
  103.         }
  104.     }
  105.     if(dcount != 0) {
  106.         SendClientMessage(playerid, -1, string);
  107.     }
  108.     if(!dfound) {
  109.         SendClientMessage(playerid, -1, "No admins online");
  110.     }
  111.     return 1;
  112. }
  113.  
  114. CMD:report(playerid,params[])
  115. {
  116.     new user,string[124],oter[124],reason;
  117.     if(sscanf(params,"us[64]",user,reason)) return SendClientMessage(playerid,-1,"SYNTAX:/report [playerid] [reason]");
  118.     if(user == INVALID_PLAYER_ID) return invalid
  119.     format(string,sizeof(string),"Report:%s reported %s. Reason:%s.",GetName(playerid),GetName(user),reason);
  120.     SendMessageToAdmins(string);
  121.     format(oter,sizeof(oter),"You have reported %s. Admins will review your report shortly.",GetName(user));
  122.     SendClientMessage(playerid,-1,oter);
  123.     return 1;
  124. }
  125.  
  126. CMD:kick(playerid,params[])
  127. {
  128.     if(pInfo[playerid][Admin] < 1) return error
  129.     new user,reason,string[124],amsg[124];
  130.     if(sscanf(params,"us[64]",user,reason)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/kick [playerid] [reason]");
  131.     if(user == INVALID_PLAYER_ID) return invalid
  132.     format(string,sizeof(string),"%s has been kicked by an admin. Reason %s",GetName(user),reason);
  133.     format(amsg,sizeof(amsg),"Admin %s has kicked %s",GetName(playerid),GetName(user));
  134.     SendMessageToAdmins(amsg);
  135.     print(amsg);
  136.     print(string);
  137.     SendClientMessageToAll(COLOR_BLUE,string);
  138.     Kick(user);
  139.     return 1;
  140. }
  141.  
  142. CMD:freeze(playerid,params[])
  143. {
  144.     if(pInfo[playerid][Admin] < 1) return error
  145.     new user,string[124],amsg[124];
  146.     if(sscanf(params,"u",user)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/freeze [playerid]");
  147.     if(user == INVALID_PLAYER_ID) return invalid
  148.     format(string,sizeof(string),"%s has been frozen by an admin.",GetName(user));
  149.     print(string);
  150.     format(amsg,sizeof(amsg),"Admin %s has froze %s",GetName(playerid),GetName(user));
  151.     SendMessageToAdmins(amsg);
  152.     print(amsg);
  153.     SendClientMessageToAll(COLOR_BLUE,string);
  154.     TogglePlayerControllable(user,0);
  155.     return 1;
  156. }
  157.  
  158. CMD:unfreeze(playerid,params[])
  159. {
  160.     if(pInfo[playerid][Admin] < 1) return error
  161.     new user,string[124],amsg[124];
  162.     if(sscanf(params,"u",user)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/unfreeze [playerid]");
  163.     if(user == INVALID_PLAYER_ID) return invalid
  164.     format(string,sizeof(string),"Server:%s has been unfrozen by an admin.",GetName(user));
  165.     SendClientMessageToAll(COLOR_BLUE,string);
  166.     format(amsg,sizeof(amsg),"Admin %s has unfroze %s",GetName(playerid),GetName(user));
  167.     SendMessageToAdmins(amsg);
  168.     print(amsg);
  169.     print(string);
  170.     return 1;
  171. }
  172.  
  173. CMD:mute(playerid,params[])
  174. {
  175.     if(pInfo[playerid][Admin] < 1) return error
  176.     new user,string[124],amsg[124];
  177.     if(sscanf(params,"u",user)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/mute [playerid]");
  178.     if(user == INVALID_PLAYER_ID) return invalid
  179.     format(string,sizeof(string),"%s has been muted by an admin",GetName(user));
  180.     format(amsg,sizeof(amsg),"Admin %s has muted %s",GetName(playerid),GetName(user));
  181.     SendMessageToAdmins(amsg);
  182.     print(amsg);
  183.     SendClientMessageToAll(COLOR_BLUE,string);
  184.     print(string);
  185.     muted[user] = 1;
  186.     return 1;
  187. }
  188.  
  189. CMD:unmute(playerid,params[])
  190. {
  191.     if(pInfo[playerid][Admin] < 1) return error
  192.     new user,string[124],amsg[124];
  193.     if(sscanf(params,"u",user)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/unmute [playerid]");
  194.     if(user == INVALID_PLAYER_ID) return invalid
  195.     format(string,sizeof(string),"%s has been unmuted by an admin",GetName(user));
  196.     SendClientMessageToAll(COLOR_BLUE,string);
  197.     format(amsg,sizeof(amsg),"Admin %s has unmuted %s",GetName(playerid),GetName(user));
  198.     SendMessageToAdmins(amsg);
  199.     print(amsg);
  200.     print(string);
  201.     muted[user] = 0;
  202.     return 1;
  203. }
  204.  
  205. CMD:goto(playerid,params[])
  206. {
  207.     if(pInfo[playerid][Admin] < 1) return error
  208.     new user,string[124],amsg[124];
  209.     if(sscanf(params,"u",user)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/goto [playerid]");
  210.     if(user == INVALID_PLAYER_ID) return invalid
  211.     GetPlayerPos(user,x,y,z);
  212.     SetPlayerPos(playerid,x,y,z);
  213.     format(string,sizeof(string),"Admin %s has teleported to you.",GetName(playerid));
  214.     SendClientMessage(user,-1,string);
  215.     format(amsg,sizeof(amsg),"Admin %s has teleported to %s",GetName(playerid),GetName(user));
  216.     SendMessageToAdmins(amsg);
  217.     print(amsg);
  218.     print(string);
  219.     return 1;
  220. }
  221.  
  222. CMD:get(playerid,params[])
  223. {
  224.     if(pInfo[playerid][Admin] < 1) return error
  225.     new user,string[124],amsg[124];
  226.     if(sscanf(params,"u",user)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/get [playerid]");
  227.     if(user == INVALID_PLAYER_ID) return invalid
  228.     GetPlayerPos(playerid,x,y,z);
  229.     SetPlayerPos(user,x,y,z);
  230.     format(string,sizeof(string),"Admin %s has teleported you to him",GetName(playerid));
  231.     SendClientMessage(playerid,-1,string);
  232.     format(amsg,sizeof(amsg),"Admin %s has teleported %s to him",GetName(playerid),GetName(user));
  233.     SendMessageToAdmins(amsg);
  234.     print(amsg);
  235.     print(string);
  236.     return 1;
  237. }
  238.  
  239. CMD:slap(playerid,params[])
  240. {
  241.     if(pInfo[playerid][Admin] < 1) return error
  242.     new user,string[124],amsg[124],Float:healthy;
  243.     if(sscanf(params,"u",user)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/slap [playerid]");
  244.     if(user == INVALID_PLAYER_ID) return invalid
  245.     GetPlayerPos(playerid,x,y,z);
  246.     SetPlayerPos(playerid,x,y,z+15);
  247.     GetPlayerHealth(playerid,healthy);
  248.     SetPlayerHealth(playerid,healthy-5);
  249.     format(string,sizeof(string),"%s has been slapped by an admin",GetName(user));
  250.     SendClientMessageToAll(COLOR_BLUE,string);
  251.     format(amsg,sizeof(amsg),"Admin %s slapped %s",GetName(playerid),GetName(user));
  252.     print(amsg);
  253.     SendMessageToAdmins(amsg);
  254.     print(string);
  255.     return 1;
  256. }
  257.  
  258. CMD:akill(playerid,params[])
  259. {
  260.     if(pInfo[playerid][Admin] < 1) return error
  261.     new user,string[124],amsg[124];
  262.     if(sscanf(params,"u",user)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/akill [playerid]");
  263.     if(user == INVALID_PLAYER_ID) return invalid
  264.     SetPlayerHealth(user,0);
  265.     format(string,sizeof(string),"%s has been admin killed",GetName(user));
  266.     SendClientMessageToAll(COLOR_BLUE,string);
  267.     format(amsg,sizeof(amsg),"Admin %s killed %s",GetName(playerid),GetName(user));
  268.     print(amsg);
  269.     SendMessageToAdmins(amsg);
  270.     print(string);
  271.     return 1;
  272. }
  273.  
  274. CMD:setvw(playerid,params[])
  275. {
  276.     if(pInfo[playerid][Admin] < 1) return error
  277.     new user,string[124],vw,amsg[124];
  278.     if(sscanf(params,"ud",user,vw)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/setvw [playerid] [worldid]");
  279.     if(user == INVALID_PLAYER_ID) return invalid
  280.     SetPlayerVirtualWorld(user,vw);
  281.     format(string,sizeof(string),"Your virtrual world has been set to %d by admin",vw);
  282.     SendClientMessage(playerid,-1,string);
  283.     format(amsg,sizeof(amsg),"Admin %s has set %s's virtrual world to %d",GetName(playerid),GetName(user),vw);
  284.     print(amsg);
  285.     SendMessageToAdmins(amsg);
  286.     print(string);
  287.     return 1;
  288. }
  289.  
  290. CMD:setint(playerid,params[])
  291. {
  292.     if(pInfo[playerid][Admin] < 1) return error
  293.     new user,string[124],int,amsg[124];
  294.     if(sscanf(params,"ud",user,int)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/setint [playerid] [interior]");
  295.     if(user == INVALID_PLAYER_ID) return invalid
  296.     SetPlayerInterior(user,int);
  297.     format(string,sizeof(string),"Your interior has been set to %d by an admin",int);
  298.     SendClientMessage(playerid,-1,string);
  299.     format(amsg,sizeof(amsg),"Admin %s has set %s's interior to %d",GetName(playerid),GetName(user),int);
  300.     print(amsg);
  301.     SendMessageToAdmins(amsg);
  302.     print(string);
  303.     return 1;
  304. }
  305.  
  306. CMD:cc(playerid,params[])
  307. {
  308.     if(pInfo[playerid][Admin] < 1) return error
  309.     new string[124],amsg[124];
  310.     for(new i = 0; i < 200; i++) SendClientMessageToAll(0x00000000," ");
  311.     format(string,sizeof(string),"Chat has been cleared by an admin.",GetName(playerid));
  312.     SendClientMessageToAll(COLOR_BLUE,string);
  313.     format(amsg,sizeof(amsg),"Admin %s has cleared the chat",GetName(playerid));
  314.     print(amsg);
  315.     SendMessageToAdmins(amsg);
  316.     print(string);
  317.     return 1;
  318. }
  319.  
  320. CMD:spec(playerid,params[])
  321. {
  322.     if(pInfo[playerid][Admin] < 1) return error
  323.     if(specing[playerid] == 0)
  324.     {
  325.         new user,string[124],amsg[124];
  326.         if(sscanf(params,"u",user)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/spec [playerid]");
  327.         if(user == INVALID_PLAYER_ID) return invalid
  328.         if(pInfo[playerid][Admin] < 1) return error
  329.         TogglePlayerSpectating(playerid,true);
  330.         PlayerSpectatePlayer(playerid,user,SPECTATE_MODE_NORMAL);
  331.         format(string,sizeof(string),"Admin %s is spectating %s",GetName(playerid),GetName(user));
  332.         print(string);
  333.         GetPlayerPos(playerid,Float:telex[playerid],Float:teley[playerid],Float:telez[playerid]);
  334.         SendMessageToAdmins(amsg);
  335.         specing[playerid] = 1;
  336.     }
  337.     else if(specing[playerid] == 1)
  338.     {
  339.         new user,string[124],amsg[124];
  340.         if(sscanf(params,"u",user)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/spec [playerid]");
  341.         if(user == INVALID_PLAYER_ID) return invalid
  342.         if(pInfo[playerid][Admin] < 1) return error
  343.         TogglePlayerSpectating(playerid,true);
  344.         PlayerSpectatePlayer(playerid,user,SPECTATE_MODE_NORMAL);
  345.         format(string,sizeof(string),"Admin %s is spectating %s",GetName(playerid),GetName(user));
  346.         print(string);
  347.         SendMessageToAdmins(amsg);
  348.         specing[playerid] = 1;
  349.     }
  350.     return 1;
  351. }
  352.  
  353. CMD:specoff(playerid,params[])
  354. {
  355.     if(pInfo[playerid][Admin] < 1) return error
  356.     TogglePlayerSpectating(playerid,false);
  357.     return 1;
  358. }
  359.  
  360. CMD:duty(playerid,params[])
  361. {
  362.     if(pInfo[playerid][Admin] < 1) return error
  363.     if(Duty[playerid] == 0)
  364.     {
  365.         new string1[124];
  366.         Duty[playerid] = 1;
  367.         format(string1,sizeof(string1),"Admin %s is on duty.",GetName(playerid));
  368.         SendMessageToAdmins(string1);
  369.     }
  370.     else if(Duty[playerid] == 1)
  371.     {
  372.         new string[124];
  373.         Duty[playerid] = 0;
  374.         format(string,sizeof(string),"Admin %s is off duty.",GetName(playerid));
  375.         SendMessageToAdmins(string);
  376.     }
  377.     return 1;
  378. }
  379.  
  380. CMD:ban(playerid,params[])
  381. {
  382.     if(pInfo[playerid][Admin] < 2) return error
  383.     new user,reason,string[124],amsg[124];
  384.     if(sscanf(params,"us[64]",user,reason)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/ban [playerid] [reason]");
  385.     if(user == INVALID_PLAYER_ID) return invalid
  386.     format(string,sizeof(string),"%s has been banned by an admin. Reason %s",GetName(user),reason);
  387.     print(string);
  388.     SendClientMessageToAll(COLOR_BLUE,string);
  389.     format(amsg,sizeof(amsg),"Admin %s has banned %s. Reason %s",GetName(playerid),GetName(user),reason);
  390.     SendMessageToAdmins(amsg);
  391.     print(amsg);
  392.     Ban(user);
  393.     return 1;
  394. }
  395.  
  396. CMD:healall(playerid,params[])
  397. {
  398.     new amsg[124];
  399.     if(pInfo[playerid][Admin] < 2) return error
  400.     for(new i = 0; i < MAX_PLAYERS; i++)
  401.     {
  402.         SetPlayerHealth(i,100.0);
  403.     }
  404.     SendClientMessageToAll(-1,"All players have been healed by admin");
  405.     format(amsg,sizeof(amsg),"Admin %s healed all players.",GetName(playerid));
  406.     SendMessageToAdmins(amsg);
  407.     print(amsg);
  408.     return 1;
  409. }
  410.  
  411. CMD:repairall(playerid,params[])
  412. {
  413.     if(pInfo[playerid][Admin] < 2) return error
  414.     new amsg[124];
  415.     for(new i = 0; i < MAX_VEHICLES; i++)
  416.     {
  417.         new vehicleid;
  418.         vehicleid = GetPlayerVehicleID(playerid);
  419.         RepairVehicle(vehicleid);
  420.     }
  421.     SendClientMessageToAll(-1,"All occupied vehicles have been repaired by admin");
  422.     format(amsg,sizeof(amsg),"Admin %s repaired all vehicles",GetName(playerid));
  423.     SendMessageToAdmins(amsg);
  424.     print(amsg);
  425.     return 1;
  426. }
  427.  
  428. CMD:announce(playerid,params[])
  429. {
  430.     if(pInfo[playerid][Admin] < 2) return error
  431.     new amsg[124],ann,annnounce[124];
  432.     if(sscanf(params,"s[64]",ann)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/announce [message]");
  433.     format(annnounce,sizeof(annnounce),"%s",ann);
  434.     GameTextForAll(annnounce,10000,3);
  435.     format(amsg,sizeof(amsg),"Admin %s announced %s",GetName(playerid),ann);
  436.     SendMessageToAdmins(amsg);
  437.     return 1;
  438. }
  439.  
  440. CMD:setscore(playerid,params[])
  441. {
  442.     if(pInfo[playerid][Admin] < 2) return error
  443.     new user,string[124],score,amsg[124];
  444.     if(sscanf(params,"ud",user,score)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/setscore [playerid] [score]");
  445.     if(user == INVALID_PLAYER_ID) return invalid
  446.     SetPlayerScore(user,score);
  447.     format(string,sizeof(string),"%s score has been changed to %d by an admin.",GetName(user),score);
  448.     SendClientMessageToAll(COLOR_BLUE,string);
  449.     format(amsg,sizeof(amsg),"Admin %s has changed %s's score to %d",GetName(playerid),GetName(user),score);
  450.     SendMessageToAdmins(amsg);
  451.     print(amsg);
  452.     print(string);
  453.     return 1;
  454. }
  455.  
  456. CMD:sethealth(playerid,params[])
  457. {
  458.     if(pInfo[playerid][Admin] < 2) return error
  459.     new user,health;
  460.     if(sscanf(params,"ud",user,health)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/sethealth [playerid] [health]");
  461.     if(user == INVALID_PLAYER_ID) return invalid
  462.     SetPlayerHealth(user,health);
  463.     return 1;
  464. }
  465.  
  466. CMD:setarmour(playerid,params[])
  467. {
  468.     if(pInfo[playerid][Admin] < 2) return error
  469.     new user,string[124],armour,amsg[114];
  470.     if(sscanf(params,"ud",user,armour)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/setarmour [playerid] [armour]");
  471.     if(user == INVALID_PLAYER_ID) return invalid
  472.     SetPlayerArmour(user,armour);
  473.     format(string,sizeof(string),"%s armour has been changed to %d by admin.",GetName(user),armour);
  474.     SendClientMessageToAll(COLOR_BLUE,string);
  475.     format(amsg,sizeof(amsg),"Admins %s has changed %s's armour to %d",GetName(playerid),GetName(user),armour);
  476.     SendMessageToAdmins(amsg);
  477.     print(amsg);
  478.     print(string);
  479.     return 1;
  480. }
  481.  
  482. CMD:setadmin(playerid,params[])
  483. {
  484.     if(pInfo[playerid][Admin] < 3) return error
  485.     new user,string[124],lvl,amsg[124];
  486.     if(sscanf(params,"ud",user,lvl)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/setadmin [playerid] [Admin]");
  487.     if(user == INVALID_PLAYER_ID) return invalid
  488.     format(string,sizeof(string),"%s admin level has been changed to %d by an admin.",GetName(user),lvl);
  489.     SendClientMessageToAll(COLOR_BLUE,string);
  490.     pInfo[user][Admin] = lvl;
  491.     format(amsg,sizeof(amsg),"Admin %s changed %s's admmin level to %d.",GetName(playerid),GetName(user),lvl);
  492.     print(string);
  493.     print(amsg);
  494.     SendMessageToAdmins(amsg);
  495.     return 1;
  496. }
  497.  
  498. CMD:setvip(playerid,params[])
  499. {
  500.     if(pInfo[playerid][Admin] < 3) return error
  501.     new user,string[124],lvl,amsg[124];
  502.     if(sscanf(params,"ud",user,lvl)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/setvip [playerid] [Admin]");
  503.     if(user == INVALID_PLAYER_ID) return invalid
  504.     format(string,sizeof(string),"%s vip level has been changed to %d by admin.",GetName(user),lvl);
  505.     SendClientMessageToAll(COLOR_BLUE,string);
  506.     pInfo[user][Vip] = lvl;
  507.     format(amsg,sizeof(amsg),"Admin %s changed %s's vip level to %d",GetName(playerid),GetName(user),lvl);
  508.     print(amsg);
  509.     SendMessageToAdmins(amsg);
  510.     print(string);
  511.     return 1;
  512. }
  513.  
  514. CMD:restart(playerid,params[])
  515. {
  516.     if(pInfo[playerid][Admin] < 3) return error
  517.     new reason,boom[124],amsg[124];
  518.     if(sscanf(params,"s[64]",reason)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/restart [reason]");
  519.     format(boom,sizeof(boom),"Server has been restarted by an admin. reasonn %s",reason);
  520.     SendClientMessageToAll(-1,boom);
  521.     format(amsg,sizeof(amsg),"Admin %s has restarted the server. Reason %s",GetName(playerid),reason);
  522.     SendMessageToAdmins(amsg);
  523.     print(amsg);
  524.     SendRconCommand("gmx");
  525.     print(boom);
  526.     return 1;
  527. }
  528.  
  529. CMD:vcolor(playerid,params[])
  530. {
  531.     if(pInfo[playerid][Vip] < 1) return SendClientMessage(playerid,-1,"ERROR:Yur not vip.");
  532.     new col1,string[124],col2,veh;
  533.     veh = GetPlayerVehicleID(playerid);
  534.     if(sscanf(params,"dd",col1,col2)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/vcolor [color1] [color2]");
  535.     ChangeVehicleColor(veh,col1,col2);
  536.     format(string,sizeof(string),"VipCmd:Vip %s changed his vehicle color to %d and %d",GetName(playerid),col1,col2);
  537.     SendClientMessageToAll(COLOR_BLUE,string);
  538.     print(string);
  539.     return 1;
  540. }
  541.  
  542. CMD:stats(playerid,params[])
  543. {
  544.     if(isnull(params))
  545.     {
  546.         SendClientMessage(playerid,-1,"Hint: Use /stats [playerid]!");
  547.         new string1[124],string2[124];
  548.         format(string1,sizeof(string1),"Admin: %d | Vip: %d | Money: $%d",pInfo[playerid][Admin],pInfo[playerid][Vip],pInfo[playerid][Money]);
  549.         SendClientMessage(playerid,COLOR_GREEN,string1);
  550.         format(string2,sizeof(string2),"Score: %d | Kills: %d | Deaths: %d",pInfo[playerid][Scores],pInfo[playerid][Kills],pInfo[playerid][Deaths]);
  551.         SendClientMessage(playerid,COLOR_GREEN,string2);
  552.     }
  553.     else
  554.     {
  555.         new user;
  556.         if(sscanf(params,"u",user)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"SYNTAX:/stats [playerid]");
  557.         if(user == INVALID_PLAYER_ID) return invalid
  558.         new string1[124],string2[124];
  559.         format(string1,sizeof(string1),"Admin: %d | Vip: %d | Money: $%d",pInfo[user][Admin],pInfo[user][Vip],pInfo[user][Money]);
  560.         SendClientMessage(playerid,COLOR_GREEN,string1);
  561.         format(string2,sizeof(string2),"Score: %d | Kills: %d | Deaths: %d",pInfo[user][Scores],pInfo[user][Kills],pInfo[user][Deaths]);
  562.         SendClientMessage(playerid,COLOR_GREEN,string2);
  563.     }
  564.     return 1;
  565. }
  566. //==============================================================================
  567. //--------------------------------> Callbacks <---------------------------------
  568. //==============================================================================
  569.  
  570.  
  571. public loadaccount_user(playerid, name[], value[])
  572. {
  573.     INI_String("Password", pInfo[playerid][Pass],129);
  574.     INI_Int("Admin",pInfo[playerid][Admin]);
  575.     INI_Int("Vip",pInfo[playerid][Vip]);
  576.     INI_Int("Money",pInfo[playerid][Money]);
  577.     INI_Int("Scores",pInfo[playerid][Scores]);
  578.     INI_Int("Kills",pInfo[playerid][Kills]);
  579.     INI_Int("Deaths",pInfo[playerid][Deaths]);
  580.     return 1;
  581. }
  582.  
  583. public OnPlayerConnect(playerid)
  584. {
  585.     new name[MAX_PLAYER_NAME];
  586.     GetPlayerName(playerid,name,sizeof(name));
  587.     if(fexist(Path(playerid)))
  588.     {
  589.         INI_ParseFile(Path(playerid),"loadaccount_%s", .bExtra = true, .extra = playerid);
  590.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Welcome back to "#ServerName".\nPlease input your password below to login.","Login","Leave");
  591.     }
  592.     else
  593.     {
  594.         ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Welcome to" #ServerName".\nPlease input a password below to register.","Register","Leave");
  595.         return 1;
  596.     }
  597.     return 1;
  598. }
  599.  
  600. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  601. {
  602.     if(dialogid == DIALOG_REGISTER)
  603.     {
  604.         if(!response) return Kick(playerid);
  605.         if(response)
  606.         {
  607.             if(!strlen(inputtext))
  608.             {
  609.                         ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Welcome to" #ServerName".\nPlease input a password below to register.","Register","Leave");
  610.                         return 1;
  611.             }
  612.             new hashpass[129];
  613.             WP_Hash(hashpass,sizeof(hashpass),inputtext);
  614.             new INI:file = INI_Open(Path(playerid));
  615.             INI_SetTag(file,"Player's Data");
  616.             INI_WriteString(file,"Password",hashpass);
  617.             INI_WriteInt(file,"Admin",0);
  618.             INI_WriteInt(file,"Vip",0);
  619.             INI_WriteInt(file,"Money",0);
  620.             INI_WriteInt(file,"Scores",0);
  621.             INI_WriteInt(file,"Kills",0);
  622.             INI_WriteInt(file,"Deaths",0);
  623.             INI_Close(file);
  624.             SendClientMessage(playerid,-1,"You have been successfully registered");
  625.             return 1;
  626.         }
  627.     }
  628.     if(dialogid == DIALOG_LOGIN)
  629.     {
  630.         if(!response) return Kick(playerid);
  631.         if(response)
  632.         {
  633.             new hashpass[129];
  634.             WP_Hash(hashpass,sizeof(hashpass),inputtext);
  635.             if(!strcmp(hashpass,pInfo[playerid][Pass]))
  636.             {
  637.                 INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid);
  638.                 SetPlayerScore(playerid,pInfo[playerid][Scores]);
  639.                 GivePlayerMoney(playerid,pInfo[playerid][Money]);
  640.                 SendClientMessage(playerid,-1,"Welcome back! You have successfully logged in");
  641.             }
  642.             else
  643.             {
  644.                         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Welcome back to "#ServerName".\nPlease input your password below to login.","Login","Leave");
  645.                         return 1;
  646.             }
  647.         }
  648.     }
  649.     return 1;
  650. }
  651.  
  652. public OnPlayerDisconnect(playerid, reason)
  653. {
  654.     if(fexist(Path(playerid)))
  655.     {
  656.         new INI:file = INI_Open(Path(playerid));
  657.         INI_SetTag(file,"Player's Data");
  658.         INI_WriteInt(file,"Admin",pInfo[playerid][Admin]);
  659.         INI_WriteInt(file,"Vip",pInfo[playerid][Vip]);
  660.         INI_WriteInt(file,"Money",GetPlayerMoney(playerid));
  661.         INI_WriteInt(file,"Scores",GetPlayerScore(playerid));
  662.         INI_WriteInt(file,"Kills",pInfo[playerid][Kills]);
  663.         INI_WriteInt(file,"Deaths",pInfo[playerid][Deaths]);
  664.         INI_Close(file);
  665.         return 1;
  666.     }
  667.     return 1;
  668. }
  669.  
  670. public OnPlayerDeath(playerid,killerid)
  671. {
  672.     pInfo[killerid][Kills]++;
  673.     pInfo[playerid][Deaths]++;
  674.     return 1;
  675. }
  676.  
  677. public OnPlayerText(playerid,text[])
  678. {
  679.     if(muted[playerid] == 1)
  680.     {
  681.         SendClientMessage(playerid,-1,"Your muted....");
  682.         return 0;
  683.     }
  684.     if(text[0] == '#' && pInfo[playerid][Admin] > 0)
  685.     {
  686.         new msg[124];
  687.         format(msg,sizeof(msg),"Admin %s: %s",GetName(playerid),text[1]);
  688.         SendMessageToAdmins(msg);
  689.         print(msg);
  690.         return 0;
  691.     }
  692.     if(text[0] == '!' && pInfo[playerid][Vip] > 0)
  693.     {
  694.         new msg[124];
  695.         format(msg,sizeof(msg),"Vip %s: %s",GetName(playerid),text[1]);
  696.         SendMessageToAdmins(msg);
  697.         print(msg);
  698.         return 0;
  699.     }
  700.     return 1;
  701. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement