this is for both lotf and coemu
 
HomeCalendarFAQSearchMemberlistUsergroupsRegisterLog in

Share | 
 

 BlackSmith Lee 2Socket guy

View previous topic View next topic Go down 
AuthorMessage
Admin
Admin


Posts : 56
Join date : 2009-08-20

PostSubject: BlackSmith Lee 2Socket guy   Sun Aug 23, 2009 3:35 pm

Credits to samehvan off E*PVP

this is a working BlackSmith

this goes in handlers/npctalk.cs

Code:
#region BlackSmithLee the 2socket man
                case 451: //BlackSmithLee the 2socket man
                    {
                        if (LinkBack == 0)
                        {
                            Text("Hey did you hear about me, i can put a socket to any item u want", CSocket);
                            Text("Just tell me what do u want me to do", CSocket);
                            Link("Open First socket", 1, CSocket);
                            Link("2nd socket using ToughDrill", 2, CSocket);
                            Link("2nd socket using 7 StarDrill", 3, CSocket);
                            Link("Never mind", 255, CSocket);
                            Face(100, CSocket);
                            End(CSocket);
                        }
                        else if (LinkBack == 1)
                        {
                            Text("Well the first socket is easy so it costs only 12 DBs", CSocket);
                            Text("Choose you item here", CSocket);
                            Link("HeadGear", 11, CSocket);
                            Link("Nicklase/Bags", 12, CSocket);
                            Link("Armor/Coat", 13, CSocket);
                            Link("Ring/Bracelete", 16, CSocket);
                            Link("Boots", 18, CSocket);
                            Link("Nevermind", 255, CSocket);
                            Face(100, CSocket);
                            End(CSocket);
                        }
                        else if (LinkBack > 10 && LinkBack < 20)
                        {
                            LinkBack -= 10;
                            if (CSocket.Client.Equipment.ContainsKey(LinkBack))
                            {
                                if (CSocket.Client.Equipment[LinkBack].Soc1>0)
                                {
                                    Text("Your item has the first socket already", CSocket);
                                    Link("I know", 255, CSocket);
                                    Face(100, CSocket);
                                    End(CSocket);
                                }
                                else
                                {
                                    if (HasItem(1088000,12, CSocket))
                                    {
                                        CSocket.Client.Equipment[LinkBack].Soc1= 255;
                                        DeleteItem(1088000, 12, CSocket); int UId = CSocket.Client.Equipment[LinkBack].UID;
                                        ItemUnequip(LinkBack, UId, CSocket);
                                        ItemEquip(LinkBack, UId, CSocket);
                                        Text("Congratulations your item has the first socket now", CSocket);
                                        Link("Awesome, thanks man", 255, CSocket);
                                        Face(100, CSocket);
                                        End(CSocket);
                                    }
                                    else
                                    {
                                        Text("Sorry you don't have enough Dragonballs, ", CSocket);
                                        Link("Oh bye", 255, CSocket);
                                        Face(100, CSocket);
                                        End(CSocket);
                                    }
                                }
                            }
                            else
                            {
                                Text("Are you joking,how will i upgrade a none existing item", CSocket);
                                Text("Please wear your item first", CSocket);
                                Link("Oh,sorry forgot to wear it", 255, CSocket);
                                Face(100, CSocket);
                                End(CSocket);
                            }
                        }
                        else if (LinkBack == 2)
                        {
                            Text("Well u will try your luck !!", CSocket);
                            Text("Choose you item", CSocket);
                            Link("HeadGear", 21, CSocket);
                            Link("Nicklase/Bags", 22, CSocket);
                            Link("Armor/Coat", 23, CSocket);
                            Link("Ring/Bracelete", 26, CSocket);
                            Link("Boots", 28, CSocket);
                            Link("Nevermind", 255, CSocket);
                            Face(100, CSocket);
                            End(CSocket);
                        }
                        else if (LinkBack > 20 && LinkBack < 30)
                        {
                            LinkBack -= 20;
                            if (CSocket.Client.Equipment.ContainsKey(LinkBack))
                            {
                                if (CSocket.Client.Equipment[LinkBack].Soc1 > 0)
                                {
                                    if (CSocket.Client.Equipment[LinkBack].Soc2 > 0)
                                    {
                                        Text("Your item has the second socket already", CSocket);
                                        Link("I know", 255, CSocket);
                                        Face(100, CSocket);
                                        End(CSocket);
                                    }
                                    else
                                    {
                                        if (HasItem(1200005, 1, CSocket))
                                        {
                                            byte Chan =(byte) Nano.Rand.Next(255);
                                            if (Chan > 240)//about 6% success chance
                                            {
                                                CSocket.Client.Equipment[LinkBack].Soc2 = 255;
                                                DeleteItem(1200005, 1, CSocket); int UId = CSocket.Client.Equipment[LinkBack].UID;
                                                ItemUnequip(LinkBack, UId, CSocket);
                                                ItemEquip(LinkBack, UId, CSocket);
                                                Text("Congratulations your item has the second socket now", CSocket);
                                                Link("Awesome, thanks man", 255, CSocket);
                                                Face(100, CSocket);
                                                End(CSocket);
                                                ConquerPacket.ToServer(ConquerPacket.Chat(0, "System", "All", "Waaaaaaw " + CSocket.Client.Name + " is so lucky to open the second socket using a Tough Drill", Struct.ChatType.Center), 0);
                                            }
                                            else
                                            {
                                                DeleteItem(1200005, 1, CSocket);
                                                AddItem(1200006, 0, 0, 0, 0, 0, 0, 0, 0, 0, CSocket, 1);
                                                Text("O-o, Bad luck bunny you lost the drill for nothing", CSocket);
                                                Link("I hate u", 255, CSocket);
                                                Face(100, CSocket);
                                                End(CSocket);
                                            }
                                        }
                                        else
                                        {
                                            Text("Sorry you don't have any ToughDrills ", CSocket);
                                            Link("Oh bye", 255, CSocket);
                                            Face(100, CSocket);
                                            End(CSocket);
                                        }
                                    }
                                }
                                else
                                {
                                    Text("you need to open the first socket be4 u ask for the second you dumb", CSocket);
                                    Link("you are the dumb", 255, CSocket);
                                    Face(100, CSocket);
                                    End(CSocket);
                                }
                            }
                            else
                            {
                                Text("Are you joking,how will i upgrade a none existing item", CSocket);
                                Text("Please wear your item first", CSocket);
                                Link("Oh,sorry forgot to wear it", 255, CSocket);
                                Face(100, CSocket);
                                End(CSocket);
                            }
                        }
                        else if (LinkBack == 3)
                        {
                            Text("Well u will try your luck !!", CSocket);
                            Text("Choose you item", CSocket);
                            Link("HeadGear", 31, CSocket);
                            Link("Nicklase/Bags", 32, CSocket);
                            Link("Armor/Coat", 33, CSocket);
                            Link("Ring/Bracelete", 36, CSocket);
                            Link("Boots", 38, CSocket);
                            Link("Nevermind", 255, CSocket);
                            Face(100, CSocket);
                            End(CSocket);
                        }
                        else if (LinkBack > 30 && LinkBack < 40)
                        {
                            LinkBack -= 30;
                            if (CSocket.Client.Equipment.ContainsKey(LinkBack))
                            {
                                if (CSocket.Client.Equipment[LinkBack].Soc1 > 0)
                                {
                                    if (CSocket.Client.Equipment[LinkBack].Soc2 > 0)
                                    {
                                        Text("Your item has the second socket already", CSocket);
                                        Link("I know", 255, CSocket);
                                        Face(100, CSocket);
                                        End(CSocket);
                                    }
                                    else
                                    {
                                        if (HasItem(1200006, 7, CSocket))
                                        {

                                            CSocket.Client.Equipment[LinkBack].Soc2 = 255;
                                            DeleteItem(1200006, 7, CSocket); int UId = CSocket.Client.Equipment[LinkBack].UID;
                                            ItemUnequip(LinkBack, UId, CSocket);
                                            ItemEquip(LinkBack, UId, CSocket);
                                            Text("Congratulations your item has the second socket now", CSocket);
                                            Link("Awesome, thanks man", 255, CSocket);
                                            Face(100, CSocket);
                                            End(CSocket);
                                        }
                                        else
                                        {
                                            Text("Sorry you don't have 7 StarDrills ", CSocket);
                                            Link("Oh bye", 255, CSocket);
                                            Face(100, CSocket);
                                            End(CSocket);
                                        }
                                    }
                                }
                                else
                                {
                                    Text("you need to open the first socket be4 u ask for the second you dumb", CSocket);
                                    Link("you are the dumb", 255, CSocket);
                                    Face(100, CSocket);
                                    End(CSocket);
                                }
                            }
                            else
                            {
                                Text("Are you joking,how will i upgrade a none existing item", CSocket);
                                Text("Please wear your item first", CSocket);
                                Link("Oh,sorry forgot to wear it", 255, CSocket);
                                Face(100, CSocket);
                                End(CSocket);
                            }
                        }
                        break;
                    }
                #endregion
