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

Project1

 找回密码
 注册会员
搜索
查看: 1113|回复: 7
打印 上一主题 下一主题

每回合都要选逃跑或战斗……求最简解

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-1-25
帖子
39
跳转到指定楼层
1
发表于 2008-7-14 06:31:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-1-25
帖子
39
2
 楼主| 发表于 2008-7-14 06:43:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

今、空を見上げ

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-11
帖子
2022
3
发表于 2008-7-14 06:49:19 | 只看该作者
你是想去掉战斗和逃跑直接进入主选单吗
做任何事,都不要为自己找借口。任何事都不存在困难的借口。你只有3个字“做得到”
回复 支持 反对

使用道具 举报

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
4
发表于 2008-7-14 08:26:44 | 只看该作者
http://rpg.blue/web/htm/news328.htm
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-1-25
帖子
39
5
 楼主| 发表于 2008-7-14 16:24:18 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-1-25
帖子
39
6
 楼主| 发表于 2008-7-14 16:59:38 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

龙骑

梦石
0
星屑
555
在线时间
10 小时
注册时间
2007-12-31
帖子
2030
7
发表于 2008-7-14 19:56:25 | 只看该作者
用此脚本替换原来的Scene_Battle2:
  1. #==============================================================================
  2. # ■ Scene_Battle (分割定义 2)
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle
  7.   #--------------------------------------------------------------------------
  8.   # ● 开始自由战斗回合
  9.   #--------------------------------------------------------------------------
  10.   def start_phase1
  11.     # 转移到回合 1
  12.     @phase = 1
  13.     # 清除全体同伴的行动
  14.     $game_party.clear_actions
  15.     # 设置战斗事件
  16.     setup_battle_event
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 刷新画面 (自由战斗回合)
  20.   #--------------------------------------------------------------------------
  21.   def update_phase1
  22.     # 胜败判定
  23.     if judge
  24.       # 胜利或者失败的情况下 : 过程结束
  25.       return
  26.     end
  27.     # 开始同伴命令回合
  28.     start_phase2
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● 开始同伴命令回合
  32.   #--------------------------------------------------------------------------
  33.   def start_phase2
  34.     # 转移到回合 2
  35.     @phase = 2
  36.     # 设置角色为非选择状态
  37.     @actor_index = -1
  38.     @active_battler = nil

  39.     # 无效化角色指令窗口
  40.     @actor_command_window.active = false
  41.     @actor_command_window.visible = false
  42.     # 清除主回合标志
  43.     $game_temp.battle_main_phase = false
  44.     # 清除全体同伴的行动
  45.     $game_party.clear_actions
  46.     # 不能输入命令的情况下
  47.     unless $game_party.inputable?
  48.       # 开始主回合
  49.       start_phase4
  50.     end
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 刷新画面 (同伴命令回合)
  54.   #--------------------------------------------------------------------------
  55. def update_phase2

  56.       # 演奏确定 SE
  57.       $game_system.se_play($data_system.decision_se)
  58.       # 开始角色的命令回合
  59.       start_phase3

  60. end
  61.   #--------------------------------------------------------------------------
  62.   # ● 画面更新 (同伴指令回合 : 逃跑)
  63.   #--------------------------------------------------------------------------
  64.   def update_phase2_escape
  65.     # 计算敌人速度的平均值
  66.     enemies_agi = 0
  67.     enemies_number = 0
  68.     for enemy in $game_troop.enemies
  69.       if enemy.exist?
  70.         enemies_agi += enemy.agi
  71.         enemies_number += 1
  72.       end
  73.     end
  74.     if enemies_number > 0
  75.       enemies_agi /= enemies_number
  76.     end
  77.     # 计算角色速度的平均值
  78.     actors_agi = 0
  79.     actors_number = 0
  80.     for actor in $game_party.actors
  81.       if actor.exist?
  82.         actors_agi += actor.agi
  83.         actors_number += 1
  84.       end
  85.     end
  86.     if actors_number > 0
  87.       actors_agi /= actors_number
  88.     end
  89.     # 逃跑成功判定
  90.     success = rand(100) < 50 * actors_agi / enemies_agi
  91.     # 成功逃跑的情况下
  92.     if success
  93.       # 演奏逃跑 SE
  94.       $game_system.se_play($data_system.escape_se)
  95.       # 还原为战斗开始前的 BGM
  96.       $game_system.bgm_play($game_temp.map_bgm)
  97.       # 战斗结束
  98.       battle_end(1)
  99.     # 逃跑失败的情况下
  100.     else
  101.       # 清除全体同伴的行动
  102.       $game_party.clear_actions
  103.       # 开始主回合
  104.       start_phase4
  105.     end
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 开始结束战斗回合
  109.   #--------------------------------------------------------------------------
  110.   def start_phase5
  111.     # 转移到回合 5
  112.     @phase = 5
  113.     # 演奏战斗结束 ME
  114.     $game_system.me_play($game_system.battle_end_me)
  115.     # 还原为战斗开始前的 BGM
  116.     $game_system.bgm_play($game_temp.map_bgm)
  117.     # 初始化 EXP、金钱、宝物
  118.     exp = 0
  119.     gold = 0
  120.     treasures = []
  121.     # 循环
  122.     for enemy in $game_troop.enemies
  123.       # 敌人不是隐藏状态的情况下
  124.       unless enemy.hidden
  125.         # 获得 EXP、增加金钱
  126.         exp += enemy.exp
  127.         gold += enemy.gold
  128.         # 出现宝物判定
  129.         if rand(100) < enemy.treasure_prob
  130.           if enemy.item_id > 0
  131.             treasures.push($data_items[enemy.item_id])
  132.           end
  133.           if enemy.weapon_id > 0
  134.             treasures.push($data_weapons[enemy.weapon_id])
  135.           end
  136.           if enemy.armor_id > 0
  137.             treasures.push($data_armors[enemy.armor_id])
  138.           end
  139.         end
  140.       end
  141.     end
  142.     # 限制宝物数为 6 个
  143.     treasures = treasures[0..5]
  144.     # 获得 EXP
  145.     for i in 0...$game_party.actors.size
  146.       actor = $game_party.actors[i]
  147.       if actor.cant_get_exp? == false
  148.         last_level = actor.level
  149.         actor.exp += exp
  150.         if actor.level > last_level
  151.           @status_window.level_up(i)
  152.         end
  153.       end
  154.     end
  155.     # 获得金钱
  156.     $game_party.gain_gold(gold)
  157.     # 获得宝物
  158.     for item in treasures
  159.       case item
  160.       when RPG::Item
  161.         $game_party.gain_item(item.id, 1)
  162.       when RPG::Weapon
  163.         $game_party.gain_weapon(item.id, 1)
  164.       when RPG::Armor
  165.         $game_party.gain_armor(item.id, 1)
  166.       end
  167.     end
  168.     # 生成战斗结果窗口
  169.     @result_window = Window_BattleResult.new(exp, gold, treasures)
  170.     # 设置等待计数
  171.     @phase5_wait_count = 100
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # ● 画面更新 (结束战斗回合)
  175.   #--------------------------------------------------------------------------
  176.   def update_phase5
  177.     # 等待计数大于 0 的情况下
  178.     if @phase5_wait_count > 0
  179.       # 减少等待计数
  180.       @phase5_wait_count -= 1
  181.       # 等待计数为 0 的情况下
  182.       if @phase5_wait_count == 0
  183.         # 显示结果窗口
  184.         @result_window.visible = true
  185.         # 清除主回合标志
  186.         $game_temp.battle_main_phase = false
  187.         # 刷新状态窗口
  188.         @status_window.refresh
  189.       end
  190.       return
  191.     end
  192.     # 按下 C 键的情况下
  193.     if Input.trigger?(Input::C)
  194.       # 战斗结束
  195.       battle_end(0)
  196.     end
  197.   end
  198. end
复制代码

系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-1-25
帖子
39
8
 楼主| 发表于 2008-7-16 00:31:20 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-8-8 22:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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