diff --git a/sqr/User/Socket/FunctionalPack.nut b/sqr/User/Socket/FunctionalPack.nut index 76a70a0..dd55b27 100644 --- a/sqr/User/Socket/FunctionalPack.nut +++ b/sqr/User/Socket/FunctionalPack.nut @@ -17,14 +17,111 @@ function RegisterFunctionalPack() { ClientCharacter = Charc; }); + /* + InventorySize : int //背包大小 + InventoryType : byte //背包类型 + InventoryItemCount : short //背包道具数量 + + + ItemInfo : Struct //道具信息 结构体 + { + Type : byte //类型 + // Type 为 1 装备类型 + { + Pos : short //装备位置 + EquipId : int //装备ID + EquipEnchant : int //装备附魔编号 + EquipUpgrade : byte //装备强化等级或增幅等级 + EquipSeparate : byte //装备锻造 + EquipIncrease : byte //装备增幅属性 0 无 1 力量 2 智力 3 体力 4 精神 + EquipPowerPercentage : byte //装备力量百分比 + EquipIntellectPercentage : byte //装备智力百分比 + EquipStaminaPercentage : byte //装备体力百分比 + EquipSpiritPercentage : byte //装备精神百分比 + EquipPhysicalAttackPercentage : byte //装备物理攻击百分比 + EquipMagicAttackPercentage : byte //装备魔法攻击百分比 + EquipIndependentAttackPercentage : byte //装备独立攻击百分比 + EquipPhysicalDefensePercentage : byte //装备物理防御百分比 + EquipMagicDefensePercentage : byte //装备魔法防御百分比 + EquipWrapCount : byte //装备再封装次数 + } + // Type 为 2 消耗品类型 + { + Pos : short //道具位置 + ItemId : int //道具ID + ItemCount : int //道具数量 + } + } + */ //刷新客户端角色背包数据 MySocket.RegisterBinaryHandler(PACKET_ID.REFRESH_CLIENT_CHARACTER_INVENTORY_DATA_CALLBACK, function(Binary) { local Pack = Packet(Binary); local op = Pack.Get_Int(); //背包大小 - local size = Pack.Get_Int(); + local InventorySize = Pack.Get_Int(); //背包类型 - local type = Pack.Get_Int(); + local InventoryType = Pack.Get_Byte(); + //背包道具数量 + local InventoryItemCount = Pack.Get_Int(); + + //项目List + local ItemList = []; + + //道具数据 + for (local i = 0; i< ItemCount; i++) { + local Type = Pack.Get_Byte(); + + //装备类型 + if (Type == 1) { + local EquInfo = { + //装备位置 + Pos = Pack.Get_Short(), + //装备ID + EquipId = Pack.Get_Int(), + //装备附魔编号 + EquipEnchant = Pack.Get_Int(), + //装备强化等级或增幅等级 + EquipUpgrade = Pack.Get_Byte(), + //装备锻造 + EquipSeparate = Pack.Get_Byte(), + //装备增幅属性 0 无 1 力量 2 智力 3 体力 4 精神 + EquipIncrease = Pack.Get_Byte(), + //装备力量百分比 + EquipPowerPercentage = Pack.Get_Byte(), + //装备智力百分比 + EquipIntellectPercentage = Pack.Get_Byte(), + //装备体力百分比 + EquipStaminaPercentage = Pack.Get_Byte(), + //装备精神百分比 + EquipSpiritPercentage = Pack.Get_Byte(), + //装备物理攻击百分比 + EquipPhysicalAttackPercentage = Pack.Get_Byte(), + //装备魔法攻击百分比 + EquipMagicAttackPercentage = Pack.Get_Byte(), + //装备独立攻击百分比 + EquipIndependentAttackPercentage = Pack.Get_Byte(), + //装备物理防御百分比 + EquipPhysicalDefensePercentage = Pack.Get_Byte(), + //装备魔法防御百分比 + EquipMagicDefensePercentage = Pack.Get_Byte(), + //装备再封装次数 + EquipWrapCount = Pack.Get_Byte(), + } + ItemList.push(EquInfo); + } + //消耗品类型 + if (Type == 2) { + local ItemInfo = { + //道具位置 + Pos = Pack.Get_Short(), + //道具ID + ItemId = Pack.Get_Int(), + //道具数量 + ItemCount = Pack.Get_Int(), + } + ItemList.push(ItemInfo); + } + } }); //城镇中添加角色的回包 diff --git a/sqr/User/Stage/TestStage.nut b/sqr/User/Stage/TestStage.nut index 6673542..2da2c62 100644 --- a/sqr/User/Stage/TestStage.nut +++ b/sqr/User/Stage/TestStage.nut @@ -10,7 +10,7 @@ function TestStage() { T.Enter(); - local Window = Sq_CreateWindow(_Login_Window, "登录界面窗口", 0, 0, 1066, 600, 0); + // local Window = Sq_CreateWindow(_Login_Window, "登录界面窗口", 0, 0, 1066, 600, 0); // local BackGround = CL_SpriteObject("sprite/loding.img", 0); // T.Addchild(BackGround); @@ -31,21 +31,21 @@ function TestStage() { // Window.SetPosition(580, 80); // Window.ResetFocus(); - // local TownObj = Town(1); - // local Charc = GameObject.CreateCharacter(0, [101590007, 27675, 601500060, 601550060, 601560058, 601570053, 601520052, 601500060, 601510059, 601530051, 601540060, 601580023]); - // TownObj.AddObject(Charc, true); - // ClientCharacter = Charc; + local TownObj = Town(2); + local Charc = GameObject.CreateCharacter(0, [101590007, 27675, 601500060, 601550060, 601560058, 601570053, 601520052, 601500060, 601510059, 601530051, 601540060, 601580023]); + TownObj.AddObject(Charc, true); + ClientCharacter = Charc; - // local Window = Sq_CreateWindow(_Inventory, "背包窗口", 150, 12, 257, 555, 20); + local Window = Sq_CreateWindow(_Inventory, "背包窗口", 150, 12, 257, 555, 20); - // Window.equipmentPage.Item.ItemCollection.SetItemList([{ - // ItemId = 27675 - // }, { - // ItemId = 101020048 - // }, { - // ItemId = 24144 - // }]); + Window.equipmentPage.Item.ItemCollection.SetItemList([{ + ItemId = 27675 + }, { + ItemId = 101020048 + }, { + ItemId = 24144 + }]); // local Window = Sq_CreateWindow(_Inventory, "背包窗口", 150, 12, 257, 555, 20); // //大背景