[HELP] + problem

05/13/2009 04:19 Pete1990#1
Ok i got a small probelm my +1 +2 stones wont work inside of my Composer but the funny thing is. +3 +4 +5 +6 +7 +8 works and i have npc for the rest. Anyone know where i can find this problem at so i can fix it.
05/13/2009 04:58 kinshi88#2
+ Stones are really just items with a + on them (like equipment).
So make sure the stones have the same plus as they are ment to.
05/13/2009 05:59 Pete1990#3
Yea the do its the composeing npc thing dude i think becsue everthing else works fine. its like u fix one thing one more goes wrong lol.
05/13/2009 06:56 kinshi88#4
Post your composing script.
05/13/2009 07:15 Pete1990#5
HTML Code:
if (CurrentNPC == 278)
                            {
                                SendPacket(General.MyPackets.NPCSay("A good set of equipment can help you a lot in future battles. Is there something I can do for you?"));
                                //SendPacket(General.MyPackets.NPCLink("Enchant HP into my gears.", 1));
                                SendPacket(General.MyPackets.NPCLink("Compose +1 - +9 items.", 2));
                                SendPacket(General.MyPackets.NPCLink("Upgrade blessed Equipment.", 3));
                                SendPacket(General.MyPackets.NPCLink("No Thanks", 255));
                                SendPacket(General.MyPackets.NPCSetFace(30));
                                SendPacket(General.MyPackets.NPCFinish());
                            }
