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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 谢拉卡姗娜
打印 上一主题 下一主题

[已经解决] 已解决……

 关闭 [复制链接]

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

11
发表于 2011-3-31 21:03:19 | 只看该作者
设置在第 60 行.是一个哈希表.
以队伍的id为键(就是 => 符号的左边)
以数组为值.这里称之为 数组A吧.
数组A里装的仍然是数组.就叫 数组B.
数组B里放3个整数单元.依次为 公共事件ID,TurnA,TrunB
数组A里可以放多个数组B.
啊.额.没看明白的话直接看 60-62行吧 我预先设置了 1 2 3 号队伍的样板.
  1. #==============================================================================
  2. # ■ 战斗中刷新指定公共事件
  3. #------------------------------------------------------------------------------
  4. #   作者:后知后觉 2011-3-31
  5. #==============================================================================

  6. #==============================================================================
  7. # ■ Scene_Battle
  8. #==============================================================================

  9. class Scene_Battle
  10.   alias hzhj_old_main_for_common_event main
  11.   alias hzhj_old_setup_battle_event_for_common_event setup_battle_event
  12.   alias hzhj_old_cp_turn_count_for_common_event cp_turn_count
  13.   #--------------------------------------------------------------------------
  14.   # ● 主处理
  15.   #--------------------------------------------------------------------------
  16.   def main
  17.     $data_troops[$game_temp.battle_troop_id].hzhj_set_new_parameters
  18.     @hzhj_events = $data_troops[$game_temp.battle_troop_id].hzhj_events
  19.     @hzhj_turns = $data_troops[$game_temp.battle_troop_id].hzhj_turns
  20.     @hzhj_flags = Array.new
  21.     hzhj_old_main_for_common_event
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 设置战斗事件
  25.   #--------------------------------------------------------------------------
  26.   def setup_battle_event
  27.     if $game_system.battle_interpreter.running?
  28.       return
  29.     end
  30.     if not @hzhj_events.empty?
  31.       for i in 0...@hzhj_events.size
  32.         next if @hzhj_flags[i]
  33.         n = $game_temp.battle_turn
  34.         a = @hzhj_turns[i][0]
  35.         b = @hzhj_turns[i][1]
  36.         if (b == 0 and n != a) or
  37.            (b > 0 and (n < 1 or n < a or n % b != a % b))
  38.           next
  39.         end
  40.         $game_system.battle_interpreter.setup(@hzhj_events[i].list, 0)
  41.         @hzhj_flags[i] = true
  42.         return
  43.       end
  44.     end
  45.     hzhj_old_setup_battle_event_for_common_event
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ● 开始主回合
  49.   #--------------------------------------------------------------------------
  50.   def cp_turn_count
  51.     hzhj_old_cp_turn_count_for_common_event
  52.     @hzhj_flags.clear
  53.   end
  54. end

  55. module RPG
  56.   class Troop
  57.     CommonEventId = {1 => [[2, 0, 1]],
  58.                      2 => [[2, 0, 0]],
  59.                      3 => [[2, 0, 2], [4, 0, 2]]}
  60.     def hzhj_events
  61.       hzhj_set_new_parameters if @hzhj_events.nil?
  62.       return @hzhj_events
  63.     end
  64.     def hzhj_turns
  65.       hzhj_set_new_parameters if @hzhj_turns.nil?
  66.       return @hzhj_turns
  67.     end
  68.     def hzhj_set_new_parameters
  69.       return if not @hzhj_events.nil?
  70.       @hzhj_events = Array.new
  71.       @hzhj_turns = Array.new
  72.       return if CommonEventId[@id].nil?
  73.       for i in 0...CommonEventId[@id].size
  74.         temp_e = CommonEventId[@id][i]
  75.         @hzhj_events[i] = $data_common_events[temp_e[0]]
  76.         @hzhj_turns[i] = Array.new
  77.         @hzhj_turns[i][0] = temp_e[1]
  78.         @hzhj_turns[i][1] = temp_e[2]
  79.       end
  80.     end
  81.   end
  82. end
复制代码
这楼帖出来的脚本除了改了设置方法外.还改了一个东西来适应那个战斗系统.
我上面那楼帖的脚本在你的战斗系统里有个毛病.所以做了下修正.











你知道得太多了

回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5484
在线时间
1565 小时
注册时间
2006-9-30
帖子
2039

开拓者

12
 楼主| 发表于 2011-3-31 21:45:02 | 只看该作者
回复 后知后觉 的帖子

确认可用了,不过这个是满足条件执行一次吧,

我是想实现满足条件可在战斗中反复执行的那种
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

13
发表于 2011-3-31 22:07:25 | 只看该作者
本帖最后由 后知后觉 于 2011-3-31 22:10 编辑

