RU
RU
UA
EN
PL
ГЛАВНАЯ
УСЛУГИ
ПЛАГИНЫ
КАРТЫ
REBUY
SCANMON
CASSA
SALE
ФОРУМ
МОНИТОР
HELP
КОНТАКТ
Главная
/
Plugins
/
PlayTime
PlayTime
Теги:
Скачать плагины csgo
Серверные
ЗАПИСЫВАЕТ ВРЕМЯ ИГРОКА НА СЕРВЕРЕ
Компилятор: 1.9.0.6281
1028
Команды:
!time - Узнать сколько вы отыграли.
.sma / .sp
#include
#include
#include
#include
#pragma newdecls required #pragma semicolon 1 #define CID(%0) GetClientOfUserId(%0) #define UID(%0) GetClientUserId(%0) public Plugin myinfo = { name = "Playtime", author = "Krabos", description = "new decls", version = "v2", url = "vk.com/id43209014" }; char sSid[MAXPLAYERS + 1][32]; int iLoadTime[MAXPLAYERS + 1]; int iTotalTime[MAXPLAYERS + 1]; Database db = null; public void OnPluginStart() { RegConsoleCmd("time", SpendTime); KeyValues kvTemp = new KeyValues(""); kvTemp.SetString("driver", "sqlite"); kvTemp.SetString("database", "playtime"); kvTemp.SetString("user", "root"); kvTemp.SetString("pass", ""); char sError[PLATFORM_MAX_PATH]; db = SQL_ConnectCustom(kvTemp, sError, PLATFORM_MAX_PATH, false); if (db == null) { LogError("База данных не создана,причина: %s", sError); } else { CreateTables(); } delete kvTemp; } void CreateTables() { SQL_LockDatabase(db); SQL_FastQuery(db, "CREATE TABLE IF NOT EXISTS pinfo (sid text primary key, regtime integer, totaltime integer);"); SQL_UnlockDatabase(db); } public void OnClientPostAdminCheck(int lClient) { if (!GetClientAuthId(lClient, AuthId_Engine, sSid[lClient], 32, true)) return; NullVars(lClient); char sLoadBuff[150]; FormatEx(sLoadBuff, 150, "SELECT totaltime FROM pinfo WHERE sid = '%s'", sSid[lClient]); db.Query(SQL_LoadPlayerInfo, sLoadBuff, UID(lClient)); } void NullVars(int client) { iLoadTime[client] = 0; iTotalTime[client] = 0; } public void NullResult(Database nlDb, DBResultSet nlResults, const char[] nlError, any iErrorId) { if (nlError[0] || nlResults == null) { LogError("[WCS_DB] ~~NullResultERR &%d& : %s", iErrorId, nlError); } } public void SQL_LoadPlayerInfo(Database dbl, DBResultSet pResults, const char[] sError, any iUserIndex) { if (sError[0] != '\0') { LogError("[SQL_LoadPlayerInfo] ~~ERR: %s", sError); return; } int iLoadClient = CID(iUserIndex); if (!iLoadClient || !IsClientInGame(iLoadClient)) return; iLoadTime[iLoadClient] = GetTime(); if (pResults.FetchRow()) { iTotalTime[iLoadClient] = pResults.FetchInt(0); } else { //create new player char sLoadQuery[150]; FormatEx(sLoadQuery, 150, "INSERT INTO pinfo(sid, regtime, totaltime) VALUES ('%s', %d, 0);", sSid[iLoadClient], iLoadTime[iLoadClient]); db.Query(NullResult, sLoadQuery, 130); } } public void OnClientDisconnect(int pclient) { int iLastTime = GetTime() - iLoadTime[pclient]; iLastTime = iTotalTime[pclient] + iLastTime; char sSaveQuery[150]; FormatEx(sSaveQuery, 150, "UPDATE pinfo SET totaltime = %d WHERE sid = '%s'", iLastTime, sSid[pclient]); db.Query(NullResult, sSaveQuery, 561); } public Action SpendTime(int client, int args) { Panel pTime = new Panel(); pTime.SetTitle("Статистика\n "); int iToTime = GetTime() - iLoadTime[client]; iToTime = iTotalTime[client] + iToTime; iToTime = iToTime / 60 / 60; char sEnding[6]; if (iToTime > 0 && iToTime < 2) { sEnding[0] = '\0'; } else if (iToTime > 4) { strcopy(sEnding, sizeof(sEnding), "а"); } else { strcopy(sEnding, sizeof(sEnding), "ов"); } char sString[70]; FormatEx(sString, sizeof(sString), "Ваш общий онлайн: %d час%s\n ", iToTime, sEnding); pTime.DrawText(sString); pTime.DrawItem("Выход"); pTime.Send(client, MS_NoSelect, 0); delete pTime; } public int MS_NoSelect(Menu no_Menu, MenuAction no_Action, int no_User, int no_Option) { }
Отправить
Загрузил
exec208
2019-01-24 10:07:28
0
80
Установить на сервер
Скачать
Нет оплаченых серверов
Купить сервер CS 1.6
Купить сервер CS:GO
Купить сервер CSS v34
Подключить свой VDS к панели
Данная иконка означает, что плагин был проверен администрацией хостинга на тестовом сервере, и проблем с ним не было выявлено. Рекомендуем ставить исключительно проверенные плагины.
Плагин загружен на сервер, но проверка еще не была проведена.
CSHOST.COM.UA 2012-2026 Хостинг игровых серверов