Ethereal NPC Glitch Help

06/29/2011 17:35 Sythen#1
He upgrades it even if you are not wearing it, and when i click on Necklace it blesses armor, when i click on headgear it blesses Necklace, when i click on Armor it blesses Weapons, and so on. The only one that is what the user clicks on is boots.

Code:
#region Ethereal
                            case 35015:
                                {
                                    if (Control == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("I can bless your items for tortoise gems."));
                                        GC.AddSend(Packets.NPCSay("Would you like me to do so?"));
                                        GC.AddSend(Packets.NPCLink("Yes", 1));
                                        GC.AddSend(Packets.NPCLink("No", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());

                                    }

                                    if (Control == 1)
                                    {
                                        GC.AddSend(Packets.NPCSay("Which equipment do you want to bless."));
                                        GC.AddSend(Packets.NPCLink("Headgear", 2));
                                        GC.AddSend(Packets.NPCLink("Necklace/Bag", 3));
                                        GC.AddSend(Packets.NPCLink("Armor", 4));
                                        GC.AddSend(Packets.NPCLink("Weapon", 5));
                                        GC.AddSend(Packets.NPCLink("Shield", 6));
                                        GC.AddSend(Packets.NPCLink("Ring", 7));
                                        GC.AddSend(Packets.NPCLink("Boots", 8));
                                        GC.AddSend(Packets.NPCLink("Nevermind", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }

                                    if (Control >= 2 && Control <= 8)
                                    {
                                        Game.Item I = GC.MyChar.Equips.Get((byte)(Control));
                                        if (I.Bless != 7)
                                        {
                                            byte TortoiseNeeded = 0;
                                            if (I.Bless == 0)
                                                TortoiseNeeded = 5;
                                            else if (I.Bless == 1)
                                                TortoiseNeeded = 1;
                                            else if (I.Bless == 3)
                                                TortoiseNeeded = 3;
                                            else if (I.Bless == 5)
                                                TortoiseNeeded = 5;
                                            GC.AddSend(Packets.NPCSay("You need " + TortoiseNeeded + " Super Tortoise to upgrade the equipment."));
                                            GC.AddSend(Packets.NPCSay("Your item current bless is " + I.Bless + "."));
                                            if (I.Bless != 0)
                                            {
                                                GC.AddSend(Packets.NPCSay("It will become " + (I.Bless + 2) + "."));
                                            }

                                            else if (I.Bless == 0)
                                            {
                                                GC.AddSend(Packets.NPCSay("It will become " + (I.Bless + 1) + "."));
                                            }
                                            GC.AddSend(Packets.NPCSay("Would you still like for me to do it?"));
                                            GC.AddSend(Packets.NPCLink("Yes.", Control));
                                            GC.AddSend(Packets.NPCLink("Nevermind.", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());

                                            if (GC.MyChar.InventoryContains(700073, TortoiseNeeded))
                                            {
                                                GC.MyChar.EquipStats((byte)(Control), false);
                                                for (byte i = 0; i < TortoiseNeeded; i++)
                                                {
                                                    GC.MyChar.RemoveItem(GC.MyChar.NextItem(700073));
                                                }
                                                if (I.Bless == 0)
                                                    I.Bless = 1;
                                                else
                                                    I.Bless += 2;
                                                GC.MyChar.Equips.Replace((byte)(Control), I, GC.MyChar);
                                                GC.MyChar.EquipStats((byte)(Control), true);

                                                GC.AddSend(Packets.NPCSay("Here you are. It's done."));
                                                GC.AddSend(Packets.NPCLink("Thanks.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }

                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("You do not have the required materials."));
                                                GC.AddSend(Packets.NPCLink("Damn.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }


                                        }

                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("The bless on your current equipment is too high."));
                                            GC.AddSend(Packets.NPCLink("Ok.", 255));
                                        }
                                       
                                        
                                    }


                                } break;
                            #endregion
07/01/2011 03:45 zTek#2
Hi Sythen. Try this out: [Only registered and activated users can see links. Click Here To Register...]

*Edit*

I just noticed this was in the CO2 Main section. I know your new, so you most likely won't get a infract. But next time when your dealing with PServer issues, post [Only registered and activated users can see links. Click Here To Register...].