[Release] Npc Item Socket full

02/22/2010 20:58 ramix#1
hello ppl iam go release item socket npc full like real co the % to open the second socket is 10% you can chance if you wanna

this npc is for version 5165 :D

Code:
#region Item Socket
                            case 550:
                                {
                                    if (Control == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("Hey did you hear about me, i can put a socket to any item u want. "));
                                        GC.AddSend(Packets.NPCSay("Just tell me what do u want me to do"));
                                        GC.AddSend(Packets.NPCLink("Open First socket", 1));
                                        GC.AddSend(Packets.NPCLink("2nd socket using ToughDrill", 2));
                                        GC.AddSend(Packets.NPCLink("2nd socket using 7 StarDrill", 3));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    if (Control == 1 || Control == 2)
                                    {
                                        if (Control == 1)
                                            GC.AddSend(Packets.NPCSay("Prepare 12 DragonBalls for the first socket and choose the equipment you want the socket to be created in."));
                                        else
                                            GC.AddSend(Packets.NPCSay("Prepare the Tough Drills to open the second socket and choose the equipment you want the socket to be created in. Good luck"));
                                        
                                        GC.AddSend(Packets.NPCLink("Headgear", (byte)(Control * 100 + 1)));
                                        GC.AddSend(Packets.NPCLink("Necklace/Bag", (byte)(Control * 100 + 2)));
                                        GC.AddSend(Packets.NPCLink("Armor/Coat", (byte)(Control * 100 + 3)));
                                        GC.AddSend(Packets.NPCLink("Shield", (byte)(Control * 100 + 5)));
                                        GC.AddSend(Packets.NPCLink("Ring/Bracelete", (byte)(Control * 100 + 6)));
                                        GC.AddSend(Packets.NPCLink("Boots", (byte)(Control * 100 + 8)));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (Control > 100 && Control <= 103 || Control == 105 || Control == 106 || Control == 108)
                                    {
                                        byte Pos = (byte)(Control - 100);
                                        Game.Item Eq = GC.MyChar.Equips.Get(Pos);
                                        if (Eq.Soc1 == NewestCOServer.Game.Item.Gem.NoSocket)
                                        {
                                            if (GC.MyChar.InventoryContains(1088000, 12))
                                            {
                                                GC.MyChar.EquipStats(Pos, false);
                                                for (byte i = 0; i < 12; i++)
                                                GC.MyChar.RemoveItem(GC.MyChar.NextItem(1088000));
                                                Eq.Soc1 = NewestCOServer.Game.Item.Gem.EmptySocket;
                                                GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
                                                GC.MyChar.EquipStats(Pos, true);

                                                GC.AddSend(Packets.NPCSay("Congratulations! You now have the first socket in your equipment."));
                                                GC.AddSend(Packets.NPCLink("Thanks", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("You don't have the materials."));
                                                GC.AddSend(Packets.NPCLink("I see.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("The item already has the first socket."));
                                            GC.AddSend(Packets.NPCLink("Oh, right.", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    else if (Control > 200 && Control <= 203 || Control == 205 || Control == 206 || Control == 208)
                                    {
                                        byte Pos = (byte)(Control - 200);
                                        Game.Item Eq = GC.MyChar.Equips.Get(Pos);
                                        if (Eq.Soc1 != NewestCOServer.Game.Item.Gem.NoSocket)
                                        {
                                            if (Eq.Soc2 == NewestCOServer.Game.Item.Gem.NoSocket)
                                            {
                                                if (GC.MyChar.InventoryContains(1200005, 1))
                                                {
                                                    if (MyMath.ChanceSuccess(10.0))
                                                    {
                                                        GC.MyChar.EquipStats(Pos, false);
                                                        GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200005));
                                                        Eq.Soc2 = NewestCOServer.Game.Item.Gem.EmptySocket;
                                                        GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
                                                        GC.MyChar.EquipStats(Pos, true);

                                                        GC.AddSend(Packets.NPCSay("Congratulations! You now have the second socket in your equipment."));
                                                        GC.AddSend(Packets.NPCLink("Thanks", 255));
                                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                        GC.AddSend(Packets.NPCFinish());
                                                        World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " is so lucky to open the second socket using a Tough Drill", 2011, 0);
                                                    }

                                                    else
                                                    {
                                                        GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200005));
                                                        GC.MyChar.AddItem(1200006, 1);
                                                        GC.AddSend(Packets.NPCSay("Bad luck you have hahahah"));
                                                        GC.AddSend(Packets.NPCLink("Iam unlucky", 255));
                                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                        GC.AddSend(Packets.NPCFinish());
                                                    }
                                                }
                                                else
                                                {
                                                    GC.AddSend(Packets.NPCSay("You don't have the materials."));
                                                    GC.AddSend(Packets.NPCLink("I see.", 255));
                                                    GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                    GC.AddSend(Packets.NPCFinish());
                                                }
                                            }
                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("The item already has the second socket."));
                                                GC.AddSend(Packets.NPCLink("Oh, right.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("You first need the first socket done. Then i can make the second one."));
                                            GC.AddSend(Packets.NPCLink("I see.", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    if (Control == 3)
                                    {
                                        GC.AddSend(Packets.NPCSay("Prepare 7 Star Drills to open the secon socket and choose the equipment you want the socket to be created in."));
                                        GC.AddSend(Packets.NPCLink("Headgear", 31));
                                        GC.AddSend(Packets.NPCLink("Necklace/Bag", 32));
                                        GC.AddSend(Packets.NPCLink("Armor/Coat", 33));
                                        GC.AddSend(Packets.NPCLink("Shield", 35));
                                        GC.AddSend(Packets.NPCLink("Ring/Bracelete", 36));
                                        GC.AddSend(Packets.NPCLink("Boots", 38));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    if (Control > 30 && Control <= 33 || Control == 35 || Control == 36 || Control == 38)
                                    {
                                            byte Pos = (byte)(Control - 30);
                                            Game.Item Eq = GC.MyChar.Equips.Get(Pos);
                                            if (Eq.Soc1 != NewestCOServer.Game.Item.Gem.NoSocket)
                                            {
                                                if (Eq.Soc2 == NewestCOServer.Game.Item.Gem.NoSocket)
                                                {
                                                    if (GC.MyChar.InventoryContains(1200006, 7))
                                                    {
                                                        GC.MyChar.EquipStats(Pos, false);
                                                        for (int i = 0; i < 7; i++)
                                                        GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200006));
                                                        Eq.Soc2 = NewestCOServer.Game.Item.Gem.EmptySocket;
                                                        GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
                                                        GC.MyChar.EquipStats(Pos, true);

                                                        GC.AddSend(Packets.NPCSay("Congratulations! You now have the second socket in your equipment."));
                                                        GC.AddSend(Packets.NPCLink("Thanks", 255));
                                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                        GC.AddSend(Packets.NPCFinish());
                                                    }
                                                    else
                                                    {
                                                        GC.AddSend(Packets.NPCSay("You don't have the materials."));
                                                        GC.AddSend(Packets.NPCLink("I see.", 255));
                                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                        GC.AddSend(Packets.NPCFinish());
                                                    }
                                                }
                                                else
                                                {
                                                    GC.AddSend(Packets.NPCSay("The item already has the second socket."));
                                                    GC.AddSend(Packets.NPCLink("Oh, right.", 255));
                                                    GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                    GC.AddSend(Packets.NPCFinish());
                                                }
                                            }
                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("You first need the first socket done. Then i can make the second one."));
                                                GC.AddSend(Packets.NPCLink("I see.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }

                                    break;
                                }
                            #endregion
i tested and work for me :D

you only need replace for the old item socket you have int your source :D

and i not see this release in this forum :D
03/06/2010 12:42 Paralyzer[GM]#2
I will use this in my server :P!
03/06/2010 12:51 xScott#3
Good job :)
03/06/2010 14:32 LegalConquer#4
Quote:
Originally Posted by ramix View Post
hello ppl iam go release item socket npc full like real co the % to open the second socket is 10% you can chance if you wanna

this npc is for version 5165 :D

Code:
#region Item Socket
                            case 550:
                                {
                                    if (Control == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("Hey did you hear about me, i can put a socket to any item u want. "));
                                        GC.AddSend(Packets.NPCSay("Just tell me what do u want me to do"));
                                        GC.AddSend(Packets.NPCLink("Open First socket", 1));
                                        GC.AddSend(Packets.NPCLink("2nd socket using ToughDrill", 2));
                                        GC.AddSend(Packets.NPCLink("2nd socket using 7 StarDrill", 3));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    if (Control == 1 || Control == 2 || Control == 3)
                                    {
                                        if (Control == 1)
                                            GC.AddSend(Packets.NPCSay("Prepare 12 DragonBalls for the first socket and choose the equipment you want the socket to be created in."));
                                        else
                                            GC.AddSend(Packets.NPCSay("Prepare the Tough Drills to open the second socket and choose the equipment you want the socket to be created in. Good luck"));
                                        
                                        GC.AddSend(Packets.NPCLink("Headgear", (byte)(Control * 100 + 1)));
                                        GC.AddSend(Packets.NPCLink("Necklace/Bag", (byte)(Control * 100 + 2)));
                                        GC.AddSend(Packets.NPCLink("Armor/Coat", (byte)(Control * 100 + 3)));
                                        GC.AddSend(Packets.NPCLink("Shield", (byte)(Control * 100 + 5)));
                                        GC.AddSend(Packets.NPCLink("Ring/Bracelete", (byte)(Control * 100 + 6)));
                                        GC.AddSend(Packets.NPCLink("Boots", (byte)(Control * 100 + 8)));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (Control > 100 && Control <= 103 || Control == 105 || Control == 106 || Control == 108)
                                    {
                                        byte Pos = (byte)(Control - 100);
                                        Game.Item Eq = GC.MyChar.Equips.Get(Pos);
                                        if (Eq.Soc1 == NewestCOServer.Game.Item.Gem.NoSocket)
                                        {
                                            if (GC.MyChar.InventoryContains(1088000, 12))
                                            {
                                                GC.MyChar.EquipStats(Pos, false);
                                                for (byte i = 0; i < 12; i++)
                                                GC.MyChar.RemoveItem(GC.MyChar.NextItem(1088000));
                                                Eq.Soc1 = NewestCOServer.Game.Item.Gem.EmptySocket;
                                                GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
                                                GC.MyChar.EquipStats(Pos, true);

                                                GC.AddSend(Packets.NPCSay("Congratulations! You now have the first socket in your equipment."));
                                                GC.AddSend(Packets.NPCLink("Thanks", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("You don't have the materials."));
                                                GC.AddSend(Packets.NPCLink("I see.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("The item already has the first socket."));
                                            GC.AddSend(Packets.NPCLink("Oh, right.", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    else if (Control > 200 && Control <= 203 || Control == 205 || Control == 206 || Control == 208)
                                    {
                                        byte Pos = (byte)(Control - 200);
                                        Game.Item Eq = GC.MyChar.Equips.Get(Pos);
                                        if (Eq.Soc1 != NewestCOServer.Game.Item.Gem.NoSocket)
                                        {
                                            if (Eq.Soc2 == NewestCOServer.Game.Item.Gem.NoSocket)
                                            {
                                                if (GC.MyChar.InventoryContains(1200005, 1))
                                                {
                                                    if (MyMath.ChanceSuccess(10.0))
                                                    {
                                                        GC.MyChar.EquipStats(Pos, false);
                                                        GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200005));
                                                        Eq.Soc2 = NewestCOServer.Game.Item.Gem.EmptySocket;
                                                        GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
                                                        GC.MyChar.EquipStats(Pos, true);

                                                        GC.AddSend(Packets.NPCSay("Congratulations! You now have the second socket in your equipment."));
                                                        GC.AddSend(Packets.NPCLink("Thanks", 255));
                                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                        GC.AddSend(Packets.NPCFinish());
                                                        World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " is so lucky to open the second socket using a Tough Drill", 2011, 0);
                                                    }

                                                    else
                                                    {
                                                        GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200005));
                                                        GC.MyChar.AddItem(1200006, 1);
                                                        GC.AddSend(Packets.NPCSay("Bad luck you have hahahah"));
                                                        GC.AddSend(Packets.NPCLink("Iam unlucky", 255));
                                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                        GC.AddSend(Packets.NPCFinish());
                                                    }
                                                }
                                                else
                                                {
                                                    GC.AddSend(Packets.NPCSay("You don't have the materials."));
                                                    GC.AddSend(Packets.NPCLink("I see.", 255));
                                                    GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                    GC.AddSend(Packets.NPCFinish());
                                                }
                                            }
                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("The item already has the second socket."));
                                                GC.AddSend(Packets.NPCLink("Oh, right.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("You first need the first socket done. Then i can make the second one."));
                                            GC.AddSend(Packets.NPCLink("I see.", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    if (Control == 3)
                                    {
                                        GC.AddSend(Packets.NPCSay("Prepare 7 Star Drills to open the secon socket and choose the equipment you want the socket to be created in."));
                                        GC.AddSend(Packets.NPCLink("Headgear", 31));
                                        GC.AddSend(Packets.NPCLink("Necklace/Bag", 32));
                                        GC.AddSend(Packets.NPCLink("Armor/Coat", 33));
                                        GC.AddSend(Packets.NPCLink("Shield", 35));
                                        GC.AddSend(Packets.NPCLink("Ring/Bracelete", 36));
                                        GC.AddSend(Packets.NPCLink("Boots", 38));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    if (Control > 30 && Control <= 33 || Control == 35 || Control == 36 || Control == 38)
                                    {
                                            byte Pos = (byte)(Control - 30);
                                            Game.Item Eq = GC.MyChar.Equips.Get(Pos);
                                            if (Eq.Soc1 != NewestCOServer.Game.Item.Gem.NoSocket)
                                            {
                                                if (Eq.Soc2 == NewestCOServer.Game.Item.Gem.NoSocket)
                                                {
                                                    if (GC.MyChar.InventoryContains(1200006, 7))
                                                    {
                                                        GC.MyChar.EquipStats(Pos, false);
                                                        for (int i = 0; i < 7; i++)
                                                        GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200006));
                                                        Eq.Soc2 = NewestCOServer.Game.Item.Gem.EmptySocket;
                                                        GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
                                                        GC.MyChar.EquipStats(Pos, true);

                                                        GC.AddSend(Packets.NPCSay("Congratulations! You now have the second socket in your equipment."));
                                                        GC.AddSend(Packets.NPCLink("Thanks", 255));
                                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                        GC.AddSend(Packets.NPCFinish());
                                                    }
                                                    else
                                                    {
                                                        GC.AddSend(Packets.NPCSay("You don't have the materials."));
                                                        GC.AddSend(Packets.NPCLink("I see.", 255));
                                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                        GC.AddSend(Packets.NPCFinish());
                                                    }
                                                }
                                                else
                                                {
                                                    GC.AddSend(Packets.NPCSay("The item already has the second socket."));
                                                    GC.AddSend(Packets.NPCLink("Oh, right.", 255));
                                                    GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                    GC.AddSend(Packets.NPCFinish());
                                                }
                                            }
                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("You first need the first socket done. Then i can make the second one."));
                                                GC.AddSend(Packets.NPCLink("I see.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }

                                    break;
                                }
                            #endregion
i tested and work for me :D

you only need replace for the old item socket you have int your source :D

and i not see this release in this forum :D
nice but a lot of wasted coding in there. +1
03/06/2010 15:39 Arcо#5
Code:
                           if (Control == 1 || Control == 2 || Control == 3
Just a little tip.
You didn't need that.
03/06/2010 18:01 -Shunsui-#6
Good Job,
03/06/2010 19:32 ramix#7
ty ;)

i forgot that xD
03/06/2010 20:06 Arcо#8
if (Control == 1 || Control == 2)
Doesn't need that either lol.
03/06/2010 21:09 .Guru#9
good job dude
06/04/2010 23:31 ftp4life#10
this doesnt cover the weapon sockets does it.. if soo what is the name for the npc in BI where he sockets weapons
08/14/2010 21:22 skalex#11
thanks