台服dnf吧 关注:116,684贴子:1,834,822
  • 10回复贴,共1

FRIDA回城自动修复装备

只看楼主收藏回复

下面这个是修复装备的函数,我根据吧里的老哥的做了改进,可以修复快捷道具栏和身上穿戴的装备
先把这下面一大段复制到FRIDA里面
var CEquipItem_get_endurance = new NativeFunction(ptr(0x0811ED98), 'int', ['pointer'], { 'abi': 'sysv' });
function repair_equ(user) {
//遍历身上的装备
var inven = CUserCharacInfo_getCurCharacInvenW(user);
for (var slot = 10; slot <= 21; slot++) {
var item = CInventory_GetInvenRef(inven, INVENTORY_TYPE_BODY, slot);
var item_id = Inven_Item_getKey(item);
if (item_id) {
var item_data = CDataManager_find_item(G_CDataManager(), item_id);
var durability_max = CEquipItem_get_endurance(item_data);
item.add(11).writeU16(durability_max);
CUser_SendUpdateItemList(user, 1, 3, slot)
}
}
for (var slot = 3; slot <= 8; slot++) {
var item = CInventory_GetInvenRef(inven, INVENTORY_TYPE_ITEM, slot);
var item_id = Inven_Item_getKey(item);
if (item_id) {
var item_data = CDataManager_find_item(G_CDataManager(), item_id);
var durability_max = CEquipItem_get_endurance(item_data);
item.add(11).writeU16(durability_max);
}
}
api_CUser_SendNotiPacketMessage(user, '通知 : 装备已经修复', 6);
CUser_send_itemspace(user, ENUM_ITEMSPACE_INVENTORY);
}
找到 function hook_history_log() 函数
然后在下面这个判断里面加上 repair_equ(user); 如下所示
else if(game_event == 'DungeonLeave')
{
//离开副本
//刷完副本后, 重置异界+极限祭坛次数
// CUser_DimensionInoutUpdate(user, 1, 1);
repair_equ(user);
即可实现回城后自动修复装备


IP属地:广东1楼2025-01-02 21:42回复


    具体就是这样


    IP属地:广东2楼2025-01-02 21:48
    回复
      直接把耐久标签删了更省事


      IP属地:河北来自Android客户端3楼2025-01-02 21:59
      收起回复
        大佬你这个可以改成持有某道具才自动修理么


        IP属地:安徽来自iPhone客户端4楼2025-01-02 23:21
        收起回复
          厉害!


          IP属地:福建来自Android客户端5楼2025-01-03 00:05
          回复
            千花齐放


            IP属地:云南来自Android客户端6楼2025-01-03 10:35
            回复