Playd Time

Unpaid Requests, Public Plugins
Post Reply
User avatar
sPe3doN
Senior Member
Senior Member
Algeria
Posts: 258
Joined: 7 years ago
Contact:

Playd Time

#1

Post by sPe3doN » 4 years ago

can we add new things on this plugin ?
Change time count to hours and minutes exp (Played Time for: 10h:26m)
and who reach 50 hours get vip for 15 days

Code: Select all

#include <zombie_escape>
#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 /played", "ShowPlayedTime")
    register_clcmd("say_team /played", "ShowPlayedTime")
}
 
public ShowPlayedTime(id)
{
    ze_colored_print(id, "!tYour played time!y: !g%i !tMinutes!y!", g_iPlayedTime[id]/60)
}
 
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)
    g_iPlayedTime[id] = 0
}
 
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)
    {
        g_iPlayedTime[id] = 0
        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]
}
Image

Muhammet20
Veteran Member
Veteran Member
Posts: 408
Joined: 5 years ago
Contact:

#2

Post by Muhammet20 » 4 years ago

sPe3doN wrote: 4 years ago can we add new things on this plugin ?
Change time count to hours and minutes exp (Played Time for: 10h:26m)
and who reach 50 hours get vip for 15 days

Code: Select all

#include <zombie_escape>
#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 /played", "ShowPlayedTime")
    register_clcmd("say_team /played", "ShowPlayedTime")
}
 
public ShowPlayedTime(id)
{
    ze_colored_print(id, "!tYour played time!y: !g%i !tMinutes!y!", g_iPlayedTime[id]/60)
}
 
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)
    g_iPlayedTime[id] = 0
}
 
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)
    {
        g_iPlayedTime[id] = 0
        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]
}
for the hours and minutes count, i have made 2 codes
but haven't tested it,
and for 15 day vip i don't know how to, you can ask @Raheem
you can try and choose the working one:

Code: Select all

#include <zombie_escape>
#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 /played", "ShowPlayedTime")
    register_clcmd("say_team /played", "ShowPlayedTime")
}
 
public ShowPlayedTime(id)
{
    if(g_iPlayedTime[id] => 3600)
    {
    	ze_colored_print(id, "!tYour played time!y: !g%i !tHours!y!", g_iPlayedTime[id]/3600)
    }
    else
    {
	ze_colored_print(id, "!tYour played time!y: !g%i !tMinutes!y!", g_iPlayedTime[id]/60)
    }
}
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)
    g_iPlayedTime[id] = 0
}
 
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)
    {
        g_iPlayedTime[id] = 0
        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]
}

the other one:

Code: Select all

#include <zombie_escape>
#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 /played", "ShowPlayedTime")
    register_clcmd("say_team /played", "ShowPlayedTime")
}
 
public ShowPlayedTime(id)
{
    ze_colored_print(id, "!tYour played time!y: !g%i !tHours!y!", g_iPlayedTime[id]/3600)
}
 
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)
    g_iPlayedTime[id] = 0
}
 
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)
    {
        g_iPlayedTime[id] = 0
        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]
}

for my choose if the 2 codes are working, i prefer the second one
but it's for your opinion

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

#3

Post by sPe3doN » 4 years ago

Muhammet20 wrote: 4 years ago
sPe3doN wrote: 4 years ago can we add new things on this plugin ?
Change time count to hours and minutes exp (Played Time for: 10h:26m)
and who reach 50 hours get vip for 15 days

Code: Select all

#include <zombie_escape>
#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 /played", "ShowPlayedTime")
    register_clcmd("say_team /played", "ShowPlayedTime")
}
 
public ShowPlayedTime(id)
{
    ze_colored_print(id, "!tYour played time!y: !g%i !tMinutes!y!", g_iPlayedTime[id]/60)
}
 
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)
    g_iPlayedTime[id] = 0
}
 
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)
    {
        g_iPlayedTime[id] = 0
        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]
}
for the hours and minutes count, i have made 2 codes
but haven't tested it,
and for 15 day vip i don't know how to, you can ask @Raheem
you can try and choose the working one:

Code: Select all

#include <zombie_escape>
#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 /played", "ShowPlayedTime")
    register_clcmd("say_team /played", "ShowPlayedTime")
}
 
public ShowPlayedTime(id)
{
    if(g_iPlayedTime[id] => 3600)
    {
    	ze_colored_print(id, "!tYour played time!y: !g%i !tHours!y!", g_iPlayedTime[id]/3600)
    }
    else
    {
	ze_colored_print(id, "!tYour played time!y: !g%i !tMinutes!y!", g_iPlayedTime[id]/60)
    }
}
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)
    g_iPlayedTime[id] = 0
}
 
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)
    {
        g_iPlayedTime[id] = 0
        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]
}

the other one:

Code: Select all

#include <zombie_escape>
#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 /played", "ShowPlayedTime")
    register_clcmd("say_team /played", "ShowPlayedTime")
}
 
public ShowPlayedTime(id)
{
    ze_colored_print(id, "!tYour played time!y: !g%i !tHours!y!", g_iPlayedTime[id]/3600)
}
 
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)
    g_iPlayedTime[id] = 0
}
 
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)
    {
        g_iPlayedTime[id] = 0
        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]
}

