HelpKRelay Error Help

Posts 13 of 3 · Page 1 of 1
KRelay Error Help
Hi I keep getting the following error whenever I try to run this plugin:
Object reference not set to an instance of an object.
[Error] An exception was thrown
within ServerPacket
at MyClass.OnUpdate


Here's my code:
Code:
        public void Initialize(Proxy proxy)
        {
            proxy.HookPacket(PacketType.UPDATE, OnUpdate);
            proxy.HookCommand("dyeskin", OnSettings);
        }

        public void OnUpdate(Client client, Packet packet)
        {
            UpdatePacket updatePacket = (UpdatePacket)packet;
            Classes   @Class = client.PlayerData.Class;
            if    @Class <= Classes.Archer)
            {
                if    @Class != Classes****gue)
                {
                    if    @Class == Classes.Archer)
                    {
                        this.skintype = Conf.Default.ArcherSkin;
                    }
                }
                else
                {
                    this.skintype = Conf.Default****gueSkin;
                }
            }
            else if    @Class != Classes.Wizard)
            {
                if    @Class != Classes.Priest)
                {
                    switch    @Class)
                    {
                        case Classes.Warrior:
                            this.skintype = Conf.Default.WarriorSkin;
                            break;
                        case Classes.Knight:
                            this.skintype = Conf.Default.KnightSkin;
                            break;
                        case Classes.Paladin:
                            this.skintype = Conf.Default.PaladinSkin;
                            break;
                        case Classes.Assassin:
                            this.skintype = Conf.Default.AssassinSkin;
                            break;
                        case Classes.Necromancer:
                            this.skintype = Conf.Default.NecroSkin;
                            break;
                        case Classes.Huntress:
                            this.skintype = Conf.Default.HuntressSkin;
                            break;
                        case Classes.Mystic:
                            this.skintype = Conf.Default.MysticSkin;
                            break;
                        case Classes.Trickster:
                            this.skintype = Conf.Default.TricksterSkin;
                            break;
                        case Classes.Sorcerer:
                            this.skintype = Conf.Default.SorcererSkin;
                            break;
                        case Classes.Ninja:
                            this.skintype = Conf.Default.NinjaSkin;
                            break;
                    }
                }
                else
                {
                    this.skintype = Conf.Default.PriestSkin;
                }
            }
            else
            {
                this.skintype = Conf.Default.WizardSkin;
            }
            bool flag = this.y == 0;
            if (flag)
            {
                bool enabled = Conf.Default.Enabled;
                if (enabled)
                {
                    for (int i = 0; i < this.largedyes.Length; i++)
                    {
                        bool flag2 = this.largedyes[i].ToLower() == Conf.Default.LargeDye.ToLower();
                        if (flag2)
                        {
                            this.LDyeNum = this.largedyenums[i];
                        }
                    }
                    for (int j = 0; j < this.smalldyes.Length; j++)
                    {
                        bool flag3 = this.smalldyes[j].ToLower() == Conf.Default.SmallDye.ToLower();
                        if (flag3)
                        {
                            this.SDyeNum = this.smalldyenums[j];
                        }
                    }
                    for (int k = 0; k < this.skins.Length; k++)
                    {
                        bool flag4 = this.skins[k].ToLower() == this.skintype.ToLower();
                        if (flag4)
                        {
                            this.skinnumber = this.skinnums[k];
                        }
                    }
                }
                bool enabled2 = Conf.Default.Enabled;
                if (enabled2)
                {
                    bool flag5 = this.skinnumber != 0;
                    if (flag5)
                    {
                        for (int l = 0; l < updatePacket.NewObjs.Length; l++)
                        {
                            bool flag6 = updatePacket.NewObjs[l].Status.ObjectId == client.ObjectId;
                            if (flag6)
                            {
                                for (int m = 0; m < updatePacket.NewObjs[l].Status.Data.Length; m++)
                                {
                                    bool flag7 = updatePacket.NewObjs[l].Status.Data[m].Id == 80;
                                    if (flag7)
                                    {
                                        updatePacket.NewObjs[l].Status.Data[m].IntValue = this.skinnumber;
                                    }
                                }
                            }
                        }
                    }
                    bool flag8 = this.LDyeNum != 0;
                    if (flag8)
                    {
                        for (int n = 0; n < updatePacket.NewObjs.Length; n++)
                        {
                            bool flag9 = updatePacket.NewObjs[n].Status.ObjectId == client.ObjectId;
                            if (flag9)
                            {
                                for (int num = 0; num < updatePacket.NewObjs[n].Status.Data.Length; num++)
                                {
                                    bool flag10 = updatePacket.NewObjs[n].Status.Data[num].Id == 32;
                                    if (flag10)
                                    {
                                        updatePacket.NewObjs[n].Status.Data[num].IntValue = this.LDyeNum;
                                    }
                                }
                            }
                        }
                    }
                    bool flag11 = this.SDyeNum != 0;
                    if (flag11)
                    {
                        for (int num2 = 0; num2 < updatePacket.NewObjs.Length; num2++)
                        {
                            bool flag12 = updatePacket.NewObjs[num2].Status.ObjectId == client.ObjectId;
                            if (flag12)
                            {
                                for (int num3 = 0; num3 < updatePacket.NewObjs[num2].Status.Data.Length; num3++)
                                {
                                    bool flag13 = updatePacket.NewObjs[num2].Status.Data[num3].Id == 33;
                                    if (flag13)
                                    {
                                        updatePacket.NewObjs[num2].Status.Data[num3].IntValue = this.SDyeNum;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        private void OnSettings(Client client, string command, string[] args)
        {
            bool flag = args.Length >= 1;
            if (flag)
            {
                Console.WriteLine("Use /dyeskin for settings!");
            }
            else
            {
                PluginUtils.ShowGenericSettingsGUI(Conf.Default, "Dye/Skin Settings");
            }
        }
    }
}
Thanks for the help.
The code looks so messy that you're probably better off trying to rewrite the whole function.
Quote Originally Posted by CrazyJani View Post
The code looks so messy that you're probably better off trying to rewrite the whole function.
I'll try doing that but if I get any errors that I can't fix can you help me please?
Posts 13 of 3 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?