Project1

标题: 如何在战斗中显示敌方HP?(高VIP悬赏) [打印本页]

作者: murumo1234    时间: 2012-5-10 09:53
标题: 如何在战斗中显示敌方HP?(高VIP悬赏)
本帖最后由 murumo1234 于 2012-5-11 22:37 编辑

紧急求助,请问一下在VA的战斗里面,如何显示敌人的HP??
这个HP脚本我希望能够像XP里面那HP血条一样,超过9999时就显示????,低于9999时就正常显示
并且希望敌人血条能够美化并且是动态的。。。
有哪位高人能够做这个脚本啊。。或者是哪里有这个脚本,送20多个VIP作为奖赏!


补充:我使用了日本的那什么S什么W的横版战斗系统。。虽然有人在楼下有人给了脚本,但是还是不能使用。。那是适合竖版,不适合横版。。
难道VIP太少了?好,我再加,这次已经很高很高很高了
dsu_plus_rewardpost_czw
作者: hcm    时间: 2012-5-10 13:12
不介意整套系统的话用http://rpg.blue/thread-223368-1-1.html
《Glimmer/Lost Paradise》的也可以。


‘‘──hcm于2012-5-10 13:15补充以下内容

对了,你说的不会是在敌人血量在小于9999时显示血量(之前为????)或在9999以下就不显示吧,这个不想等恐怕只能去贵宾区。
’’
作者: murumo1234    时间: 2012-5-10 14:23
hcm 发表于 2012-5-10 13:12
不介意整套系统的话用http://rpg.blue/thread-223368-1-1.html
《Glimmer/Lost Paradise》的也可以。
...

低于9999时正常显示血量,超过9999时显示????,不是小于9999就不显示。。
作者: q854240045    时间: 2012-5-11 17:05
本帖最后由 q854240045 于 2012-5-11 17:09 编辑

这个只能凑合凑合,不能什么生命在9999以上是???? 不过很好用,你试试自己改一改
我第一次当搬运工


PHP 代码复制
  1. #==============================================================================
  2. # 功能:战斗中显示敌人血和蓝于敌人脚下
  3. # 适用:RMVX Ace
  4. # 作者:殇殃 2012.3.10
  5. # 使用方法:复制整个脚本插入到Main之前
  6. # 注意:由于血条是显示在敌人脚下,所以敌群的位置不能太靠底部,不然会被挡住。
  7. # 可以自行更改坐标修改显示位置、血条的颜色等。
  8. #==============================================================================
  9. # ■ Window_Base
  10. #------------------------------------------------------------------------------
  11. #  游戏中全部窗口的超级类。
  12. #==============================================================================
  13.  
  14. class Window_Base < Window
  15. #--------------------------------------------------------------------------
  16. # ● 描绘敌人HP
  17. #--------------------------------------------------------------------------
  18. def draw_enemy_hp(enemy, x, y, width = 80)
  19. draw_gauge(x, y, width, enemy.hp_rate, hp_gauge_color1, hp_gauge_color2)
  20. self.contents.font.color = system_color
  21. self.contents.draw_text(x, y, 30, line_height, Vocab::hp_a)
  22. self.contents.font.color = hp_color(enemy)
  23. self.contents.draw_text(x + width - 64, y, 64, line_height, enemy.hp, 2)
  24. #一个数字占16像素
  25. end
  26. #--------------------------------------------------------------------------
  27. # ● 绘制敌人MP
  28. #--------------------------------------------------------------------------
  29. def draw_enemy_mp(enemy, x, y, width = 80)
  30. draw_gauge(x, y, width, enemy.mp_rate, mp_gauge_color1, mp_gauge_color2)
  31. self.contents.font.color = system_color
  32. self.contents.draw_text(x, y, 30, line_height, Vocab::mp_a)
  33. self.contents.font.color = mp_color(enemy)
  34. self.contents.draw_text(x + width - 64, y, 64, line_height, enemy.mp, 2)
  35. end
  36. end
  37. #==============================================================================
  38. # ■ Sprite_Battler
  39. #------------------------------------------------------------------------------
  40. #  战斗显示用活动块。Game_Battler 类的实例监视、
  41. # 活动块的状态的监视、活动块状态自动变化。
  42. #==============================================================================
  43.  
  44. class Sprite_Battler < Sprite_Base
  45. #--------------------------------------------------------------------------
  46. # ● 初始化对象
  47. # viewport : 视区
  48. # battler : 战斗者 (Game_Battler)
  49. #--------------------------------------------------------------------------
  50. def initialize(viewport, battler = nil)
  51. super(viewport)
  52. @battler = battler
  53. @battler_visible = false
  54. @effect_type = nil
  55. @effect_duration = 0
  56. if @battler.is_a?(Game_Enemy)
  57. width = 24 + 80 #边距12*2+血条的长度(在draw_enemy_hp中定义)
  58. height = 24 + 24*2 #边距12*2+line_height*2
  59. x = @battler.screen_x - width/2 #screen_x是怪物图片水平方向上的中点位置
  60. y = @battler.screen_y - 12 #边距12,显示HP/MP的窗口无边框
  61. @enemy_hpmp_window = Window_Base.new(x, y, width, height)
  62. @enemy_hpmp_window.opacity = 0
  63. @enemy_hpmp_window.contents = Bitmap.new(width - 24, height - 24)#位图比窗口小24像素取消边框
  64. @enemy_hpmp_window.draw_enemy_hp(@battler, 0, 0)
  65. @old_hp = -1
  66. @enemy_hpmp_window.draw_enemy_mp(@battler, 0, 24)
  67. @old_mp = -1
  68. end
  69. end
  70. #--------------------------------------------------------------------------
  71. # ● 释放
  72. #--------------------------------------------------------------------------
  73. def dispose
  74. if self.bitmap != nil
  75. self.bitmap.dispose
  76. @enemy_hpmp_window.dispose
  77. end
  78. super
  79. end
  80. #--------------------------------------------------------------------------
  81. # ● 更新画面
  82. #--------------------------------------------------------------------------
  83. def update
  84. super
  85. if @battler == nil
  86. self.bitmap = nil
  87. else
  88. @use_sprite = @battler.use_sprite?
  89. if @use_sprite
  90. update_bitmap
  91. update_origin
  92. update_position
  93. end
  94. setup_new_effect
  95. setup_new_animation
  96. update_effect
  97. if @enemy_hpmp_window != nil and (@old_hp != @battler.hp or @old_mp != @battler.mp)
  98. if @battler.hp == 0
  99. @enemy_hpmp_window.hide
  100. else
  101. @enemy_hpmp_window.contents.clear
  102. @enemy_hpmp_window.draw_enemy_hp(@battler, 0, 0)
  103. @old_hp = @battler.hp
  104. @enemy_hpmp_window.draw_enemy_mp(@battler, 0, 24)
  105. @old_mp = @battler.mp
  106. @enemy_hpmp_window.show #怪物死后再被复活
  107. end #if battler.hp == 0
  108. end
  109. end #if @battler == nil
  110. end
  111.  
  112. end




