[Gunny] Share code fix cường hóa cho ai muốn tìm hiểu
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Kết quả 1 đến 5 của 5
  1. #1
    Thành Viên
    Ngày tham gia
    Apr 2012
    Bài viết
    208
    Thanks
    59
    Thanked 116 Times in 41 Posts

    Share code fix cường hóa cho ai muốn tìm hiểu

    ItemStrengthenHandler.cs này

    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Game.Base.Packets;
    using Bussiness;
    using SqlDataProvider.Data;
    using System.Configuration;
    using Game.Server.Managers;
    using Game.Server.Statics;
    using Game.Server.GameObjects;
    using Game.Server.GameUtils;
    
    namespace Game.Server.Packets.Client
    {
       [PacketHandler(0x3b, "物品强化")]
    public class ItemStrengthenHandler : IPacketHandler
    {
        // Fields
        public static int countConnect = 0;
        private static readonly double[] rateItems = new double[] { 0.75, 3.0, 12.0, 48.0, 240.0, 768.0 };
    
        // Methods
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (countConnect >= 0xbb8)
            {
                client.Disconnect();
                return 0;
            }
            GSPacketIn @in = packet.Clone();
            @in.ClearContext();
            StringBuilder builder = new StringBuilder();
            bool flag = false;
            bool flag2 = packet.ReadBoolean();
            bool flag3 = packet.ReadBoolean();
            double num = 0.0;
            double num2 = 0.0;
            double num3 = 0.0;
            double num4 = 0.0;
            ItemInfo itemAt = client.Player.StoreBag2.GetItemAt(1);
            ItemInfo item = client.Player.StoreBag2.GetItemAt(0);
            if (((item != null) && (item.Template.CategoryID == 11)) && ((item.Template.Property1 == 2) || (item.Template.Property1 == 0x23)))
            {
                if (flag3)
                {
                    flag = flag || item.IsBinds;
                    num += item.Template.Property2 * item.Count;
                }
                else
                {
                    flag = flag || item.IsBinds;
                    num += item.Template.Property2;
                }
            }
            bool flag4 = false;
            ConsortiaInfo info3 = ConsortiaMgr.FindConsortiaInfo(client.Player.PlayerCharacter.ConsortiaID);
            if (flag2)
            {
                ConsortiaEquipControlInfo info4 = new ConsortiaBussiness().GetConsortiaEuqipRiches(client.Player.PlayerCharacter.ConsortiaID, 0, 2);
                if (info3 == null)
                {
                    client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ItemStrengthenHandler.Fail", new object[0]));
                }
                else
                {
                    if (client.Player.PlayerCharacter.Riches < info4.Riches)
                    {
                        client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("ItemStrengthenHandler.FailbyPermission", new object[0]));
                        return 1;
                    }
                    flag4 = true;
                }
            }
            if (flag4)
            {
                List<double> list = new List<double> { 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0 };
                num2 = (list[info3.SmithLevel - 1] / 100.0) * num;
            }
            if (client.Player.PlayerCharacter.VIPExpireDay >= DateTime.Now)
            {
                List<double> list3 = new List<double> { 25.0, 25.0, 25.0, 35.0, 35.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0 };
                num3 = (list3[client.Player.PlayerCharacter.VIPLevel - 1] / 100.0) * num;
            }
            num4 = Math.Floor((double)((num + num2) + num3));
            List<int> list5 = new List<int> { 0, 10, 50, 150, 350, 700, 0x5dc, 0x8fc, 0xce4, 0x1194, 0x1770, 0x1d4c, 0x2328 };
            @in.WriteByte(1);
            int num5 = 0;
            int num7 = list5[itemAt.StrengthenLevel + 1];
            num5 = (num7 - itemAt.StrengthenExp) / 10;
            int num8 = num7 - itemAt.StrengthenExp;
            if (num4 < num8)
            {
                itemAt.StrengthenExp += (int)num4;
            }
            else
            {
                itemAt.StrengthenLevel++;
                itemAt.StrengthenExp = 0;
                ItemInfo.OpenHole(ref itemAt);
                client.Player.StoreBag2.AddItemTo(itemAt, 1);
                if ((((itemAt.StrengthenLevel == 3) || (itemAt.StrengthenLevel == 6)) || ((itemAt.StrengthenLevel == 9) || (itemAt.StrengthenLevel == 12))) && (itemAt.Template.CategoryID != 0x11))
                {
                    @in.WriteBoolean(true);
                }
                else
                {
                    @in.WriteBoolean(false);
                }
            }
            if (flag3)
            {
                if ((num5 < item.Count) && (num5 != 0))
                {
                    int count = item.Count;
                    item.Count -= num5;
                    client.Player.StoreBag2.UpdateItem(item);
                }
                else if ((num5 == item.Count) && (num5 != 0))
                {
                    client.Player.StoreBag2.RemoveItem(item);
                }
                else
                {
                    client.Player.StoreBag2.RemoveItem(item);
                }
            }
            else
            {
                item.Count--;
                client.Player.StoreBag2.UpdateItem(item);
            }
            StrengthenGoodsInfo info5 = StrengthenMgr.FindStrengthenGoodsInfo(itemAt.StrengthenLevel, itemAt.TemplateID);
            if (StrengthenMgr.FindStrengthenInfo(itemAt.StrengthenLevel + 1) == null)
            {
                client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ItemStrengthenHandler.NoStrength", new object[0]));
                return 0;
            }
            builder.Append("true");
            @in.WriteByte(1);
            if (info5 != null)
            {
                ItemTemplateInfo goods = Bussiness.Managers.ItemMgr.FindItemTemplate(info5.GainEquip);
                if (goods != null)
                {
                    ItemInfo info7 = ItemInfo.CreateFromTemplate(goods, 1, 0x74);
                    info7.StrengthenLevel = itemAt.StrengthenLevel + 1;
                    ItemInfo.OpenHole(ref info7);
                    StrengthenMgr.InheritProperty(itemAt, ref info7);
                    client.Player.StoreBag2.RemoveItem(itemAt);
                    client.Player.StoreBag2.AddItem(info7);
                }
            }
            client.Player.StoreBag2.UpdateItem(itemAt);
            client.Out.SendTCP(@in);
            builder.Append(itemAt.StrengthenLevel);
            client.Player.BeginChanges();
            client.Player.CommitChanges();
            return 0;
           }
        }
    }


    UserChangeItemPlaceHandler.cs Cái này fix bỏ 999 viên này

    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Game.Base.Packets;
    using Bussiness;
    using SqlDataProvider.Data;
    using Game.Server.GameUtils;
    using Game.Server.Managers;
    using log4net;
    using System.Reflection;
    
    namespace Game.Server.Packets.Client
    {
        [PacketHandler((byte)ePackageType.CHANGE_PLACE_GOODS, "改变物品位置")]
        public class UserChangeItemPlaceHandler:IPacketHandler
        {
            public int HandlePacket(GameClient client, GSPacketIn packet)
            {
                eBageType bageType = (eBageType)packet.ReadByte();
                int slot = packet.ReadInt();
                eBageType toBageType = (eBageType)packet.ReadByte();
                int toSlot = packet.ReadInt();
                int count = packet.ReadInt();
                PlayerInventory bag = client.Player.GetInventory(bageType);
                PlayerInventory inventory = client.Player.GetInventory(toBageType);
                if (toSlot < 0)
                {
                    if ((inventory.BagType == (int)eBageType.Bank) || (inventory.BagType == (int)eBageType.PropBag))
                    {
                        toSlot = inventory.FindFirstEmptySlot(0);
                    }
                    else
                    {
                        toSlot = inventory.FindFirstEmptySlot(31);
                    }
                }  
                //==================================
                if (count > 0)
                {
                    if ((bag == null) || (bag.GetItemAt(slot) == null))
                    {
                        return 0;
                    }
                    if ((bageType == toBageType) && (slot != -1))
                    {
                        if (bag.GetItemAt(slot).Count >= count)
                        {
                            Console.WriteLine("-----Stage 1 !");
                            bag.MoveItem(slot, toSlot, count);                        
                        }
                        else
                        {
                            Console.WriteLine("--" + client.Player.Account + " Hack = CE");
                            bag.MoveItem(slot, toSlot, bag.GetItemAt(slot).Count);
                        }
                        return 1;
                    }
    
                    if ((slot == -1) && (toSlot != -1))
                    {
                        Console.WriteLine("-----Stage 2 !");
                        bag.RemoveItemAt(toSlot);                   
                        return 1;
                    }
    
                    if (((((slot != -1) && (toSlot == -1)) && 
                        ((bageType != eBageType.CaddyBag) && 
                        (toBageType != eBageType.Bank))) && 
                        (bageType != eBageType.Store)) && 
                        (toBageType != eBageType.Store))
                    {
                        if (bageType == eBageType.MainBag)
                        {
                            Console.WriteLine("-----Stage 3 !");
                            bag.AddItem(client.Player.GetItemAt(bageType, slot), 31);
    
                        }
                        else
                        {
                            Console.WriteLine("-----Stage 4 !");
                            //bag.AddItem(client.Player.GetItemAt(bageType, slot), 0);
                            client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("Bag.Full"));
                        }
                        return 1;
                    }
    
                    if ((((slot != -1) && (toBageType != bageType)) && (toBageType != eBageType.Store)) && (toBageType != eBageType.MainBag))
                    {
                        ConsortiaInfo info = ConsortiaMgr.FindConsortiaInfo(client.Player.PlayerCharacter.ConsortiaID);
                        if (info != null)
                        {
                            if (toBageType == eBageType.Store)
                            {
                            }
                            Console.WriteLine("-----Stage 5 !");
                            bag.MoveToStore(bag, slot, toSlot, inventory, info.StoreLevel * 10);                        
                            return 1;
                        }
                    }
    
                    if ((toBageType == eBageType.Store) || (bageType == eBageType.Store))
                    {
                        SqlDataProvider.Data.ItemInfo itemAt = client.Player.GetItemAt(bageType, slot);
                        if ((itemAt != null) && (itemAt.Count > 1))
                        {
                            itemAt.Count -= count;
                            bag.UpdateItem(itemAt);
                            SqlDataProvider.Data.ItemInfo item = itemAt.Clone();
                            item.Count = count;
                            if (inventory.GetItemAt(toSlot) == null)
                            {
                                Console.WriteLine("-----Stage 6 !");
                                inventory.AddItemTo(item, toSlot);
                               
                            }
                            else
                            {
                                SqlDataProvider.Data.ItemInfo itemByTemplateID = bag.GetItemByTemplateID(0, inventory.GetItemAt(toSlot).TemplateID);
                                if (itemByTemplateID == null)
                                {
                                    Console.WriteLine("-----Stage 7 !");
                                    bag.MoveToStore(inventory, toSlot, bag.FindFirstEmptySlot(0), bag, 999);
                                    
                                }
                                else
                                {
                                    Console.WriteLine("-----Stage 8 !");
                                    itemByTemplateID.Count++;
                                    bag.UpdateItem(itemByTemplateID);
                                    inventory.RemoveItemAt(toSlot);
                                 
                                }
                                Console.WriteLine("-----Stage 9 !");
                                inventory.AddItemTo(item, toSlot);
                               
                            }
                        }
                        else
                        {
                            if ((((toBageType != eBageType.Store) && (toBageType != eBageType.MainBag)) && ((bag.GetItemAt(slot) != null) && (bag.GetItemAt(slot).Template.CategoryID == 7))) && (((toSlot > 0) && (toSlot < 31)) && (toSlot != 6)))
                            {
                                return 1;
                            }
                            try
                            {
                                Console.WriteLine("-----Stage 10 !");
                                bag.MoveToStore(bag, slot, toSlot, inventory, 50);
                                
                            }
                            catch (Exception)
                            {
                                LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType).InfoFormat("ERROR USER CHANGEITEM placce: {0},toplace: {1},bagType: {2},ToBagType {3}", new object[] { slot, toSlot, bageType, toBageType });
                                LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType).InfoFormat("item :{0}, toitem {1}", bag.GetItemAt(slot), inventory.GetItemAt(toSlot));
                            }
                        }
                        return 1;
                    }
                    if ((toBageType == eBageType.MainBag) && (bageType == eBageType.Bank))
                    {
                        Console.WriteLine("-----Stage 11!");
                        bag.MoveToStore(bag, slot, toSlot, inventory, 50);
                        return 1;
                    }
                }
                //==================================
                return 0;
            }
        }
    }
    Khách viếng thăm hãy cùng trungqbbn xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. The Following 10 Users Say Thank You to trungqbbn For This Useful Post:

    a3654152 (27-01-13), datdn74 (07-07-13), dodt93 (21-12-12), duyluong_2108 (22-12-12), heybaby2707 (22-12-12), namngo.hmu (21-12-12), silop1d (21-12-12), soncat (22-12-12), vtvhongminh01 (13-04-13), zznh0kkun (22-12-12)

  3. #2
    Thành Viên
    Ngày tham gia
    Feb 2012
    Bài viết
    346
    Thanks
    143
    Thanked 41 Times in 30 Posts

    Ðề: Share code fix cường hóa cho ai muốn tìm hiểu

    cho hỏi code này giống code cậu share bên topic cậu trọng đúng k
    Khách viếng thăm hãy cùng Phong_JxOnline xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #3
    Thành Viên
    Ngày tham gia
    Apr 2012
    Bài viết
    208
    Thanks
    59
    Thanked 116 Times in 41 Posts

    Ðề: Share code fix cường hóa cho ai muốn tìm hiểu

    Trích dẫn Gửi bởi Phong_JxOnline [Only registered and activated users can see links. ]
    cho hỏi code này giống code cậu share bên topic cậu trọng đúng k
    Không bạn. khác hoàn toàn....
    Khách viếng thăm hãy cùng trungqbbn xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. #4
    Thành Viên
    Ngày tham gia
    Aug 2009
    Bài viết
    150
    Thanks
    97
    Thanked 74 Times in 20 Posts

    Ðề: Share code fix cường hóa cho ai muốn tìm hiểu

    Cho mình hỏi cái code này bạn Reflector của ai ra vậy.
    tks
    Khách viếng thăm hãy cùng silop1d xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #5
    Thành Viên
    Ngày tham gia
    Nov 2012
    Bài viết
    64
    Thanks
    13
    Thanked 6 Times in 4 Posts

    Ðề: Share code fix cường hóa cho ai muốn tìm hiểu

    Tks bạn,có điều từ 10 lên 12 nó mới phang 1 nhát luôn mà ko hề qua 11 nếu đá đủ,còn từ 1-10 thì từng nhát 1,Code này còn ko bị lỗi ấn cường hóa nó hiện chữ bạn ấn quá nhanh,tks nhiều,^^
    Khách viếng thăm hãy cùng namngo.hmu xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. Các thành viên gởi lời cảm ơn đến namngo.hmu vì bài viết này !

    a3654152 (27-01-13)

 

 

Các Chủ đề tương tự

  1. [KT] Share code nhận đồ sát thần
    Bởi khactai trong diễn đàn Scripts
    Trả lời: 33
    Bài viết cuối: 23-04-13, 10:20 AM
  2. [KT] Share code add đồng cho nhân vật?
    Bởi VNGameZoneVN trong diễn đàn Scripts
    Trả lời: 52
    Bài viết cuối: 19-01-13, 04:19 PM
  3. [MU] SHARE code tích hợp thẻ cào của Bảo Kim
    Bởi voicoi trong diễn đàn SQL Server & Website
    Trả lời: 2
    Bài viết cuối: 26-04-12, 11:39 PM
  4. Tiếp tục share code ss6 không zen không mã hóa cho mọi người
    Bởi vothailam trong diễn đàn SQL Server & Website
    Trả lời: 31
    Bài viết cuối: 14-08-11, 07:26 PM
  5. Share code PHP nhận phần thưởng hỗ trợ hàng ngày
    Bởi adm_mubmt trong diễn đàn SQL Server & Website
    Trả lời: 9
    Bài viết cuối: 19-01-11, 12:19 PM

Tag của Chủ đề này

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 07:42 AM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.