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

Project1

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

[已经解决] 求个VA用敌人状态图标显示脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
190 小时
注册时间
2011-2-19
帖子
147
跳转到指定楼层
1
发表于 2012-1-23 20:17:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 空の翼 于 2012-1-25 14:10 编辑

这个是VX用的状态图标显示脚本,求哪位大大好心帮忙改成VA用的。{:nm_4:}
或者直接给个能显示敌人状态图标的脚本也行~(就是在选择目标时候在敌人名字后面显示当前状态图标的那种)
  1. #==============================================================================
  2. # ■ module n01
  3. #------------------------------------------------------------------------------
  4. # HP Gauge and State Indicator Add-on  Ver1.1
  5. #
  6. # Do not use this add-on with the ATB. It is already built into the ATB.
  7. #==============================================================================
  8. module N01
  9.   
  10. # Display the state of the selected battler.
  11.   WORD_STATE_DISPLAY = true
  12.   
  13. # Name to display when there is no abnormal state.
  14.   WORD_NORMAL_STATE = "正常"
  15.   
  16. # Displays the HP gauge of the selected battler.
  17.   HP_DISPLAY = true
  18.   
  19. # Displays the HP gauge of selected actors.
  20.   ACTOR_DISPLAY = true
  21.   
  22. # Do not display the HP gauge and states for the following enemies:
  23.   ENEMY_NON_DISPLAY = []  # ex.[1,2,3]
  24.   
  25. # Do not display the following states ID as abnormal:
  26.   STATE_NON_DISPLAY = []  # ex.[1,2,3]
  27.   
  28.   
  29. end
  30. #-------------------------------設定ここまで-----------------------------------

  31. #==============================================================================
  32. # ■ Window_Help
  33. #------------------------------------------------------------------------------
  34. #  スキルやアイテムの説明、アクターのステータスなどを表示するウィンドウです。
  35. #==============================================================================

  36. class Window_Help < Window_Base
  37.   #--------------------------------------------------------------------------
  38.   # ● テキスト設定
  39.   #--------------------------------------------------------------------------
  40.   def set_text_n01add(member)
  41.     self.contents.clear
  42.     self.contents.font.color = normal_color
  43.     if !member.actor? && N01::ENEMY_NON_DISPLAY.include?(member.enemy_id)
  44.       return self.contents.draw_text(4, 0, self.width - 40, WLH, member.name, 1)
  45.     elsif member.actor? && !N01::ACTOR_DISPLAY
  46.       return self.contents.draw_text(4, 0, self.width - 40, WLH, member.name, 1)
  47.     end
  48.     if N01::WORD_STATE_DISPLAY && N01::HP_DISPLAY
  49.       self.contents.draw_text(0, 0, 180, WLH, member.name, 1)
  50.       i = 0
  51.       for state in member.states
  52.         i += 1
  53.         draw_icon(state.icon_index,i * 24 + 160,0)
  54.       end
  55.     elsif N01::WORD_STATE_DISPLAY
  56.       text = member.name + "  ["
  57.       for state in member.states
  58.         next if N01::STATE_NON_DISPLAY.include?(state.id)
  59.         text += " " if text != member.name + "  ["
  60.         text += state.name
  61.       end
  62.       text += N01::WORD_NORMAL_STATE if text == member.name + "  ["
  63.       text += "]"
  64.       text = "" if text == "[]"
  65.       self.contents.draw_text(4, 0, self.width - 40, WLH, text, 1)
  66.     elsif N01::HP_DISPLAY
  67.       self.contents.draw_text(4, 0, 240, WLH, member.name, 1)
  68.       draw_actor_hp(member, 262, 0, 120)
  69.       draw_actor_mp(member, 478, 0, 100)
  70.     end
  71.   end
  72. end

  73. #==============================================================================
  74. # ■ Scene_Battle
  75. #------------------------------------------------------------------------------
  76. #  バトル画面の処理を行うクラスです。
  77. #==============================================================================
  78. class Scene_Battle < Scene_Base
  79.   #--------------------------------------------------------------------------
  80.   # ● ターゲット選択の開始
  81.   #--------------------------------------------------------------------------
  82.   def start_target_selection(actor = false)
  83.     members = $game_party.members if actor
  84.     members = $game_troop.members unless actor
  85.     # カーソルスプライトの作成
  86.     @cursor = Sprite.new
  87.     @cursor.bitmap = Cache.character("cursor")
  88.     @cursor.src_rect.set(0, 0, 32, 32)
  89.     @cursor_flame = 0
  90.     @cursor.x = -200
  91.     @cursor.y = -200
  92.     @cursor.ox = @cursor.width
  93.     @cursor.oy = @cursor.height
  94.     # ターゲット名を表示するヘルプウインドウを作成
  95.     @help_window.visible = false if @help_window != nil
  96.     @help_window2 = Window_Help.new if @help_window2 == nil
  97.     # 不要なウインドウを消す
  98.     @actor_command_window.active = false
  99.     @skill_window.visible = false if @skill_window != nil
  100.     @item_window.visible = false if @item_window != nil
  101.     # 存在しているターゲットで最も番号の低い対象を最初に指すように
  102.     @index = 0
  103.     @max_index = members.size - 1
  104.     # アクターは戦闘不能者でもターゲットできるようにエネミーと区別
  105.     unless actor
  106.       members.size.times do
  107.         break if members[@index].exist?
  108.         @index += 1
  109.       end
  110.     end  
  111.     @help_window2.set_text_n01add(members[@index])
  112.     select_member(actor)
  113.   end
  114.   #--------------------------------------------------------------------------
  115.   # ● カーソルを前に移動
  116.   #--------------------------------------------------------------------------
  117.   def cursor_up(members, actor)
  118.     Sound.play_cursor
  119.     members.size.times do
  120.       @index += members.size - 1
  121.       @index %= members.size
  122.       break if actor
  123.       break if members[@index].exist?
  124.     end
  125.     @help_window2.set_text_n01add(members[@index])
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ● カーソルを次に移動
  129.   #--------------------------------------------------------------------------
  130.   def cursor_down(members, actor)
  131.     Sound.play_cursor
  132.     members.size.times do
  133.       @index += 1
  134.       @index %= members.size
  135.       break if actor
  136.       break if members[@index].exist? && !actor
  137.     end
  138.     @help_window2.set_text_n01add(members[@index])
  139.   end
  140. end  