‘‘──q854240045于2012-5-11 20:54补充以下内容

可以复制啊,右上角
’’
作者: jezad    时间: 2012-5-11 22:00
可能和CP制不兼容
作者: q854240045    时间: 2012-5-11 22:10
jezad 发表于 2012-5-11 22:00
可能和CP制不兼容

兼容哦,我试了
作者: murumo1234    时间: 2012-5-11 22:14
q854240045 发表于 2012-5-11 17:05
这个只能凑合凑合,不能什么生命在9999以上是???? 不过很好用,你试试自己改一改
我第一次当搬运工

很感谢您的帮助。。但是很可惜不能使用,因为我使用了横版战斗脚本,是日本的那个横版战斗
当我使用这个脚本进去过后,敌人无法行动,我方人都找不到了。。
很感谢您热心的帮助。。但是可惜的是。。这无法被使用在我的游戏工程中
作者: Luciffer    时间: 2012-5-11 22:52
murumo1234 发表于 2012-5-11 22:14
很感谢您的帮助。。但是很可惜不能使用,因为我使用了横版战斗脚本,是日本的那个横版战斗
当我使用这个 ...

范例工程(不包含SYSTEM文件夹,请自行添加)
Project6.rar (307.92 KB, 下载次数: 2265)
脚本使用方法:将Graphics\System\文件夹中的两张图片放到你的工程文件夹中,
然后将范例工程中的MOG_Enemy_HP脚本黏贴到你的工程的脚本的MAIN以上的位置。
不显示生命值的怪物请手动在该怪物的备注栏写上<Hide HP>
注:该脚本只显示血条,不显示具体生命数值请将就将就。。。

作者: murumo1234    时间: 2012-5-12 09:49
Luciffer 发表于 2012-5-11 22:52
范例工程(不包含SYSTEM文件夹,请自行添加)

脚本使用方法:将Graphics\System\文件夹中的两张图片放到 ...

嗯!看到这个,我非常满意~~VIP是你的了~以后我还会多多搞一些高VIP悬赏的问题。。你也要多多帮我哦
作者: fan4040    时间: 2012-5-20 05:17
q854240045 发表于 2012-5-11 17:05
这个只能凑合凑合,不能什么生命在9999以上是???? 不过很好用,你试试自己改一改
我第一次当搬运工

this is good for me.

thx alot~
作者: saierhao2013    时间: 2014-1-10 17:14
Luciffer 发表于 2012-5-11 22:52
范例工程(不包含SYSTEM文件夹,请自行添加)

脚本使用方法:将Graphics\System\文件夹中的两张图片放到 ...

抱歉由于我的图片有些大了,把血量往下走了,该XY坐标的脚本在多少行数,咋改?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1