Project1
标题:
[RM脚本] 逃跑放到技能里
[打印本页]
作者:
ikki
时间:
2006-10-9 01:31
标题:
[RM脚本] 逃跑放到技能里
脚本来源:日本KGC网站
脚本说明:就是一个技能,技能威力设置为大于0的数值才起作用,效果为角色逃跑。{/gg}
逃跑公式:逃跑成功率*技能威力
插入在MAIN的前面,设置一个属性叫做逃跑,拥有逃跑属性的技能即为逃跑技能。
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆逃走スキル - KGC_EscapeSkill◆
#_/----------------------------------------------------------------------------
#_/ 逃走効果を持つスキルを作成します。
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
$imported = {} if $imported == nil
$imported["EscapeSkill"] = true
if $game_special_elements == nil
$game_special_elements = {}
$data_system = load_data("Data/System.rxdata")
end
# 逃走スキル属性
$game_special_elements["skill_escape"] = $data_system.elements.index("逃跑")
#==============================================================================
# ■ Scene_Battle (分割定義 2)
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● フレーム更新 (パーティコマンドフェーズ : 逃げる)
#--------------------------------------------------------------------------
alias update_phase2_escape_KGC_EscapeSkill update_phase2_escape
def update_phase2_escape(skill = nil)
# スキルでない場合は元の処理を実行
if skill == nil
update_phase2_escape_KGC_EscapeSkill
return
end
# 逃走できない場合は戻る
return unless $game_temp.battle_can_escape
# エネミーの素早さ平均値を計算
enemies_agi, enemies_number = 0, 0
for enemy in $game_troop.enemies
next unless enemy.exist?
enemies_agi += enemy.agi
enemies_number += 1
end
enemies_agi /= enemies_number if enemies_number > 0
# アクターの素早さ平均値を計算
actors_agi, actors_number = 0, 0
for actor in $game_party.actors
next unless actor.exist?
actors_agi += actor.agi
actors_number += 1
end
actors_agi /= actors_number if actors_number > 0
# 成功率計算
prob = 50 * actors_agi / [enemies_agi, 1].max
# スキルの場合は倍率を掛ける
prob = prob * skill.power / 100 if skill != nil
# 逃走成功判定
success = rand(100) < prob
# 逃走成功の場合
if success
# 逃走 SE を演奏
$game_system.se_play($data_system.escape_se)
# バトル開始前の BGM に戻す
$game_system.bgm_play($game_temp.map_bgm)
# バトル終了
battle_end(1)
# 逃走失敗の場合
else
# 戻る
return
end
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Scene_Battle (分割定義 4)
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● フレーム更新 (メインフェーズ ステップ 5 : ダメージ表示)
#--------------------------------------------------------------------------
alias update_phase4_step5_KGC_EscapeSkill update_phase4_step5
def update_phase4_step5
# 逃走スキル判定
if @active_battler.current_action.kind == 1 &&
@active_battler.current_action.skill_id > 0
skill = $data_skills[@active_battler.current_action.skill_id]
if skill.element_set.include?($game_special_elements["skill_escape"])
# 逃走判定
update_phase2_escape(skill)
unless $scene.is_a?(Scene_Battle)
@phase4_step = 1
return
end
end
end
# 元の処理を実行
update_phase4_step5_KGC_EscapeSkill
end
end
复制代码
作者:
ikki
时间:
2006-10-9 01:31
标题:
[RM脚本] 逃跑放到技能里
脚本来源:日本KGC网站
脚本说明:就是一个技能,技能威力设置为大于0的数值才起作用,效果为角色逃跑。{/gg}
逃跑公式:逃跑成功率*技能威力
插入在MAIN的前面,设置一个属性叫做逃跑,拥有逃跑属性的技能即为逃跑技能。
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆逃走スキル - KGC_EscapeSkill◆
#_/----------------------------------------------------------------------------
#_/ 逃走効果を持つスキルを作成します。
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
$imported = {} if $imported == nil
$imported["EscapeSkill"] = true
if $game_special_elements == nil
$game_special_elements = {}
$data_system = load_data("Data/System.rxdata")
end
# 逃走スキル属性
$game_special_elements["skill_escape"] = $data_system.elements.index("逃跑")
#==============================================================================
# ■ Scene_Battle (分割定義 2)
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● フレーム更新 (パーティコマンドフェーズ : 逃げる)
#--------------------------------------------------------------------------
alias update_phase2_escape_KGC_EscapeSkill update_phase2_escape
def update_phase2_escape(skill = nil)
# スキルでない場合は元の処理を実行
if skill == nil
update_phase2_escape_KGC_EscapeSkill
return
end
# 逃走できない場合は戻る
return unless $game_temp.battle_can_escape
# エネミーの素早さ平均値を計算
enemies_agi, enemies_number = 0, 0
for enemy in $game_troop.enemies
next unless enemy.exist?
enemies_agi += enemy.agi
enemies_number += 1
end
enemies_agi /= enemies_number if enemies_number > 0
# アクターの素早さ平均値を計算
actors_agi, actors_number = 0, 0
for actor in $game_party.actors
next unless actor.exist?
actors_agi += actor.agi
actors_number += 1
end
actors_agi /= actors_number if actors_number > 0
# 成功率計算
prob = 50 * actors_agi / [enemies_agi, 1].max
# スキルの場合は倍率を掛ける
prob = prob * skill.power / 100 if skill != nil
# 逃走成功判定
success = rand(100) < prob
# 逃走成功の場合
if success
# 逃走 SE を演奏
$game_system.se_play($data_system.escape_se)
# バトル開始前の BGM に戻す
$game_system.bgm_play($game_temp.map_bgm)
# バトル終了
battle_end(1)
# 逃走失敗の場合
else
# 戻る
return
end
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Scene_Battle (分割定義 4)
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● フレーム更新 (メインフェーズ ステップ 5 : ダメージ表示)
#--------------------------------------------------------------------------
alias update_phase4_step5_KGC_EscapeSkill update_phase4_step5
def update_phase4_step5
# 逃走スキル判定
if @active_battler.current_action.kind == 1 &&
@active_battler.current_action.skill_id > 0
skill = $data_skills[@active_battler.current_action.skill_id]
if skill.element_set.include?($game_special_elements["skill_escape"])
# 逃走判定
update_phase2_escape(skill)
unless $scene.is_a?(Scene_Battle)
@phase4_step = 1
return
end
end
end
# 元の処理を実行
update_phase4_step5_KGC_EscapeSkill
end
end
复制代码
作者:
轮回者
时间:
2006-10-9 03:14
没人理?我支持一下……
作者:
叼烟的男孩
时间:
2006-10-9 03:22
试试效果怎么样
好的话再顶
作者:
kira
时间:
2006-10-9 08:35
做一个这样的技能用得到脚本吗{/gg}
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1