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

Solved [L4D2] Offset to get duration of the "insect_swarm" entity


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
cravenge
Veteran Member
Join Date: Nov 2015
Location: Chocolate Factory
Old 05-05-2021 , 09:12   [L4D2] Offset to get duration of the "insect_swarm" entity
Reply With Quote #1

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.

Last edited by cravenge; 05-06-2021 at 13:24.
cravenge is offline
BHaType
Great Tester of Whatever
Join Date: Jun 2018
Old 05-05-2021 , 21:31   Re: [L4D2] Offset to get duration of the "insect_swarm" entity
Reply With Quote #2

Quote:
Originally Posted by cravenge View Post
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
__________________
cry
BHaType is offline
Send a message via AIM to BHaType
cravenge
Veteran Member
Join Date: Nov 2015
Location: Chocolate Factory
Old 05-06-2021 , 13:26   Re: [L4D2] Offset to get duration of the "insect_swarm" entity
Reply With Quote #3

Quote:
Originally Posted by BHaType View Post
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
This is just what I needed. Thank you so much!
cravenge is offline
Reply


Thread Tools
Display Modes

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 09:02.


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