Project1

标题: 想请教一下如何做往箱子里存放装备(包括已装备的) [打印本页]

作者: Mr.springdream    时间: 2024-6-29 16:59
标题: 想请教一下如何做往箱子里存放装备(包括已装备的)
起因是想做往箱子里存放指定装备的功能

但是,物品选择界面里只有 普通物品/重要物品/隐藏物品A/隐藏物品B(图一)

有没有什么插件或是好的办法能够将身上的装备也放入到箱子中呢?

--------------------------------------------------------------------------------------------------------------

我自己想过一个办法:

是给予武器/护甲一个重要物品的栏位,

但是存放的时候,必须先检测自己身上是否携带该装备,

才能将装备一并从身上减少掉,

这样做的话,整个过程就会变的很繁琐!

图一.png (16.03 KB, 下载次数: 158)

图一

图一

作者: shiroin    时间: 2024-6-29 16:59
本帖最后由 shiroin 于 2024-6-30 00:13 编辑

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

QQ截图20240630011144.png (67.55 KB, 下载次数: 160)

假设玩家有四个装备槽

假设玩家有四个装备槽

作者: Mr.springdream    时间: 2024-6-29 22:32

作者: Mr.springdream    时间: 2024-6-30 17:15
shiroin 发表于 2024-6-30 00:12
有个YEP_MapSelectEquip插件可以让你额外选择武器或护甲作为物品选择界面的类型,但这个插件只能读取玩家队 ...

十分感谢!!!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1