gameye / halflife-statistic Goto Github PK
View Code? Open in Web Editor NEWStatistics for halflife engine games (TF2, CS:GO)
License: Other
Statistics for halflife engine games (TF2, CS:GO)
License: Other
If someone switches to a spectator in TF2 an extra spectator team is made.
For now, we have decided to ignore them e.g. filter this out
let's fill the player
field per team! players can basically join and switch teams during the match. When a player is in a team he will have a true
value in the player hash of the team, the playerKey
is used as a key in the hash.
Whe the player goes out if the team, this value will be set to false.
It seems there is a bug when you active the "tournament mode" in TF2.
When activating this it outputs the first Round_Start event twice at the same second:
L 03/26/2018 - 13:18:47: "denise<4><[U:1:437819661]><>" entered the game
L 03/26/2018 - 13:19:05: "denise<4><[U:1:437819661]><Unassigned>" joined team "Red"
L 03/26/2018 - 13:19:10: "denise<4><[U:1:437819661]><Red>" changed role to "soldier"
L 03/26/2018 - 13:19:20: World triggered "Round_Start"
echo "Playing..."
L 03/26/2018 - 13:19:20: World triggered "Round_Start"
Playing...
Hey @TNGPS we use github issues for issue tracking. I figured a good first step could be to make an empty tf2 reducer. Also this is issue is there to get you familiar with github issues a little bit :-)
When a player connects before the configure phase is finished the player is not picked up.
set it to 0 when a team is created
Currently, we display the player's steam id in CS:GO and TF2 both in a different format.
CSGO
"player": { "uid": "STEAM_1:1:24748064", "name": "Smashmint",
steamID64 format
TF2
player": {"uid": "[U:1:49496129]", "name": "Smashmint",
steamid3 format
@elmerbulthuis We should make a decision how and if, where to handle this. Also for future to be added games!
Steam ID documentation: https://developer.valvesoftware.com/wiki/SteamID
when a player is created, set this statistic to 0, when the match restarts, set it to 0. increment is when a backstab is done
in the PlayerContainerState
there is a player field that is a hash of all players that are related to the match. When a player connects he should be added to this list, when he disconnects, the connected field of the player should be set to false.
Teams have a statistic property, we will set that to an empty hash {}
for now.
Add TF2 log and add feature tests!
Maybe also add a small image
We implement 3 game modes in team fortress. These are not present in the state but should be known to the reducer internally.
The game modes that we support are:
In the TeamContainerState
there is a team property that holds all the states. These should be populated.
There is always a red
and a blue
team, these should be the initial names of the teams also, but a team can change it's name. This should be reflected in the properties of each team in the state.
Teams have a statistic
property, for now we just leave it empty, also teams have a player property, we will also leave that empty for now.
looking at fixtures/logs/tf2/tf2-6v6test-payload-v2.log
we see the last pointcaptured
event taking place AFTER the Round_Win
we expect this event to happen before that.
L 05/10/2018 - 10:57:54: Team "Blue" triggered "pointcaptured" (cp "1") (cpname "#Badwater_cap_2") (numcappers "1") (player1 "elmerbulthuis<4><[U:1:426663176]><Blue>") (position1 "1503 1443 361")
L 05/10/2018 - 10:58:51: Team "Blue" triggered "pointcaptured" (cp "2") (cpname "#Badwater_cap_3") (numcappers "1") (player1 "elmerbulthuis<4><[U:1:426663176]><Blue>") (position1 "-1501 -19 617")
L 05/10/2018 - 10:59:24: World triggered "Mini_Round_Win" (winner "Blue") (round "Round_A")
L 05/10/2018 - 10:59:24: World triggered "Mini_Round_Length" (seconds "299.08")
L 05/10/2018 - 10:59:24: World triggered "Round_Win" (winner "Blue")
L 05/10/2018 - 10:59:24: Team "Red" current score "4" with "1" players
L 05/10/2018 - 10:59:24: Team "Blue" current score "4" with "1" players
**L 05/10/2018 - 10:59:24: Team "Blue" triggered "pointcaptured" (cp "3") (cpname "#Badwater_cap_4") (numcappers "1") (player1 "elmerbulthuis<4><[U:1:426663176]><Blue>") (position1 "-2884 1414 617")**
L 05/10/2018 - 10:59:34: World triggered "Game_Over" reason "Reached Round Limit"```
all have the same timestamp ....
The properties startedRounds
finishedRounds
are part of the RoundState
intrface. These numbers should be increased when a round starts or finished. Also they should be reset to 0 when a match starts and after a match is over they should not change anymore.
using moment.js leads to big bundles, it can easily be removed, so let's!
release to staging should occur on pre release tags
When playing a match of TF2 in the payload mode with tournament mode enabled both teams can score 1 point in a match but there is still a winner.
When the blue team captures 1 point in the first round in 1 min. 20 sec. and the red team captures the first point under 1 min. 20 sec. the score will be 1:1 but team red wins the match.
These belong to the StartStopState
interface. This interface has a property start
and stop
that initiallly should be null. These number should be set to a number that represents the number of milliseconds since 1970 (how js stored dates internally) when the match is started or stopped.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.