Guest User

Niixie

a guest
Oct 18th, 2009
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 14.29 KB | None | 0 0
  1. new AdminPassword = 1234; //Only numbers or it wont work
  2.  
  3. #include <a_samp>
  4.  
  5. #define FILTERSCRIPT
  6. #if defined FILTERSCRIPT
  7.  
  8. #define yellow 0xFFFF00AA
  9. #define red 0xFF0000AA
  10. #define green 0x33FF33AA
  11. #define white 0xFFFFFFFF
  12. #define purple 0x800080FF
  13. #define pink 0xFFC0CBFF
  14.  
  15.  
  16. new PLVL[MAX_PLAYERS];
  17. new PlayerMUTE[MAX_PLAYERS];
  18.  
  19. public OnFilterScriptInit()
  20. {
  21.     print("|======================================|");
  22.     print("|      Niixie's Small Admin Script     |");
  23.     print("|                v0.1                  |");
  24.     print("|======================================|");
  25.    
  26.     new hour, minute, sec;
  27.     gettime(hour, minute, sec);
  28.  
  29.  
  30.     printf(" * Niixie's small Admin script loaded at: %d:%d:%d!", hour, minute, sec);
  31.     return 1;
  32. }
  33.  
  34. public OnFilterScriptExit()
  35. {
  36.     new hour, minute, sec;
  37.     gettime(hour, minute, sec);
  38.  
  39.     printf(" * Niixie's small Admin script unloaded at: %d:%d:%d!", hour, minute, sec);
  40.     return 1;
  41. }
  42.  
  43. #endif
  44.  
  45. public OnPlayerText(playerid, text[])
  46. {
  47.         if(PlayerMUTE[playerid] == 1) return SendClientMessage(playerid, yellow, "NOTICE: You can't talk while you're muted.");
  48.         return 1;
  49. }
  50.  
  51. public OnPlayerCommandText(playerid, cmdtext[])
  52. {
  53.         new string[128];
  54.         new prname[24];
  55.         new idname[24];
  56.        
  57.         new cmd[128];
  58.         new idx;
  59.        
  60.         new cmdid;
  61.         new tmp[128];
  62.        
  63.         GetPlayerName(playerid, prname, sizeof(prname));
  64.         GetPlayerName(playerid, idname, sizeof(idname));
  65.        
  66.         cmd = strtok(cmdtext, idx);
  67.        
  68.         if(strcmp("/alogin", cmd, true) == 0)
  69.         {
  70.                 tmp = strtok(cmdtext, idx);
  71.                 if(!strlen(tmp)) return SendClientMessage(playerid, yellow, "USEAGE: /alogin [AdminPassword]");
  72.  
  73.                 if(strval(tmp) == AdminPassword)
  74.                 {
  75.                         SendClientMessage(playerid, green, "SUCCESS: You've succesfully logged in as admin.");
  76.                         printf("%s has logged into admin", prname);
  77.                         return PLVL[playerid] = 1;
  78.                 }
  79.                 else
  80.                 {
  81.                         SendClientMessage(playerid, red, "ERROR: Wrong admin password!");
  82.                 }
  83.                 return 1;
  84.         }
  85.         if(strcmp("/ban", cmd, true) == 0)
  86.         {
  87.                 tmp = strtok(cmdtext, idx);
  88.                 if(PLVL[playerid] == 0) return SendClientMessage(playerid, red, "ERROR: You're not an admin!");
  89.                 if(!strlen(tmp)) return SendClientMessage(playerid, red, "ERROR: You didn't put in an id!");
  90.                 if(strval(tmp) == playerid) return SendClientMessage(playerid, red, "ERROR: You can't ban yourself!");
  91.                 if(IsPlayerConnected(strval(tmp)) == 0) return SendClientMessage(playerid, red, "ERROR: No player with such id!");
  92.                 cmdid = strval(tmp);
  93.  
  94.                 format(string, sizeof(string), "NOTICE: %s have banned %s from the server.", prname, idname);
  95.                 SendClientMessageToAll(yellow, string);
  96.                 print(string);
  97.                
  98.                 Ban(cmdid);
  99.                 return 1;
  100.  
  101.         }
  102.         if(strcmp("/kick", cmd, true) == 0)
  103.         {
  104.                 tmp = strtok(cmdtext, idx);
  105.                 if(PLVL[playerid] == 0) return SendClientMessage(playerid, red, "ERROR: You're not an admin!");
  106.                 if(!strlen(tmp)) return SendClientMessage(playerid, red, "ERROR: You didn't put in an id!");
  107.                 if(strval(tmp) == playerid) return SendClientMessage(playerid, red, "ERROR: You can't kick yourself!");
  108.                 if(IsPlayerConnected(strval(tmp)) == 0) return SendClientMessage(playerid, red, "ERROR: No player with such id!");
  109.                 cmdid = strval(tmp);
  110.  
  111.                 format(string, sizeof(string), "NOTICE: %s have kicked %s from the server.", prname, idname);
  112.                 SendClientMessageToAll(yellow, string);
  113.                 print(string);
  114.  
  115.                 Kick(cmdid);
  116.                 return 1;
  117.                
  118.         }
  119.         if(strcmp("/freeze", cmd, true) == 0)
  120.         {
  121.                 tmp = strtok(cmdtext, idx);
  122.                 if(PLVL[playerid] == 0) return SendClientMessage(playerid, red, "ERROR: You're not an admin");
  123.                 if(!strlen(tmp)) return SendClientMessage(playerid, red, "ERROR: You didn't put in an id");
  124.                 if(strval(tmp) == playerid) return SendClientMessage(playerid, red, "ERROR: You can't freeze yourself");
  125.                 if(IsPlayerConnected(strval(tmp)) == 0) return SendClientMessage(playerid, red, "ERROR: No player with suck id!");
  126.                 cmdid = strval(tmp);
  127.  
  128.                 format(string, sizeof(string), "You've been frozen by admin %s", prname);
  129.                 SendClientMessage(cmdid, yellow, string);
  130.                 format(string, sizeof(string), "%s has been frozen", idname);
  131.                 SendClientMessage(playerid, yellow, string);
  132.                 format(string, sizeof(string), "%s has been frozen by admin %s", idname, prname);
  133.                 print(string);
  134.  
  135.                 TogglePlayerControllable(cmdid, 0);
  136.                 return 1;
  137.                
  138.         }
  139.         if(strcmp("/unfreeze", cmd, true) == 0)
  140.         {
  141.                 tmp = strtok(cmdtext, idx);
  142.                 if(PLVL[playerid] == 0) return SendClientMessage(playerid, red, "ERROR: You're not an admin");
  143.                 if(!strlen(tmp)) return SendClientMessage(playerid, red, "ERROR: You didn't put in an id");
  144.                 if(IsPlayerConnected(strval(tmp)) == 0) return SendClientMessage(playerid, red, "ERROR: No player with such id!");
  145.                 cmdid = strval(tmp);
  146.  
  147.                 format(string, sizeof(string), "You've been unfrozen by admin %s", prname);
  148.                 SendClientMessage(cmdid, yellow, string);
  149.                 format(string, sizeof(string), "%s has been unfrozen", idname);
  150.                 SendClientMessage(playerid, yellow, string);
  151.                 format(string, sizeof(string), "%s has been unfrozen by admin %s", idname, prname);
  152.                 print(string);
  153.  
  154.                 TogglePlayerControllable(cmdid, 1);
  155.                 return 1;
  156.  
  157.         }
  158.         if(strcmp("/mute", cmd, true) == 0)
  159.         {
  160.                 tmp = strtok(cmdtext, idx);
  161.                 if(PLVL[playerid] == 0) return SendClientMessage(playerid, red, "ERROR: You're not an admin!");
  162.                 if(!strlen(tmp)) return SendClientMessage(playerid, red, "ERROR: You didn't put in an id!");
  163.                 if(strval(tmp) == playerid) return SendClientMessage(playerid, red, "ERROR: You can't mute yourself!");
  164.                 if(IsPlayerConnected(strval(tmp)) == 0) return SendClientMessage(playerid, red, "ERROR: No player with such id!");
  165.                 cmdid = strval(tmp);
  166.  
  167.                 format(string, sizeof(string), "You have been muted by admin %s", prname);
  168.                 SendClientMessage(cmdid, yellow, string);
  169.                 format(string, sizeof(string), "%s has been muted", idname);
  170.                 SendClientMessage(playerid, yellow, string);
  171.                 format(string, sizeof(string), "%s has been muted by admin %s", idname, prname);
  172.                 print(string);
  173.  
  174.                 PlayerMUTE[playerid] = 1;
  175.                 return 1;
  176.         }
  177.         if(strcmp("/unmute", cmd, true) == 0)
  178.         {
  179.                 tmp = strtok(cmdtext, idx);
  180.                 if(PLVL[playerid] == 0) return SendClientMessage(playerid, red, "Error: You are not an admin");
  181.                 if(!strlen(tmp)) return SendClientMessage(playerid, red, "Error: You did not put in an id");
  182.                 if(strval(tmp) == playerid) return SendClientMessage(playerid, red, "Error: You can not unmute yourself");
  183.                 if(IsPlayerConnected(strval(tmp)) == 0) return SendClientMessage(playerid, red, "Error: That player is not connected");
  184.                 cmdid = strval(tmp);
  185.  
  186.                 format(string, sizeof(string), "You have been unmuted by admin %s", prname);
  187.                 SendClientMessage(cmdid, yellow, string);
  188.                 format(string, sizeof(string), "%s has been unmuted", idname);
  189.                 SendClientMessage(playerid, yellow, string);
  190.                 format(string, sizeof(string), "%s has been unmuted by admin %s", idname, prname);
  191.                 print(string);
  192.  
  193.                 PlayerMUTE[playerid] = 0;
  194.                 return 1;
  195.  
  196.         }
  197.         if(strcmp("/report", cmd, true) == 0)
  198.         {
  199.                 format(string, sizeof(string), "^%s has reported: %s^", prname, cmdtext[8]);
  200.                 print(string);
  201.  
  202.                 for(new i = 0; i < MAX_PLAYERS; i++)
  203.                 {
  204.                     if(PLVL[playerid] == 1)
  205.                     {
  206.                                 SendClientMessage(i, green, string);
  207.                         }
  208.                 }
  209.                 return 1;
  210.                
  211.         }
  212.         if(strcmp("/goto", cmd, true) == 0)
  213.         {
  214.                 tmp = strtok(cmdtext, idx);
  215.                 if(PLVL[playerid] == 0) return SendClientMessage(playerid, red, "ERROR: You're not an admin!");
  216.                 if(!strlen(tmp)) return SendClientMessage(playerid, red, "ERROR: You didn't put in an id!");
  217.                 if(strval(tmp) == playerid) return SendClientMessage(playerid, red, "ERROR: You can't go to yourself!");
  218.                 if(IsPlayerConnected(strval(tmp)) == 0) return SendClientMessage(playerid, red, "ERROR: No player with such id!");
  219.                 cmdid = strval(tmp);
  220.  
  221.                 format(string, sizeof(string), "Admin %s has teleported to you", prname);
  222.                 SendClientMessage(cmdid, yellow, string);
  223.                 format(string, sizeof(string), "You have teleported to %s", idname);
  224.                 SendClientMessage(playerid, yellow, string);
  225.                 format(string, sizeof(string), "%s has teleported to %s", prname, idname);
  226.                 print(string);
  227.  
  228.                 new Float:X, Float:Y, Float:Z;
  229.                 GetPlayerPos(cmdid, X, Y, Z);
  230.                 SetPlayerPos(playerid, X+2, Y, Z);
  231.                 return 1;
  232.  
  233.         }
  234.         if(strcmp("/ad", cmd, true) == 0)
  235.         {
  236.                 if(PLVL[playerid] == 0) return SendClientMessage(playerid, red, "ERROR: You're not an admin");
  237.  
  238.                 format(string, sizeof(string), "%s", cmdtext[5]);
  239.                 GameTextForAll(string, 10000, 0);
  240.                 printf("%s Adviced by %s",cmdtext[5], prname);
  241.                 return 1;
  242.                
  243.         }
  244.         if(strcmp("/check", cmd, true) == 0)
  245.         {
  246.                 tmp = strtok(cmdtext, idx);
  247.                 if(PLVL[playerid] == 0) return SendClientMessage(playerid, red, "ERROR: You're not an admin!");
  248.                 if(!strlen(tmp)) return SendClientMessage(playerid, red, "ERROR: You didn't put in an id!");
  249.                 if(IsPlayerConnected(strval(tmp)) == 0) return SendClientMessage(playerid, red, "ERROR: No player with such id!");
  250.                 cmdid = strval(tmp);
  251.  
  252.                 SendClientMessage(playerid, green, "--|~Player Checker~|--");
  253.                 format(string, sizeof(string), "Players Name: %s", idname);
  254.                 SendClientMessage(playerid, green, string);
  255.                 format(string, sizeof(string), "Players ID: %d", cmdid);
  256.                 SendClientMessage(playerid, green, string);
  257.                 format(string, sizeof(string), "Players Cash: %d", GetPlayerMoney(cmdid));
  258.                 SendClientMessage(playerid, green, string);
  259.                 format(string, sizeof(string), "Players Score: %d", GetPlayerScore(cmdid));
  260.                 SendClientMessage(playerid, green, string);
  261.                 new ip[20];
  262.                 GetPlayerIp(cmdid, ip, sizeof(ip));
  263.                 format(string, sizeof(string), "Players IP: %s", ip);
  264.                 SendClientMessage(playerid, green, string);
  265.                 return 1;
  266.                
  267.         }
  268.         if(strcmp("/ah", cmd, true) == 0)
  269.         {
  270.                 format(string, sizeof(string), "--|~Admin Help~|--");
  271.                 SendClientMessage(playerid, green, string);
  272.                 format(string, sizeof(string), "/ban      =    Bans the id typed afterwards");
  273.                 SendClientMessage(playerid, green, string);
  274.                 format(string, sizeof(string), "/kick     =    Kicks the id typed afterwards");
  275.                 SendClientMessage(playerid, green, string);
  276.                 format(string, sizeof(string), "/freeze   =    Freezes the id typed afterwards");
  277.                 SendClientMessage(playerid, green, string);
  278.                 format(string, sizeof(string), "/unfreeze =    Unfreezes the id typed afterwards");
  279.                 SendClientMessage(playerid, green, string);
  280.                 format(string, sizeof(string), "/mute     =    Mutes the id typed afterwards");
  281.                 SendClientMessage(playerid, green, string);
  282.                 format(string, sizeof(string), "/unmute   =    Unmutes the id typed afterwards");
  283.                 SendClientMessage(playerid, green, string);
  284.                 format(string, sizeof(string), "/ad       =    Makes an advertisement and shows it to all online players");
  285.                 SendClientMessage(playerid, green, string);
  286.                 format(string, sizeof(string), "To use /ad make a double space before writing the advertisement");
  287.                 SendClientMessage(playerid, green, string);
  288.                 format(string, sizeof(string), "/check    =    Checks a players stats");
  289.                 SendClientMessage(playerid, green, string);
  290.                 format(string, sizeof(string), "/goto     =    Teleports to the id typed afterwards");
  291.                 SendClientMessage(playerid, green, string);
  292.                 format(string, sizeof(string), "/report   =    A player can report anything through it");
  293.                 return 1;
  294.                
  295.         }
  296.         if(strcmp("/akill", cmd, true) == 0)
  297.         {
  298.                 tmp = strtok(cmdtext, idx);
  299.                 if(PLVL[playerid] == 0) return SendClientMessage(playerid, red, "ERROR: You're not an admin!");
  300.                 if(!strlen(tmp)) return SendClientMessage(playerid, red, "ERROR: You didn't put in an id!");
  301.                 if(IsPlayerConnected(strval(tmp)) == 0) return SendClientMessage(playerid, red, "ERROR: No player with such id!");
  302.                 cmdid = strval(tmp);
  303.                
  304.                 format(string, sizeof(string), "You have been killed by admin %s");
  305.                 SetPlayerHealth(cmdid, 0.00);
  306.                 return 1;
  307.         }
  308.         return 0;
  309. }
  310.  
  311. strtok(const string[], &index)
  312. {
  313.         new length = strlen(string);
  314.         while ((index < length) && (string[index] <= ' '))
  315.         {
  316.                 index++;
  317.         }
  318.  
  319.         new offset = index;
  320.         new result[20];
  321.         while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  322.         {
  323.                 result[index - offset] = string[index];
  324.                 index++;
  325.         }
  326.         result[index - offset] = EOS;
  327.         return result;
  328. }
Advertisement
Add Comment
Please, Sign In to add comment