for my choose if the 2 codes are working, i prefer the second one
but it's for your opinion
how i dont think to use 3600 damn it, good idea thanks dude, but we still have a problem if you played 2 hours it will be like this 2hours:120minute
Image

Muhammet20
Veteran Member
Veteran Member
Posts: 408
Joined: 5 years ago
Contact:

#4

Post by Muhammet20 » 4 years ago

which code are you using? the first or second?

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

#5

Post by sPe3doN » 4 years ago

Muhammet20 wrote: 4 years ago which code are you using? the first or second?
Seconde code and I add this : , g_iPlayedTime[id]/60)
Image

Muhammet20
Veteran Member
Veteran Member
Posts: 408
Joined: 5 years ago
Contact:

#6

Post by Muhammet20 » 4 years ago

sPe3doN wrote: 4 years ago
Muhammet20 wrote: 4 years ago which code are you using? the first or second?
Seconde code and I add this : , g_iPlayedTime[id]/60)
try the code without add anything
also try it from another name, i mean try it from a new name to see when your played hours is under the one hours how it will seen and if not work i will fix it when turn my pc on

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

#7

Post by sPe3doN » 4 years ago

Muhammet20 wrote: 4 years ago
sPe3doN wrote: 4 years ago
Muhammet20 wrote: 4 years ago which code are you using? the first or second?
Seconde code and I add this : , g_iPlayedTime[id]/60)
try the code without add anything
also try it from another name, i mean try it from a new name to see when your played hours is under the one hours how it will seen and if not work i will fix it when turn my pc on
nah there is no problem on code we just need to add somthing that reset minutes to 0 when minutes be 59
Image

Muhammet20
Veteran Member
Veteran Member
Posts: 408
Joined: 5 years ago
Contact:

#8

Post by Muhammet20 » 4 years ago

i have a new idea for this but am sorry you must wait cuz i can't turn the pc in anytime, just somedays and i will give you the fix

Muhammet20
Veteran Member
Veteran Member
Posts: 408
Joined: 5 years ago
Contact:

#9

Post by Muhammet20 » 4 years ago

Code: Select all

#include <zombie_escape>
#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 /played", "ShowPlayedTime")
    register_clcmd("say_team /played", "ShowPlayedTime")
}
 
public ShowPlayedTime(id)
{
    if(g_iPlayedTime[id] => 3600)
    {
        ze_colored_print(id, "!tYour played time!y: !g%i !tHours!y!", g_iPlayedTime[id]/60)
    }
    else
    {
        ze_colored_print(id, "!tYour played time!y: !g%i !tHours!y and !g%i !tMinutes!y!",g_iPlayedTime[id]/3600 ,g_iPlayedTime[id]/60-60)
    }
}
 
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)
    g_iPlayedTime[id] = 0
}
 
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)
    {
        g_iPlayedTime[id] = 0
        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]
}
i'm sure this will work with you, but if not work wait me a few days while founding a fix
let me know if work or not

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

#10

Post by sPe3doN » 4 years ago

Muhammet20 wrote: 4 years ago

Code: Select all

#include <zombie_escape>
#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 /played", "ShowPlayedTime")
    register_clcmd("say_team /played", "ShowPlayedTime")
}
 
public ShowPlayedTime(id)
{
    if(g_iPlayedTime[id] => 3600)
    {
        ze_colored_print(id, "!tYour played time!y: !g%i !tHours!y!", g_iPlayedTime[id]/60)
    }
    else
    {
        ze_colored_print(id, "!tYour played time!y: !g%i !tHours!y and !g%i !tMinutes!y!",g_iPlayedTime[id]/3600 ,g_iPlayedTime[id]/60-60)
    }
}
 
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)
    g_iPlayedTime[id] = 0
}
 
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)
    {
        g_iPlayedTime[id] = 0
        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]
}
i'm sure this will work with you, but if not work wait me a few days while founding a fix
let me know if work or not
it will not work like that, but i already fix it i add seconds too

Code: Select all

ze_colored_print(id, "!yYour Total played time is: !g%i!yH!t:!g%i!yM!t:!g%i!yS", g_iPlayedTime[id]/3600 ,g_iPlayedTime[id]%60 ,g_iPlayedTime[id]%60)
Image

Muhammet20
Veteran Member
Veteran Member
Posts: 408
Joined: 5 years ago
Contact:

#11

Post by Muhammet20 » 4 years ago

so it working now?

User avatar
Night Fury
Mod Developer
Mod Developer
Posts: 677
Joined: 7 years ago
Contact:

#12

Post by Night Fury » 4 years ago

Consider using get_user_time to get user's play time.
Want your own mod edition? PM me.
Accepting private projects.
Discord: Fury#7469
Image

Muhammet20
Veteran Member
Veteran Member
Posts: 408
Joined: 5 years ago
Contact:

#13

Post by Muhammet20 » 4 years ago

Mohamed Alaa wrote: 4 years ago Consider using get_user_time to get user's play time.
wtf!!!!
XD i wasn't know it

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

#14

Post by sPe3doN » 4 years ago

Muhammet20 wrote: 4 years ago
Mohamed Alaa wrote: 4 years ago Consider using get_user_time to get user's play time.
wtf!!!!
XD i wasn't know it
Try this: http://www.amxmodx.org/doc/index.html?p ... r_name.htm
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 3 guests