// Token: 0x060027D4 RID: 10196 RVA: 0x000F171C File Offset: 0x000EFB1C public static void sendChat(EChatMode mode, string text) { if (!Provider.isServer) { ChatManager.manager.channel.send("askChat", ESteamCall.SERVER, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[] { (byte)mode, text }); } else if (!Dedicator.isDedicated) { SteamPlayer steamPlayer = PlayerTool.getSteamPlayer(Provider.client); if (steamPlayer == null) { return; } Color color = (!Provider.isPro) ? Color.white : Palette.PRO; bool isRich = false; bool flag = true; if (ChatManager.onChatted != null) { ChatManager.onChatted(steamPlayer, mode, ref color, ref isRich, text, ref flag); } if (ChatManager.process(steamPlayer, text) && flag) { ChatManager.list(Provider.client, mode, color, isRich, text); } } }
// Token: 0x0600287E RID: 10366 RVA: 0x000F5EC8 File Offset: 0x000F42C8 private void arenaRestart() { LevelManager.arenaState = EArenaState.INTERMISSION; base.channel.send("tellLevelTimer", ESteamCall.ALL, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[] { (byte)Provider.modeConfigData.Events.Arena_Restart_Timer }); for (int i = 0; i < LevelManager.arenaPlayers.Count; i++) { ArenaPlayer arenaPlayer = LevelManager.arenaPlayers[i]; if (!arenaPlayer.hasDied && arenaPlayer.steamPlayer != null && !(arenaPlayer.steamPlayer.player == null)) { arenaPlayer.steamPlayer.player.sendStat(EPlayerStat.ARENA_WINS); } } for (int j = 0; j < Provider.clients.Count; j++) { SteamPlayer steamPlayer = Provider.clients[j]; if (steamPlayer != null && !(steamPlayer.player == null) && !steamPlayer.player.life.isDead && !steamPlayer.player.movement.isSafe) { EPlayerKill eplayerKill; steamPlayer.player.life.askDamage(101, Vector3.up * 101f, EDeathCause.ARENA, ELimb.SPINE, CSteamID.Nil, out eplayerKill); } } }
private void Update() { if (!Provider.isServer) { return; } if (Time.realtimeSinceStartup - this.started < 3f) { return; } if (this.isRegistered) { for (int i = 0; i < Provider.clients.Count; i++) { SteamPlayer steamPlayer = Provider.clients[i]; if (!(steamPlayer.player == null) && !(steamPlayer.player.movement == null) && !(steamPlayer.player.life == null) && !steamPlayer.player.life.isDead) { if (steamPlayer.player.movement.nav == this.nav) { return; } } } } BarricadeManager.damage(base.transform, 10000f, 1f, false); }
protected void onChatted(SteamPlayer player, EChatMode mode, ref Color chatted, ref bool isRich, string text, ref bool isVisible) { if (player == null || player.player == null || player.player.transform == null) { // Not a player-instigated message. return; } if (passesModeFilter(mode) == false) { return; } if (passesPositionFilter(player.player.transform.position) == false) { return; } if (passesPhraseFilter(text) == false) { return; } OnTriggered.Invoke(); }
public Chat(SteamPlayer newPlayer, EChatMode newMode, Color newColor, string newSpeaker, string newText) { this.player = newPlayer; this.mode = newMode; this.color = newColor; this.speaker = newSpeaker; this.text = newText; }
// Token: 0x060027D9 RID: 10201 RVA: 0x000F195C File Offset: 0x000EFD5C private void onServerConnected(CSteamID steamID) { if (Provider.isServer && ChatManager.welcomeText != string.Empty) { SteamPlayer steamPlayer = PlayerTool.getSteamPlayer(steamID); ChatManager.say(steamPlayer.playerID.steamID, string.Format(ChatManager.welcomeText, steamPlayer.playerID.characterName), ChatManager.welcomeColor, false); } }
public ArenaPlayer(SteamPlayer newSteamPlayer) { this._steamPlayer = newSteamPlayer; this._hasDied = false; PlayerLife life = this.steamPlayer.player.life; life.onLifeUpdated = (LifeUpdated)Delegate.Combine(life.onLifeUpdated, new LifeUpdated(this.onLifeUpdated)); }
public static Player getPlayer(CSteamID steamID) { SteamPlayer steamPlayer = PlayerTool.getSteamPlayer(steamID); if (steamPlayer != null && steamPlayer.player != null) { return(steamPlayer.player); } return(null); }
public static Transform getPlayerModel(string name) { SteamPlayer steamPlayer = PlayerTool.getSteamPlayer(name); if (steamPlayer != null && steamPlayer.model != null) { return(steamPlayer.model); } return(null); }
public static Player getPlayer(string name) { SteamPlayer steamPlayer = PlayerTool.getSteamPlayer(name); if (steamPlayer != null && steamPlayer.player != null) { return(steamPlayer.player); } return(null); }
public static Transform getPlayerModel(CSteamID steamID) { SteamPlayer steamPlayer = PlayerTool.getSteamPlayer(steamID); if (steamPlayer != null && steamPlayer.model != null) { return(steamPlayer.model); } return(null); }
private static void onEnemyDisconnected(SteamPlayer player) { for (int i = 0; i < Provider.clients.Count; i++) { if (Provider.clients[i] == player) { PlayerGroupUI.container.remove(PlayerGroupUI.groups[i]); PlayerGroupUI.groups.RemoveAt(i); } } }
public static bool tryGetSteamPlayer(string input, out SteamPlayer player) { player = null; ulong steamID; if (ulong.TryParse(input, out steamID)) { player = PlayerTool.getSteamPlayer(steamID); return(player != null); } player = PlayerTool.getSteamPlayer(input); return(player != null); }
// Token: 0x060018BA RID: 6330 RVA: 0x0008A1AC File Offset: 0x000885AC public void askDamage(byte amount, Vector3 newRagdoll, out EPlayerKill kill, out uint xp, bool trackKill = true) { kill = EPlayerKill.NONE; xp = 0u; if (amount == 0 || this.isDead) { return; } if (!this.isDead) { if ((ushort)amount >= this.health) { this.health = 0; } else { this.health -= (ushort)amount; } this.ragdoll = newRagdoll; if (this.health == 0) { kill = EPlayerKill.ANIMAL; if (this.asset != null) { xp = this.asset.rewardXP; } AnimalManager.dropLoot(this); AnimalManager.sendAnimalDead(this, this.ragdoll); if (trackKill) { for (int i = 0; i < Provider.clients.Count; i++) { SteamPlayer steamPlayer = Provider.clients[i]; if (!(steamPlayer.player == null) && !(steamPlayer.player.movement == null) && !(steamPlayer.player.life == null) && !steamPlayer.player.life.isDead) { if ((steamPlayer.player.transform.position - base.transform.position).sqrMagnitude < 262144f) { steamPlayer.player.quests.trackAnimalKill(this); } } } } } else if (this.asset != null && this.asset.panics != null && this.asset.panics.Length > 0) { AnimalManager.sendAnimalPanic(this); } this.lastRegen = Time.time; } }
// Token: 0x0600279F RID: 10143 RVA: 0x000F08D8 File Offset: 0x000EECD8 public static int getParticipants(byte nav) { int num = 0; for (int i = 0; i < Provider.clients.Count; i++) { SteamPlayer steamPlayer = Provider.clients[i]; if (!(steamPlayer.player == null) && !(steamPlayer.player.movement == null) && !(steamPlayer.player.life == null) && !steamPlayer.player.life.isDead) { if (steamPlayer.player.movement.nav == nav) { num++; } } } return(num); }
public void UpdateRegion() { if (this.bossZombie == null) { return; } bool flag = false; bool flag2 = false; for (int i = 0; i < Provider.clients.Count; i++) { SteamPlayer steamPlayer = Provider.clients[i]; if (!(steamPlayer.player == null) && !(steamPlayer.player.movement == null) && !(steamPlayer.player.life == null) && !steamPlayer.player.life.isDead) { if (steamPlayer.player.movement.bound == this.nav) { flag = true; } if (steamPlayer.player.movement.nav == this.nav) { flag2 = true; } if (flag && flag2) { break; } } } if (flag) { if (this.bossZombie.isDead) { this.bossZombie = null; if (flag2) { this.UpdateBoss(); } } } else { EPlayerKill eplayerKill; uint num; this.bossZombie.askDamage(50000, Vector3.up, out eplayerKill, out num, false, false); } }
private static void addGroup(SteamPlayer player) { SleekLabel sleekLabel = new SleekLabel(); sleekLabel.sizeOffset_X = 200; sleekLabel.sizeOffset_Y = 30; if (string.IsNullOrEmpty(player.playerID.nickName)) { sleekLabel.text = player.playerID.characterName; } else { sleekLabel.text = player.playerID.nickName; } PlayerGroupUI.container.add(sleekLabel); sleekLabel.isVisible = false; PlayerGroupUI.groups.Add(sleekLabel); }
public static bool tryGetSteamID(string input, out CSteamID steamID) { steamID = CSteamID.Nil; ulong num; if (ulong.TryParse(input, out num)) { steamID..ctor(num); return(true); } SteamPlayer steamPlayer = PlayerTool.getSteamPlayer(input); if (steamPlayer != null) { steamID = steamPlayer.playerID.steamID; return(true); } return(false); }
// Token: 0x06002875 RID: 10357 RVA: 0x000F5228 File Offset: 0x000F3628 private void updateGroups(SteamPlayer steamPlayer) { if (!steamPlayer.player.quests.isMemberOfAGroup) { LevelManager.nonGroups--; } else { for (int i = LevelManager.arenaPlayers.Count - 1; i >= 0; i--) { ArenaPlayer arenaPlayer = LevelManager.arenaPlayers[i]; if (arenaPlayer.steamPlayer.player.quests.isMemberOfSameGroupAs(steamPlayer.player)) { return; } } LevelManager.arenaGroups.Remove(steamPlayer.player.quests.groupID); } }
// Token: 0x06002874 RID: 10356 RVA: 0x000F5154 File Offset: 0x000F3554 private void findGroups() { LevelManager.nonGroups = 0; LevelManager.arenaGroups.Clear(); for (int i = 0; i < Provider.clients.Count; i++) { SteamPlayer steamPlayer = Provider.clients[i]; if (steamPlayer != null && !(steamPlayer.player == null) && !steamPlayer.player.life.isDead) { if (!steamPlayer.player.quests.isMemberOfAGroup) { LevelManager.nonGroups++; } else if (!LevelManager.arenaGroups.Contains(steamPlayer.player.quests.groupID)) { LevelManager.arenaGroups.Add(steamPlayer.player.quests.groupID); } } } }
private void onChatted(SteamPlayer player, EChatMode mode, ref Color chatted, string text, ref bool isVisible) { if (mode != EChatMode.LOCAL || player.player == null) { return; } if ((player.player.transform.position - base.transform.position).sqrMagnitude > this.sqrRadius) { return; } if (text.IndexOf(this.phrase, StringComparison.OrdinalIgnoreCase) == -1) { return; } if (LightingManager.day < LevelLighting.bias) { return; } ObjectManager.forceObjectBinaryState(this.target.transform, !this.target.isUsed); isVisible = false; }
// Token: 0x060027C8 RID: 10184 RVA: 0x000F0F00 File Offset: 0x000EF300 public static bool process(SteamPlayer player, string text) { bool flag = false; bool result = true; string a = text.Substring(0, 1); if ((a == "@" || a == "/") && player.isAdmin) { flag = true; result = false; } if (ChatManager.onCheckPermissions != null) { ChatManager.onCheckPermissions(player, text, ref flag, ref result); } if (flag) { Commander.execute(player.playerID.steamID, text.Substring(1)); } return(result); }
public void tellVoteStart(CSteamID steamID, CSteamID origin, CSteamID target, byte votesNeeded) { if (base.channel.checkServer(steamID)) { SteamPlayer steamPlayer = PlayerTool.getSteamPlayer(origin); if (steamPlayer == null) { return; } SteamPlayer steamPlayer2 = PlayerTool.getSteamPlayer(target); if (steamPlayer2 == null) { return; } ChatManager.needsVote = true; ChatManager.hasVote = false; if (ChatManager.onVotingStart != null) { ChatManager.onVotingStart(steamPlayer, steamPlayer2, votesNeeded); } } }
public void tellPlayerStates(CSteamID steamID) { if (base.channel.checkServer(steamID)) { uint num = (uint)base.channel.read(Types.UINT32_TYPE); if (num <= this.seq) { return; } this.seq = num; base.channel.useCompression = true; ushort num2 = (ushort)base.channel.read(Types.UINT16_TYPE); for (ushort num3 = 0; num3 < num2; num3 += 1) { object[] array = base.channel.read(Types.INT32_TYPE, Types.VECTOR3_TYPE, Types.BYTE_TYPE, Types.BYTE_TYPE); int num4 = (int)array[0]; int i = 0; while (i < Provider.clients.Count) { if (Provider.clients[i].channel == num4) { SteamPlayer steamPlayer = Provider.clients[i]; if (steamPlayer == null || steamPlayer.player == null || steamPlayer.player.movement == null) { break; } steamPlayer.player.movement.tellState((Vector3)array[1], (byte)array[2], (byte)array[3]); break; } else { i++; } } } base.channel.useCompression = false; } }
public void askVote(CSteamID steamID, bool vote) { if (Provider.isServer) { SteamPlayer steamPlayer = PlayerTool.getSteamPlayer(steamID); if (steamPlayer == null) { return; } if (!ChatManager.isVoting) { return; } if (!steamPlayer.player.tryToPerformRateLimitedAction()) { return; } if (ChatManager.votes.Contains(steamID)) { return; } ChatManager.votes.Add(steamID); if (vote) { ChatManager.voteYes += 1; } else { ChatManager.voteNo += 1; } ChatManager.manager.channel.send("tellVoteUpdate", ESteamCall.CLIENTS, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[] { ChatManager.voteYes, ChatManager.voteNo }); } }
protected override void execute(CSteamID executorID, string parameter) { if (!Dedicator.isDedicated) { return; } if (Provider.clients.Count == 0) { CommandWindow.LogError(this.localization.format("NoPlayersErrorText")); return; } CommandWindow.Log(this.localization.format("PlayersText")); for (int i = 0; i < Provider.clients.Count; i++) { SteamPlayer steamPlayer = Provider.clients[i]; CommandWindow.Log(this.localization.format("PlayerIDText", new object[] { steamPlayer.playerID.steamID, steamPlayer.playerID.playerName, steamPlayer.playerID.characterName, (int)(steamPlayer.ping * 1000f) })); } }
public void UpdateBoss() { if (this.bossZombie != null) { return; } for (int i = 0; i < Provider.clients.Count; i++) { SteamPlayer steamPlayer = Provider.clients[i]; if (!(steamPlayer.player == null) && !(steamPlayer.player.movement == null) && !(steamPlayer.player.life == null) && !steamPlayer.player.life.isDead) { if (steamPlayer.player.movement.nav == this.nav) { for (int j = 0; j < steamPlayer.player.quests.questsList.Count; j++) { PlayerQuest playerQuest = steamPlayer.player.quests.questsList[j]; if (playerQuest != null && playerQuest.asset != null) { for (int k = 0; k < playerQuest.asset.conditions.Length; k++) { NPCZombieKillsCondition npczombieKillsCondition = playerQuest.asset.conditions[k] as NPCZombieKillsCondition; if (npczombieKillsCondition != null) { if (npczombieKillsCondition.nav == this.nav && npczombieKillsCondition.spawn && !npczombieKillsCondition.isConditionMet(steamPlayer.player)) { Zombie zombie = null; for (int l = 0; l < this.zombies.Count; l++) { Zombie zombie2 = this.zombies[l]; if (zombie2 != null && zombie2.isDead) { zombie = zombie2; break; } } if (zombie == null) { for (int m = 0; m < this.zombies.Count; m++) { Zombie zombie3 = this.zombies[m]; if (zombie3 != null && !zombie3.isHunting) { zombie = zombie3; break; } } } if (zombie == null) { zombie = this.zombies[Random.Range(0, this.zombies.Count)]; } Vector3 position = zombie.transform.position; if (zombie.isDead) { for (int n = 0; n < 10; n++) { ZombieSpawnpoint zombieSpawnpoint = LevelZombies.zombies[(int)this.nav][Random.Range(0, LevelZombies.zombies[(int)this.nav].Count)]; if (SafezoneManager.checkPointValid(zombieSpawnpoint.point)) { break; } position = zombieSpawnpoint.point; position.y += 0.1f; } } this.bossZombie = zombie; this.bossZombie.sendRevive(this.bossZombie.type, (byte)npczombieKillsCondition.zombie, this.bossZombie.shirt, this.bossZombie.pants, this.bossZombie.hat, this.bossZombie.gear, position, Random.Range(0f, 360f)); } } } } } } } } }
private static void onEnemyConnected(SteamPlayer player) { PlayerGroupUI.addGroup(player); }
// Token: 0x0600287A RID: 10362 RVA: 0x000F56AC File Offset: 0x000F3AAC private void arenaSpawn() { for (byte b = 0; b < Regions.WORLD_SIZE; b += 1) { for (byte b2 = 0; b2 < Regions.WORLD_SIZE; b2 += 1) { if (LevelItems.spawns[(int)b, (int)b2].Count > 0) { for (int i = 0; i < LevelItems.spawns[(int)b, (int)b2].Count; i++) { ItemSpawnpoint itemSpawnpoint = LevelItems.spawns[(int)b, (int)b2][i]; ushort item = LevelItems.getItem(itemSpawnpoint); if (item != 0) { Item item2 = new Item(item, EItemOrigin.ADMIN); ItemManager.dropItem(item2, itemSpawnpoint.point, false, false, false); } } } } } List <VehicleSpawnpoint> spawns = LevelVehicles.spawns; for (int j = 0; j < spawns.Count; j++) { VehicleSpawnpoint vehicleSpawnpoint = spawns[j]; ushort vehicle = LevelVehicles.getVehicle(vehicleSpawnpoint); if (vehicle != 0) { Vector3 point = vehicleSpawnpoint.point; point.y += 1f; VehicleManager.spawnVehicle(vehicle, point, Quaternion.Euler(0f, vehicleSpawnpoint.angle, 0f)); } } List <PlayerSpawnpoint> altSpawns = LevelPlayers.getAltSpawns(); float num = LevelManager.arenaCurrentRadius - SafezoneNode.MIN_SIZE; num *= num; for (int k = altSpawns.Count - 1; k >= 0; k--) { PlayerSpawnpoint playerSpawnpoint = altSpawns[k]; float num2 = Mathf.Pow(playerSpawnpoint.point.x - LevelManager.arenaCurrentCenter.x, 2f) + Mathf.Pow(playerSpawnpoint.point.z - LevelManager.arenaCurrentCenter.z, 2f); if (num2 > num) { altSpawns.RemoveAt(k); } } for (int l = 0; l < Provider.clients.Count; l++) { if (altSpawns.Count == 0) { break; } SteamPlayer steamPlayer = Provider.clients[l]; if (steamPlayer != null && !(steamPlayer.player == null) && !steamPlayer.player.life.isDead) { int index = UnityEngine.Random.Range(0, altSpawns.Count); PlayerSpawnpoint playerSpawnpoint2 = altSpawns[index]; altSpawns.RemoveAt(index); ArenaPlayer arenaPlayer = new ArenaPlayer(steamPlayer); arenaPlayer.steamPlayer.player.life.sendRevive(); arenaPlayer.steamPlayer.player.sendTeleport(playerSpawnpoint2.point, MeasurementTool.angleToByte(playerSpawnpoint2.angle)); LevelManager.arenaPlayers.Add(arenaPlayer); foreach (ArenaLoadout arenaLoadout in Level.info.configData.Arena_Loadouts) { for (ushort num3 = 0; num3 < arenaLoadout.Amount; num3 += 1) { ushort newID = SpawnTableTool.resolve(arenaLoadout.Table_ID); arenaPlayer.steamPlayer.player.inventory.forceAddItemAuto(new Item(newID, true), true, false, true, false); } } } } this.arenaAirdrop(); LevelManager.arenaState = EArenaState.PLAY; base.channel.send("tellLevelNumber", ESteamCall.ALL, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[] { (byte)LevelManager.arenaPlayers.Count }); }
// Token: 0x0600270D RID: 9997 RVA: 0x000E85C4 File Offset: 0x000E69C4 private void Update() { if (!Provider.isServer || !Level.isLoaded) { return; } if (AnimalManager.animals == null || AnimalManager.animals.Count == 0) { return; } if (AnimalManager.tickingAnimals == null) { return; } int num; int num2; if (Dedicator.isDedicated) { if (AnimalManager.tickIndex >= AnimalManager.tickingAnimals.Count) { AnimalManager.tickIndex = 0; } num = AnimalManager.tickIndex; num2 = num + 25; if (num2 >= AnimalManager.tickingAnimals.Count) { num2 = AnimalManager.tickingAnimals.Count; } AnimalManager.tickIndex = num2; } else { num = 0; num2 = AnimalManager.tickingAnimals.Count; } for (int i = num2 - 1; i >= num; i--) { Animal animal = AnimalManager.tickingAnimals[i]; if (animal == null) { Debug.LogError("Missing animal " + i); } else { animal.tick(); } } if (Dedicator.isDedicated && Time.realtimeSinceStartup - AnimalManager.lastTick > Provider.UPDATE_TIME) { AnimalManager.lastTick += Provider.UPDATE_TIME; if (Time.realtimeSinceStartup - AnimalManager.lastTick > Provider.UPDATE_TIME) { AnimalManager.lastTick = Time.realtimeSinceStartup; } base.channel.useCompression = true; this.seq += 1u; for (int j = 0; j < Provider.clients.Count; j++) { SteamPlayer steamPlayer = Provider.clients[j]; if (steamPlayer != null && !(steamPlayer.player == null)) { base.channel.openWrite(); base.channel.write(this.seq); ushort num3 = 0; int step = base.channel.step; base.channel.write(num3); int num4 = 0; for (int k = 0; k < AnimalManager.animals.Count; k++) { if (num3 >= 64) { break; } Animal animal2 = AnimalManager.animals[k]; if (!(animal2 == null) && animal2.isUpdated) { if ((animal2.transform.position - steamPlayer.player.transform.position).sqrMagnitude > 331776f) { if ((ulong)(this.seq % 8u) == (ulong)((long)num4)) { base.channel.write(animal2.index, animal2.transform.position, MeasurementTool.angleToByte(animal2.transform.rotation.eulerAngles.y)); num3 += 1; } num4++; } else { base.channel.write(animal2.index, animal2.transform.position, MeasurementTool.angleToByte(animal2.transform.rotation.eulerAngles.y)); num3 += 1; } } } if (num3 != 0) { int step2 = base.channel.step; base.channel.step = step; base.channel.write(num3); base.channel.step = step2; base.channel.closeWrite("tellAnimalStates", steamPlayer.playerID.steamID, ESteamPacket.UPDATE_UNRELIABLE_CHUNK_BUFFER); } } } base.channel.useCompression = false; for (int l = 0; l < AnimalManager.animals.Count; l++) { Animal animal3 = AnimalManager.animals[l]; if (!(animal3 == null)) { animal3.isUpdated = false; } } } this.respawnAnimals(); }