赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 1485 |
最后登录 | 2015-2-1 |
在线时间 | 8 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 8 小时
- 注册时间
- 2010-7-26
- 帖子
- 41
|
刚好在弄这个二刀流脚本,也遇到这问题,今天研究一下午才搞定
怕有人以后也遇到类似问题多花费冤枉时间,就分享一下
可能很多人早就知道,就请无视
原二刀流脚本
Scene_Equip
@actor.equip(equip_type(@right_window.index, item), item == nil ? 0 : item.id)
改成
if @right_window.index == 1
@actor.equip(equip_type(@right_window.index, item), item == nil ? 0 : item.id)
else
@actor.equip(@right_window.index , item == nil ? 0 : item.id)
end
即可
会这样改是因为二刀流武器的位置设置是-1,盾是1
看最下面的定义
def equip_type(index, item)
return index * (item.is_a?(RPG::Armor) ? 1 : -1)
end
这是说如果item是防具那index(右边窗口的光标位置,从0开始)就乘1,不是防具就乘-1
所以若item是武器,index(拿盾那格是1)乘-1 =>index等于-1
就得出二刀流武器位置的设置了
当然如果index == 2,3,4….结果就乱七八糟
所以前面加上 if @right_window.index == 1 来条件判断
其它情况就照预设的执行就好
解说完毕!
|
|