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

Project1

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

[已经解决] 求显示敌人状态的脚本

 关闭 [复制链接]

Lv3.寻梦者

梦石
0
星屑
1433
在线时间
1705 小时
注册时间
2011-8-17
帖子
818
跳转到指定楼层
1
发表于 2011-11-23 23:01:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 黑舞嗜 于 2011-11-24 00:03 编辑

我用的是横战SideView2.7战斗系统

点评

弄好了,见沙发=-=你又来了  发表于 2011-11-24 00:09
roguelike求生RPG研发中....

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1071 小时
注册时间
2011-5-12
帖子
2317

贵宾

2
发表于 2011-11-23 23:41:54 | 只看该作者
本帖最后由 月夜神音 于 2011-11-24 00:09 编辑

修改了一下,弄好了
  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  
复制代码

点评

我追加2VIP,高手帮我弄个图标的,最好可以显示最多6个的  发表于 2011-11-24 00:03
有显示图标的那种吗?如果麻烦的话就算了  发表于 2011-11-24 00:00
可以把52,53行给注释掉就行了  发表于 2011-11-23 23:50
额~我只想要显示状态,不要显血蓝  发表于 2011-11-23 23:49
找我请找芙蕾娅
顺带一提,完全看得懂我头像请捡起你自己的节操哟(自重
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-2 02:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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