Help Pls

Coding Help/Re-API Supported
Post Reply
_Joker_
Member
Member
Posts: 4
Joined: 2 years ago
Contact:

Help Pls

#1

Post by _Joker_ » 2 years ago

I need help !! When i change it To Say /online and i wanna time be saved not when i leave time rest to 00:00 i wanna it saved

User avatar
z0h1r-LK
Mod Developer
Mod Developer
Morocco
Posts: 473
Joined: 5 years ago
Location: The Red City ❤
Contact:

#2

Post by z0h1r-LK » 1 year ago

do you want played time plugin?
Last edited by z0h1r-LK 1 year ago, edited 1 time in total.
Reason: Added this ?

User avatar
sPe3doN
Senior Member
Senior Member
Algeria
Posts: 258
Joined: 7 years ago
Contact:

#3

Post by sPe3doN » 1 year ago

i don't remember but it think this code was working fine with me

Code: Select all

#include <amxmodx>
#include <nvault>
 
#define PLAYED_TIME_TASK 9100
 
new const g_szVault_Name[] = "Played_Time"
 
new g_iPlayedTime[33], g_iVaultHandler
 
public plugin_natives()
{
    // Native to return played time in seconds, plugin will save using nVault
    register_native("ze_get_played_time", "native_ze_get_played_time", 1)
}
 
public plugin_init()
{
    register_plugin("Played Time", "1.0", "Raheem")
   
    // Commands
    register_clcmd("say /online", "ShowPlayedTime")
    register_clcmd("say_team /online", "ShowPlayedTime")
}
 
public ShowPlayedTime(id) 
{
    new hrs = g_iPlayedTime[id]/3600, mins = g_iPlayedTime[id]/60, secs = g_iPlayedTime[id]%60

    client_print_color(id, "!yYour total played time is: !g%s%d!yH!t:!g%s%d!yM!t:!g%s%d!yS", (hrs < 10 ? "0" : ""), hrs, (mins < 10 ? "0" : ""), mins, (secs < 10 ? "0" : ""), secs)
    client_cmd(0, "spk buttons/bell1")
}


public client_putinserver(id)
{
    if(is_user_hltv(id) || is_user_bot(id))
        return
   
    // Just 1 second delay
    set_task(0.5, "DelayLoad", id)
   
    // Save played seconds
    set_task(1.0, "IncreaseTimePlayed", id+PLAYED_TIME_TASK, _, _, "b")
}
 
public DelayLoad(id)
{
    // Load his time played
    LoadPlayedTime(id)
}
 
public IncreaseTimePlayed(taskid)
{
    new id = taskid - PLAYED_TIME_TASK
   
    g_iPlayedTime[id]++
}
 
public client_disconnected(id)
{
    if(is_user_hltv(id) || is_user_bot(id))
        return
   
    // Save played time
    SavePlayedTime(id)
   
    remove_task(id+PLAYED_TIME_TASK)
    remove_task(id)
}
 
public SavePlayedTime(id)
{
    new szAuthID[35]
    get_user_authid(id, szAuthID, charsmax(szAuthID))
   
    new szData[128]
    num_to_str(g_iPlayedTime[id], szData, charsmax(szData))
   
    // Open the Vaults
    g_iVaultHandler = nvault_open(g_szVault_Name)
   
    // Saves His Data
    nvault_set(g_iVaultHandler, szAuthID, szData)
   
    // Close Vaults
    nvault_close(g_iVaultHandler)
}
 
public LoadPlayedTime(id)
{
    new szData[128], szAuthID[35]
   
    get_user_authid(id, szAuthID, charsmax(szAuthID))
   
    // Useless Variable
    new iTimestamp, iExists
   
    // Open the Vault
    g_iVaultHandler = nvault_open(g_szVault_Name)
   
    iExists = nvault_lookup(g_iVaultHandler, szAuthID, szData, charsmax(szData), iTimestamp)
   
    // Close Vault
    nvault_close(g_iVaultHandler)
   
    if (!iExists)
    {
        SavePlayedTime(id)
    }
    else
    {
        g_iPlayedTime[id] = str_to_num(szData)
    }
}
 
public native_ze_get_played_time(id)
{
    if(!is_user_connected(id))
    {
        log_error(AMX_ERR_NATIVE, "[ZE] Invalid Player id (%d)", id)
        return -1;
    }
   
    return g_iPlayedTime[id]
}

stock client_print_color(const id, const input[], any:...)  
{  
    new count = 1, players[32];  
    static msg[191];  
    vformat(msg, 190, input, 3);  

    replace_all(msg, 190, "!g", "^x04"); // Green Color  
    replace_all(msg, 190, "!y", "^x01"); // Default Color  
    replace_all(msg, 190, "!t", "^x03"); // Team Color  

    if (id) players[0] = id; else get_players(players, count, "ch");  
    {  
        for (new i = 0; i < count; i++)  
        {  
            if (is_user_connected(players[i]))  
            {  
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);  
                write_byte(players[i]);  
                write_string(msg);  
                message_end();  
            }  
        }  
    }  
}
Image

Post Reply

Create an account or sign in to join the discussion

You need to be a member in order to post a reply

Create an account

Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute

Register

Sign in

Who is online

Users browsing this forum: No registered users and 9 guests