网易我的世界论坛
标题:
蓄力物品不减耐久 咋回事 有人遇到相同的问题么?求大神解答
[打印本页]
作者:
M巅峰X
时间:
2020-12-2 21:55
标题:
蓄力物品不减耐久 咋回事 有人遇到相同的问题么?求大神解答
每次使用 都是从153减少 用的是自定义物品里的蓄力教程[attach][object Object][/attach]
作者:
M巅峰X
时间:
2020-12-2 21:57
使用的是 自定义蓄力物品里的教程 ,但是使用哪个物品哪个物品 不减少耐久
作者:
M巅峰X
时间:
2020-12-2 21:57
代码如下
作者:
M巅峰X
时间:
2020-12-2 21:58
comp = serverApi.GetEngineCompFactory().CreateItem(playname)
p = comp.GetSelectSlotId()
val = comp.GetInvItemDurability(p)
print val
if val == 0:
# 销毁物品
comp.SetInvItemNum(p, 0)
else:
print p
comp.SetInvItemDurability(p, val - 1)
print comp.GetInvItemDurability(p)
作者:
境界线
时间:
2020-12-3 10:56
尝试跑了下这个接口运行是正常的。以下我提供两种代码你都可以尝试下:
item_comp = serverApi.GetEngineCompFactory().CreateItem(player_id)
carried_item = item_comp.GetPlayerItem(serverApi.GetMinecraftEnum().ItemPosType.CARRIED, 0)
if carried_item and carried_item['durability'] > 0:
carried_item['durability'] -= 1
item_comp.SpawnItemToPlayerCarried(carried_item, player_id)
复制代码
item_comp = serverApi.GetEngineCompFactory().CreateItem(player_id)
slot = item_comp.GetSelectSlotId()
carried_item = item_comp.GetPlayerItem(serverApi.GetMinecraftEnum().ItemPosType.CARRIED, 0)
if carried_item and carried_item['durability'] > 0:
item_comp.SetInvItemDurability(slot, carried_item['durability'] - 1)
复制代码
作者:
M巅峰X
时间:
2020-12-3 19:18
试了你这两个了 还是不行 我发现应该是监听的回调函数导致的 监听蓄力物品的就有这个问题 监听 使用物品的就没问题 不过还是十分感谢 我再想想办法吧
作者:
南小小小树
时间:
2021-1-5 10:23
延迟几个tick再减少耐久
欢迎光临 网易我的世界论坛 (https://mc.netease.com/)
Powered by Discuz! X3.3