Tiempo de conneccion solo para admin
#1
Bombilla 
Como puedo hacer que este codido, solo registre el tiempo de los administradores y que solo lo registre cuando este jugando, es decir, que no tome en cuenta cuando este spectando?

Código PHP:
/*Played Time with "Current(Total) played Time" on server.*
*                   (nVault support)                          *
*Author:Alka                                              *
*Version: 1.3                                              *
*---------------------------------------------------------*
*                                                          *
***********************************************************/
#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN "Played Time"
#define VERSION "1.3"
#define AUTHOR "Alka"

#define NVAULT
#define PRUNE
#define PRUNE_TIME 1296000

new showpt;

new 
TotalPlayedTime[33];

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR );
    
    
register_clcmd("say""handle_say"ADMIN_BAN);
    
register_concmd("amx_playedtime""admin_showptime"ADMIN_BAN," <#Player Name> - Details about playedtime.");
    
register_clcmd("say /smt15""show_top15"ADMIN_BAN);
    
    
showpt register_cvar("amx_pt_mod","1");
    
}

public 
handle_say(id
{
    static 
said[9]
    
read_argv(1said8);
    
    if(
equali(said"!ptime"))
    {
        static 
ctime[64], timep;
        
        
timep get_user_time(id1) / 60;
        
get_time("%H:%M:%S"ctime63);
        
        switch(
get_pcvar_num(showpt))
        {
            case 
0: return PLUGIN_HANDLED;
                
            case 
:
            {
                
client_print(idprint_chat"[PT]You have been playing on the server for: %d minute%s."timeptimep == "" "s");
                
#if defined NVAULT 
                
client_print(idprint_chat"[PT]Your total played time on the server: %d minute%s."timep+TotalPlayedTime[id], timep+TotalPlayedTime[id] == "" "s");
                
#endif
                
client_print(idprint_chat"[PT]Current time: %s"ctime);
            }
            case 
:
            {
                
set_hudmessage(25550500.340.5006.04.00.10.2, -1);
                
show_hudmessage(id"[PT]You have been playing on the server for: %d minute%s.^n[PT]Current time: %s"timeptimep == "" "s"ctime);
            }
        }
        return 
PLUGIN_HANDLED;
    }
    return 
PLUGIN_CONTINUE;
}

public 
admin_showptime(id,level,cid
{
    if(!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED;
    
    static 
arg[32];
    
read_argv(1arg31);
    
    new 
player cmd_target(idarg2);
    
    if(!
player)
        return 
PLUGIN_HANDLED;
    
    static 
name[32];
    
get_user_name(playername31);
    
    static 
timepctime[64];
    
    
timep get_user_time(player1) / 60;
    
get_time("%H:%M:%S"ctime63);
    
    
console_print(id"-----------------------(#PlayedTime#)-----------------------");
    
console_print(id"[PT]%s have been playing on the server for %d minute%s.",nametimeptimep == "" "s");
    
#if defined NVAULT
    
console_print(id"[PT]%s's total played time on the server %d minute%s.",nametimep+TotalPlayedTime[player], timep == "" "s"); // new
    #endif
    
console_print(id"[PT]Current time: %s"ctime);
    
console_print(id"-----------------------------------------------------------------");
    
    return 
PLUGIN_HANDLED;
}

#if defined NVAULT
public client_disconnect(id)
{
    
TotalPlayedTime[id] = TotalPlayedTime[id] + (get_user_time(id)/60);
    
SaveTime(idTotalPlayedTime[id]);
}
#endif

#if defined NVAULT
public client_putinserver(id)
{
    
TotalPlayedTime[id] = LoadTime(id);
}
#endif

#if defined NVAULT
public LoadTimeid 
{
    new 
valut nvault_open("Time_played")
    
    new 
authid[33];
    new 
vaultkey[64], vaultdata[64];
    
    
get_user_authid(idauthid32);
    
    
format(vaultkey63"TIMEPLAYED%s"authid);
    
    
nvault_get(valutvaultkeyvaultdata63);
    
nvault_close(valut);
    
    return 
str_to_num(vaultdata);
}
#endif

#if defined NVAULT
public SaveTime(id,PlayedTime)
{
    new 
valut nvault_open("Time_played")
    
    if(
valut == INVALID_HANDLE)
        
set_fail_state("nValut returned invalid handle")
    
    new 
authid[33];
    new 
vaultkey[64], vaultdata[64];
    
    
get_user_authid(idauthid32);
    
    
format(vaultkey63"TIMEPLAYED%s"authid); 
    
format(vaultdata63"%d"PlayedTime); 
    
    
nvault_set(valutvaultkeyvaultdata);
    
nvault_close(valut);
}
#endif

#if defined PRUNE
public prune()
{
    new 
valut nvault_open("Time_played");
    
    if(
valut == INVALID_HANDLE)
        
set_fail_state("nValut returned invalid handle");
    
    
nvault_prune(valut0get_systime() - PRUNE_TIME);
    
nvault_close(valut);
}
#endif

#if defined PRUNE
public plugin_end()
{
    
prune()
}
#endif

#if defined NVAULT
public show_top15(id)
{
    new 
icount;
    static 
sort[33][2], maxPlayers;
    
    if(!
maxPlayersmaxPlayers get_maxplayers();
    
    for(
i=1;i<=maxPlayers;i++)
    {
        
sort[count][0] = i;
        
sort[count][1] = TotalPlayedTime[i] + (get_user_time(i1) / 60);
        
count++;
    }
    
    
SortCustom2D(sort,count,"stats_custom_compare");
    
    new 
motd[1024], len    
    
    len 
format(motd1023,"<body bgcolor=#000000><font color=#FFB000><pre>")
    
len += format(motd[len], 1023-len,"%s %-22.22s %3s^n""#""Name""Time")
    
    new 
players[32], num
    get_players
(playersnum)
    
    new 
clamp(count,0,15)
    
    new 
name[32], player
    
    
for(new 0ba++)
    {
        
player sort[a][0]
        
        
get_user_name(playername31)        
        
len += format(motd[len], 1023-len,"%d %-22.22s %d^n"a+1namesort[a][1])
    }
    
    
len += format(motd[len], 1023-len,"</body></font></pre>")
    
show_motd(idmotd"Played-Time Top 15")
    
    return 
PLUGIN_CONTINUE
}
#endif

public stats_custom_compare(elem1[],elem2[])
{
    if(
elem1[1] > elem2[1]) return -1;
    else if(
elem1[1] < elem2[1]) return 1;
        
    return 
0;

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)