Project1
标题: 怎么暂时遗忘掉角色自带的技能 [打印本页]
作者: hijl1990 时间: 2016-10-22 17:19
标题: 怎么暂时遗忘掉角色自带的技能
想要在战斗中某状态时,临时忘掉角色自带的技能。
在战斗结束后再恢复,请问需要怎么做?
作者: RaidenInfinity 时间: 2016-10-22 17:50
class Window_BattleSkill < Window_SkillList
alias :bs_include? :include?
def include?(item)
return false if @actor.state?(状态ID) && [技能ID].include?(item.id)
#更改状态ID,如果技能ID有复数个,比如技能15和17,那就放[15,17]
bs_include?(item)
end
end
class Window_BattleSkill < Window_SkillList
alias :bs_include? :include?
def include?(item)
return false if @actor.state?(状态ID) && [技能ID].include?(item.id)
#更改状态ID,如果技能ID有复数个,比如技能15和17,那就放[15,17]
bs_include?(item)
end
end
我不知道你有没有使用其他影响界面的脚本,所以我基于默认脚本和字面上的要求来写。
这段脚本的原理是,如果角色中了某状态,特定技能将不会出现在战斗技能栏里。(隐蔽了,可以视为忘却)
但是如果状态恢复了,隐蔽将会解除。所以如果要持续整场战斗,请把状态设置成永不过期,并于战斗结束后自动解除。
作者: RaidenInfinity 时间: 2016-10-22 18:34
本帖最后由 RaidenInfinity 于 2016-10-22 20:06 编辑
class Window_BattleSkill < Window_SkillList
alias :bs_include? :include?
def include?(item)
return false if hide_skill_by_state?(item)
,如果技能ID有复数个,比如技能15和17,那就放[15,17]
bs_include?(item)
end
def hide_skill_by_state?(item)
return false if !@actor.state?(状态ID) #更改状态ID
arr = []
case @actor.id
when 1; arr = [1,2,3,4] #改动这个部分的方法请参考下面的指示
when 2; arr = [5,6,7,8]
when 3; arr = [9,10,11,12]
when 4; arr = [13,14,15,16]
end
return arr.include?(item.id)
end
end
#when 1 的 1 是指 角色ID, []里面的是技能ID,以逗号相隔
#所以如果你有10个角色,要有10行,when 1 到 when 10
#假设角色 8 要隐蔽的技能有 10号,13号,17号
#那么就是 when 8; arr = [10,13,17]
#以此类推
class Window_BattleSkill < Window_SkillList
alias :bs_include? :include?
def include?(item)
return false if hide_skill_by_state?(item)
,如果技能ID有复数个,比如技能15和17,那就放[15,17]
bs_include?(item)
end
def hide_skill_by_state?(item)
return false if !@actor.state?(状态ID) #更改状态ID
arr = []
case @actor.id
when 1; arr = [1,2,3,4] #改动这个部分的方法请参考下面的指示
when 2; arr = [5,6,7,8]
when 3; arr = [9,10,11,12]
when 4; arr = [13,14,15,16]
end
return arr.include?(item.id)
end
end
#when 1 的 1 是指 角色ID, []里面的是技能ID,以逗号相隔
#所以如果你有10个角色,要有10行,when 1 到 when 10
#假设角色 8 要隐蔽的技能有 10号,13号,17号
#那么就是 when 8; arr = [10,13,17]
#以此类推
加了对应不同角色的判定。另外建议一次过列明要求和细节,问题才能更快解决。
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |