Project1
标题:
攻击附带法术
[打印本页]
作者:
黑米馒头
时间:
2015-1-15 20:03
标题:
攻击附带法术
本帖最后由 黑米馒头 于 2015-1-16 07:10 编辑
如何使角色物理攻击敌人的时候,有一定几率使用法术攻击敌人。
可能没说清楚,补充下:
当角色身上有特定技能的时候,角色攻击敌人结束会发动改技能再攻击敌人1次。
就是 打1下发动特技。
作者:
chd114
时间:
2015-1-15 21:46
比如普攻一定几率打出个火球术?是这个意思吧?
作者:
美丽晨露
时间:
2015-1-15 21:49
可以通过装备武器的不同实现这种效果。
这是魔女之前在游戏中使用过的一个脚本。
不知道合适不。
#==============================================================================
# 【 武器攻击发动特技 】
#==============================================================================
# by -> 芯☆淡茹水
#==============================================================================
# ** 使用方法 **
# 复制该脚本,插入到 main 前。
#==============================================================================
### 设置 ##
#------------------------------------------------------------------------------
# 攻击时有几率发动特技的武器 ID
WEAPON_ID = [13,14,15]
# 发动的特技 ID,与上面武器 ID 相对应。上面的第一个,对应下面的第一个,,,,
SKILL_ID = [52, 53, 54]
# 攻击时发动特技的几率百分比 % 。
PERCENT = 50
#==============================================================================
class Scene_Battle
def update_phase4_step2
# 如果不是强制行动
unless @active_battler.current_action.forcing
# 限制为 [敌人为普通攻击] 或 [我方为普通攻击] 的情况下
if @active_battler.restriction == 2 or @active_battler.restriction == 3
# 设置行动为攻击
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
end
# 限制为 [不能行动] 的情况下
if @active_battler.restriction == 4
# 清除行动强制对像的战斗者
$game_temp.forcing_battler = nil
# 移至步骤 1
@phase4_step = 1
return
end
end
# 清除对像战斗者
@target_battlers = []
# 行动种类分支
case @active_battler.current_action.kind
when 0 # 基本
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# 如果战斗者是角色
if @active_battler.is_a?(Game_Actor) and
@active_battler.current_action.basic == 0
# 如果 WEAPON_ID 数组有战斗者当前的武器ID
if WEAPON_ID.include?(@active_battler.weapon_id)
# 随机 100 小于 百分比 的情况下
if rand(100) < PERCENT
# 将 i 代入 0 到 WEAPON_ID 的最大个数
for i in 0...WEAPON_ID.size
# 如果战斗者的武器 ID 等于 WEAPON_ID[i]
if @active_battler.weapon_id == WEAPON_ID[i]
# 获取与 WEAPON_ID 相对应的特技ID SKILL_ID
skill = $data_skills[SKILL_ID[i]]
# 帮助窗口显示特技名
@help_window.set_text("莉露发动武器特效" , 1)
# 获取特技动画
@animation1_id = skill.animation1_id
@animation2_id = skill.animation2_id
# 获取公共事件
@common_event_id = skill.common_event_id
# 特技有效范围
set_target_battlers(skill.scope)
# 应用特技效果
for target in @target_battlers
target.skill_effect(@active_battler, skill)
end
end
end
# 其他情况,全部为基本行动类
else
make_basic_action_result
end
else
make_basic_action_result
end
else
make_basic_action_result
end
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
when 1 # 特技
make_skill_action_result
when 2 # 物品
make_item_action_result
end
# 移至步骤 3
if @phase4_step == 2
@phase4_step = 3
end
end
end
#==============================================================================
复制代码
作者:
chd114
时间:
2015-1-16 21:11
美丽晨露 发表于 2015-1-15 04:49
可以通过装备武器的不同实现这种效果。
这是魔女之前在游戏中使用过的一个脚本。
不知道合适不。 ...
#==============================================================================
# 【 武器攻击发动特技 】
#==============================================================================
# by -> 芯☆淡茹水
#==============================================================================
# ** 使用方法 **
# 复制该脚本,插入到 main 前。
#==============================================================================
### 设置 ##
#------------------------------------------------------------------------------
# 攻击时有几率发动特技的武器 ID
WEAPON_ID = [13,14,15]
# 发动的特技 ID,与上面武器 ID 相对应。上面的第一个,对应下面的第一个,,,,
SKILL_ID = [52, 53, 54]
# 攻击时发动特技的几率百分比 % 。
PERCENT = 50
#==============================================================================
class Scene_Battle
def update_phase4_step2
# 如果不是强制行动
unless @active_battler.current_action.forcing
# 限制为 [敌人为普通攻击] 或 [我方为普通攻击] 的情况下
if @active_battler.restriction == 2 or @active_battler.restriction == 3
# 设置行动为攻击
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
end
# 限制为 [不能行动] 的情况下
if @active_battler.restriction == 4
# 清除行动强制对像的战斗者
$game_temp.forcing_battler = nil
# 移至步骤 1
@phase4_step = 1
return
end
end
# 清除对像战斗者
@target_battlers = []
# 行动种类分支
case @active_battler.current_action.kind
when 0 # 基本
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# 如果战斗者是角色
if @active_battler.is_a?(Game_Actor) and
@active_battler.current_action.basic == 0
# 如果 WEAPON_ID 数组有战斗者当前的武器ID
if WEAPON_ID.include?(@active_battler.weapon_id)
# 随机 100 小于 百分比 的情况下
if rand(100) < PERCENT
# 将 i 代入 0 到 WEAPON_ID 的最大个数
for i in 0...WEAPON_ID.size
# 如果战斗者的武器 ID 等于 WEAPON_ID[i]
if @active_battler.weapon_id == WEAPON_ID[i]
# 获取与 WEAPON_ID 相对应的特技ID SKILL_ID
skill = $data_skills[SKILL_ID[i]]
if @active_battler.skill_learn?(skill)
# 帮助窗口显示特技名
@help_window.set_text(@active_battler.name+"突然发动了"+skill.name+"!" , 1)
# 获取特技动画
@animation1_id = skill.animation1_id
@animation2_id = skill.animation2_id
# 获取公共事件
@common_event_id = skill.common_event_id
# 特技有效范围
set_target_battlers(skill.scope)
# 应用特技效果
for target in @target_battlers
target.skill_effect(@active_battler, skill)
end
end
end
end
# 其他情况,全部为基本行动类
else
make_basic_action_result
end
else
make_basic_action_result
end
else
make_basic_action_result
end
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
when 1 # 特技
make_skill_action_result
when 2 # 物品
make_item_action_result
end
# 移至步骤 3
if @phase4_step == 2
@phase4_step = 3
end
end
end
#==============================================================================
复制代码
那么发动的时候要判定一下角色学没学这个技能···只要把露露发的脚本修改下就好了···
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1