Add CSteamAPI::GetSteam2ID()

This commit is contained in:
samisalreadytaken 2022-02-12 19:25:05 +03:00
parent 236a9a1468
commit 0afc503aff

View File

@ -1264,6 +1264,7 @@ CNetMsgScriptHelper *g_ScriptNetMsg = &scriptnetmsg;
#endif #endif
void CNetMsgScriptHelper::WriteToBuffer( bf_write *bf ) void CNetMsgScriptHelper::WriteToBuffer( bf_write *bf )
{ {
bf->WriteBits( m_MsgOut.GetData(), m_MsgOut.GetNumBitsWritten() ); bf->WriteBits( m_MsgOut.GetData(), m_MsgOut.GetNumBitsWritten() );
@ -1291,9 +1292,6 @@ void CNetMsgScriptHelper::InitPostVM()
{ {
ScriptVariant_t hHooks; ScriptVariant_t hHooks;
g_pScriptVM->CreateTable( hHooks ); g_pScriptVM->CreateTable( hHooks );
#if _DEBUG
g_pScriptVM->SetValue( NULL, "__NetMsg_hooks", hHooks );
#endif
m_Hooks = (HSCRIPT)hHooks; m_Hooks = (HSCRIPT)hHooks;
} }
@ -1416,10 +1414,14 @@ void CNetMsgScriptHelper::Send()
void CNetMsgScriptHelper::Receive( const char *msg, HSCRIPT func ) void CNetMsgScriptHelper::Receive( const char *msg, HSCRIPT func )
{ {
if ( func ) if ( func )
{
g_pScriptVM->SetValue( m_Hooks, int( HashStringCaseless(msg) ), func ); g_pScriptVM->SetValue( m_Hooks, int( HashStringCaseless(msg) ), func );
}
else else
{
g_pScriptVM->ClearValue( m_Hooks, int( HashStringCaseless(msg) ) ); g_pScriptVM->ClearValue( m_Hooks, int( HashStringCaseless(msg) ) );
} }
}
#ifdef GAME_DLL #ifdef GAME_DLL
void CNetMsgScriptHelper::DoSendUserMsg( CRecipientFilter *filter, int type ) void CNetMsgScriptHelper::DoSendUserMsg( CRecipientFilter *filter, int type )
@ -3017,6 +3019,23 @@ END_SCRIPTDESC();
class CScriptSteamAPI class CScriptSteamAPI
{ {
public: public:
const char *GetSteam2ID()
{
if ( !steamapicontext || !steamapicontext->SteamUser() )
return NULL;
CSteamID id = steamapicontext->SteamUser()->GetSteamID();
uint32 accountID = id.GetAccountID();
uint32 steamInstanceID = 0;
uint32 high32bits = accountID % 2;
uint32 low32bits = accountID / 2;
static char ret[48];
V_snprintf( ret, sizeof(ret), "STEAM_%u:%u:%u", steamInstanceID, high32bits, low32bits );
return ret;
}
int GetSecondsSinceComputerActive() int GetSecondsSinceComputerActive()
{ {
if ( !steamapicontext || !steamapicontext->SteamUtils() ) if ( !steamapicontext || !steamapicontext->SteamUtils() )
@ -3032,7 +3051,7 @@ public:
return steamapicontext->SteamUtils()->GetCurrentBatteryPower(); return steamapicontext->SteamUtils()->GetCurrentBatteryPower();
} }
#if 0
const char *GetIPCountry() const char *GetIPCountry()
{ {
if ( !steamapicontext || !steamapicontext->SteamUtils() ) if ( !steamapicontext || !steamapicontext->SteamUtils() )
@ -3047,7 +3066,7 @@ public:
return ret; return ret;
} }
#endif
const char *GetCurrentGameLanguage() const char *GetCurrentGameLanguage()
{ {
if ( !steamapicontext || !steamapicontext->SteamApps() ) if ( !steamapicontext || !steamapicontext->SteamApps() )
@ -3066,6 +3085,7 @@ public:
} g_ScriptSteamAPI; } g_ScriptSteamAPI;
BEGIN_SCRIPTDESC_ROOT_NAMED( CScriptSteamAPI, "CSteamAPI", SCRIPT_SINGLETON "" ) BEGIN_SCRIPTDESC_ROOT_NAMED( CScriptSteamAPI, "CSteamAPI", SCRIPT_SINGLETON "" )
DEFINE_SCRIPTFUNC( GetSteam2ID, "" )
//DEFINE_SCRIPTFUNC( IsVACBanned, "" ) //DEFINE_SCRIPTFUNC( IsVACBanned, "" )
DEFINE_SCRIPTFUNC( GetSecondsSinceComputerActive, "Returns the number of seconds since the user last moved the mouse." ) DEFINE_SCRIPTFUNC( GetSecondsSinceComputerActive, "Returns the number of seconds since the user last moved the mouse." )
DEFINE_SCRIPTFUNC( GetCurrentBatteryPower, "Return the amount of battery power left in the current system in % [0..100], 255 for being on AC power" ) DEFINE_SCRIPTFUNC( GetCurrentBatteryPower, "Return the amount of battery power left in the current system in % [0..100], 255 for being on AC power" )