复制代码

Lv1.梦旅人

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
帖子
5734

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

2
发表于 2012-1-24 18:20:33 | 只看该作者
  1. class Window_BattleEnemy < Window_Selectable
  2.   alias orial_draw_item draw_item
  3.   def draw_item(index)
  4.     orial_draw_item(index)
  5.     e = $game_troop.alive_members[index]
  6.     rt = item_rect_for_text(index)
  7.     icons = e.state_icons + e.buff_icons
  8.     icons.delete_if{|n| icons.index(n) >= 5}
  9.     icons.each_with_index {|n, i| draw_icon(n, rt.x + rt.width - 22 - i * 24, rt.y) }
  10.   end
  11. end
复制代码
就行了。支持显示5个,好像5个有点太多了,把那个 >= 5改为3、4什么的可能好一点。
范例工程点此下载

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
190 小时
注册时间
2011-2-19
帖子
147
3
 楼主| 发表于 2012-1-25 14:09:54 | 只看该作者
本帖最后由 空の翼 于 2012-1-25 14:23 编辑
柳柳 发表于 2012-1-24 18:20
就行了。支持显示5个,好像5个有点太多了,把那个 >= 5改为3、4什么的可能好一点。
范例工程点此下载


非常感谢柳柳大大~~XD
话说自己的状态栏只是显示两个呢,感觉太少呢= =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
440 小时
注册时间
2012-6-5
帖子
96
4
发表于 2012-7-18 14:02:19 | 只看该作者
本帖最后由 紫菜豆腐煲 于 2012-7-19 04:42 编辑

@柳柳
柳大,能否把一行显示2个敌人改成一行1个呢?这样的话可以多显示

我自己找到了Window_BattleEnemy的
  1. #--------------------------------------------------------------------------
  2.   # ● 获取列数
  3.   #--------------------------------------------------------------------------
  4.   def col_max
  5.     return 2  end
复制代码
改为
  1. #--------------------------------------------------------------------------
  2.   # ● 获取列数
  3.   #--------------------------------------------------------------------------
  4.   def col_max
  5.     return 1
  6.   end
复制代码

点评

挖坟了吧。。  发表于 2012-7-18 18:31
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
64 小时
注册时间
2012-1-22
帖子
64
5
发表于 2012-11-25 17:34:00 | 只看该作者
不知道能不能改在敌人战斗图的脚下显示?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
262 小时
注册时间
2009-10-13
帖子
112
6
发表于 2012-11-28 00:22:49 | 只看该作者
不知道能不能再加个血条....
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-28 21:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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