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

Project1

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

[已经过期] 想結合兩個血量腳本...(就是讓他可以滾動這樣)

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
21 小时
注册时间
2016-10-13
帖子
28
跳转到指定楼层
1
发表于 2017-4-11 17:38:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 sam870716 于 2017-4-11 17:40 编辑

不好意思就是...
我想把Taroxd大大跟殇殃大大的腳本做結合...

以下是Taroxd大大給我的動態血量槽腳本~~
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2. # ● require Taroxd基础设置,动态值槽
  3. #    战斗中敌人显示血条
  4. #    如不想显示,可在敌人处备注 <hide hp>
  5. #    可在敌人处备注 <hp width w>、<hp height h>、<hp dxy dx dy> 调整血槽。
  6. #    其中 w 表示宽度、h 表示高度,dx、dy 表示坐标的偏移。
  7. #--------------------------------------------------------------------------
  8.  
  9. Taroxd::EnemyHP = true
  10.  
  11. class RPG::Enemy < RPG::BaseItem
  12.  
  13.   note_any :hp_dxy, [0, 0], /\s+(-?\d+)\s+(-?\d+)/, '[$1.to_i, $2.to_i]'
  14.   note_i :hp_width, 80
  15.   note_i :hp_height, 6
  16.   note_bool :hide_hp?
  17.  
  18.   # 初始化并获取战斗图的尺寸
  19.   def init_width_height
  20.     bitmap = Bitmap.new("Graphics/Battlers/#{@battler_name}")
  21.     @width = bitmap.width
  22.     [url=home.php?mod=space&uid=291977]@height[/url] = bitmap.height
  23.     bitmap.dispose
  24.   end
  25.  
  26.   def width
  27.     return @width if @width
  28.     init_width_height
  29.     @width
  30.   end
  31.  
  32.   def height
  33.     return @height if @height
  34.     init_width_height
  35.     @height
  36.   end
  37. end
  38.  
  39. class Sprite_EnemyHP < Sprite
  40.  
  41.   include Taroxd::RollGauge
  42.   include Taroxd::DisposeBitmap
  43.  
  44.   HP_COLOR1 = Color.new(223, 127, 63)
  45.   HP_COLOR2 = Color.new(239, 191, 63)
  46.   BACK_COLOR = Color.new(31, 31, 63)
  47.  
  48.   def initialize(viewport, enemy)
  49.     @enemy = enemy
  50.     super(viewport)
  51.     data = enemy.enemy
  52.     @width = data.hp_width
  53.     @height = data.hp_height
  54.     self.bitmap = Bitmap.new(@width, @height)
  55.     dx, dy = enemy.enemy.hp_dxy
  56.     self.ox = @width / 2
  57.     self.oy = @height
  58.     self.x = enemy.screen_x + dx
  59.     self.y = enemy.screen_y + dy
  60.     self.z = enemy.screen_z + 10
  61.     refresh
  62.   end
  63.  
  64.   def make_gauge_transitions
  65.     Transition.new(gauge_roll_times) do
  66.       @enemy.hp.fdiv(@enemy.mhp)
  67.     end
  68.   end
  69.  
  70.   def update_gauge_transitions
  71.     gauge_transitions.update
  72.   end
  73.  
  74.   def refresh
  75.     bitmap.clear
  76.     rate = gauge_transitions.value
  77.     return if rate.zero?
  78.     fill_w = (bitmap.width * rate).to_i
  79.     bitmap.fill_rect(fill_w, 0, @width - fill_w, @height, BACK_COLOR)
  80.     bitmap.gradient_fill_rect(0, 0, fill_w, @height, HP_COLOR1, HP_COLOR2)
  81.   end
  82. end
  83.  
  84. class Spriteset_Battle
  85.  
  86.   # 导入精灵组
  87.   def_after :create_enemies do
  88.     @enemy_hp_sprites = $game_troop.members.map { |enemy|
  89.       Sprite_EnemyHP.new(@viewport1, enemy) unless enemy.enemy.hide_hp?
  90.     }.compact
  91.   end
  92.  
  93.   def_after(:update_enemies)  { @enemy_hp_sprites.each(&:update)  }
  94.   def_after(:dispose_enemies) { @enemy_hp_sprites.each(&:dispose) }
  95. end


以下是爬文找到殇殃大大的血量 hp mp槽數值顯示腳本~~
RUBY 代码复制
  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.     [url=home.php?mod=space&uid=133701]@battler[/url] = 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


我想要就是...讓殇殃大大的腳本變得有辦法滾動這樣   
還有就是   可以再備註欄輸入一串字或者其他方法下可以讓這個腳本對這個怪物暫時失效(BOSS怪物 然後採用另一串BOSS血條腳本...)
[[url=  https://rpg.blue/forum.php?mod=v ... d=398718&extra=  ]    另一串BOSS用血條腳本[/url]--- 3F(須搭配8f素材使用)

  求幫助!!!  {:2_259:} 感謝

Lv1.梦旅人

梦石
0
星屑
55
在线时间
21 小时
注册时间
2016-10-13
帖子
28
2
 楼主| 发表于 2017-4-19 02:36:12 | 只看该作者
推    刷新x1次

点评

阿 好的 因為製作進度緩慢 確實在台灣地區 這樣的話我集中多一點在一次訂好了(?) 畢竟匯款包括流程對我來說不是很容易(還是學生#) 感謝你^^  发表于 2017-4-21 00:31
要找到好心人抽時間完全照你的要求替你改到好比較困難,不過似乎你是台灣地區所以我可以接受你的匯款訂製  发表于 2017-4-21 00:23
如何訂製(?) 由於是新手(不管是rpg 還是這論壇都是@@)  发表于 2017-4-20 23:54
要定製嗎?  发表于 2017-4-19 21:04
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 10:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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