Project1

标题: 怎么设置部份敌人的两次行动 [打印本页]

作者: 死去活来    时间: 2012-1-3 20:38
标题: 怎么设置部份敌人的两次行动
设定需要,部份敌人想设置成2次行动。分别使用不同的技能攻击。
还有部份敌人的自动回复dsu_plus_rewardpost_czw
作者: 小白玩家    时间: 2012-1-3 20:46
来源地址
http://rpg.blue/forum.php?mod=vi ... D100%26typeid%3D100
  1. #==============================================================================
  2. # ★ ExEnemy_DoubleAction
  3. #------------------------------------------------------------------------------
  4. #  设置让敌人一定机率出现连续行动。
  5. #==============================================================================

  6. # 能够连续行动的敌人识別用文字。
  7. # 在敌人的「备注」栏中填写:
  8. # 识別用文字 + [机率],也就是说:可以设定不同敌人的机率
  9. # 出现连续行动的机率、每回合判断一次。
  10. # 例) 50%机率出现连续行动 => *DOUBLE_ACTION[50]
  11. EXENM_DOUBLEACT_SIGNATURE = "*DOUBLE_ACTION"

  12. # 连续行動的默认机率。
  13. # 当识別用文字中没有设置时调用的机率、请指定为1~100(%)。
  14. EXENM_DOUBLEACT_PROBARITY = 100

  15. #------------------------------------------------------------------------------

  16. class Game_Enemy
  17.   alias _exedblact_initialize initialize
  18.   #--------------------------------------------------------------------------
  19.   # ○ 定義實例變量 (追加定义)
  20.   #--------------------------------------------------------------------------
  21.   attr_accessor :attacked                 # 「已经攻击一次」标记
  22.   #--------------------------------------------------------------------------
  23.   # ○ 初始化对象 (追加定义)
  24.   #     index    : 隊伍中索引
  25.   #     enemy_id : 敵人 ID
  26.   #--------------------------------------------------------------------------
  27.   def initialize(index, enemy_id)
  28.     _exedblact_initialize(index, enemy_id)
  29.     @attacked = false
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ☆ 判定能否连续行动
  33.   #--------------------------------------------------------------------------
  34.   def double_action?
  35.     return false if @attacked
  36.     sig = EXENM_DOUBLEACT_SIGNATURE
  37.     return false unless enemy.note[/#{Regexp.quote sig}\[?(\d*)\]?/].to_a[0]
  38.     prob = $1.to_i
  39.     prob = EXENM_DOUBLEACT_PROBARITY if prob == 0
  40.     @attacked = true
  41.     return rand(100) < prob
  42.   end
  43. end

  44. class Game_Troop
  45.   alias _exedblact_increase_turn increase_turn
  46.   #--------------------------------------------------------------------------
  47.   # ○ 增加回合数 (追加定义)
  48.   #--------------------------------------------------------------------------
  49.   def increase_turn
  50.     _exedblact_increase_turn
  51.     for enemy in members
  52.       enemy.attacked = false
  53.     end
  54.   end
  55. end

  56. class Scene_Battle
  57.   alias _exedblact_set_next_active_battler set_next_active_battler
  58.   #--------------------------------------------------------------------------
  59.   # ○ 設置下一戰鬥者行動 (追加定义)
  60.   #--------------------------------------------------------------------------
  61.   def set_next_active_battler
  62.     if @active_battler.is_a?(Game_Enemy)
  63.       return @active_battler.make_action if @active_battler.double_action?
  64.     end
  65.     _exedblact_set_next_active_battler
  66.   end
  67. end
复制代码

double_action_93663054.zip

250.9 KB, 下载次数: 48


作者: 死去活来    时间: 2012-1-3 21:23
脚本已导入,但是还是不明白备注要写一些什么?
能举例一下么?
比如1%的两次行动和100%的两次运行?
我在备注填写:100%机率出现连续行动  没出现效果
我在备注填写:100%机率出现连续行动 => *DOUBLE_ACTION[100]  没出现效果
我在备注填写:EXENM_DOUBLEACT_PROBARITY = 100 还是没效果
作者: 小白玩家    时间: 2012-1-3 21:32
本帖最后由 小白玩家 于 2012-1-3 21:33 编辑
死去活来 发表于 2012-1-3 21:23
脚本已导入,但是还是不明白备注要写一些什么?
能举例一下么?
比如1%的两次行动和100%的两次运行?


范例里不是讲了,没设置几率的敌人,出现连续行动的几率是100

1.jpg (72.18 KB, 下载次数: 18)

1.jpg

作者: 死去活来    时间: 2012-1-3 21:52
本帖最后由 死去活来 于 2012-1-3 21:56 编辑

还是不行,备注不写也是一动

脚本.jpg (6.88 KB, 下载次数: 20)

脚本.jpg

不写.jpg (4.39 KB, 下载次数: 21)

不写.jpg

情况1.jpg (3.89 KB, 下载次数: 18)

情况1.jpg

情况2.jpg (4.67 KB, 下载次数: 21)

情况2.jpg

情况3.jpg (4.81 KB, 下载次数: 19)

情况3.jpg

作者: 小白玩家    时间: 2012-1-3 21:57
本帖最后由 小白玩家 于 2012-1-3 22:02 编辑
死去活来 发表于 2012-1-3 21:52
还是不行,备注不写也是一动


*DOUBLE_ACTION
100%
*DOUBLE_ACTION[50]
50%
没有备注
只攻击一次
作者: 死去活来    时间: 2012-1-3 22:44
总算成功了,太谢谢了




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