Project1
标题:
请问如何提升全体队友的基础属性
[打印本页]
作者:
是猪别乱叫
时间:
2017-4-25 11:07
标题:
请问如何提升全体队友的基础属性
请问如何提升/降低队伍里全体角色的基础属性?
比如:全体队友攻击力+变量x点
VA自带的事件里只有+指定角色的……
作者:
百里_飞柳
时间:
2017-4-25 12:48
本帖最后由 百里_飞柳 于 2017-4-25 12:50 编辑
最简易也是编辑器未指示的方法
由默认事件解释器类中得知
#--------------------------------------------------------------------------
# ● 增减能力值
#--------------------------------------------------------------------------
def command_317
value = operate_value(@params[3], @params[4], @params[5])
iterate_actor_var(@params[0], @params[1]) do |actor|
actor.add_param(@params[2], value)
end
end
#--------------------------------------------------------------------------
# ● 迭代队员(可变)
# param1 : 0 则固定、1 则变量指定
# param2 : 角色 ID 或变量 ID
#--------------------------------------------------------------------------
def iterate_actor_var(param1, param2)
if param1 == 0
iterate_actor_id(param2) {|actor| yield actor }
else
iterate_actor_id($game_variables[param2]) {|actor| yield actor }
end
end
#--------------------------------------------------------------------------
# ● 迭代角色(ID)
# param : 大于 1 则返回 ID 指定的角色、0 则迭代全体角色
# 注意:此方法和 iterate_actor_index(param) 的参数设置有所不同
#--------------------------------------------------------------------------
def iterate_actor_id(param)
if param == 0
$game_party.members.each {|actor| yield actor }
else
actor = $game_actors[param]
yield actor if actor
end
end
复制代码
当 迭代角色(ID) 方法的参数为 0 时,迭代全体队友
而 迭代队友(可变) 方法的第二个参数为 上一个方法的传入参数,第一个参数为 指定固定值还是变量的值
其中 指定固定值时只能为大于等于1的数(编辑器中写死)
所以 只需要
指定为变量,且变量的值为0
时,就能实现迭代全体队友
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1