public bool TryGetPlayer(out PlayerTag tag) { Player component = Internal.GetComponent <Player>(); if (component != null) { tag = new PlayerTag(component.channel.owner); return(true); } tag = null; return(false); }
public static EntityTag For(string input) { if (input.StartsWith("p:")) { PlayerTag pt = PlayerTag.For(input); if (pt != null) { return(new EntityTag(pt.Internal.player.gameObject)); } return(null); } if (input.StartsWith("e:")) { input = input.Substring("e:".Length); } return(For(Utilities.StringToInt(input))); }
public bool TryGetPlayer(out PlayerTag tag) { Player component = Internal.GetComponent<Player>(); if (component != null) { tag = new PlayerTag(component.channel.owner); return true; } tag = null; return false; }
public static bool PlayerDamaged(Player player, ref uint amount, ref Vector3 ragdoll, ref EDeathCause deathCause, ref ELimb limb, CSteamID killer, object attacker, bool fromUFM) { TemplateObject attackerTag = null; if (killer != null && killer != CSteamID.Nil && killer != Provider.server) { SteamPlayer steamkiller = PlayerTool.getSteamPlayer(killer); if (steamkiller != null) { attackerTag = new PlayerTag(steamkiller); } } else if (attacker != null) { if (attacker is Animal) { attackerTag = new AnimalTag((Animal)attacker); } else if (attacker is Zombie) { attackerTag = new ZombieTag((Zombie)attacker); } } PlayerTag playerTag = new PlayerTag(player.channel.owner); UFMHealthController healthController = player.gameObject.GetComponent<UFMHealthController>(); uint health = healthController != null ? healthController.health : player.life.health; if (amount >= health) { PlayerDeathEventArgs deathevt = new PlayerDeathEventArgs(); deathevt.Player = playerTag; deathevt.Amount = new NumberTag(amount); deathevt.Cause = new TextTag(deathCause.ToString()); deathevt.Limb = new TextTag(limb.ToString()); deathevt.Killer = attackerTag; UnturnedFreneticEvents.OnPlayerDeath.Fire(deathevt); amount = (uint)deathevt.Amount.Internal; if (!deathevt.Cancelled && !EntityDeath(playerTag, ref amount) && healthController != null) { healthController.Damage(amount); player.life.ragdoll = ragdoll; amount = (uint)(((double)amount / healthController.maxHealth) * 100.0); return false; } return true; } PlayerDamagedEventArgs evt = new PlayerDamagedEventArgs(); evt.Player = playerTag; evt.Amount = new NumberTag(amount); evt.Attacker = attackerTag; UnturnedFreneticEvents.OnPlayerDamaged.Fire(evt); amount = (uint)evt.Amount.Internal; if (!evt.Cancelled && !EntityDamaged(playerTag, ref amount) && healthController != null) { healthController.Damage(amount); player.life.ragdoll = ragdoll; amount = (uint)(((double)amount / healthController.maxHealth) * 100.0); return false; } return true; }