查看: 1259|回复: 1

[已经解决] 有没有“不被攻击”的脚本语句?【1VIP】

  [复制链接]
梦石
0
星屑
1428
在线时间
1705 小时
注册时间
2011-8-17
回帖
651
发表于 2011-10-15 21:11:02 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 黑舞嗜 于 2011-10-15 21:18 编辑

就是打开开关后,指定的X号角色不会被怪物攻击,关闭开关后才可攻击

补充:或者谁前卫角色不死光后卫角色不会被攻击的脚本,再论坛上找了1个这样的脚本,但是用这个脚本以后还是会出现后位角色被攻击的现象,个人感觉可能是怪物的目标被另一个怪物先打死,然后这个怪物就会自动攻击1号角色,而1号角色刚好是后卫,所以,你懂得

这是那个前后位脚本
  1. class Game_Party
  2.   def random_target_actor(hp0 = false)
  3.     roulette = []
  4.     for i in 0...4
  5.       for actor in @actors
  6.         if (not hp0 and actor.exist?) or (hp0 and actor.hp0?)
  7.           if $data_classes[actor.class_id].position == i
  8.             roulette.push actor
  9.           end
  10.         end
  11.       end
  12.       return roulette[rand(roulette.size)] if roulette.size > 0
  13.     end
  14.     return nil
  15.   end
  16. end
复制代码
roguelike求生RPG研发中....
梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
回帖
914
发表于 2011-10-15 21:26:30 | 显示全部楼层
本帖最后由 幻耶 于 2011-10-15 21:34 编辑

不被攻击的状态号是17号,大概在在Game_Party的314行添加

  #--------------------------------------------------------------------------
  # ● 对像角色的随机确定
  #     hp0 : 限制为 HP 0 的角色
  #--------------------------------------------------------------------------
  def random_target_actor(hp0 = false)
    # 初始化轮流
    roulette = []
    # 循环
    for actor in @actors
      next if actor.state?(17)


或者,如果希望打开1号开关,1号角色不受攻击的话:
  #--------------------------------------------------------------------------
  # ● 对像角色的随机确定
  #     hp0 : 限制为 HP 0 的角色
  #--------------------------------------------------------------------------
  def random_target_actor(hp0 = false)
    # 初始化轮流
    roulette = []
    # 循环
    for actor in @actors
      if $game_switches[1] == true
        next if actor.id == 1
      end
      # 符合条件的场合

点评

不管哪个都会被攻击.....  发表于 2011-10-15 21:43
表示依然会被攻击....  发表于 2011-10-15 21:36
囡囚囨囚囨図囨囧
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部