public override void GameEvent(GameEvent gameEvent, GameEventDescriptor gameEventDescriptor) { OnGameEvent onGameEvent; if (m_GameEventHandlers.TryGetValue(gameEventDescriptor.Name, out onGameEvent)) { onGameEvent(gameEvent, gameEventDescriptor); } }
// player_blind -> flashbang_detonate -> entity updates private void FlashbangDetonate(GameEvent gameEvent, GameEventDescriptor gameEventDescriptor) { short userID = gameEvent.Keys[0].VarShort; short entityID = gameEvent.Keys[1].VarShort; //Entity player = m_Players.GetPlayerEntity(userID); Entity flashbang = this.Demo.Entities.GetEntity(entityID); Player blindingPlayer = m_Players.GetPlayer(userID); for (int i = 0; i < m_Players.Count; i++) { Player player = m_Players.Values[i]; if(player.IsBlind) { if(player.BlindedBy == null) { player.BlindedBy = blindingPlayer; } } } //Console.WriteLine("Flashbang Detonated"); }
private void PlayerTeam(GameEvent gameEvent, GameEventDescriptor gameEventDescriptor) { short userID = gameEvent.Keys[0].VarShort; byte team = gameEvent.Keys[1].VarByte; byte oldTeam = gameEvent.Keys[2].VarByte; bool disconnect = gameEvent.Keys[3].VarBool; bool autoTeam = gameEvent.Keys[4].VarBool; bool silent = gameEvent.Keys[5].VarBool; bool isBot = gameEvent.Keys[6].VarBool; //Console.WriteLine("UserID\tTeam\tOld Team\tDisconnect\tAuto Team\tSilent\tIsBot"); //Console.WriteLine("{0}\t{1}\t{2}\t\t{3}\t\t{4}\t\t{5}\t{6}", userID, team, oldTeam, disconnect, autoTeam, silent, isBot); //Console.WriteLine(); }
private void PlayerDisconnect(GameEvent gameEvent, GameEventDescriptor gameEventDescriptor) { short userID = gameEvent.Keys[0].VarShort; m_Players.Remove(userID); }
private void PlayerDeath(GameEvent gameEvent, GameEventDescriptor gameEventDescriptor) { short victim = gameEvent.Keys[0].VarShort; short attacker = gameEvent.Keys[1].VarShort; short assister = gameEvent.Keys[2].VarShort; string weapon = gameEvent.Keys[3].VarString; string weaponItemID = gameEvent.Keys[4].VarString; string weaponFauxItemID = gameEvent.Keys[5].VarString; string weaponOriginalOwnerXUID = gameEvent.Keys[6].VarString; bool headshot = gameEvent.Keys[7].VarBool; short penetrated = gameEvent.Keys[10].VarShort; PlayerInfo victimInfo = m_Players.GetPlayerInfo(victim); PlayerInfo attackerInfo = m_Players.GetPlayerInfo(attacker); Entity victimEntity = m_Players.GetPlayerEntity(victim); Entity attackerEntity = m_Players.GetPlayerEntity(attacker); //Console.WriteLine("Victim: {0} [{1}]", victimInfo.Name, victimEntity); //Console.WriteLine(" Attacker: {0} [{1}]", attackerInfo.Name, attackerEntity); }
private void PlayerConnectFull(GameEvent gameEvent, GameEventDescriptor gameEventDescriptor) { short userID = gameEvent.Keys[0].VarShort; byte index = gameEvent.Keys[1].VarByte; }
private void PlayerConnect(GameEvent gameEvent, GameEventDescriptor gameEventDescriptor) { string name = gameEvent.Keys[0].VarString; byte index = gameEvent.Keys[1].VarByte; short userID = gameEvent.Keys[2].VarShort; string networkID = gameEvent.Keys[3].VarString; PlayerInfo playerInfo = new PlayerInfo(userID, name, networkID == "BOT", networkID); m_Players.Add(index, playerInfo); }
private void PlayerBlind(GameEvent gameEvent, GameEventDescriptor gameEventDescriptor) { short userID = gameEvent.Keys[0].VarShort; Player player = m_Players.GetPlayer(userID); int entityID = m_Players.GetPlayerEntityIndex(userID); //Console.WriteLine("Player Blinded: {0} [UserID: {1}, EntityID: {2}]", player.PlayerInfo.Name, userID, entityID); player.BlindedBy = null; player.IsBlind = true; //Console.WriteLine("Player Blinded"); }