Back to top Go down
View user profile http://openprojects.forumotions.net
Admin
Admin


Posts : 56
Join date : 2009-08-20

PostSubject: Contine from post 1   Sun Aug 23, 2009 3:37 pm

and for who doesn't have (AddItem,HasItem and DeleteItem) yet here they are

Code:
public static void AddItem(int itemid, int bless, int dura, int enchant, int plus,int Progress, int position, int soc1, int soc2, int color, ClientSocket CSocket,byte Count)
        {
            for (byte t = 0; t < Count; t++)
            {
                Struct.ItemInfo Item = new Struct.ItemInfo();
                if (dura == 255)
                {
                    Item.Dura = Item.MaxDura;
                }
                else
                {
                    Item.Dura = dura;
                }
                Item.Bless = bless;
                Item.Enchant = enchant;
                Item.ItemID = itemid;
                Item.Plus = plus;
                Item.Progress = Progress;
                Item.Position = position;
                Item.Soc1 = soc1;
                Item.Soc2 = soc2;
                Item.Color = color;
                Item.UID = Nano.Rand.Next(1, 9999999);
                bool created = Database.Database.NewItem(Item, CSocket);
                while (!created)
                {
                    Item.UID = Nano.Rand.Next(1, 9999999);
                    created = Database.Database.NewItem(Item, CSocket);
                }

                CSocket.Client.Inventory.Add(Item.UID, Item);
                CSocket.Send(ConquerPacket.ItemInfo(Item.UID, Item.ItemID, Item.Plus, Item.Progress, Item.Bless, Item.Enchant, Item.Soc1, Item.Soc2, Item.Dura, Item.MaxDura, Item.Position, Item.Color,0,0));
            }
        }
        public static bool HasItem(int ItemId, byte Count, ClientSocket CSocket)
        {
            //720027 MeteorScroll ,720028 DBScroll, 1088001 Meteor, 1088000 DragonBall, 1080001 Emerald
            byte ItemsFound = 0;
            foreach (Struct.ItemInfo Item in CSocket.Client.Inventory.Values)
            {
                if (ItemsFound < Count)
                {
                    if (Item.ItemID == ItemId) ItemsFound++;
                }
                else break;
            }
            if (ItemsFound >= Count) return true;
            return false;
        }
        public static void DeleteItem(int ItemID, byte Count, ClientSocket CSocket)
        {
            int[] Uids = new int[Count]; byte ItemsFound = 0;
            foreach (Struct.ItemInfo Item in CSocket.Client.Inventory.Values)
            {

                if (Item.ItemID == ItemID)
                {
                    Uids[ItemsFound] = Item.UID; ItemsFound++;
                }
                if (ItemsFound == Count) break;

            }
            for (byte t = 0; t < Count; t++)
            {
                CSocket.Client.Inventory.Remove(Uids[t]);
                CSocket.Send(ConquerPacket.ItemUsage(Uids[t], 255, Struct.ItemUsage.RemoveItem));
                Database.Database.DeleteItem(Uids[t]);
            }

        }
Back to top Go down
View user profile http://openprojects.forumotions.net
 
BlackSmith Lee 2Socket guy
View previous topic View next topic Back to top 
Page 1 of 1
 Similar topics
-
» The Free City of Gierburg - Board & Scenery
» The armourer's shop 1:72 scale
» Vintage Blacksmith shop/forge buildings
» [Starmine] The Blacksmith's Mystic Forge Pt. 1

Permissions in this forum:You cannot reply to topics in this forum
lotf/coemu project :: Codes-
Jump to: