You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using awpy2 dev in my project, specifically awpy==2.0.0b2 from the pip repository. I've encountered an issue with the parse_kills(events: dict[str, pd.DataFrame]) method where it filters out non-play ticks using theremove_nonplay_ticks(kill_df) method.
In one of the demos, I noticed that this function incorrectly filters out some kills during gameplay. Upon further investigation, I found that approximately one second before the final kill and the round end, events are marked with is_ct_timeout=True.
I adjusted the code to remove non-play moments filtering and added is_terrorist_timeout and is_ct_timeout fields to the result returned by parse_kills. This is the new result:
As seen, the final kill at tick 7933 is filtered out by the current code of awpy==2.0.0b2, because is_ct_timeout=True at the moment of this tick.
Upon further analysis, I concluded that is_ct_timeout=True and is_terrorist_timeout=True flags are set when the team had been voted for a timeout, not when the timeout actually starts.
This causes incorrect filtering of non-play ticks.
The text was updated successfully, but these errors were encountered:
Thanks for finding this. Probably the best thing to do here is to say a team is in a timeout any time between a timeout start even and a round start. I will move to use that model for now, but might be worth talking with LaihoE about the demoparser library. This will be fixed in b3!
I'm using awpy2 dev in my project, specifically awpy==2.0.0b2 from the pip repository. I've encountered an issue with the
parse_kills(events: dict[str, pd.DataFrame])
method where it filters out non-play ticks using theremove_nonplay_ticks(kill_df)
method.In one of the demos, I noticed that this function incorrectly filters out some kills during gameplay. Upon further investigation, I found that approximately one second before the final kill and the round end, events are marked with
is_ct_timeout=True
.Here is the FACEIT demo: https://www.faceit.com/en/cs2/room/1-0f23ea46-6beb-4d50-8728-eed8d87bb8a8
For instance, take round 1.
This is the result produced by the current code of awpy==2.0.0b2:
I adjusted the code to remove non-play moments filtering and added
is_terrorist_timeout
andis_ct_timeout
fields to the result returned byparse_kills
. This is the new result:As seen, the final kill at tick 7933 is filtered out by the current code of awpy==2.0.0b2, because
is_ct_timeout=True
at the moment of this tick.Upon further analysis, I concluded that
is_ct_timeout=True
andis_terrorist_timeout=True
flags are set when the team had been voted for a timeout, not when the timeout actually starts.This causes incorrect filtering of non-play ticks.
The text was updated successfully, but these errors were encountered: