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

Project1

 找回密码
 注册会员
搜索
查看: 3036|回复: 2
打印 上一主题 下一主题

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
142
在线时间
90 小时
注册时间
2008-7-14
帖子
112
跳转到指定楼层
1
发表于 2012-4-3 00:04:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x

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

     selectable_enemys(index)

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


RGSS3 代码复制
  1. =begin
  2.       RGSS3
  3.  
  4.       ★対象不可エネミー★
  5.  
  6.       存在しているのにターゲットの対象にできない敵を作れるようになります。
  7.  
  8.       ● 仕様 ●==========================================================
  9.       選択可能な対象がいなくなると自動的にすべての対象制限を解除します。
  10.       --------------------------------------------------------------------
  11.       指定した敵は、エネミーターゲットウィンドウには表示されません。
  12.       ====================================================================
  13.  
  14.       ● イベントコマンドスクリプト ●====================================
  15.       selectable_enemys(index)
  16.       上記のスクリプトをイベントコマンドから実行すると、
  17.       指定の対象不可エネミーの対象制限を解除することができます。
  18.       --------------------------------------------------------------------
  19.       indexには1~8のエネミーインデックスを指定してください。
  20.       --------------------------------------------------------------------
  21.       引数は省略可能で、省略した場合は全てのエネミーの対象制限を解除します。
  22.       ====================================================================
  23.  
  24.       ● 指定方法 ●======================================================
  25.       データベースの敵キャラのメモ欄に「対象不可」と記述してください。
  26.       「」は不要です。
  27.       ====================================================================
  28.  
  29.       ver1.00
  30.  
  31.       Last Update : 2012/01/19
  32.       01/19 : RGSS2からの移植
  33.  
  34.       ろかん   [url]http://kaisou-ryouiki.sakura.ne.jp/[/url]
  35. =end
  36.  
  37. $rsi ||= {}
  38. $rsi["対象不可エネミー"] = true
  39.  
  40. class RPG::Enemy < RPG::BaseItem
  41.   def unselectable?
  42.     self.note.include?("対象不可")
  43.   end
  44. end
  45.  
  46. class Game_Enemy < Game_Battler
  47.   #--------------------------------------------------------------------------
  48.   # ● 選択不可エネミー判定
  49.   #--------------------------------------------------------------------------
  50.   def unselectable?
  51.     enemy.unselectable?
  52.   end
  53. end
  54.  
  55. class Game_Troop < Game_Unit
  56.   #--------------------------------------------------------------------------
  57.   # ● 公開インスタンス変数
  58.   #--------------------------------------------------------------------------
  59.   attr_accessor :unselectable_enemys   # 選択不可指定エネミー判定
  60.   #--------------------------------------------------------------------------
  61.   # ● セットアップ
  62.   #--------------------------------------------------------------------------
  63.   alias unselectable_enemy_setup setup
  64.   def setup(troop_id)
  65.     unselectable_enemy_setup(troop_id)
  66.     @unselectable_enemys = []
  67.     members.each{|enemy| @unselectable_enemys << enemy.unselectable?}
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● 指定インデックスをターゲットにできるか
  71.   #--------------------------------------------------------------------------
  72.   def target_selectable?(index)
  73.     !@unselectable_enemys[index]
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 選択不可エネミーを選択可能にする
  77.   #--------------------------------------------------------------------------
  78.   def selectable_enemy(index = -1)
  79.     if index == -1
  80.       @unselectable_enemys.map!{false}
  81.     else
  82.       @unselectable_enemys[index] = false
  83.     end
  84.   end
  85.   #--------------------------------------------------------------------------
  86.   # ● 生存しているメンバーの配列取得
  87.   #--------------------------------------------------------------------------
  88.   def alive_members
  89.     if @unselectable_enemys.any?
  90.       result = members.select{|member| member.alive? && !member.unselectable?}
  91.       if result.size.zero?
  92.         selectable_enemy
  93.         super
  94.       else
  95.         result
  96.       end
  97.     else
  98.       super
  99.     end
  100.   end
  101. end
  102.  
  103. class Game_Interpreter
  104.   #--------------------------------------------------------------------------
  105.   # ● 選択不可エネミーを選択可能にする
  106.   #--------------------------------------------------------------------------
  107.   def selectable_enemy(index = -1)
  108.     $game_troop.selectable_enemy(index)
  109.   end
  110. end

点评

107行后面def selectable_enemy(index = -1)换成def selectable_enemys(index = -1)  发表于 2012-4-4 15:58
试了1个小时 我也放弃了...  发表于 2012-4-3 01:28
吾为吾剑之骨 身为钢铁,血为烈焰 跨越万千战场而不败 未曾有一次败逃 未能有一次获解 自醉于剑之孤丘上 因此,此生亦无意义 此身,定可为剑

Lv1.梦旅人

梦石
0
星屑
50
在线时间
334 小时
注册时间
2011-10-21
帖子
413
2
发表于 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
我是活着的死人哦
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2011-2-23
帖子
17
3
发表于 2012-4-15 16:10:39 | 只看该作者
本帖最后由 324401 于 2012-4-15 16:16 编辑

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

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

点评

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-2 19:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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