赞 | 0 |
VIP | 0 |
好人卡 | 9 |
积分 | 1 |
经验 | 16728 |
最后登录 | 2014-12-17 |
在线时间 | 510 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 510 小时
- 注册时间
- 2010-5-8
- 帖子
- 266
|
不知道為甚麼腳本報錯,請大大們為們看看。
- # 傷害表示改造(RTAB) ver 1.05
- # 配布元.支持URL
- # [url]http://members.jcom.home.ne.jp/cogwheel/[/url]
- class Scene_Battle
- alias :atb_setup_original :atb_setup
- def atb_setup
- for path in ["num", "critical", "miss", "levelup", "newskill", "learning"]
- RPG::Cache.numeric(path)
- end
- atb_setup_original
- end
- end
- module RPG
- class Sprite < ::Sprite
- WIDTH = 18
- HEIGHT = 12
- def damage(value, critical, type = 0)
- if value.is_a?(Numeric)
- damage_string = value.abs.to_s
- else
- damage_string = value.to_s
- end
- if value.is_a?(Numeric) and value >= 0
- if type == 0
- if critical
- d_bitmap = draw_damage(value, 1)
- else
- d_bitmap = draw_damage(value, 0)
- end
- else
- d_bitmap = draw_damage(value, 2)
- end
- else
- if type == 0
- d_bitmap = draw_damage(value, 3)
- else
- d_bitmap = draw_damage(value, 4)
- end
- end
- if type == 2
- d_bitmap = draw_damage(value, 5)
- end
- num = @_damage.size
- if type != 2
- @_damage.push([::Sprite.new, 40, 0, rand(40) - 20, rand(30) + 50])
- else
- @_damage.push([::Sprite.new, 40, 0, rand(20) - 10, rand(20) + 60])
- end
- @_damage[num][0].bitmap = d_bitmap
- @_damage[num][0].ox = d_bitmap.width / 2
- @_damage[num][0].oy = d_bitmap.height / 2
- if self.battler.is_a?(Game_Actor)
- @_damage[num][0].x = self.x + self.viewport.ox
- @_damage[num][0].y = self.y - self.oy / 2
- else
- @_damage[num][0].x = self.x + self.viewport.rect.x -
- self.ox + self.src_rect.width / 2
- @_damage[num][0].y = self.y - self.oy * self.zoom_y / 2 +
- self.viewport.rect.y
- @_damage[num][0].zoom_x = self.zoom_x
- @_damage[num][0].zoom_y = self.zoom_y
- @_damage[num][0].z = 3000
- end
- end
- def draw_damage(value, element)
- width = 0
- if value.is_a?(Numeric)
- value = value.abs
- fig = value.to_s.size - 1
- file = RPG::Cache.numeric("num")
- d_width = WIDTH * fig + file.rect.width / 10
- if element == 1
- critical = RPG::Cache.numeric("critical")
- d_width = [d_width, critical.rect.width].max
- d_bitmap = Bitmap.new(d_width, HEIGHT + file.rect.height / 5)
- d_x = (d_width - critical.rect.width) / 2
- d_bitmap.blt(d_x, 0, critical, critical.rect)
- else
- d_bitmap = Bitmap.new(d_width, HEIGHT + file.rect.height / 5)
- end
- d_x = ((d_width) - (WIDTH * fig + file.rect.width / 10)) / 2
- while fig >= 0
- d_bitmap.blt(d_x, HEIGHT, file, Rect.new((value / (10 ** fig)) *
- file.rect.width / 10, element * file.rect.height / 5,
- file.rect.width / 10, file.rect.height / 5))
- d_x += WIDTH
- value %= 10 ** fig
- fig -= 1
- end
- else
- case value
- when ""
- return Bitmap.new(1, 1)
- when "Miss"
- file = RPG::Cache.numeric("miss").dup
- when "Level up!"
- file = RPG::Cache.numeric("levelup").dup
- when "New Skill!"
- file = RPG::Cache.numeric("newskill").dup
- when "Learning!"
- file = RPG::Cache.numeric("learning").dup
- else
- file = RPG::Cache.numeric(value).dup
- end
- d_bitmap = file
- end
- return d_bitmap
- end
- end
- module Cache
- def self.numeric(filename)
- self.load_bitmap("Graphics/String/", filename)
- end
- end
- end
复制代码 拜托了。 |
|