设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1618|回复: 1
打印 上一主题 下一主题

[已经解决] 请问如何让“包含已装备”优先于增减武器/护甲判定?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2920
在线时间
713 小时
注册时间
2010-7-25
帖子
813

开拓者

跳转到指定楼层
1
发表于 2016-8-8 13:27:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
原事件增减武器/护甲的指令里有个包含已装备的选项,勾选的话在增减武器/护甲的时候,如果身上没有这些东西,会选择已装备的丢弃。
请问如果我想让已装备的武器/护甲 先进行丢弃判断,如果装备上没有再丢弃背包里的该怎么修改?

Lv6.析梦学徒

老鹰

梦石
40
星屑
34720
在线时间
6739 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2016-8-8 14:52:07 | 只看该作者

  1. class Game_Party < Game_Unit
  2.   #--------------------------------------------------------------------------
  3.   # ● 增加/减少物品
  4.   #     include_equip : 是否包括装备
  5.   #--------------------------------------------------------------------------
  6.   def gain_item(item, amount, include_equip = false)
  7.     container = item_container(item.class)
  8.     return unless container

  9.     last_number = item_number(item) #旧物品数量
  10.     new_number = last_number + amount #新物品数量
  11.     a = amount #数量
  12.     if include_equip && new_number < last_number #丢弃物品的情况
  13.       members.each do |actor|
  14.         while a < 0 && actor.equips.include?(item)
  15.           discard_members_equip(item, 1)
  16.           a += 1
  17.         end
  18.       end
  19.     end

  20.     new_number = last_number + a #重新修正新物品数量
  21.    
  22.     container[item.id] = [[new_number, 0].max, max_item_number(item)].min #物品数量修改
  23.     container.delete(item.id) if container[item.id] == 0

  24.     $game_map.need_refresh = true
  25.   end
  26. end
复制代码


已测试,复制到main脚本前面,原默认脚本后。
方法完全覆盖,未考虑兼容。

实现:扣除装备时,按照队列顺序扣除对应装备,如果不够,再扣除包裹中的。

评分

参与人数 2星屑 +15 梦石 +1 收起 理由
丿梁丶小柒 + 1 认可答案
jianyulei + 15 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 16:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表