For some reason, When ever I attack patrol helicopter i get Player is "Null in console" but also I get "Found player". I don't understand how it is null as the entity dealing damage to the heli is a player.
When the heli gets taken down i get this
(16:08:13) | Exception while calling NextTick callback (NullReferenceException: Object reference not set to an instance of an object)
at Oxide.Plugins.DamageNotifier+<OnEntityTakeDamage>c__AnonStorey0.<>m__0 () [0x0000c] in <59e775c7db404fafb133bf6821524798>:0
at Oxide.Core.OxideMod.OnFrame (System.Single delta) [0x00051] in <50629aa0e75d4126b345d8d9d64da28d>:0 public Dictionary<BasePlayer, int> HeliHits = new Dictionary<BasePlayer, int>();
object OnEntityTakeDamage(BaseCombatEntity entity, HitInfo info)
{
if (entity.PrefabName == "patrolhelicopter" || entity.PrefabName == "patrol_helicopter" || entity.ShortPrefabName == "patrol_helicopter" || entity.ShortPrefabName == "patrolhelicopter")
{
// Puts("Heli Hit");
NextTick(() =>
{
BasePlayer player = info.InitiatorPlayer;
ItemDefinition itemDefinition = info.Weapon.GetEntity().GetComponent<BaseProjectile>().primaryMagazine.ammoType;
if (player != null)
{
if (itemDefinition.shortname != "ammo.rifle") { Puts("Not rifle ammo"); return; }
int damages = (int)info.damageTypes.Total();
if (!HeliHits.ContainsKey(info.InitiatorPlayer))
{
HeliHits.Add(info.InitiatorPlayer, damages);
}
else
{
HeliHits[info.InitiatorPlayer] += damages;
}
Puts(Found Player);
}
Puts("Player is Null"); return;
});
}
return null;
}