Project1

标题: 求回合制战斗遇敌时先制攻击脚本 [打印本页]

作者: 无名小兵    时间: 2009-7-17 17:06
标题: 求回合制战斗遇敌时先制攻击脚本
本帖最后由 无名小兵 于 2009-7-17 23:52 编辑

6R主站跟论坛都没搜索到,故来求个脚本。
遇敌时 我方或敌方能抢先攻击一回合,要有我方抢先攻击或敌方的偷袭提示。
谢谢。。。。万能的6R的各位大大们。。
作者: 夏季冰川    时间: 2009-7-17 17:08
用RATB吧,战斗开始时给我方追加AT,给敌方减少AT.
作者: 无名小兵    时间: 2009-7-17 17:13
用RATB吧,战斗开始时给我方追加AT,给敌方减少AT.
夏季冰川 发表于 2009-7-17 17:08

这个不行啊 我做的游戏是正统RPG 横版战斗模式  不能用RATB
作者: 夏季冰川    时间: 2009-7-17 17:15
RATB的豪华0.16好像是横板战斗.
作者: zh99998    时间: 2009-7-17 17:15
他的意思是他是回合制的……
作者: 无名小兵    时间: 2009-7-17 17:21
:( 我的游戏已经做完了 只是在做最后的补充。。。所以只能求普通的 本来想搜的 结果都没有。。只能来这里求了。。。
作者: 云心    时间: 2009-7-17 20:36
新建一个状态 "被偷袭“,限制:不行动,,经1回合后100%解除。
判断是偷袭后,用事件给我方或敌方强制加”被偷袭“状态。

大致思路如此
作者: 无名小兵    时间: 2009-7-17 21:27
但问题是如何判断?几率是怎么判断?
作者: 云心    时间: 2009-7-17 22:12
明雷遇敌的话,几率用变量和随机数判断。这样全部用事件做。
暗雷的话,要改脚本,我也不太清楚,我是个老菜鸟。
作者: 后知后觉    时间: 2009-7-17 23:44
如果发生冲突
就把脚本里我标记了的醒目范围里的东西替换掉自己工程里相对应的部位
  1. #用来控制偷袭几率的数据库变量ID号
  2. #变量的取值建议要么取 1  要么取 100
  3. #取 1 的话就是不会偷袭
  4. #取 100 的话就是角色有20%几率 敌人有 20%几率 但是不会同时发生

  5. HZHJ_TOUXI_VARIABLE_ID = 1

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

  9. class Scene_Battle
  10.   #--------------------------------------------------------------------------
  11.   # ● 刷新画面 (自由战斗回合)
  12.   #--------------------------------------------------------------------------
  13.   def update_phase1
  14.     # 胜败判定
  15.     if judge
  16.       # 胜利或者失败的情况下 : 过程结束
  17.       return
  18.     end
  19. #★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
  20.     @abc_actor = false
  21.     @abc_enemy = false
  22.     abc = rand([[$game_variables[HZHJ_TOUXI_VARIABLE_ID],1].max,100].min)
  23.     if abc > 0 and abc <= 20
  24.       @abc_actor = true
  25.       for actor in $game_party.actors
  26.         actor.current_action.kind = 0
  27.         actor.current_action.basic = 0
  28.         actor.current_action.target_index = rand($game_troop.enemies.size)
  29.       end
  30.       @help_window.set_text("角色进行偷袭", 1)
  31.       for i in 0...40
  32.         Graphics.update
  33.       end
  34.       start_phase4
  35.     elsif abc > 20 and abc <= 40
  36.       @abc_enemy = true
  37.       @help_window.set_text("敌人进行偷袭", 1)
  38.       for i in 0...40
  39.         Graphics.update
  40.       end
  41.       start_phase4
  42.     else
  43.       # 开始同伴命令回合
  44.       start_phase2
  45.     end
  46. #▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
  47.   end
  48.   #--------------------------------------------------------------------------
  49.   # ● 生成行动循序
  50.   #--------------------------------------------------------------------------
  51.   def make_action_orders
  52.     # 初始化序列 @action_battlers
  53.     @action_battlers = []
  54. #★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
  55.     if @abc_actor == true
  56.       @abc_actor = false
  57.       # 添加角色到 @action_battlers 序列
  58.       for actor in $game_party.actors
  59.         @action_battlers.push(actor)
  60.       end
  61.     elsif @abc_enemy == true
  62.       @abc_enemy = false
  63.       # 添加敌人到 @action_battlers 序列
  64.       for enemy in $game_troop.enemies
  65.         @action_battlers.push(enemy)
  66.       end
  67.     else
  68.       # 添加敌人到 @action_battlers 序列
  69.       for enemy in $game_troop.enemies
  70.         @action_battlers.push(enemy)
  71.       end
  72.       # 添加角色到 @action_battlers 序列
  73.       for actor in $game_party.actors
  74.         @action_battlers.push(actor)
  75.       end
  76.     end
  77. #▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
  78.     # 确定全体的行动速度
  79.     for battler in @action_battlers
  80.       battler.make_action_speed
  81.     end
  82.     # 按照行动速度从大到小排列
  83.     @action_battlers.sort! {|a,b|
  84.       b.current_action.speed - a.current_action.speed }
  85.   end
  86. end
复制代码

作者: 无名小兵    时间: 2009-7-17 23:52
本帖最后由 无名小兵 于 2009-7-17 23:54 编辑

谢谢。。。虽然 - - 试了好会 硬是没出现偷袭 或冲突。。。20%估计是RP不好-  -
作者: 后知后觉    时间: 2009-7-17 23:56
本帖最后由 后知后觉 于 2009-7-17 23:57 编辑

我在默认系统里做的

默认系统里是有效果的

要不要我把工程传上来?

还有就是要记得把那个变量赋值为100哦

打BOSS什么的时候再弄回1
打完了再弄到100去
作者: 无名小兵    时间: 2009-7-17 23:58
本帖最后由 无名小兵 于 2009-7-18 00:02 编辑
我在默认系统里做的

默认系统里是有效果的

要不要我把工程传上来?

还有就是要记得把那个变量赋值为100哦

打BOSS什么的时候再弄回1
打完了再弄到100去 ...
后知后觉 发表于 2009-7-17 23:56

请问。。是开始战斗时的吗?还是战斗中??
我想要的效果是开始战斗的第1回合 。。

我也建了新工程 - -好像敌人有效果 但没有偷袭的提示。。
作者: 后知后觉    时间: 2009-7-18 00:02
就是开始的时候才会有的
HZHJ_TOUXI_VARIABLE_ID = 1


这一行是设置变量ID
然后运行的时候把这个变量赋值为100
作者: 无名小兵    时间: 2009-7-18 00:06
已经改成100了。。。但 好像敌人有几次第1回合不会动 但没有那句 发动偷袭 的对话框 而我方1次都没有
作者: 后知后觉    时间: 2009-7-18 00:08
那就是你的战斗系统的问题了~
作者: 无名小兵    时间: 2009-7-18 00:12
本帖最后由 无名小兵 于 2009-7-18 00:20 编辑
那就是你的战斗系统的问题了~
后知后觉 发表于 2009-7-18 00:08

- -  开了新工程试的。。要不你把工程传上来我下来试下



:'( 明明看见曙光了 我不想晚上失眠。。。。
作者: 后知后觉    时间: 2009-7-18 00:40
战前偷袭.rar (184.87 KB, 下载次数: 29)
作者: wozx922an    时间: 2009-7-19 18:24
感谢楼主




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1