As the title says, I want to know how long the spit puddles last before they fade away. I've seen that in l4d2_uniform_spit's source code:
PHP Code:
// I transitioned it to new syntax on my end
float GetPuddleLifetime(int entity)
{
return ITimer_GetElapsedTime(view_as<IntervalTimer>(GetEntityAddress(entity) + view_as<Address>(2968)));
}
I've tried figuring out how to find that offset but I came to a dead end so I took a look at the game's binaries and found CInsectSwarm::GetFlameLifetime.
Is the function mentioned above perhaps similar to the code by any chance? If so, I'm gonna call that one through SDKTools instead.
As the title says, I want to know how long the spit puddles last before they fade away. I've seen that in l4d2_uniform_spit's source code:
PHP Code:
// I transitioned it to new syntax on my end
float GetPuddleLifetime(int entity)
{
return ITimer_GetElapsedTime(view_as<IntervalTimer>(GetEntityAddress(entity) + view_as<Address>(2968)));
}
I've tried figuring out how to find that offset but I came to a dead end so I took a look at the game's binaries and found CInsectSwarm::GetFlameLifetime.
Is the function mentioned above perhaps similar to the code by any chance? If so, I'm gonna call that one through SDKTools instead.
CInsectSwarm inherits from the CInferno class that stores the creation timestamp
Elapsed time = GetGameTime() - stored timestamp
Remaining time before insect_swarm will be killed = CInsectSwarm::GetFlameLifetime() - Elapsed time
You can also calculate the time manually without using offsets
Below are two ways to get the remaining time
Spoiler
PHP Code:
#pragma semicolon 1
#pragma newdecls required
#include <sourcemod>
#include <sdktools>
float g_flTimestamp;
public void OnPluginStart()
{
RegConsoleCmd("sm_context", sm_context);
}
public Action sm_context (int client, int args)
{
float curtime = GetGameTime();