Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.02 KB | None | 0 0
  1. #pragma semicolon 1
  2. #pragma tabsize 0
  3. #include <sourcemod>
  4. #include <cstrike>
  5. #include <csgo_colors>
  6. #include <string>
  7.  
  8. public Plugin:myinfo =
  9. {
  10.     name = " ADMIN ONLINE",
  11.     version = "2.0.0"
  12. };
  13.  
  14. char g_PlayedStartOnline[MAXPLAYERS+1];
  15. Handle g_CTPlayedTimer[MAXPLAYERS+1];
  16. int g_CTPlayedCout[MAXPLAYERS+1];
  17.  
  18. public OnPluginStart()
  19. {
  20.     HookEvent("round_start", RS);
  21. }
  22.  
  23. public OnClientPutInServer(int iClient)  
  24. {
  25.     CreateTimer(15.0, Timer_Welcome, GetClientUserId(iClient), TIMER_FLAG_NO_MAPCHANGE);
  26. }
  27.  
  28. public RS(Handle:event, const String:name[], bool:dontBroadcast)
  29. {
  30.     for(int i = 1; i <= MaxClients; i++)
  31.     {
  32.         if(IsClientInGame(i))
  33.         {
  34.             if(GetUserFlagBits(i) & ADMFLAG_KICK || GetUserFlagBits(i) & ADMFLAG_ROOT)
  35.             {
  36.                 if(g_CTPlayedTimer[i] == null && GetClientTeam(i) == CS_TEAM_CT)
  37.                 {
  38.                     g_CTPlayedTimer[i] = CreateTimer(10.0, Timer_CTPLAYED, GetClientUserId(i), TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT);
  39.                     g_CTPlayedCout[i] = 0;
  40.                 }
  41.             }
  42.         }
  43.     }
  44. }
  45.  
  46. public OnClientDisconnect(int iClient)
  47. {  
  48.     if(IsClientInGame(iClient) && GetUserFlagBits(iClient) & ADMFLAG_KICK || GetUserFlagBits(iClient) & ADMFLAG_ROOT)
  49.     {
  50.         char g_PlayerEnd[30];
  51.         FormatTime(g_PlayerEnd, sizeof(g_PlayerEnd), "%T");    
  52.        
  53.         char g_NameAdmin[64];
  54.         GetClientName(iClient, g_NameAdmin, sizeof(g_NameAdmin));
  55.         char g_PlayedMinute[30];
  56.         strcopy(g_PlayedStartOnline[iClient], sizeof(g_PlayedStartOnline), g_PlayedMinute);
  57.         char szMap[60];
  58.         GetCurrentMap(szMap, sizeof(szMap));
  59.        
  60.        
  61.         float g_TotalPlayed = GetClientTime(iClient) / 60.0;
  62.        
  63.         int g_CTPlayed = g_CTPlayedCout[iClient] / 6;
  64.        
  65.         char NameAdminPath[PLATFORM_MAX_PATH];
  66.         BuildPath(Path_SM, NameAdminPath, sizeof(NameAdminPath), "logs/AdminControl/%s.txt", g_NameAdmin);
  67.         LogToFileEx(NameAdminPath, "[%s] Зашел: %s| Отыграл всего: %f минут | Играл за КТ: %d минут | Карта: %s | Вышел: %s", g_NameAdmin, g_PlayedMinute, g_TotalPlayed, g_CTPlayed, szMap, g_PlayerEnd);
  68.     }
  69.    
  70.     if(g_CTPlayedCout[iClient] != 0)
  71.         g_CTPlayedCout[iClient] = 0;
  72.    
  73.     if(g_CTPlayedTimer[iClient] != null)
  74.     {
  75.         delete g_CTPlayedTimer[iClient];
  76.         g_CTPlayedTimer[iClient] = null;
  77.     }
  78. }
  79.  
  80. public Action Timer_CTPLAYED(Handle timer)
  81. {
  82.     for(int i = 1; i <= MaxClients; i++)
  83.     {
  84.         if(IsClientInGame(i) && GetClientTeam(i) == CS_TEAM_CT)
  85.         {
  86.             if(GetUserFlagBits(i) & ADMFLAG_KICK || GetUserFlagBits(i) & ADMFLAG_ROOT)
  87.             {
  88.                 g_CTPlayedCout[i]++;
  89.                
  90.                 return Plugin_Continue;
  91.             }
  92.         }
  93.         g_CTPlayedTimer[i] = null;
  94.     }
  95.    
  96.     return Plugin_Stop;
  97. }
  98.  
  99. public Action Timer_Welcome(Handle hTimer, any UserId)
  100. {
  101.     int iClient = GetClientOfUserId(UserId);  
  102.     if(iClient)    
  103.     {
  104.         if(GetUserFlagBits(iClient) & ADMFLAG_KICK || GetUserFlagBits(iClient) & ADMFLAG_ROOT)
  105.         {
  106.             char g_PlayedMinute[30];
  107.             FormatTime(g_PlayedMinute, sizeof(g_PlayedMinute), "%T");
  108.             strcopy(g_PlayedMinute, sizeof(g_PlayedMinute[]), g_PlayedStartOnline[iClient]);
  109.            
  110.             g_CTPlayedCout[iClient] = 0;
  111.         }
  112.     }
  113.  
  114.     return Plugin_Stop;
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement