Код за потвърждение: Избери целия код
#include <amxmodx>
#include <engine>
#include <fvault>
new const szFVaultName[] = "played_time";
new const szHudClass[] = "hud_think_class_ptime";
new g_iPlayedSeconds[33];
new g_iMaxPlayers, g_iSyncChannel;
public plugin_init()
{
register_plugin("Played time", "1.0", "AMXX-BG.info");
new iEnt = create_entity("info_target");
if (iEnt)
{
register_think(szHudClass, "FwHudThink");
entity_set_string(iEnt, EV_SZ_classname, szHudClass);
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.1);
}
g_iMaxPlayers = get_maxplayers();
g_iSyncChannel = CreateHudSyncObj();
}
public FwHudThink(iEnt)
{
if (!is_valid_ent(iEnt)) return;
new szTimeFormat[32];
for (new i = 1; i <= g_iMaxPlayers; i++)
{
if (!is_user_connected(i)) continue;
formatex(szTimeFormat, charsmax(szTimeFormat), "");
g_iPlayedSeconds[i]++;
GetTimeFormat(g_iPlayedSeconds[i], szTimeFormat);
set_hudmessage(0, 150, 200, 0.01, 0.2, 0, .channel=-1);
ShowSyncHudMsg(i, g_iSyncChannel, "Played time: %s", szTimeFormat);
}
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 1.0);
}
public client_putinserver(id)
{
new szName[32];
get_user_name(id, szName, charsmax(szName));
LoadData(id, szName);
}
public client_disconnected(id)
{
new szName[32];
get_user_name(id, szName, charsmax(szName));
SaveData(id, szName);
}
LoadData(id, szName[])
{
new szData[32];
if (fvault_get_data(szFVaultName, szName, szData, charsmax(szData)))
{
g_iPlayedSeconds[id] = str_to_num(szData);
}
else
{
g_iPlayedSeconds[id] = 0;
}
}
SaveData(id, szName[])
{
new szData[32];
num_to_str(g_iPlayedSeconds[id], szData, charsmax(szData));
fvault_set_data(szFVaultName, szName, szData);
}
GetTimeFormat(iSeconds, szFormat[32])
{
new iHours = iSeconds / 3600;
formatex(szFormat, charsmax(szFormat), "%s%i", (iHours < 10) ? "0" : "", iHours);
new iMinutes = iSeconds % 3600 / 60;
format(szFormat, charsmax(szFormat), "%s:%s%i", szFormat, (iMinutes < 10) ? "0" : "", iMinutes);
iSeconds = iSeconds % 3600 % 60;
format(szFormat, charsmax(szFormat), "%s:%s%i", szFormat, (iSeconds < 10) ? "0" : "", iSeconds);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1026{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/