查看: 3173|回复: 4

[已经过期] 定制一个敌人血条的脚本

[复制链接]
梦石
0
星屑
400
在线时间
602 小时
注册时间
2014-5-8
回帖
602
发表于 2016-2-17 14:45:33 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 布罗利 于 2016-2-17 14:47 编辑

我想要一个敌人血条的脚本,找了好多,但都不合我胃口{:2_285:}
所以我想定制一个,具体的要求如下:
1、显示一个敌人的HP血条,可以更改血条的位置{:2_274:}
2、如果没有击败过这个敌人,那么值槽里显示问号{:2_274:}
3、攻击敌人时,敌人血条下降要有动画效果{:2_274:}
4、要配合Sideview系统的镜头{:2_286:}
因为Sideview系统的镜头战斗时会有所变化,所以血条描绘到一个位置会有问题,位置以及放大率得根据镜头来判定{:2_284:}
5、如果敌人是BOSS,隐藏血条,就是可以设定某敌人不显示血条{:2_252:}
6、脚本提交后,版权属于神话时代制作组{:2_253:}

如果比较迷茫的话,可以参考一下 GBA游戏-龙战士2{:2_268:}
513f367adab44aed88f91b52b01c8701a08bfbfd.jpg

应该就是这么多内容,不懂的话再详细的问我{:2_251:}
第一次定制脚本,不知道要求是不是有点过分了呢.....{:2_260:}

@芯☆淡茹水 @牛肉面 @邪月长啸 @VIPArcher @RyanBern @上贺茂润 @怪蜀黍 @三途亚梦 @天使喝可乐 @myownroc @chd114 @YamazakiRyusa @黄谊洲 @slick @永燃的狂炎 @龙和许也 @月华风

点评

因为我懒  发表于 2016-2-18 08:28
……你有这个能力自己写的  发表于 2016-2-17 17:35
梦石
0
星屑
4255
在线时间
2673 小时
注册时间
2012-3-1
回帖
680
发表于 2016-2-17 17:34:04 | 显示全部楼层
本帖最后由 卡奥尼特 于 2016-2-17 17:55 编辑

啊!!請允許我傲嬌一下....

已搬走...

点评

什么东西?  发表于 2016-2-18 08:29
回复

使用道具 举报

梦石
0
星屑
1297
在线时间
995 小时
注册时间
2014-12-14
回帖
2939

开拓者

发表于 2016-2-18 23:01:02 | 显示全部楼层
本帖最后由 Vortur 于 2016-2-21 04:46 编辑

在下不会做,喵呜喵5是接这种脚本的工程的,为何还要发帖求助?
【RMVA教程】
---------------------
欲买桂花同载酒,终不似,少年游.
回复

使用道具 举报

梦石
0
星屑
9828
在线时间
1648 小时
注册时间
2012-6-6
回帖
306
发表于 2016-2-19 13:24:25 | 显示全部楼层
芙蕾雅专为横版战斗写了一个血条脚本,那个血条的确会跟镜头移动,放在sideview下面,至于你说的问号和血条动画效果自己尝试修改一下,这个给你做个参考[pre lang="ruby"]#==============================================================================
# F08 - 战斗敌人显示血条·改 - By芙蕾娅
#    对应横板战斗版本
#------------------------------------------------------------------------------
#  ★ - 新增  ☆ - 修改  ■ - 删除 ● - 无变更
#==============================================================================
module Freya
  # 隐藏HP的文本
  HideGaugeText = "Hide_Gauge"
  # 血条颜色
  EnemyHPGaugeColor1 = Color.new(255,255,0)
  EnemyHPGaugeColor2 = Color.new(255,  0,0)
  Gauge_Type = 3
end
#==============================================================================
# ■ Sprite_Battler_HP
#------------------------------------------------------------------------------
#  显示战斗者的生命在战斗者的精灵下面。
#==============================================================================
class Sprite_Battler_HP < Sprite
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize(viewport,battler)
    super(viewport)
    return if battler.nil?
    @battler = battler
    @last_hp = 0
    create_bitmap
    update
  end
  #--------------------------------------------------------------------------
  # ● 释放
  #--------------------------------------------------------------------------
  def dispose
    self.bitmap.dispose
    super
  end
  #--------------------------------------------------------------------------
  # ● 生成位图
  #--------------------------------------------------------------------------
    def create_bitmap
    @last_hp = @battler.hp
    bw = 96
    bh = 24
    self.bitmap = Bitmap.new(bw, bh)
    self.bitmap.fill_rect(0, 0, bw, 6, Color.new(32,32,64))
    if Freya::Gauge_Type.nil? or Freya::Gauge_Type == 0
      hp = ((bw) * @battler.hp_rate).to_i
      self.bitmap.gradient_fill_rect(0, 0, hp, 6, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
    elsif Freya::Gauge_Type == 1
      hp = ((width - 2) * @battler.hp_rate).to_i
      self.bitmap.gradient_fill_rect(1, 1, hp, 6 - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
    elsif Freya::Gauge_Type == 2
      hp = ((width) * @battler.hp_rate).to_i
      self.bitmap.gradient_fill_rect(0, 0, hp / 2, 6, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
      self.bitmap.gradient_fill_rect(hp / 2, 0, hp / 2, 6, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
    elsif Freya::Gauge_Type == 3
      hp = ((width - 2) * @battler.hp_rate).to_i
      self.bitmap.gradient_fill_rect(1, 1, hp / 2, 6 - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
      self.bitmap.gradient_fill_rect((hp / 2) + 1, 1, hp / 2, 6 - 2, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
    end
    self.bitmap.draw_text(0,0,bw,24,@battler.name)
  end
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  def update
    super
    unless self.bitmap.nil?
      self.z = @battler.sv.z + 20
      create_bitmap if @last_hp != @battler.hp
      hide = $data_enemies[@battler.enemy_id].note.include?(Freya::HideGaugeText)
      self.opacity = 0 if @battler.hp == 0 or hide
    end
  end
end

#==============================================================================
# ■ Sprite_Battler
#------------------------------------------------------------------------------
#  显示战斗者的精灵。根据 Game_Battler 类的实例自动变化。
#==============================================================================
class Sprite_Battler < Sprite_Base
  #--------------------------------------------------------------------------
  # ☆ 初始化对象
  #--------------------------------------------------------------------------
  alias initialize_freya_enemy_hp initialize
  def initialize(viewport, battler = nil)
    initialize_freya_enemy_hp(viewport, battler)
    if @battler.is_a?(Game_Enemy)
      @hp_gauge = Sprite_Battler_HP.new(viewport, battler)
    end
  end
  #--------------------------------------------------------------------------
  # ☆ 释放
  #--------------------------------------------------------------------------
  alias dispose_freya_enemy_hp dispose
  def dispose
    dispose_freya_enemy_hp
    unless @hp_gauge.nil?
      @hp_gauge.dispose
    end
  end
  #--------------------------------------------------------------------------
  # ☆ 更新画面
  #--------------------------------------------------------------------------
  alias update_freya_enemy_hp update
  def update
    update_freya_enemy_hp
    @hp_gauge.update unless @hp_gauge.nil?
  end
  alias update_freya_position update_position
  def update_position
    update_freya_position
    @hp_gauge.x = self.x - 48 unless @hp_gauge.nil?
    @hp_gauge.y = self.y unless @hp_gauge.nil?
  end
end[/pre]

点评

F08 这个脚本,我在用....开始的时候也没没发现血条在哪里.. 后来我从新安排了怪物的位置...发现...有血条了,我觉得是不是血条被遮挡了  发表于 2016-2-26 15:34
但VIP不能给你,并没有解决其他的问题  发表于 2016-2-19 14:59
有效果了....  发表于 2016-2-19 14:57
插入后,并没有任何效果,难道我使用的姿势不对?  发表于 2016-2-19 14:56
回复

使用道具 举报

梦石
0
星屑
9828
在线时间
1648 小时
注册时间
2012-6-6
回帖
306
发表于 2016-2-23 18:44:43 | 显示全部楼层
流浪杰哥 发表于 2016-2-19 13:24
芙蕾雅专为横版战斗写了一个血条脚本,那个血条的确会跟镜头移动,放在sideview下面,至于你说的问号和血条 ...

偶然发现有人跟我一样想要这样的血条,VIP我不需要,其他问题我也没有办法
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部