Guest User

AdminSys

a guest
Oct 12th, 2014
661
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.67 KB | None | 0 0
  1. #include    <   a_samp  >
  2. #include    <   zcmd    >
  3. #include    <   sscanf  >
  4. #include    <   DOF2    >
  5.  
  6.  
  7. #define GetName(%0) pName[%0]
  8. #define IsAdminLevel(%0) DOF2_GetInt(AFile(%0),"Admin")
  9.  
  10. new pName[MAX_PLAYERS][MAX_PLAYER_NAME];
  11. new str[256];
  12. new bool:InMute[MAX_PLAYERS];
  13.  
  14. forward Kicked(params[0]);
  15. forward Muted(params[0]);
  16.  
  17. main(){}
  18.  
  19. public OnFilterScriptInit()
  20. {
  21.     printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n =Admin sys by [stev212]= \n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
  22.     return true;
  23. }
  24.  
  25. public OnFilterScriptExit()
  26. {
  27.     DOF2_SaveFile();
  28.     return true;
  29. }
  30.  
  31. public OnPlayerConnect(playerid)
  32. {
  33.     GetPlayerName(playerid, pName[playerid], MAX_PLAYER_NAME);
  34.     if(IsAdminLevel(playerid) >= 1)
  35.     {
  36.     format(str,sizeof(str),"#Admin: {FF0000}%s {ffffff}Joined to server",GetName(playerid));
  37.     SendClientMessageToAll(-1,str);
  38.     }
  39.     if(IsAdminLevel(playerid) < 1)
  40.     {
  41.     format(str,sizeof(str),"#Player: {FF0000}%s {ffffff}Joined to server",GetName(playerid));
  42.     SendClientMessageToAll(-1,str);
  43.     }
  44.    
  45.     if(DOF2_FileExists(AFile(playerid)))
  46.     {
  47.         DOF2_GetInt(AFile(playerid),"Admin");
  48.     }else{
  49.         DOF2_SetInt(AFile(playerid),"Admin",0);
  50.         DOF2_CreateFile(AFile(playerid));
  51.     }
  52.     return true;
  53. }
  54.  
  55. public OnPlayerDisconnect(playerid,reason)
  56. {
  57.     DOF2_SaveFile();
  58.     return true;
  59. }
  60.  
  61. public OnPlayerText(playerid, text[])
  62. {
  63.     if(IsAdminLevel(playerid) < 1)
  64.     {
  65.     if(InMute[playerid] == true) return SendClientMessage(playerid, -1, "{FF0000}[Mute]: {ffffff}you are muted!"),false;
  66.     }
  67.     else
  68.     {
  69.     format(str,sizeof(str),"%s{ffffff}: %s[{ffff00}ID: {ff0000}%d]",GetName(playerid),text,playerid);
  70.     SendClientMessageToAll(GetPlayerColor(playerid),str);
  71.     }
  72.     return true;
  73. }
  74.  
  75. CMD:setadmin(playerid,params[])
  76. {
  77.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}[ERROR]: {ffffff}You don't admin!");
  78.     if(sscanf(params,"ui",params[0],params[1])) return SendClientMessage(playerid, -1, "{FF0000}[Usage]: {ffffff}/SetAdmin [ID] [Level]");
  79.     if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "{FF0000}[ERROR]: {ffffff}Player don't connected");
  80.     DOF2_SetInt(AFile(params[0]),"Admin",params[1]);
  81.     format(str,sizeof(str),"#Admin: {FF0000}%s {ffffff}gived you admin level: {ffff00}%d",GetName(playerid),params[1]);
  82.     SendClientMessage(params[0], -1, str);
  83.     return DOF2_SaveFile();
  84. }
  85.  
  86. CMD:kick(playerid,params[])
  87. {
  88.     if(IsAdminLevel(playerid) < 2) return SendClientMessage(playerid, -1, "{FF000}[ERROR]: {ffffff}you don't admin!");
  89.     if(sscanf(params,"us[80]",params[0],params)) return SendClientMessage(playerid, -1, "{FF0000}[Usage]: {ffffff}/Kick [ID] [Reason]");
  90.     if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "{FF0000}[ERROR]: {ffffff}Player don't connected");
  91.     format(str,sizeof(str),"#Admin: {ff0000}%s {ffffff}Kicked: {ffff00}%s {ffffff}Reason: {FF0000}[%s]",GetName(playerid),GetName(params[0]),params);
  92.     SendClientMessageToAll(-1, str);
  93.     return SetTimerEx("Kicked",100,false,"d",params[0]);
  94. }
  95.  
  96. new MuteTimer;
  97. CMD:mute(playerid,params[])
  98. {
  99.     if(IsAdminLevel(playerid) < 1) return SendClientMessage(playerid, -1, "{FF000}[ERROR]: {ffffff}you don't admin!");
  100.     if(sscanf(params,"uis[80]",params[0],params[1],params)) return SendClientMessage(playerid, -1, "{FF0000}[Usage]: {ffffff}/Mute [ID] [Seconds] [Reason]");
  101.     if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "{FF0000}[ERROR]: {ffffff}Player don't connected");
  102.     format(str,sizeof(str),"#Admin: {ff0000}%s {ffffff}Muted: {ffff00}%s {ffffff}for: %d secs Reason: {FF0000}[%s]",GetName(playerid),GetName(params[0]),params[1],params);
  103.     SendClientMessageToAll(-1,str);
  104.     InMute[params[0]] = true;
  105.     MuteTimer = SetTimerEx("Muted",params[1]*1000,false,"d",params[0]);
  106.     return true;
  107. }
  108.  
  109. CMD:unmute(playerid,params[])
  110. {
  111.     if(IsAdminLevel(playerid) < 1) return SendClientMessage(playerid, -1, "{FF000}[ERROR]: {ffffff}you don't admin!");
  112.     if(sscanf(params,"u",params[0])) return SendClientMessage(playerid, -1, "{FF0000}[Usage]: {ffffff}/Mute [ID]");
  113.     if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "{FF0000}[ERROR]: {ffffff}Player don't connected");
  114.     format(str,sizeof(str),"#Admin: {ff0000}%s {ffffff}UnMuted you!",GetName(playerid));
  115.     SendClientMessage(playerid,-1,str);
  116.     InMute[params[0]] = false;
  117.     KillTimer(MuteTimer);
  118.     return true;
  119. }
  120.  
  121. public Muted(params[0]) return InMute[params[0]] = false,KillTimer(MuteTimer),format(str,sizeof(str),"#Player: {ffff00}%s {ffffff}UnMuted by server",GetName(params[0])),SendClientMessageToAll(-1,str);
  122. public Kicked(params[0]) return Kick(params[0]);
  123.  
  124. stock AFile(playerid)
  125. {
  126.     new Name[MAX_PLAYER_NAME+1];
  127.     format(Name,sizeof(Name),"Users/%s.ini",GetName(playerid));
  128.     return Name;
  129. }
Advertisement
Add Comment
Please, Sign In to add comment