Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma semicolon 1
- #pragma tabsize 0
- #include <sourcemod>
- #include <cstrike>
- #include <csgo_colors>
- #include <string>
- public Plugin:myinfo =
- {
- name = " ADMIN ONLINE",
- version = "2.0.0"
- };
- char g_PlayedStartOnline[MAXPLAYERS+1];
- Handle g_CTPlayedTimer[MAXPLAYERS+1];
- int g_CTPlayedCout[MAXPLAYERS+1];
- public OnPluginStart()
- {
- HookEvent("round_start", RS);
- }
- public OnClientPutInServer(int iClient)
- {
- CreateTimer(15.0, Timer_Welcome, GetClientUserId(iClient), TIMER_FLAG_NO_MAPCHANGE);
- }
- public RS(Handle:event, const String:name[], bool:dontBroadcast)
- {
- for(int i = 1; i <= MaxClients; i++)
- {
- if(IsClientInGame(i))
- {
- if(GetUserFlagBits(i) & ADMFLAG_KICK || GetUserFlagBits(i) & ADMFLAG_ROOT)
- {
- if(g_CTPlayedTimer[i] == null && GetClientTeam(i) == CS_TEAM_CT)
- {
- g_CTPlayedTimer[i] = CreateTimer(10.0, Timer_CTPLAYED, GetClientUserId(i), TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT);
- g_CTPlayedCout[i] = 0;
- }
- }
- }
- }
- }
- public OnClientDisconnect(int iClient)
- {
- if(IsClientInGame(iClient) && GetUserFlagBits(iClient) & ADMFLAG_KICK || GetUserFlagBits(iClient) & ADMFLAG_ROOT)
- {
- char g_PlayerEnd[30];
- FormatTime(g_PlayerEnd, sizeof(g_PlayerEnd), "%T");
- char g_NameAdmin[64];
- GetClientName(iClient, g_NameAdmin, sizeof(g_NameAdmin));
- char g_PlayedMinute[30];
- strcopy(g_PlayedStartOnline[iClient], sizeof(g_PlayedStartOnline), g_PlayedMinute);
- char szMap[60];
- GetCurrentMap(szMap, sizeof(szMap));
- float g_TotalPlayed = GetClientTime(iClient) / 60.0;
- int g_CTPlayed = g_CTPlayedCout[iClient] / 6;
- char NameAdminPath[PLATFORM_MAX_PATH];
- BuildPath(Path_SM, NameAdminPath, sizeof(NameAdminPath), "logs/AdminControl/%s.txt", g_NameAdmin);
- LogToFileEx(NameAdminPath, "[%s] Зашел: %s| Отыграл всего: %f минут | Играл за КТ: %d минут | Карта: %s | Вышел: %s", g_NameAdmin, g_PlayedMinute, g_TotalPlayed, g_CTPlayed, szMap, g_PlayerEnd);
- }
- if(g_CTPlayedCout[iClient] != 0)
- g_CTPlayedCout[iClient] = 0;
- if(g_CTPlayedTimer[iClient] != null)
- {
- delete g_CTPlayedTimer[iClient];
- g_CTPlayedTimer[iClient] = null;
- }
- }
- public Action Timer_CTPLAYED(Handle timer)
- {
- for(int i = 1; i <= MaxClients; i++)
- {
- if(IsClientInGame(i) && GetClientTeam(i) == CS_TEAM_CT)
- {
- if(GetUserFlagBits(i) & ADMFLAG_KICK || GetUserFlagBits(i) & ADMFLAG_ROOT)
- {
- g_CTPlayedCout[i]++;
- return Plugin_Continue;
- }
- }
- g_CTPlayedTimer[i] = null;
- }
- return Plugin_Stop;
- }
- public Action Timer_Welcome(Handle hTimer, any UserId)
- {
- int iClient = GetClientOfUserId(UserId);
- if(iClient)
- {
- if(GetUserFlagBits(iClient) & ADMFLAG_KICK || GetUserFlagBits(iClient) & ADMFLAG_ROOT)
- {
- char g_PlayedMinute[30];
- FormatTime(g_PlayedMinute, sizeof(g_PlayedMinute), "%T");
- strcopy(g_PlayedMinute, sizeof(g_PlayedMinute[]), g_PlayedStartOnline[iClient]);
- g_CTPlayedCout[iClient] = 0;
- }
- }
- return Plugin_Stop;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement