Project1

标题: 逃跑技能 [打印本页]

作者: 星辰天羽    时间: 2008-10-18 20:22
标题: 逃跑技能
就是把战斗开始的战斗和逃跑选项去掉,然后和这个脚本原理一样,不过好象不是VX的

  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/  ◆逃走スキル - KGC_EscapeSkill◆
  3. #_/----------------------------------------------------------------------------
  4. #_/ 逃走効果を持つスキルを作成します。
  5. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

  6. $imported = {} if $imported == nil
  7. $imported["EscapeSkill"] = true

  8. if $game_special_elements == nil
  9. $game_special_elements = {}
  10. $data_system = load_data("Data/System.rxdata")
  11. end
  12. # 逃走スキル属性
  13. $game_special_elements["skill_escape"] = $data_system.elements.index("逃跑")

  14. #==============================================================================
  15. # ■ Scene_Battle (分割定義 2)
  16. #==============================================================================

  17. class Scene_Battle
  18. #--------------------------------------------------------------------------
  19. # ● フレーム更新 (パーティコマンドフェーズ : 逃げる)
  20. #--------------------------------------------------------------------------
  21. alias update_phase2_escape_KGC_EscapeSkill update_phase2_escape
  22. def update_phase2_escape(skill = nil)
  23.    # スキルでない場合は元の処理を実行
  24.    if skill == nil
  25.      update_phase2_escape_KGC_EscapeSkill
  26.      return
  27.    end

  28.    # 逃走できない場合は戻る
  29.    return unless $game_temp.battle_can_escape

  30.    # エネミーの素早さ平均値を計算
  31.    enemies_agi, enemies_number = 0, 0
  32.    for enemy in $game_troop.enemies
  33.      next unless enemy.exist?
  34.      enemies_agi += enemy.agi
  35.      enemies_number += 1
  36.    end
  37.    enemies_agi /= enemies_number if enemies_number > 0
  38.    # アクターの素早さ平均値を計算
  39.    actors_agi, actors_number = 0, 0
  40.    for actor in $game_party.actors
  41.      next unless actor.exist?
  42.      actors_agi += actor.agi
  43.      actors_number += 1
  44.    end
  45.    actors_agi /= actors_number if actors_number > 0
  46.    # 成功率計算
  47.    prob = 50 * actors_agi / [enemies_agi, 1].max
  48.    # スキルの場合は倍率を掛ける
  49.    prob = prob * skill.power / 100 if skill != nil
  50.    # 逃走成功判定
  51.    success = rand(100) < prob
  52.    # 逃走成功の場合
  53.    if success
  54.      # 逃走 SE を演奏
  55.      $game_system.se_play($data_system.escape_se)
  56.      # バトル開始前の BGM に戻す
  57.      $game_system.bgm_play($game_temp.map_bgm)
  58.      # バトル終了
  59.      battle_end(1)
  60.    # 逃走失敗の場合
  61.    else
  62.      # 戻る
  63.      return
  64.    end
  65. end
  66. end

  67. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  68. #==============================================================================
  69. # ■ Scene_Battle (分割定義 4)
  70. #==============================================================================

  71. class Scene_Battle
  72. #--------------------------------------------------------------------------
  73. # ● フレーム更新 (メインフェーズ ステップ 5 : ダメージ表示)
  74. #--------------------------------------------------------------------------
  75. alias update_phase4_step5_KGC_EscapeSkill update_phase4_step5
  76. def update_phase4_step5
  77.    # 逃走スキル判定
  78.    if @active_battler.current_action.kind == 1 &&
  79.        @active_battler.current_action.skill_id > 0
  80.      skill = $data_skills[@active_battler.current_action.skill_id]
  81.      if skill.element_set.include?($game_special_elements["skill_escape"])
  82.        # 逃走判定
  83.        update_phase2_escape(skill)
  84.        unless $scene.is_a?(Scene_Battle)
  85.          @phase4_step = 1
  86.          return
  87.        end
  88.      end
  89.    end

  90.    # 元の処理を実行
  91.    update_phase4_step5_KGC_EscapeSkill
  92. end
  93. 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