赞 | 22 |
VIP | 0 |
好人卡 | 0 |
积分 | 54 |
经验 | 2379 |
最后登录 | 2024-11-23 |
在线时间 | 1229 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 5430
- 在线时间
- 1229 小时
- 注册时间
- 2016-12-6
- 帖子
- 389
|
本帖最后由 shiroin 于 2024-6-30 00:13 编辑
有个YEP_MapSelectEquip插件可以让你额外选择武器或护甲作为物品选择界面的类型,但这个插件只能读取玩家队伍背包中的装备,对于你想要连同玩家身上装备一起读取的需求,一个相对更简单的做法是在打开物品选择窗口前,先把操作角色身上的装备全扒下来放回背包里,并记录下对应各个装备槽索引的ID
然后打开选择装备窗口,这时原本装备在玩家身上的装备,就会在选择窗口中显示了,接着只要你没选择对应的装备,在选择窗口关闭后,检查之前储存的装备ID并重新给玩家强制装备回去,就可以当什么都没发生过了
但如果你选择了玩家原本正在装备的道具,就把存储的值重新赋值为0,玩家对应槽位的装备就会空下来,总的来说思路就是这样,脚本你也可以参考下:
- var armorSlots = [1, 2, 3, 4]; // 护甲槽位的索引,根据实际情况修改
- var variables = [100, 101, 102, 103]; // 记录装备ID的变量索引,根据实际情况修改
- for (var i = 0; i < armorSlots.length; i++) {
- var slotId = armorSlots[i];
- var variableId = variables[i];
- var equippedItem = $gameActors.actor(1).equips()[slotId];
- var itemId = equippedItem ? equippedItem.id : 0;
- $gameVariables.setValue(variableId, itemId);
- $gameActors.actor(1).changeEquip(slotId, null);
- }
复制代码- var armorSlots = [1, 2, 3, 4]; // 护甲槽位的索引,根据实际情况修改
- var variables = [100, 101, 102, 103]; // 记录装备ID的变量索引,根据实际情况修改
- for (var i = 0; i < armorSlots.length; i++) {
- var slotId = armorSlots[i];
- var variableId = variables[i];
- var itemId = $gameVariables.value(variableId);
- if (itemId !== 0) {
- $gameActors.actor(1).changeEquip(slotId, $dataArmors[itemId]);
- }
- }
复制代码 |
|