额= =b.
那就再改回来好了.
就用脚本编辑器的替换功能 把出现的 4 个(14、52、53行) cp_turn_count
改成 start_phase4.
不过这个并不是像地图上那样满足条件的时候每一帧都在运行.
这个是在行动的时候才会运行.
我不知道他这个回合是怎么算的.感觉很乱.= =











你知道得太多了

回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5484
在线时间
1565 小时
注册时间
2006-9-30
帖子
2039

开拓者

14
 楼主| 发表于 2011-3-31 22:30:01 | 只看该作者
本帖最后由 谢拉卡姗娜 于 2011-3-31 23:31 编辑

回复 后知后觉 的帖子






呃…………这个问题咋破?

未命名2144124213.jpg (12.71 KB, 下载次数: 4)

未命名2144124213.jpg
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

15
发表于 2011-3-31 22:45:47 | 只看该作者
  1. #==============================================================================
  2. # ■ 战斗中刷新指定公共事件
  3. #------------------------------------------------------------------------------
  4. #   作者:后知后觉 2011-3-31
  5. #==============================================================================

  6. #==============================================================================
  7. # ■ Scene_Battle
  8. #==============================================================================

  9. class Scene_Battle
  10.   alias hzhj_old_main_for_common_event main
  11.   alias hzhj_old_setup_battle_event_for_common_event setup_battle_event
  12.   alias hzhj_old_start_phase4_for_common_event start_phase4
  13.   #--------------------------------------------------------------------------
  14.   # ● 主处理
  15.   #--------------------------------------------------------------------------
  16.   def main
  17.     $data_troops[$game_temp.battle_troop_id].hzhj_set_new_parameters
  18.     @hzhj_events = $data_troops[$game_temp.battle_troop_id].hzhj_events
  19.     @hzhj_turns = $data_troops[$game_temp.battle_troop_id].hzhj_turns
  20.     @hzhj_flags = Array.new
  21.     hzhj_old_main_for_common_event
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 设置战斗事件
  25.   #--------------------------------------------------------------------------
  26.   def setup_battle_event
  27.     if $game_system.battle_interpreter.running?
  28.       return
  29.     end
  30.     if not @hzhj_events.empty?
  31.       for i in 0...@hzhj_events.size
  32.         next if @hzhj_flags[i]
  33.         n = $game_temp.battle_turn
  34.         a = @hzhj_turns[i][0]
  35.         b = @hzhj_turns[i][1]
  36.         if (b == 0 and n != a) or
  37.            (b > 0 and (n < 1 or n < a or n % b != a % b))
  38.           next
  39.         end
  40.         $game_system.battle_interpreter.setup(@hzhj_events[i].list, 0)
  41.         @hzhj_flags[i] = true
  42.         return
  43.       end
  44.     end
  45.     hzhj_old_setup_battle_event_for_common_event
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ● 开始主回合
  49.   #--------------------------------------------------------------------------
  50.   def start_phase4
  51.     hzhj_old_start_phase4_for_common_event
  52.     @hzhj_flags.clear
  53.   end
  54. end

  55. module RPG
  56.   class Troop
  57.     CommonEventId = {1 => [[2, 0, 1]],
  58.                      2 => [[2, 0, 0]],
  59.                      3 => [[2, 0, 2], [4, 0, 2]]}
  60.     def hzhj_events
  61.       hzhj_set_new_parameters if @hzhj_events.nil?
  62.       return @hzhj_events
  63.     end
  64.     def hzhj_turns
  65.       hzhj_set_new_parameters if @hzhj_turns.nil?
  66.       return @hzhj_turns
  67.     end
  68.     def hzhj_set_new_parameters
  69.       return if not @hzhj_events.nil?
  70.       @hzhj_events = Array.new
  71.       @hzhj_turns = Array.new
  72.       return if CommonEventId[@id].nil?
  73.       for i in 0...CommonEventId[@id].size
  74.         temp_e = CommonEventId[@id][i]
  75.         @hzhj_events[i] = $data_common_events[temp_e[0]]
  76.         @hzhj_turns[i] = Array.new
  77.         @hzhj_turns[i][0] = temp_e[1]
  78.         @hzhj_turns[i][1] = temp_e[2]
  79.       end
  80.     end
  81.   end
  82. end
复制代码











你知道得太多了

回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5484
在线时间
1565 小时
注册时间
2006-9-30
帖子
2039

开拓者

16
 楼主| 发表于 2011-3-31 22:51:22 | 只看该作者
回复 后知后觉 的帖子

   终于解决了…… 泪目…………我顶着地震和辐射果体跪谢
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 15:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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