查看: 3582|回复: 2

[已经过期] 一个简单va脚本的一个功能求解。。。

[复制链接]
梦石
0
星屑
340
在线时间
121 小时
注册时间
2008-7-14
回帖
111
发表于 2012-4-3 00:04:22 | 显示全部楼层 |阅读模式

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

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

×

脚本如下。。。功能。。。就是让玩家不能攻击某敌人。。除非其余敌人死光了。。。
我想知道

     selectable_enemys(index)

这句怎么用?感觉是可以解除 不能攻击 敌人 效果的代码。。请好心人自己测试过后,再告诉我正确答案哦,,不要乱猜。。我自己乱猜了好久都失败了。。。


[pre lang="rgss3" line="1"]=begin
      RGSS3
      
      ★対象不可エネミー★

      存在しているのにターゲットの対象にできない敵を作れるようになります。
      
      ● 仕様 ●==========================================================
      選択可能な対象がいなくなると自動的にすべての対象制限を解除します。
      --------------------------------------------------------------------
      指定した敵は、エネミーターゲットウィンドウには表示されません。
      ====================================================================
      
      ● イベントコマンドスクリプト ●====================================
      selectable_enemys(index)
      上記のスクリプトをイベントコマンドから実行すると、
      指定の対象不可エネミーの対象制限を解除することができます。
      --------------------------------------------------------------------
      indexには1~8のエネミーインデックスを指定してください。
      --------------------------------------------------------------------
      引数は省略可能で、省略した場合は全てのエネミーの対象制限を解除します。
      ====================================================================
      
      ● 指定方法 ●======================================================
      データベースの敵キャラのメモ欄に「対象不可」と記述してください。
      「」は不要です。
      ====================================================================
      
      ver1.00

      Last Update : 2012/01/19
      01/19 : RGSS2からの移植
      
      ろかん   http://kaisou-ryouiki.sakura.ne.jp/
=end

$rsi ||= {}
$rsi["対象不可エネミー"] = true

class RPG::Enemy < RPG::BaseItem
  def unselectable?
    self.note.include?("対象不可")
  end
end

class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ● 選択不可エネミー判定
  #--------------------------------------------------------------------------
  def unselectable?
    enemy.unselectable?
  end
end

class Game_Troop < Game_Unit
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_accessor :unselectable_enemys   # 選択不可指定エネミー判定
  #--------------------------------------------------------------------------
  # ● セットアップ
  #--------------------------------------------------------------------------
  alias unselectable_enemy_setup setup
  def setup(troop_id)
    unselectable_enemy_setup(troop_id)
    @unselectable_enemys = []
    members.each{|enemy| @unselectable_enemys << enemy.unselectable?}
  end
  #--------------------------------------------------------------------------
  # ● 指定インデックスをターゲットにできるか
  #--------------------------------------------------------------------------
  def target_selectable?(index)
    !@unselectable_enemys[index]
  end
  #--------------------------------------------------------------------------
  # ● 選択不可エネミーを選択可能にする
  #--------------------------------------------------------------------------
  def selectable_enemy(index = -1)
    if index == -1
      @unselectable_enemys.map!{false}
    else
      @unselectable_enemys[index] = false
    end
  end
  #--------------------------------------------------------------------------
  # ● 生存しているメンバーの配列取得
  #--------------------------------------------------------------------------
  def alive_members
    if @unselectable_enemys.any?
      result = members.select{|member| member.alive? && !member.unselectable?}
      if result.size.zero?
        selectable_enemy
        super
      else
        result
      end
    else
      super
    end
  end
end

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 選択不可エネミーを選択可能にする
  #--------------------------------------------------------------------------
  def selectable_enemy(index = -1)
    $game_troop.selectable_enemy(index)
  end
end
[/pre]

点评

107行后面def selectable_enemy(index = -1)换成def selectable_enemys(index = -1)  发表于 2012-4-4 15:58
试了1个小时 我也放弃了...  发表于 2012-4-3 01:28
吾为吾剑之骨 身为钢铁,血为烈焰 跨越万千战场而不败 未曾有一次败逃 未能有一次获解 自醉于剑之孤丘上 因此,此生亦无意义 此身,定可为剑
梦石
0
星屑
50
在线时间
334 小时
注册时间
2011-10-21
回帖
402
发表于 2012-4-3 04:58:12 | 显示全部楼层
里面都说明了用法啊= 3=
在数据库中敌人的备注里写
対象不可
然后战斗时只要存在敌人以外的怪兽就不能成为攻击目标了

selectable_enemys(index)
这句是解除某敌人的対象不可效果,使敌人变回可攻击目标

点评

..试了。。咋变成全部敌人都可以打了。。。selectable_enemys[2]  发表于 2012-4-5 12:30
试过了。。我设置3个怪,两个不能打(编号是前两个。),一个打只要有扣血,就启动selectable_enemys(2),还是弹bug。。  发表于 2012-4-4 15:50
回[url=home.php?mod=space&username=kiuh99999]@kiuh99999[/url]:战斗中的事件脚本  发表于 2012-4-3 16:55
对啊,我就想知道selectable_enemys(index)写在哪里啊  发表于 2012-4-3 16:37
我是活着的死人哦
回复

使用道具 举报

梦石
0
星屑
50
在线时间
31 小时
注册时间
2011-2-23
回帖
14
发表于 2012-4-15 16:10:39 | 显示全部楼层
本帖最后由 324401 于 2012-4-15 16:16 编辑

就是敌人有一种状态让玩家选攻击目标时选不了它,用这个脚本是解除这个效果的。

selectable_enemy(index = -1)
index是-1时是全体,估计别的值可能是敌人编号,就这样。

点评

失败了。。。。  发表于 2012-4-16 10:03
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部