Project1
标题:
逃跑技能
[打印本页]
作者:
星辰天羽
时间:
2008-10-18 20:22
标题:
逃跑技能
就是把战斗开始的战斗和逃跑选项去掉,然后和这个脚本原理一样,不过好象不是VX的
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆逃走スキル - 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
复制代码
[LINE]1,#dddddd[/LINE]
此贴于 2008-10-23 13:29:27 被版主八云紫提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
星辰天羽
时间:
2008-10-20 20:59
没人知道吗??
作者:
火鸡三毛老大
时间:
2008-10-21 00:56
去掉战斗/逃跑选择
战斗指令加上逃跑
http://rpg.blue/viewthread.php?tid=76983
作者:
星辰天羽
时间:
2008-10-21 21:08
以下引用
火鸡三毛老大于2008-10-20 16:56:52
的发言:
去掉战斗/逃跑选择
战斗指令加上逃跑
http://rpg.blue/viewthread.php?tid=76983
只能用技能逃
作者:
星辰天羽
时间:
2008-10-24 02:38
没人知道??
作者:
塑望
时间:
2008-10-24 02:49
为什么不能公共事件呢
逃跑技能那里插入公共事件.
[逃跑几率变量=1....6]
变量=1
中断战斗处理
变量=2
....
...
之所以判断变量是为了设置一个逃跑几率..可以直接去掉变量判断也行
作者:
木葬枫
时间:
2008-10-24 15:12
好嘛…如果是一定成功的…请用公共事件插入技能……执行是中断战斗………
[LINE]1,#dddddd[/LINE]
不一定成功的参考脚本关于逃跑设定的判断………原理还是中断战斗………
[LINE]1,#dddddd[/LINE]
但要注意BOSS战时要把公共事件占时关闭吧………
[LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
雪流星
时间:
2008-10-24 15:33
中斷遊戲?
你是指「中斷戰鬥」吧?
作者:
木葬枫
时间:
2008-10-24 16:04
呐……已改正………
>_<
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1