1. Code:
    [Oxide] 11:21 PM [Error] Failed to call hook 'OnEventPlayerDeath' on plugin 'LastManStanding v1.1.1' (NullReferenceException: Object reference not set to an instance of an object)
    [Oxide] 11:21 PM [Debug]   at Oxide.Plugins.LastManStanding.OnEventPlayerDeath (.BasePlayer victim, .HitInfo hitinfo) [0x00000] in <filename unknown>:0  at Oxide.Plugins.LastManStanding.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0  at Oxide.Plugins.CSharpPlugin.InvokeMethod (System.Reflection.MethodInfo method, System.Object[] args) [0x00000] in <filename unknown>:0  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0  at Oxide.Core.Plugins.Plugin.CallHook (System.String hookname, System.Object[] args) [0x00000] in <filename unknown>:0
    [DOUBLEPOST=1453762065][/DOUBLEPOST]Thats the code from:

    Code:
    void OnEventPlayerDeath(BasePlayer victim, HitInfo hitinfo)
            {
                var attacker = hitinfo?.Initiator as BasePlayer;
                ulong attackerID = attacker.userID;
                var PlayersLeft = LMSPlayers.Count;
                if (useThisEventLMS)
                {
                    adddeathsstats(victim);
                    addkillstats(attacker);
                    EventManager.Call("LeaveEvent", victim);
                    MessageAllPlayers(string.Format(lang.GetMessage("title", this) + lang.GetMessage("eventDeath", this), victim.displayName));
                    if (LMSPlayers.Count <= 1)
                    {
                        addKillPoints(attacker);
                        Winner(attacker);
                        return;
                    }
                    //addSurvivalPoints();
                    MessageAllPlayers(string.Format(lang.GetMessage("title", this) + lang.GetMessage("playersremaining", this), PlayersLeft.ToString()));
                }
            }
     
  2. Wulf

    Wulf Community Admin

    You'd need to check if the attacker is null.
     
  3. how??
    Code:
    if (attacker == null)
    {
        false
    }
    true
     
  4. Wulf

    Wulf Community Admin

    Pretty much just check null before your code that deals with the attacker. If the code is all about the attacker, just check for null and return before the relevant code.
     
  5. Seems not working :C
    Code:
    void OnEventPlayerDeath(BasePlayer victim, HitInfo hitinfo)
            {
                var attacker = hitinfo?.Initiator as BasePlayer;
                ulong attackerID = attacker.userID;
                var PlayersLeft = LMSPlayers.Count;
                if (useThisEventLMS)
                {
                    adddeathsstats(victim);
                    if (attacker == null)
                    {
                        addkillstats(attacker);
                        EventManager.Call("LeaveEvent", victim);
                        MessageAllPlayers(string.Format(lang.GetMessage("title", this) + lang.GetMessage("eventDeath", this), victim.displayName));
                        if (LMSPlayers.Count <= 1)
                        {
                            addKillPoints(attacker);
                            Winner(attacker);
                            return;
                        }
                        //addSurvivalPoints();
                        MessageAllPlayers(string.Format(lang.GetMessage("title", this) + lang.GetMessage("playersremaining", this), PlayersLeft.ToString()));
                    }
                    EventManager.Call("LeaveEvent", victim);
                    MessageAllPlayers(string.Format(lang.GetMessage("title", this) + lang.GetMessage("eventDeath", this), victim.displayName));
                    MessageAllPlayers(string.Format(lang.GetMessage("title", this) + lang.GetMessage("playersremaining", this), PlayersLeft.ToString()));
                }
            }
     
  6. Wulf

    Wulf Community Admin

    You've got it reversed.
     
  7. Uh, gg for me D: