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

Project1

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

[已经解决] 帮我做个伤害的脚本

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
151
在线时间
195 小时
注册时间
2009-10-10
帖子
435
跳转到指定楼层
1
发表于 2009-11-8 13:26:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
4星屑
本帖最后由 pudding 于 2009-11-12 20:26 编辑


第1行为敌人受害的显示
第2行为 恢复生命的显示
第4行为 角色受伤的显示

最佳答案

查看完整内容

我试过了,用你18楼的伤害图片。负数为miss图,正数为第4行。 如果正数伤害不显示。我只能猜测是因为素材只有3行。

Lv1.梦旅人

梦石
0
星屑
120
在线时间
73 小时
注册时间
2008-7-9
帖子
234
2
发表于 2009-11-8 13:26:33 | 只看该作者
本帖最后由 well 于 2009-11-14 14:21 编辑

我试过了,用你18楼的伤害图片。负数为miss图,正数为第4行。
如果正数伤害不显示。我只能猜测是因为素材只有3行。
血瞳睨世

也来玩一下养小龙吧
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
3
发表于 2009-11-8 15:42:45 | 只看该作者
话说这个我也使用过,不过近来隐归山林
LZ要的这个效果,可以直接改你目前使用的伤害值脚本

话说,现成的就是这样的!
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复

使用道具 举报

Lv2.观梦者

永遠神剣

梦石
0
星屑
339
在线时间
412 小时
注册时间
2009-8-16
帖子
1797

贵宾

4
发表于 2009-11-9 01:02:13 | 只看该作者
本帖最后由 Eienshinken 于 2009-11-9 01:08 编辑

这不是我写的脚本,是用SailCat大大的伤害美化脚本改的
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================
  4. # ============================================================================
  5. # 伤害效果美化 v1.0 by SailCat
  6. # ============================================================================
  7. # 脚本使用说明:
  8. # 1.使用时需要将Damage.png复制到你的游戏的Graphics/Pictures目录下
  9. # 2.Damage.png文件的格式:
  10. #   大小为180 x 96
  11. #   (0, 0) - (179, 31)为伤害值的数字表,其中每个数字宽18,高32
  12. #   (0, 32) - (179, 63)为回复值(伤害负值)的数字表,其中每个数字宽18,高32
  13. #   (0, 64) - (89, 95)为会心一击标记的图画,长宽为90 x 32
  14. #   (90, 64) - (179, 95)为未命中标记的图画,长宽为90 x 32
  15. # ============================================================================
  16. module RPG
  17.   class Sprite < ::Sprite
  18.     #--------------------------------------------------------------------------
  19.     # ● 伤害值描画
  20.     #--------------------------------------------------------------------------
  21.     def damage(value, critical)
  22.       # 释放伤害
  23.       dispose_damage
  24.       # 如果伤害值是数值
  25.       if value.is_a?(Numeric)
  26.         # 绝对值转为字符串
  27.         damage_string = value.abs.to_s
  28.       else
  29.         # 转为字符串
  30.         damage_string = value.to_s
  31.       end
  32.       # 初始化位图
  33.       bitmap = Bitmap.new(180, 128)
  34.       bitmap.font.name = "Arial Black"
  35.       bitmap.font.size = 32
  36.       # 伤害值是数值的情况下
  37.       if value.is_a?(Numeric)
  38.         # 分割伤害值字符串
  39.         damage_array = damage_string.scan(/./)
  40.         damage_x = 81 - damage_string.size * 9
  41.         # 伤害值为负的情况下
  42.         if value < 0
  43.           # 调用回复数字表
  44.           rect_y = 32
  45.         else
  46.           # 调用伤害数字表
  47.           rect_y = 0
  48.         end
  49.         # 循环伤害值字符串
  50.         for char in damage_array
  51.           number = char.to_i
  52.           # 显示伤害数字
  53.           unless @battler.is_a?(Game_Enemy)
  54.             bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),
  55.             Rect.new(number * 18, rect_y+32*3, 18, 32))
  56.           else
  57.           bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),
  58.             Rect.new(number * 18, rect_y, 18, 32))
  59.           end
  60.           # 后移一位
  61.           damage_x += 18
  62.         end
  63.       # 伤害值不是数值的情况
  64.       else
  65.         # 如果伤害值不是 Miss
  66.         unless value == "Miss"
  67.           # 系统默认描画字符串
  68.           bitmap.font.color.set(0, 0, 0)
  69.           bitmap.draw_text(-1, 27, 162, 36, damage_string, 1)
  70.           bitmap.draw_text(+1, 27, 162, 36, damage_string, 1)
  71.           bitmap.draw_text(-1, 29, 162, 36, damage_string, 1)
  72.           bitmap.draw_text(+1, 29, 162, 36, damage_string, 1)
  73.           bitmap.font.color.set(255, 255, 255)
  74.           bitmap.draw_text(0, 28, 162, 36, damage_string, 1)
  75.         # Miss 的情况下
  76.         else
  77.           # 显示未击中图画
  78.           bitmap.blt(36, 28, RPG::Cache.picture("Damage"), Rect.new(90, 64, 90, 32))
  79.         end
  80.       end
  81.       # 会心一击标志打开的情况
  82.       if critical
  83.         # 显示会心一击图画
  84.         bitmap.blt(36, 0, RPG::Cache.picture("Damage"), Rect.new(0, 64, 90, 32))
  85.       end
  86.       # 伤害值定位
  87.       @_damage_sprite = ::Sprite.new(self.viewport)
  88.       @_damage_sprite.bitmap = bitmap
  89.       @_damage_sprite.ox = 81
  90.       @_damage_sprite.oy = 20
  91.       @_damage_sprite.x = self.x
  92.       @_damage_sprite.y = self.y - self.oy / 2
  93.       @_damage_sprite.z = 3000
  94.       @_damage_duration = 40
  95.     end
  96.   end
  97. end
  98. #==============================================================================
  99. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  100. #==============================================================================
复制代码
新的UI 旧的开始
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
151
在线时间
195 小时
注册时间
2009-10-10
帖子
435
5
 楼主| 发表于 2009-11-9 01:04:48 | 只看该作者
这不是我写的脚本,是用SailCat大大的伤害美化脚本改的.#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#================== ...
Eienshinken 发表于 2009-11-9 01:02


这个伤害的图片 是怎么样子的??
回复

使用道具 举报

Lv2.观梦者

永遠神剣

梦石
0
星屑
339
在线时间
412 小时
注册时间
2009-8-16
帖子
1797

贵宾

6
发表于 2009-11-9 01:05:40 | 只看该作者
本帖最后由 Eienshinken 于 2009-11-9 01:09 编辑

可能太长了脚本..  我把他空白的地方删掉看
修改了.看看显示了吗?
对了..LZ要是回合战斗的伤害显示么- - ???这个是回合的..
如果是地图显示伤害的话.这个貌似用不了
新的UI 旧的开始
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
151
在线时间
195 小时
注册时间
2009-10-10
帖子
435
7
 楼主| 发表于 2009-11-9 01:10:25 | 只看该作者
5# Eienshinken

地图显示的
回复

使用道具 举报

Lv2.观梦者

永遠神剣

梦石
0
星屑
339
在线时间
412 小时
注册时间
2009-8-16
帖子
1797

贵宾

8
发表于 2009-11-9 01:11:07 | 只看该作者
那你现在使用的地图脚本能否提供一下.我试改看
新的UI 旧的开始
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
151
在线时间
195 小时
注册时间
2009-10-10
帖子
435
9
 楼主| 发表于 2009-11-9 01:12:18 | 只看该作者
本帖最后由 pudding 于 2009-11-9 01:14 编辑

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
#
# 使用方法:
#
# ★、对角色显示伤害,如下3步:
#
# 1、设置伤害内容:$game_player.damage = 数值
#    注意:如果数值是负数,就变成补血的颜色了。
#
# 2、设置是否会心一击:$game_player.critical = true/false
#    如果不是会心一击,就不用这一步了
#
# 3、释放伤害:$game_player.damage_pop = true
#
#
# ★、对普通NPC和事件进行伤害,类似的3步:
#
# 1、设置伤害内容:$game_map.events[事件编号].damage = 数值
#
# 2、设置是否会心一击:$game_map.events[事件编号].critical = true/false
#
# 3、释放伤害:$game_map.events[事件编号].damage_pop = true
#
# 注意,事件编号是事件的ID号,如果目标是“本事件”,那么在事件编号输入@event_id
#
#------------------------------------------------------------------------------
# 预祝有人能早日做出华丽的ARPG来,别忘了到网站发布哦~
#------------------------------------------------------------------------------
class Sprite_Character < RPG::Sprite
  alias carol3_66RPG_damage_pop_update update
  def update
    carol3_66RPG_damage_pop_update
    if @character.damage_pop
      damage(@character.damage, @character.critical)
      @character.damage = nil
      @character.critical = false
      @character.damage_pop = false
    end
  end  
end
class Game_Character
  attr_accessor :damage_pop
  attr_accessor :damage
  attr_accessor :critical
  alias carol3_66RPG_damage_pop_initialize initialize
  def initialize
    @damage_pop = false
    @damage = 0
    @critical = false
    carol3_66RPG_damage_pop_initialize
  end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================




    睡了...明天上来  希望你做好了
回复

使用道具 举报

Lv2.观梦者

永遠神剣

梦石
0
星屑
339
在线时间
412 小时
注册时间
2009-8-16
帖子
1797

贵宾

10
发表于 2009-11-9 01:17:58 | 只看该作者
本帖最后由 Eienshinken 于 2009-11-9 05:31 编辑

原本的那个脚本改成显示图片掉血的倒是不难.但是要在行走图上显示不同的伤害数值,我试了蛮久 想不出应该用什么方法让共用的伤害参数分开使用..负数与正数能分别显示颜色,应该就是从那个地方下手修改- -
但是找了很久也不知道该用什么变量来判断改变人物掉血的颜色..

抱歉,帮不上忙.
新的UI 旧的开始
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 11:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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