[Release] Basic Gourd/Garment socketer

02/07/2009 22:52 turk55#1
npc talk :


Code:
if (CurrentNPC == 10002) //Socket Gourd/Garment Quest
                            {
                                SendPacket(General.MyPackets.NPCSay("Would you like me to make a socket in an item for you?"));
                                SendPacket(General.MyPackets.NPCSay(" You must prepare 10 Star Drills and the Gem you want to Socket."));
                                SendPacket(General.MyPackets.NPCSay(" Please make sure you only have ONE gem in your inventory."));
                                SendPacket(General.MyPackets.NPCLink("Socket Garment.", 10));
                                SendPacket(General.MyPackets.NPCLink("Socket Gourd.", 20));
                                SendPacket(General.MyPackets.NPCLink("Change Socket.", 1));
                                SendPacket(General.MyPackets.NPCSetFace(30));
                                SendPacket(General.MyPackets.NPCFinish());
                            }
npc controlls :

Code:
if (CurrentNPC == 10002)
                            {
                                if (Control == 1)
                                {
                                    SendPacket(General.MyPackets.NPCSay("I will only charge 1 StarDrill to change the socketed Gem."));
                                    SendPacket(General.MyPackets.NPCSay(" Change which socket?"));
                                    SendPacket(General.MyPackets.NPCLink("Garment.", 2));
                                    SendPacket(General.MyPackets.NPCLink("Gourd.", 3));
                                    SendPacket(General.MyPackets.NPCSetFace(30));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                                if (Control == 2 || Control == 3)
                                {
                                    string name = "Item";
                                    if (Control == 2)
                                        name = "Garment";
                                    if (Control == 3)
                                        name = "Gourd";

                                    byte into = 0;

                                    if (Control == 10 && MyChar.Equips[9] != null && MyChar.Equips[9] != "0")
                                        into = 9;
                                    else if (Control == 20 && MyChar.Equips[7] != null && MyChar.Equips[7] != "0")
                                        into = 7;
                                    else
                                    {
                                        SendPacket(General.MyPackets.NPCSay("You don't have a " + name + " to socket!"));
                                        SendPacket(General.MyPackets.NPCLink("I see.", 255));
                                        SendPacket(General.MyPackets.NPCSetFace(30));
                                        SendPacket(General.MyPackets.NPCFinish());
                                        return;
                                    }

                                    if (MyChar.InventoryContains(1200006, 1))
                                    {
                                        string[] item = MyChar.Equips[into].Split('-');
                                        if (item[4] != "0")
                                            return;

                                        if (MyChar.InventoryContains(700001, 1))
                                            item[4] = "01";
                                        else if (MyChar.InventoryContains(700002, 1))
                                            item[4] = "02";
                                        else if (MyChar.InventoryContains(700003, 1))
                                            item[4] = "03";
                                        else if (MyChar.InventoryContains(700011, 1))
                                            item[4] = "11";
                                        else if (MyChar.InventoryContains(700012, 1))
                                            item[4] = "12";
                                        else if (MyChar.InventoryContains(700013, 1))
                                            item[4] = "13";
                                        else if (MyChar.InventoryContains(700021, 1))
                                            item[4] = "21";
                                        else if (MyChar.InventoryContains(700022, 1))
                                            item[4] = "22";
                                        else if (MyChar.InventoryContains(700023, 1))
                                            item[4] = "23";
                                        else if (MyChar.InventoryContains(700031, 1))
                                            item[4] = "31";
                                        else if (MyChar.InventoryContains(700032, 1))
                                            item[4] = "32";
                                        else if (MyChar.InventoryContains(700033, 1))
                                            item[4] = "33";
                                        else if (MyChar.InventoryContains(700041, 1))
                                            item[4] = "41";
                                        else if (MyChar.InventoryContains(700042, 1))
                                            item[4] = "42";
                                        else if (MyChar.InventoryContains(700043, 1))
                                            item[4] = "43";
                                        else if (MyChar.InventoryContains(700051, 1))
                                            item[4] = "51";
                                        else if (MyChar.InventoryContains(700052, 1))
                                            item[4] = "52";
                                        else if (MyChar.InventoryContains(700053, 1))
                                            item[4] = "53";
                                        else if (MyChar.InventoryContains(700061, 1))
                                            item[4] = "61";
                                        else if (MyChar.InventoryContains(700062, 1))
                                            item[4] = "62";
                                        else if (MyChar.InventoryContains(700063, 1))
                                            item[4] = "63";
                                        else if (MyChar.InventoryContains(700071, 1))
                                            item[4] = "71";
                                        else if (MyChar.InventoryContains(700072, 1))
                                            item[4] = "72";
                                        else if (MyChar.InventoryContains(700073, 1))
                                            item[4] = "73";
                                        else
                                        {
                                            SendPacket(General.MyPackets.NPCSay("You don't have a Gem to Socket."));
                                            SendPacket(General.MyPackets.NPCLink("I see.", 255));
                                            SendPacket(General.MyPackets.NPCSetFace(30));
                                            SendPacket(General.MyPackets.NPCFinish());
                                            return;
                                        }

                                        MyChar.RemoveItem(MyChar.ItemNext(uint.Parse("7000" + item[4])));

                                        MyChar.RemoveItem(MyChar.ItemNext(1200006));

                                        MyChar.Equips[into] = item[0] + "-" + item[1] + "-" + item[2] + "-" + item[3] + "-" + item[4] + "-" + item[5];
                                        SendPacket(General.MyPackets.AddItem((long)MyChar.Equips_UIDs[into], int.Parse(item[0]), byte.Parse(item[1]), byte.Parse(item[2]), byte.Parse(item[3]), byte.Parse(item[4]), byte.Parse(item[5]), (byte)into, 100, 100));

                                        SendPacket(General.MyPackets.NPCSay("Your " + name + " has been socketed sucessfully!"));
                                        SendPacket(General.MyPackets.NPCLink("Thanks!", 255));
                                        SendPacket(General.MyPackets.NPCSetFace(30));
                                        SendPacket(General.MyPackets.NPCFinish());
                                    }
                                    else
                                    {
                                        SendPacket(General.MyPackets.NPCSay("You don't have enough StarDrills."));
                                        SendPacket(General.MyPackets.NPCLink("I see.", 255));
                                        SendPacket(General.MyPackets.NPCSetFace(30));
                                        SendPacket(General.MyPackets.NPCFinish());
                                    }
                                }
                                if (Control == 10 || Control == 20)
                                {
                                    string name = "Item";
                                    if (Control == 10)
                                        name = "Garment";
                                    if (Control == 20)
                                        name = "Gourd";

                                    byte into = 0;

                                    if (Control == 10 && MyChar.Equips[9] != null && MyChar.Equips[9] != "0")
                                        into = 9;
                                    else if (Control == 20 && MyChar.Equips[7] != null && MyChar.Equips[7] != "0")
                                        into = 7;
                                    else
                                    {
                                        SendPacket(General.MyPackets.NPCSay("You don't have a " + name + " to socket!"));
                                        SendPacket(General.MyPackets.NPCLink("I see.", 255));
                                        SendPacket(General.MyPackets.NPCSetFace(30));
                                        SendPacket(General.MyPackets.NPCFinish());
                                        return;
                                    }

                                    if (MyChar.InventoryContains(1200006, 10))
                                    {
                                        string[] item = MyChar.Equips[into].Split('-');
                                        if (item[4] != "0")
                                            return;

                                        if (MyChar.InventoryContains(700001, 1))
                                            item[4] = "01";
                                        else if (MyChar.InventoryContains(700002, 1))
                                            item[4] = "02";
                                        else if (MyChar.InventoryContains(700003, 1))
                                            item[4] = "03";
                                        else if (MyChar.InventoryContains(700011, 1))
                                            item[4] = "11";
                                        else if (MyChar.InventoryContains(700012, 1))
                                            item[4] = "12";
                                        else if (MyChar.InventoryContains(700013, 1))
                                            item[4] = "13";
                                        else if (MyChar.InventoryContains(700021, 1))
                                            item[4] = "21";
                                        else if (MyChar.InventoryContains(700022, 1))
                                            item[4] = "22";
                                        else if (MyChar.InventoryContains(700023, 1))
                                            item[4] = "23";
                                        else if (MyChar.InventoryContains(700031, 1))
                                            item[4] = "31";
                                        else if (MyChar.InventoryContains(700032, 1))
                                            item[4] = "32";
                                        else if (MyChar.InventoryContains(700033, 1))
                                            item[4] = "33";
                                        else if (MyChar.InventoryContains(700041, 1))
                                            item[4] = "41";
                                        else if (MyChar.InventoryContains(700042, 1))
                                            item[4] = "42";
                                        else if (MyChar.InventoryContains(700043, 1))
                                            item[4] = "43";
                                        else if (MyChar.InventoryContains(700051, 1))
                                            item[4] = "51";
                                        else if (MyChar.InventoryContains(700052, 1))
                                            item[4] = "52";
                                        else if (MyChar.InventoryContains(700053, 1))
                                            item[4] = "53";
                                        else if (MyChar.InventoryContains(700061, 1))
                                            item[4] = "61";
                                        else if (MyChar.InventoryContains(700062, 1))
                                            item[4] = "62";
                                        else if (MyChar.InventoryContains(700063, 1))
                                            item[4] = "63";
                                        else if (MyChar.InventoryContains(700071, 1))
                                            item[4] = "71";
                                        else if (MyChar.InventoryContains(700072, 1))
                                            item[4] = "72";
                                        else if (MyChar.InventoryContains(700073, 1))
                                            item[4] = "73";
                                        else
                                        {
                                            SendPacket(General.MyPackets.NPCSay("You don't have a Gem to Socket."));
                                            SendPacket(General.MyPackets.NPCLink("I see.", 255));
                                            SendPacket(General.MyPackets.NPCSetFace(30));
                                            SendPacket(General.MyPackets.NPCFinish());
                                            return;
                                        }

                                        MyChar.RemoveItem(MyChar.ItemNext(uint.Parse("7000" + item[4])));

                                        MyChar.RemoveItem(MyChar.ItemNext(1200006));
                                        MyChar.RemoveItem(MyChar.ItemNext(1200006));
                                        MyChar.RemoveItem(MyChar.ItemNext(1200006));
                                        MyChar.RemoveItem(MyChar.ItemNext(1200006));
                                        MyChar.RemoveItem(MyChar.ItemNext(1200006));
                                        MyChar.RemoveItem(MyChar.ItemNext(1200006));
                                        MyChar.RemoveItem(MyChar.ItemNext(1200006));
                                        MyChar.RemoveItem(MyChar.ItemNext(1200006));
                                        MyChar.RemoveItem(MyChar.ItemNext(1200006));
                                        MyChar.RemoveItem(MyChar.ItemNext(1200006));

                                        MyChar.Equips[into] = item[0] + "-" + item[1] + "-" + item[2] + "-" + item[3] + "-" + item[4] + "-" + item[5];
                                        SendPacket(General.MyPackets.AddItem((long)MyChar.Equips_UIDs[into], int.Parse(item[0]), byte.Parse(item[1]), byte.Parse(item[2]), byte.Parse(item[3]), byte.Parse(item[4]), byte.Parse(item[5]), (byte)into, 100, 100));

                                        SendPacket(General.MyPackets.NPCSay("Your " + name + " has been socketed sucessfully!"));
                                        SendPacket(General.MyPackets.NPCLink("Thanks!", 255));
                                        SendPacket(General.MyPackets.NPCSetFace(30));
                                        SendPacket(General.MyPackets.NPCFinish());
                                    }
                                    else
                                    {
                                        SendPacket(General.MyPackets.NPCSay("You don't have enough StarDrills."));
                                        SendPacket(General.MyPackets.NPCLink("I see.", 255));
                                        SendPacket(General.MyPackets.NPCSetFace(30));
                                        SendPacket(General.MyPackets.NPCFinish());
                                    }
                                }
                            }
Credits go to Kinshi88 i've asked him for this so ya...
02/07/2009 22:58 -Reflexis-#2
i already wanted to say "you didnt made this your noob! kinshi did give him credits" but then i saw those big special letters:p
02/07/2009 23:07 _Emme_#3
If anyone is intrested, ill release a much better.
02/07/2009 23:12 ph03nixx#4
Wow nice turk, hey u coming online on MSN? i gotta ask u somethings... but anyways +thnx for you
02/07/2009 23:16 -Reflexis-#5
Quote:
Originally Posted by EmmeTheCoder View Post
If anyone is intrested, ill release a much better.
well yeah but i think that epvp must leave lotf alone and go further with the basic source of hybrid

well that is what i go do
03/14/2009 21:52 martoon#6
Thank's Kinshi88!
and Thank's turk for sharing it!
09/26/2010 16:34 michael_dus_dis#7
how do i use this for [Only registered and activated users can see links. Click Here To Register...] ?
09/26/2010 18:33 kinshi88#8
Uh, don't use it.
It's so shitty haha
10/04/2010 20:25 sohaib#9
i got tons of errors
10/04/2010 20:27 _Vodka#10
Quote:
Originally Posted by sohaib View Post
i got tons of errors
this is for 5017, not for 5165.