Project1

标题: 【5VIP悬赏】显示在NPC和角色头上的变量条 [打印本页]

作者: 越前リョーマ    时间: 2008-5-10 19:58
标题: 【5VIP悬赏】显示在NPC和角色头上的变量条
大概就是这种条的样子:

就是NPC头上的那种。

用一句脚本(事件脚本里)设置血条的数值最大值(某个变量,当然直接写数字也行),
然后在在用另一个脚本确定这个数值的变量(非最大值,也就是说剩余数值),记住是这个变量的号码,然后我直接修改变量这个变量条就会自动更改。

恩,就是这样。最到素材一样吧。(抠出来就好了……)
人物头上的是根据人物的HP来设置的,等级提升HP最大就提升,那么HP也会直接更改血条就会变化。

变量条最高长度就那么长,变的是里面的。

恩……就是这个样子。
[LINE]1,#dddddd[/LINE]
其实我在想给NPC加血条的办法,总之一开始就是一个满血条的样子显示在头上就好了,然后事件开头会确认内部具体数据。

还有,要是事件名(也就是事件里的名字,我会修改它的)被【】括起来(也就是说开头是【)那么就代表这个是NPC不显示血条。
[LINE]1,#dddddd[/LINE]
系统完成后我会亲自转移VIP到你的手上,避免无人接手该脚本。

谢谢。
[LINE]1,#dddddd[/LINE]
PS。我终于用超过1VIP的点数来悬赏了……||||
作者: 越前止まる殇    时间: 2008-5-10 20:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: 天仙玉女    时间: 2008-5-10 20:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影    时间: 2008-5-10 21:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-5-10 21:35
以下引用沉影于2008-5-10 13:10:34的发言:

5vip么...
按我写的脚本来看,一个值2vip,少数几个有3vip...这悬赏够换我三个脚本

既然你这么说我当然就要好了……

其实我比较希望委托小幽的菜单能完成……|||
但小幽已经不写了……
作者: Infrared    时间: 2008-5-10 21:38
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-5-10 21:39
以下引用Infrared于2008-5-10 13:38:20的发言:

这个是什么游戏?

你问截图还是问我要做什么游戏……
作者: 小lim    时间: 2008-5-10 21:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-5-10 21:47
的确是差不多了……|||
作者: Infrared    时间: 2008-5-10 21:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-5-10 21:52
以下引用Infrared于2008-5-10 13:50:39的发言:


以下引用越前リョーマ于2008-5-10 13:39:59的发言:


以下引用Infrared于2008-5-10 13:38:20的发言:

这个是什么游戏?


你问截图还是问我要做什么游戏……


是截图.....sorry

这个不是一看就知么……

当然是ARPG游戏……
作者: Infrared    时间: 2008-5-10 21:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影    时间: 2008-5-10 22:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: 做游戏的新手    时间: 2008-5-10 22:09
LS的不错耶{/se}
给大家用吧{/hx}
作者: 越前リョーマ    时间: 2008-5-10 22:11
以下引用沉影于2008-5-10 14:07:08的发言:

完成个大概,血条的款式老土不计,您先瞅瞅

希望是否显示数值可以用一个开关来控制。
作者: 天仙玉女    时间: 2008-5-10 22:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-5-10 22:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小lim    时间: 2008-5-10 23:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-5-10 23:22
以下引用小lim于2008-5-10 15:15:54的发言:

小柯,你如果用了地图显示伤害,还需要整合一番哦,
因为都改了Sprite Character里的update。

一眼就被你发现我用了这东西……
作者: 越前リョーマ    时间: 2008-5-10 23:31
以下引用沉影不器于2008-5-10 14:46:43的发言:

改称大伯吧...

整理了一个类似范例的东西,左下的NPC减NPC的血,右上的NPC减角色的色
血条大概需要请人画个好看的...

http://rpg.blue/upload_program/files/事件头上的血条_90859561.rar

话说这血条要是素材弄好了怎么弄进去啊……{/gg}
作者: 沉影    时间: 2008-5-11 03:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-5-11 03:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-5-11 20:00
以下引用沉影不器于2008-5-10 19:51:55的发言:


以下引用小lim于2008-5-10 13:42:06的发言:

类似这样?

原帖:
http://hi.baidu.com/lim_space/blog/item/b35b000161e729031c9583d3.html


下午没注意有这个...很有ARPG的感觉了