Controls
HTML Code:
if (CurrentNPC == 278)
                            {
                                if (Control == 0)
                                {
                                    SendPacket(General.MyPackets.NPCSay("A good set of equipment can help you a lot in future battles. Is there something I can do for you?"));
                                    //SendPacket(General.MyPackets.NPCLink("Enchant HP into my gears.", 1));
                                    SendPacket(General.MyPackets.NPCLink("Compose +1 - +9 items.", 2));
                                    SendPacket(General.MyPackets.NPCLink("Upgrade blessed Equipment.", 3));
                                    SendPacket(General.MyPackets.NPCLink("Nothing.", 255));
                                    SendPacket(General.MyPackets.NPCSetFace(30));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                                /*if (Control == 1)
                                {
                                    SendPacket(General.MyPackets.NPCSay("Which item would you like to Enchant HP into?"));
                                    SendPacket(General.MyPackets.NPCSay(" Make sure you have the Gem you want to Enchant in your inventory!"));
                                    SendPacket(General.MyPackets.NPCLink("Right-Hand Weapon.", 14));
                                    SendPacket(General.MyPackets.NPCLink("Shield.", 15));
                                    SendPacket(General.MyPackets.NPCLink("Headgear.", 16));
                                    SendPacket(General.MyPackets.NPCLink("Necklace/Bag.", 17));
                                    SendPacket(General.MyPackets.NPCLink("Bracelet/Ring/HeavyRing.", 18));
                                    SendPacket(General.MyPackets.NPCLink("Armor/Coat/Robe.", 19));
                                    SendPacket(General.MyPackets.NPCLink("Boots", 20));
                                    SendPacket(General.MyPackets.NPCSetFace(30));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                                if (Control == 14 || Control == 15 || Control == 16 || Control == 17 || Control == 18 || Control == 19 || Control == 20)
                                {
                                    bool HasEquip = false;
                                    byte EnchantEquip = 0;

                                    if (Control == 16 && MyChar.Equips[1] != null && MyChar.Equips[1] != "0")
                                    {
                                        HasEquip = true;
                                        EnchantEquip = 1;
                                    }
                                    else if (Control == 17 && MyChar.Equips[2] != null && MyChar.Equips[2] != "0")
                                    {
                                        HasEquip = true;
                                        EnchantEquip = 2;
                                    }
                                    else if (Control == 19 && MyChar.Equips[3] != null && MyChar.Equips[3] != "0")
                                    {
                                        HasEquip = true;
                                        EnchantEquip = 3;
                                    }
                                    else if (Control == 18 && MyChar.Equips[6] != null && MyChar.Equips[6] != "0")
                                    {
                                        HasEquip = true;
                                        EnchantEquip = 6;
                                    }
                                    else if (Control == 20 && MyChar.Equips[8] != null && MyChar.Equips[8] != "0")
                                    {
                                        HasEquip = true;
                                        EnchantEquip = 8;
                                    }
                                    else if (Control == 15 && MyChar.Equips[5] != null && MyChar.Equips[5] != "0")
                                    {
                                        HasEquip = true;
                                        EnchantEquip = 5;
                                    }
                                    else if (Control == 14 && MyChar.Equips[4] != null && MyChar.Equips[4] != "0")
                                    {
                                        HasEquip = true;
                                        EnchantEquip = 4;
                                    }
                                    else
                                    {
                                        HasEquip = false;
                                        SendPacket(General.MyPackets.NPCSay("You don't have that item!"));
                                        SendPacket(General.MyPackets.NPCLink("Oh yeah.", 21));
                                        SendPacket(General.MyPackets.NPCSetFace(30));
                                    SendPacket(General.MyPackets.NPCFinish());
                                        return;
                                    }

                                    if (HasEquip)
                                    {
                                        byte Enchant = 0;
                                        Random Rand = new Random();
                                        //Normal Gems
                                        if (MyChar.InventoryContains(700001, 1) || MyChar.InventoryContains(700011, 1) || MyChar.InventoryContains(700021, 1) || MyChar.InventoryContains(700031, 1) || MyChar.InventoryContains(700041, 1) || MyChar.InventoryContains(700051, 1) || MyChar.InventoryContains(700061, 1) || MyChar.InventoryContains(700071, 1))
                                        {
                                            Enchant = Convert.ToByte(Rand.Next(1, 59));
                                        }
                                        //Refined Gems
                                        else if (MyChar.InventoryContains(700072, 1) || MyChar.InventoryContains(700022, 1) || MyChar.InventoryContains(700042, 1))
                                        {
                                            Enchant = Convert.ToByte(Rand.Next(40, 89));
                                        }
                                        else if (MyChar.InventoryContains(700062, 1) || MyChar.InventoryContains(700052, 1) || MyChar.InventoryContains(700002, 1))
                                        {
                                            Enchant = Convert.ToByte(Rand.Next(60, 109));
                                        }
                                        else if (MyChar.InventoryContains(700032, 1))
                                        {
                                            Enchant = Convert.ToByte(Rand.Next(80, 129));
                                        }
                                        else if (MyChar.InventoryContains(700012, 1))
                                        {
                                            Enchant = Convert.ToByte(Rand.Next(100, 159));
                                        }
                                        //Super Gems
                                        else if (MyChar.InventoryContains(700013, 1))
                                        {
                                            Enchant = Convert.ToByte(Rand.Next(200, 255));
                                        }
                                        else if (MyChar.InventoryContains(700003, 1) || MyChar.InventoryContains(700073, 1) || MyChar.InventoryContains(700033, 1))
                                        {
                                            Enchant = Convert.ToByte(Rand.Next(170, 229));
                                        }
                                        else if (MyChar.InventoryContains(700063, 1) || MyChar.InventoryContains(700053, 1))
                                        {
                                            Enchant = Convert.ToByte(Rand.Next(140, 199));
                                        }
                                        else if (MyChar.InventoryContains(700023, 1))
                                        {
                                            Enchant = Convert.ToByte(Rand.Next(90, 149));
                                        }
                                        else if (MyChar.InventoryContains(700043, 1))
                                        {
                                            Enchant = Convert.ToByte(Rand.Next(70, 119));
                                        }
                                        else
                                        {
                                            SendPacket(General.MyPackets.NPCSay("You don't have a gem!"));
                                            SendPacket(General.MyPackets.NPCLink("Oh yeah.", 255));
                                            SendPacket(General.MyPackets.NPCSetFace(30));
                                            SendPacket(General.MyPackets.NPCFinish());
                                            return;
                                        }

                                        string[] item = MyChar.Equips[EnchantEquip].Split('-');

                                        MyChar.Equips[EnchantEquip] = item[0] + "-" + item[1] + "-" + Enchant + "-" + item[3] + "-" + item[4] + "-" + item[5];
                                        SendPacket(General.MyPackets.AddItem((long)MyChar.Equips_UIDs[EnchantEquip], int.Parse(item[0]), byte.Parse(item[1]), (byte)(Enchant), byte.Parse(item[3]), byte.Parse(item[4]), byte.Parse(item[5]), byte.Parse(item[6]), 100, 100));
                                    }
                                }*/

                                if (Control == 2)
                                {
                                   SendPacket(General.MyPackets.ETCPacket(MyChar, 1));
                                }
                                if (Control == 3)
                                {
                                    SendPacket(General.MyPackets.NPCSay("To upgrade blessed equipment, it will require SuperTortoiseGems."));
                                    SendPacket(General.MyPackets.NPCSay(" To upgrade from -1/-2 to -3/-4, it will require 1 Gem. From -3/-4 to -5/-6, it will require 3 Gems. From -5/-6 to -7, it will require 5 Gems."));
                                    SendPacket(General.MyPackets.NPCSay(" Please select the blessed equipment you would like to upgrade."));
                                    SendPacket(General.MyPackets.NPCLink("Right-Hand Weapon.", 4));
                                    SendPacket(General.MyPackets.NPCLink("Shield.", 5));
                                    SendPacket(General.MyPackets.NPCLink("Headgear.", 6));
                                    SendPacket(General.MyPackets.NPCLink("Necklace/Bag.", 7));
                                    SendPacket(General.MyPackets.NPCLink("Bracelet/Ring/HeavyRing.", 8));
                                    SendPacket(General.MyPackets.NPCLink("Armor/Coat/Robe.", 9));
                                    SendPacket(General.MyPackets.NPCLink("Boots", 10));
                                    SendPacket(General.MyPackets.NPCSetFace(30));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                            }
Its Blocked off becuse hp tihng makes it do - 100 damage and stuff:D So it links to that packet i looked for the packet here thatis to

HTML Code:
        public byte[] ETCPacket(Character Char, ushort Type)
        {
            ushort PacketType = 1010;
            byte[] Packet = new byte[24];

            fixed (byte* p = Packet)
            {
                *((ushort*)p) = (ushort)Packet.Length;
                *((ushort*)(p + 2)) = (ushort)PacketType;
                *((uint*)(p + 8)) = (uint)Char.UID;
                *((uint*)(p + 12)) = (uint)Type;
                *(p + 16) = 0xcf;
                *(p + 17) = 2;
                *(p + 18) = 34;
                *(p + 19) = 2;
                *(p + 20) = 3;
                *(p + 22) = 126;
            }
            return Packet;
        }
05/13/2009 07:16 kinshi88#6
That's not the script, that's the Npc, lol.
Hopeless lol
05/13/2009 07:25 Pete1990#7
Thats the only thing i see where else should i look im pretty sure if someone tells me where its at i can fix it just matter of find it:)