Project1

标题: 请教把NPC头上显示名字脚本改为NPC头上显示血条 [打印本页]

作者: stella    时间: 2009-5-26 20:49
标题: 请教把NPC头上显示名字脚本改为NPC头上显示血条
下面这个脚本,能不能改成NPC头上显示血条,原来的名字显示不要了,血条宽度大概一格左右,用于ARPG的,HP条的数值代入1~50号事件编号+100的变量,比如1号NPC事件的HP代入101号变量,50号事件的HP代入150号变量。变量减少相应的HP条就缩短,变量小等于零HP条消失。





NPC头上显示名字 更新版
http://rpg.blue/web/htm/news416.htm

可能需要修改Sprite_Character部分?我不会,高手帮忙 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: stella    时间: 2009-5-27 18:03
顶一下
作者: stella    时间: 2009-5-29 05:09
2天~~
作者: 越前リョーマ    时间: 2009-5-29 06:02
VX版就有哦。
其实可以用事件做的,就是在事件版血条上加了跟踪功能。
作者: tommay    时间: 2009-5-30 18:40
以下引用stella于2009-5-26 12:49:37的发言:
比如1号NPC事件的HP代入101号变量,50号事件的HP代入150号变量。变量减少相应的HP条就缩短,变量小等于零HP条消失。

默认变量只有50个,而且一个HP,干嘛要用变量呢?无语中……
作者: stella    时间: 2009-5-31 17:46
以下引用tommay于2009-5-30 10:40:25的发言:

默认变量只有50个,而且一个HP,干嘛要用变量呢?无语中……




因为预计每张地图上最多同时有50个敌人事件,每个事件的HP用一个变量代入...不过考虑到速度,应该没那么多的
作者: 66rpg学习    时间: 2009-5-31 19:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: stella    时间: 2009-5-31 20:02
能不能用fill_rect 举个例子:一号事件头上显示血条,血条数值代入1号变量,应该怎么写啊?
作者: 66rpg学习    时间: 2009-5-31 21:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: stella    时间: 2009-5-31 21:58
谢谢,我只要敌人事件(比如1号事件)头上显示HP,敌人事件的HP代入1号变量。。角色头上不需要显示HP,我先试着改一下吧{/gg}
作者: 66rpg学习    时间: 2009-5-31 22:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: stella    时间: 2009-5-31 22:23
敌人的HP在进地图的时候用事件的变量操作赋值,
我改成下面这样,让2号事件头上显示血条,HP是7号变量,MAXHP是8号变量,但是没显示。。?


#添加上面,我就是为了做一个判断,只让主角显示HPSP,如果你是ARPG等都要显示 自己省略
class Sprite_Character < RPG::Sprite
attr_accessor :character                # 角色
def initialize(viewport, character = nil)
   super(viewport)
   @character = character
   @sprite = Sprite.new
   @sprite.bitmap = Bitmap.new(160, 220)
   update
end
HPSP血条长度 = 30

   alias :update_hp_sp :update
   def update
     update_hp_sp
     @sprite.x = self.x - 115
     @sprite.y = self.y - 150
   
   
   if @event.id == 2
       #是主角的情况下,显示主角的HP
     if  @hp != $game_variables[7] or
         @maxhp != $game_variables[8]
     
       @hp = $game_variables[7]
       @maxhp = $game_variables[8]

       hp = HPSP血条长度/($game_variables[8].to_f/$game_variables[7].to_f)

       @sprite.bitmap.clear
       @sprite.bitmap.fill_rect(100,100, hp, 2,  Color.new(255,  0, 51))
       @sprite.bitmap.fill_rect(100,103, sp, 2,  Color.new(100,  0, 51))
     end
   end
  
   end
end
作者: 66rpg学习    时间: 2009-5-31 22:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: stella    时间: 2009-5-31 22:29
我知道了!非常感谢{/ll}




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