本帖最后由 guoxiaomi 于 2016-12-28 22:34 编辑
占坑晚上回去写~
=== === ===
如何获取特技的使用者和被使用者
一个快速的方法是在脚本里添加:
class Scene_Battle attr_reader :active_battler attr_reader :target_battlers end
class Scene_Battle
attr_reader :active_battler
attr_reader :target_battlers
end
然后技能调用公共事件,事件脚本里用'$scene.active_battler'就是使用者的Game_Actor/Game_Enemy对象。
事件脚本里用'$scene.target_battlers[0]'就是第一个目标的Game_Actor/Game_Enemy对象。
如果技能是单目标的话就是唯一的那个目标。
如何紧接着使用技能:
技能调用公共事件,公共事件里添加事件脚本:
@a = $scene.active_battler @action = @a.current_action @action.kind = 1 @action.skill_id = 10 @action.target_index = 0 $game_temp.forcing_battler = @a
@a = $scene.active_battler
@action = @a.current_action
@action.kind = 1
@action.skill_id = 10
@action.target_index = 0
$game_temp.forcing_battler = @a
这样就会紧接着使用第10号特技,目标编号是第0个敌人/队友。如果第10号特技的目标不是单体,target_index无需设置。
关于action的各属性的设置方法,可以参见Game_BattleAction类的第8-18行,如果设置了forcing属性为true,技能会无视SP强制触发。
class Game_BattleAction #-------------------------------------------------------------------------- # ● 定义实例变量 #-------------------------------------------------------------------------- attr_accessor :speed # 速度 attr_accessor :kind # 种类 (基本 / 特技 / 物品) attr_accessor :basic # 基本 (攻击 / 防御 / 逃跑) attr_accessor :skill_id # 特技 ID attr_accessor :item_id # 物品 ID attr_accessor :target_index # 对像索引 attr_accessor :forcing # 强制标志
class Game_BattleAction
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_accessor :speed # 速度
attr_accessor :kind # 种类 (基本 / 特技 / 物品)
attr_accessor :basic # 基本 (攻击 / 防御 / 逃跑)
attr_accessor :skill_id # 特技 ID
attr_accessor :item_id # 物品 ID
attr_accessor :target_index # 对像索引
attr_accessor :forcing # 强制标志
使用物品也是一样的。 |