设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3365|回复: 4

[RM脚本] 逃跑放到技能里

 关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
910
在线时间
94 小时
注册时间
2005-10-22
帖子
397
发表于 2006-10-9 01:31:06 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
脚本来源:日本KGC网站
脚本说明:就是一个技能,技能威力设置为大于0的数值才起作用,效果为角色逃跑。{/gg}
逃跑公式:逃跑成功率*技能威力
插入在MAIN的前面,设置一个属性叫做逃跑,拥有逃跑属性的技能即为逃跑技能。

  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
复制代码
做脚本先从修改脚本做起,我只修改自己觉得能用到的东西。
以后的任何作品都将不会进行分享。
Bilibili:https://space.bilibili.com/288814521

Lv2.观梦者

梦石
0
星屑
910
在线时间
94 小时
注册时间
2005-10-22
帖子
397
 楼主| 发表于 2006-10-9 01:31:06 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
脚本来源:日本KGC网站
脚本说明:就是一个技能,技能威力设置为大于0的数值才起作用,效果为角色逃跑。{/gg}
逃跑公式:逃跑成功率*技能威力
插入在MAIN的前面,设置一个属性叫做逃跑,拥有逃跑属性的技能即为逃跑技能。

  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
复制代码
做脚本先从修改脚本做起,我只修改自己觉得能用到的东西。
以后的任何作品都将不会进行分享。
Bilibili:https://space.bilibili.com/288814521

Lv1.梦旅人

逃兵

发表于 2006-10-9 03:14:14 | 显示全部楼层
没人理?我支持一下……
「If you judge people, you have no time to love them.」—— Mother Teresa
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2006-8-9
帖子
510
发表于 2006-10-9 03:22:54 | 显示全部楼层
试试效果怎么样
好的话再顶
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
5 小时
注册时间
2005-10-22
帖子
907
发表于 2006-10-9 08:35:45 | 显示全部楼层
做一个这样的技能用得到脚本吗{/gg}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-17 05:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表