整理代码,没原来那么多杂乱的东西了,顺便把血条框改白
http://rpg.blue/upload_program/files/事件头上的血条_90877848.rar

左右两边好像没有框……
作者: 沉影不器    时间: 2008-5-11 22:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: trentswd    时间: 2008-5-12 00:39
我也想问那个截图是什么游戏……
作者: 沉影    时间: 2008-5-12 01:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-5-17 02:29
谢谢了,

结贴,
VIP以送上们,请查收。
作者: 色即是空    时间: 2008-7-7 05:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小幽的马甲    时间: 2008-7-7 06:44
谁说我不写了…话说小轲你的牧场被坑掉了么…
作者: hitlerson    时间: 2008-7-7 20:42
  1. class Actor_show
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化对象
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     @actor = $game_party.actors[0]
  7.     @hp = @actor.hp
  8.     @sp = @actor.sp
  9.     @exp = @actor.now_exp
  10.     @states = @actor.states
  11.     @parameter = []
  12.     @sprite = Sprite.new
  13.     @long = 40 ; @long_t = [@actor.name.size * 7, 78].min
  14.     @sprite.bitmap = Bitmap.new(@long+@long_t+2,@long*2+18)
  15.     #Mess_Text.visible = true
  16.     #Mess_Text.ini
  17.     steup
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 主处理
  21.   #--------------------------------------------------------------------------
  22.   def steup
  23.     refresh(0)
  24.     #if !$scene.is_a?(Scene_Key)
  25.     #  @key_window = Window_KeyCommand.new
  26.     #  @key_window.refresh($game_party.actors[0])
  27.     #end
  28.     #if !$scene.is_a?(Scene_Item_Key)
  29.     #  @item_window = Window_Item_KeyCommand.new
  30.     #  @item_window.refresh($game_party.actors[0])
  31.     #end
  32.   end
  33.   def visible=(val)
  34.     #@key_window.visible = val if !@key_window.nil?
  35.     #@item_window.visible = val if !@item_window.nil?
  36.     @parameter.each{|pict|pict.visible = val}
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ● 释放
  40.   #--------------------------------------------------------------------------
  41.   def dispose
  42.     #Mess_Text.dispose
  43.     #Mess_Text.visible = false
  44.     #@key_window.dispose if !@key_window.nil?
  45.     #@item_window.dispose if !@item_window.nil?
  46.     @sprite.bitmap.dispose
  47.     @sprite.dispose
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 描绘状态
  51.   #     actor : 角色
  52.   #     x     : 描画目标 X 坐标
  53.   #     y     : 描画目标 Y 坐标
  54.   #     width : 描画目标的宽
  55.   #--------------------------------------------------------------------------
  56.   def draw_actor_state(actor, x, y, width = 120)
  57.     pos = 0
  58.     for i in @actor.states
  59.       if $data_states[i].name == "战斗不能"
  60.         next
  61.       end
  62.       bitmap = RPG::Cache.icon($data_states[i].name)
  63.       @parameter[5].bitmap.blt(x+pos*bitmap.width, y, bitmap, Rect.new(0,0,bitmap.width,bitmap.height))
  64.     pos += 1
  65.     end
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 更新数值变化
  69.   #--------------------------------------------------------------------------
  70.   def refresh(type)
  71.     @sprite.bitmap.clear
  72.     if $game_variables[5] > 1
  73.       @sprite.x = $game_player.screen_x - (@long+@long_t)/2
  74.       @sprite.y = $game_player.screen_y - @long*2
  75.       @sprite.z = 9000
  76.    
  77.       @sprite.bitmap.fill_rect(@long_t/2+0,@long*2+ 4,@long+2,6,Color.new(255,255,255,255))
  78.       @sprite.bitmap.fill_rect(@long_t/2+1,@long*2+ 5,@long,  4,Color.new(20,20,20,255))
  79.       w = @actor.hp * @long / @actor.maxhp
  80.       w_man = @actor.hp_man * @long / @actor.maxhp
  81.       @sprite.bitmap.fill_rect(@long_t/2+1,@long*2+ 5,w_man,4,Color.new(150,0,0,160))
  82.       @sprite.bitmap.fill_rect(@long_t/2+1,@long*2+ 5,w,    4,Color.new(255,20,20,255))
  83.    
  84.       @sprite.bitmap.fill_rect(@long_t/2+0,@long*2+12,@long+2,6,Color.new(255,255,255,255))
  85.       @sprite.bitmap.fill_rect(@long_t/2+1,@long*2+13,@long,  4,Color.new(20,20,20,255))
  86.       u = @actor.sp * @long / @actor.maxsp
  87.       u_man = @actor.sp_man * @long / @actor.maxsp
  88.       @sprite.bitmap.fill_rect(@long_t/2+1,@long*2+13,u_man,4,Color.new(0,0,155,160))
  89.       @sprite.bitmap.fill_rect(@long_t/2+1,@long*2+13,u,    4,Color.new(20,20,255,255))
  90.       if $game_variables[5] > 0
  91.         @sprite.bitmap.font.size = 12
  92.         @sprite.bitmap.font.color.set(100, 300, 0,255)
  93.         @sprite.bitmap.draw_text((@long+@[email protected]*6)/2,0,@actor.nicheng.size*6,20,@actor.nicheng,1)
  94.         @sprite.bitmap.font.size = 14
  95.         #设置名字颜色随状态更改
  96.         hong = 1.0*w/@long ; x = hong > 0.5 ? 1 : 4 ; y = x == 1 ? 1 : 0
  97.         @sprite.bitmap.font.color.set(255, 155*y+100*x*hong, 255*hong, 255)
  98.         # 中毒的颜色#
  99.         @sprite.bitmap.draw_text((@long+@[email protected]*6)/2,16,@actor.name.size*6,20,@actor.name,1)
  100.         #@sprite.bitmap.draw_text((@long+@[email protected]*6)/2,23,@actor.name.size*6,20,hong.to_s,1)
  101.       end
  102.     end
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 刷新
  106.   #--------------------------------------------------------------------------
  107.   def update
  108.     Mess_Text.update
  109.     #if $refresh["states"]
  110.     #  refresh(3)
  111.     #  $refresh["states"] = false
  112.     #end
  113.     #if $refresh["item"]
  114.     #  @item_window.refresh(@actor)
  115.     #  $refresh["item"] = false
  116.     #end
  117.     #if $refresh["skill"]
  118.     #  @key_window.refresh(@actor)
  119.     #  $refresh["skill"] = false
  120.     #end
  121.     if @actor.states.size > 0
  122.       for i in @actor.states
  123.         if @actor.states_time[i] > 0
  124.           @actor.states_time[i] -= 1
  125.         end
  126.         if @actor.states_time[i] <= 0
  127.           @actor.remove_state(i)
  128.         end
  129.       end
  130.       if @actor.states.size > 0 and Graphics.frame_count%10 == 0
  131.         $game_party.check_map_slip_damage
  132.       end
  133.     end
  134.     if Input.trigger?(Input::CTRL)
  135.       Mess_Text.clear
  136.       return
  137.     end
  138.     if Input.trigger?(Input::SHIFT)
  139.       Mess_Text.visible = !Mess_Text.visible
  140.       return
  141.     end
  142. #=begin
  143.     if $game_player.moving?
  144.       refresh(0)
  145.     end
  146.     if @hp != $game_party.actors[0].hp
  147.       if @hp > $game_party.actors[0].hp
  148.         @hp -= 1
  149.       end
  150.       if @hp < $game_party.actors[0].hp
  151.         @hp += 1
  152.       end
  153.       refresh(0)
  154.     end
  155.     if @sp != $game_party.actors[0].sp
  156.       if @sp > $game_party.actors[0].sp
  157.         @sp -= 1
  158.       end
  159.       if @sp < $game_party.actors[0].sp
  160.         @sp += 1
  161.       end
  162.       refresh(1)
  163.     end
  164.     if @exp != $game_party.actors[0].now_exp
  165.       if @exp > $game_party.actors[0].now_exp
  166.         @exp -= 1
  167.       end
  168.       if @exp < $game_party.actors[0].now_exp
  169.         @exp += 1
  170.       end
  171.       refresh(2)
  172.     end
  173. #=end
  174.   end
  175. end
复制代码


这个我写的,给你参考吧
作者: 越前リョーマ    时间: 2008-7-7 20:44
以下引用小幽的马甲于2008-7-6 22:44:05的发言:

谁说我不写了…话说小轲你的牧场被坑掉了么…

话说怎么被顶起来了……一想起那个背包……………………




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