Solved [Help] My Plugin Error

remove.tk

Member
Trusted Member
Member
Jan 27, 2015
43
10
8
26
Parts Unknown


i want check ramp Paste on sleepingbag

(sorry I'm not good at English, I'm sorry if you don't understand)
 
Last edited:

remove.tk

Member
Trusted Member
Member
Jan 27, 2015
43
10
8
26
Parts Unknown
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Fougerite;
using UnityEngine;
using System.IO;
using System.Net;
using System.Reflection;

namespace RampLoot
{
    public class RampLoot : Fougerite.Module
    {
        private bool RampLoot_Enabled = true;

        #region Plugin Des
        public override string Name
        {
            get
            {
                return "RampLoot";
            }
        }
        public override string Author
        {
            get
            {
                return "Developed By.SoGood";
            }
        }
        public override string Description
        {
            get
            {
                return "RampLoot";
            }
        }
        public override Version Version
        {
            get
            {
                return new Version("0.1");
            }
        }
        #endregion

        public override void Initialize()
        {
            Hooks.OnEntityDeployed += HandleEntityDeployed;
        }

        public override void DeInitialize()
        {
            Hooks.OnEntityDeployed -= HandleEntityDeployed;
        }

        public void HandleEntityDeployed(Fougerite.Player player, Fougerite.Entity en)
        {
            if (RampLoot_Enabled)
            {
                if (en != null)
                {
                    if (en.Name.Contains("Ramp"))
                    {
                        player.Message(en.Name);
                        var location = en.Location;
                        float d = 3.5f;
                        var x = Physics.OverlapSphere(location, d);
                        if (x.Any(l => l.name.ToLower().Contains("SleepingBag")))
                        {
                            en.Destroy();
                            player.Message("ERROR");
                        }
                    }
                }
            }
        }
    }
}
 

DreTaX

Probably knows the answer...
Administrator
Jun 29, 2014
4,093
4,784
113
At your house.
github.com
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Fougerite;
using UnityEngine;
using System.IO;
using System.Net;
using System.Reflection;

namespace RampLoot
{
    public class RampLoot : Fougerite.Module
    {
        private bool RampLoot_Enabled = true;

        #region Plugin Des
        public override string Name
        {
            get
            {
                return "RampLoot";
            }
        }
        public override string Author
        {
            get
            {
                return "Developed By.SoGood";
            }
        }
        public override string Description
        {
            get
            {
                return "RampLoot";
            }
        }
        public override Version Version
        {
            get
            {
                return new Version("0.1");
            }
        }
        #endregion

        public override void Initialize()
        {
            Hooks.OnEntityDeployed += HandleEntityDeployed;
        }

        public override void DeInitialize()
        {
            Hooks.OnEntityDeployed -= HandleEntityDeployed;
        }

        public void HandleEntityDeployed(Fougerite.Player player, Fougerite.Entity en)
        {
            if (RampLoot_Enabled)
            {
                if (en != null)
                {
                    if (en.Name.Contains("Ramp"))
                    {
                        player.Message(en.Name);
                        var location = en.Location;
                        float d = 3.5f;
                        var x = Physics.OverlapSphere(location, d);
                        if (x.Any(l => l.name.ToLower().Contains("SleepingBag")))
                        {
                            en.Destroy();
                            player.Message("ERROR");
                        }
                    }
                }
            }
        }
    }
}
When you created a class, did u name it RampLoot.cs?
 

remove.tk

Member
Trusted Member
Member
Jan 27, 2015
43
10
8
26
Parts Unknown
if remove code
will not error


C#:
public void HandleEntityDeployed(Fougerite.Player player, Fougerite.Entity en)
        {
            if (RampLoot_Enabled)
            {
                if (en != null)
                {
                    if (en.Name.Contains("Ramp"))
                    {
                        player.Message(en.Name);
                        var location = en.Location;
                        float d = 3.5f;
                        var x = Physics.OverlapSphere(location, d);
                        //if (x.Any(l => l.name.ToLower().Contains("SleepingBag")))
                        //{
                        //    en.Destroy();
                        //    player.Message("ERROR");
                        //}
                    }
                }
            }
        }
 

DreTaX

Probably knows the answer...
Administrator
Jun 29, 2014
4,093
4,784
113
At your house.
github.com
if remove code
will not error


C#:
public void HandleEntityDeployed(Fougerite.Player player, Fougerite.Entity en)
        {
            if (RampLoot_Enabled)
            {
                if (en != null)
                {
                    if (en.Name.Contains("Ramp"))
                    {
                        player.Message(en.Name);
                        var location = en.Location;
                        float d = 3.5f;
                        var x = Physics.OverlapSphere(location, d);
                        //if (x.Any(l => l.name.ToLower().Contains("SleepingBag")))
                        //{
                        //    en.Destroy();
                        //    player.Message("ERROR");
                        //}
                    }
                }
            }
        }
I assume that It's my code, cuz the vars and stuffs look like the same mechanism like in GlitchFix.

Try It with foreach:

C#:
namespace RampLoot
{
    using System;
    using Fougerite;
    using UnityEngine;
    public class RampLoot : Fougerite.Module
    {
        private bool RampLoot_Enabled = true;

        #region Plugin Des
        public override string Name
        {
            get
            {
                return "RampLoot";
            }
        }
        public override string Author
        {
            get
            {
                return "Developed By.SoGood";
            }
        }
        public override string Description
        {
            get
            {
                return "RampLoot";
            }
        }
        public override Version Version
        {
            get
            {
                return new Version("0.1");
            }
        }
        #endregion

        public override void Initialize()
        {
            Hooks.OnEntityDeployed += HandleEntityDeployed;
        }

        public override void DeInitialize()
        {
            Hooks.OnEntityDeployed -= HandleEntityDeployed;
        }

        public void HandleEntityDeployed(Fougerite.Player player, Fougerite.Entity en)
        {
            if (RampLoot_Enabled)
            {
                if (en != null)
                {
                    if (en.Name.Contains("Ramp"))
                    {
                        player.Message(en.Name);
                        var location = en.Location;
                        float d = 3.5f;
                        var x = Physics.OverlapSphere(location, d);
                        foreach (var l in x)
                        {
                            if (l.name.ToLower().Contains("sleepingbag"))
                            {
                                en.Destroy();
                                player.Message("ERROR");
                                break;
                            }
                        }
                    }
                }
            }
        }
    }
 

remove.tk

Member
Trusted Member
Member
Jan 27, 2015
43
10
8
26
Parts Unknown
Code:
NullReferenceException: Object reference not set to an instance of an object
  at Facepunch.MeshBatch.Runtime.MeshBatchPhysicalOutput.ActivateImmediatelyUnchecked () [0x00000] in <filename unknown>:0

  at Facepunch.MeshBatch.Runtime.MeshBatchPhysicalOutput.OnQueue () [0x00000] in <filename unknown>:0

  at Facepunch.MeshBatch.Runtime.Sealed.MeshBatchPhysicalIntegration.IntegrateOne () [0x00000] in <filename unknown>:0

  at Facepunch.MeshBatch.Runtime.Sealed.MeshBatchPhysicalIntegration.FixedUpdate () [0x00000] in <filename unknown>:0
(Filename:  Line: -1)

NullReferenceException: Object reference not set to an instance of an object
  at Facepunch.MeshBatch.Runtime.MeshBatchPhysicalOutput.ActivateImmediatelyUnchecked () [0x00000] in <filename unknown>:0

  at Facepunch.MeshBatch.Runtime.MeshBatchPhysicalOutput.OnQueue () [0x00000] in <filename unknown>:0

  at Facepunch.MeshBatch.Runtime.Sealed.MeshBatchPhysicalIntegration.IntegrateOne () [0x00000] in <filename unknown>:0

  at Facepunch.MeshBatch.Runtime.Sealed.MeshBatchPhysicalIntegration.FixedUpdate () [0x00000] in <filename unknown>:0
(Filename:  Line: -1)
 
  • Informative
Reactions: DreTaX

Jakkee

Retired Staff
Retired Staff
Plugin Developer
Jul 28, 2014
1,465
932
113
Australia
Same here for nullreferenceException on Entity.Destory(), Doesn't effect anything it just throws an ugly red error in console, Destory works fine