Raised This Month: $51 Target: $400
 12% 

[req] Create Command Checkpt


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
ApoziX
Member
Join Date: Sep 2018
Old 09-29-2018 , 11:01   [req] Create Command Checkpt
Reply With Quote #1

Hello

I need someone to create command that Admin Can Check player played time

Command !checkpt

Code
PHP Code:
#include <sourcemod> 

static String:TPPath[PLATFORM_MAX_PATH]; 
new 
Handle:ClientTimer[32]; 
static 
Minutes[32]; 

//INFO 
public Plugin:myinfo = { 
    
name "HowLong"
    
author "hlsavior"
    
description "How long have you been playing?"
    
url "www.scnggames.com" 
}; 


//ON START 
public OnPluginStart() 

    
CreateDirectory("addons/sourcemod/data/stats"0); 
    
BuildPath(Path_SMTPPathsizeof(TPPath), "data/stats/timeplayed.txt"); 
    
RegConsoleCmd("sm_playedtime"Command_getTime""); 
    
RegConsoleCmd("sm_pt"Command_getTime""); 
    
RegAdminCmd("sm_setpt"Command_setTimeADMFLAG_ROOT); 
    
RegAdminCmd("sm_setplayedtime"Command_setTimeADMFLAG_ROOT); 


//IN SERVER 
public OnClientPutInServer(client

    
AltTime(client1); 
    
ClientTimer[client] = (CreateTimer(60.0TimerAddclientTIMER_REPEAT)) 


//LEAVE SERVER 
public OnClientDisconnect(client

    
CloseHandle(ClientTimer[client]); 
    
AltTime(client0


//TIMER 
public Action:TimerAdd(Handle:timerany:client

    if(
IsClientConnected(client) && IsClientInGame(client)) 
    { 
        
Minutes[client]++; 
    } 


//COMMAND 
public Action:Command_getTime(clientargs

    if(
Minutes[client] == || Minutes[client] == -1
    { 
        
PrintToChat(client"[FZG] \x05You have played on this server for \x03%d\x05 minute!"Minutes[client]) 
    } 
    else 
        
PrintToChat(client"[FZG] \x05You have played on this server for \x03%d\x05 minutes!"Minutes[client]) 
    return 
Plugin_Handled

public 
Action:Command_setTime(clientargs

    if(!
IsValidClient(client)) 
    { 
        return 
Plugin_Handled
    } 
    if(
args != 2
    { 
        
ReplyToCommand(client"[FZG] Usage: sm_setplayedtime <target> <amount>"); 
        return 
Plugin_Handled
    } 
    
char target_name[MAX_TARGET_LENGTH], buffer[512]; 
    
int target_list[MAXPLAYERS], target_countg_GivePlayedTime
    
bool tn_is_ml
     
    
GetCmdArg(1buffersizeof(buffer)); 
    if((
target_count ProcessTargetString(bufferclienttarget_listMAXPLAYERSCOMMAND_FILTER_ALIVEtarget_namesizeof(target_name), tn_is_ml)) <= 0
    { 
        
ReplyToTargetError(clienttarget_count); 
        return 
Plugin_Handled
    } 
    
GetCmdArg(2buffersizeof(buffer)); 
    
g_GivePlayedTime StringToInt(buffer); 
    for(
int i 0target_counti++) 
    { 
        
Minutes[target_list[i]] = g_GivePlayedTime
    } 
    if(
tn_is_ml
    { 
        
ReplyToCommand(client"[FZG] %s's playtime set to %d"target_nameg_GivePlayedTime); 
    } 
    else 
    { 
        
ReplyToCommand(client"[FZG] %s's playtime set to %d""_s"target_nameg_GivePlayedTime); 
    } 
    return 
Plugin_Handled

     
//CHANGE 
public AltTime(clientconnection

    new 
Handle:DB CreateKeyValues("TimePlayed"); 
    
FileToKeyValues(DBTPPath); 
     
    new 
String:SID[32]; 
    
GetClientAuthId(clientAuthId_Steam2SIDsizeof(SID)); 
     
    if(
connection == 1
    { 
        
//Connected 
        
if(KvJumpToKey(DBSIDtrue)) 
        { 
            new 
String:name[MAX_NAME_LENGTH], String:temp_name[MAX_NAME_LENGTH]; 
            
GetClientName(clientnamesizeof(name)); 
             
            
KvGetString(DB"name"temp_namesizeof(temp_name), "NULL"); 
             
            
Minutes[client] = KvGetNum(DB"minutes"0); 
         
            
KvSetNum(DB"minutes"Minutes[client]) 
        } 
    } 
    else if(
connection == 0
    { 
        
//Not Connected 
        
if(KvJumpToKey(DBSIDtrue)) 
        { 
            
KvSetNum(DB"minutes"Minutes[client]); 
        } 
    } 
     
    
KvRewind(DB); 
    
KeyValuesToFile(DBTPPath); 
    
CloseHandle(DB); 


bool IsValidClient(clientbool bAllowBots truebool bAllowDead true

    if(!(
<= client <= MaxClients) || !IsClientInGame(client) || (IsFakeClient(client) && !bAllowBots) || IsClientSourceTV(client) || IsClientReplay(client) || (!bAllowDead && !IsPlayerAlive(client))) 
    { 
        return 
false
    } 
    return 
true

Thanks For Helpers +rep
__________________
Looking To Start A TF2 Community
My Discord | My Steam

Last edited by ApoziX; 09-30-2018 at 18:58.
ApoziX is offline
ApoziX
Member
Join Date: Sep 2018
Old 09-29-2018 , 11:06   Re: [req] Permanent Hud Text
Reply With Quote #2

Thanks For Helpers
__________________
Looking To Start A TF2 Community
My Discord | My Steam

Last edited by ApoziX; 09-29-2018 at 12:26.
ApoziX is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 06:15.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode