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

Project1

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

[已经解决] 每回合自動回復SP的字體

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2440
在线时间
432 小时
注册时间
2016-10-1
帖子
42
跳转到指定楼层
1
发表于 2016-10-1 22:13:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我是用RTAB战斗脚本,然后在RTAB脚本中弄了每回合自动回复SP,但是,战斗中有自动回复SP,但是显示出来的字体却是绿色的,照理说应该要是蓝色的(回复SP的那种颜色),有什么办法,可以把回复的字体从绿色改成蓝色 (要讓18號狀態會每回合回復25%的SP)

回寫.png (531 KB, 下载次数: 1)

顯示的字體是綠色的

顯示的字體是綠色的

腳本.png (200.02 KB, 下载次数: 3)

腳本.png

Lv1.梦旅人

梦石
0
星屑
125
在线时间
171 小时
注册时间
2014-4-14
帖子
151
2
发表于 2016-10-2 08:56:57 | 只看该作者
这不关你这个RTAB战斗系统脚本的事,请修改伤害美化脚本中回复sp的颜色(要特定状态颜色不同还需条件分支)。
Vanyogin
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

3
发表于 2016-10-2 09:46:47 | 只看该作者
这应该是用图片显示的
你找到游戏目录下,这个伤害的图片
把颜色改一下
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2440
在线时间
432 小时
注册时间
2016-10-1
帖子
42
4
 楼主| 发表于 2016-10-2 11:43:48 | 只看该作者
谢谢各位解答,但是我想了很久却不知道该如何添加,我的伤害字体图片是如下图,RTAB伤害美化的脚本,怕乱改会出错...






RUBY 代码复制
  1. # ダメージ表示改造(RTAB用) ver 1.02
  2. # 配布元・サポートURL
  3. # [url]http://members.jcom.home.ne.jp/cogwheel/[/url]
  4.  
  5. class Scene_Battle
  6.   alias :atb_setup_original :atb_setup
  7.   def atb_setup
  8.     for path in ["num", "critical", "miss", "levelup", "newskill", "learning"]
  9.       RPG::Cache.numeric(path)
  10.     end
  11.     atb_setup_original
  12.   end
  13. end
  14.  
  15. module RPG
  16.   class Sprite < ::Sprite
  17.     WIDTH = 18                  # 文字幅
  18.     HEIGHT = 20                 # クリティカルの文字・高さ
  19.     def damage(value, critical, type = 0)
  20.       if value.is_a?(Numeric)
  21.         damage_string = value.abs.to_s
  22.       else
  23.         damage_string = value.to_s
  24.       end
  25.       if value.is_a?(Numeric) and value >= 0
  26.         if type == 0
  27.           if critical
  28.             d_bitmap = draw_damage(value, 1)
  29.           else
  30.             d_bitmap = draw_damage(value, 0)
  31.           end
  32.         else
  33.           d_bitmap = draw_damage(value, 2)
  34.         end
  35.       else
  36.         if type == 0
  37.           d_bitmap = draw_damage(value, 3)
  38.         else
  39.           d_bitmap = draw_damage(value, 4)
  40.         end
  41.       end
  42.       if type == 2
  43.         d_bitmap = draw_damage(value, 5)
  44.       end
  45.       num = @_damage.size
  46.       if type != 2
  47.         @_damage.push([::Sprite.new, 40, 0, rand(40) - 20, rand(30) + 50])
  48.       else
  49.         @_damage.push([::Sprite.new, 40, 0, rand(20) - 10, rand(20) + 60])
  50.       end
  51.       @_damage[num][0].bitmap = d_bitmap
  52.       @_damage[num][0].ox = d_bitmap.width / 2
  53.       @_damage[num][0].oy = d_bitmap.height / 2
  54.       if self.battler.is_a?(Game_Actor)
  55.         @_damage[num][0].x = self.x + self.viewport.ox
  56.         @_damage[num][0].y = self.y - self.oy / 2
  57.       else
  58.         @_damage[num][0].x = self.x + self.viewport.rect.x -
  59.                             self.ox + self.src_rect.width / 2
  60.         @_damage[num][0].y = self.y - self.oy * self.zoom_y / 2 +
  61.                             self.viewport.rect.y
  62.         @_damage[num][0].zoom_x = self.zoom_x
  63.         @_damage[num][0].zoom_y = self.zoom_y
  64.         @_damage[num][0].z = 3000
  65.       end
  66.     end
  67.     def draw_damage(value, element)
  68.       width = 0
  69.       if value.is_a?(Numeric)
  70.         value = value.abs
  71.         fig = value.to_s.size - 1
  72.         file = RPG::Cache.numeric("num")
  73.         d_width = WIDTH * fig + file.rect.width / 10
  74.         if element == 1
  75.           critical = RPG::Cache.numeric("critical")
  76.           d_width = [d_width, critical.rect.width].max
  77.           d_bitmap = Bitmap.new(d_width+36, HEIGHT + file.rect.height / 5)
  78.           d_x = 0#(width - critical.rect.width / 10) / 2
  79.           d_bitmap.blt(d_x+fig*(fig/1.6), 0, critical, critical.rect)
  80.          # 会心一击表现效果强化
  81.           Audio.se_play("Audio/SE/"+"Clip10",100,100)
  82.       $game_screen.start_flash(Color.new(255,255,255),10)
  83.        $game_screen.start_shake(3,9,10)
  84.         else
  85.           d_bitmap = Bitmap.new(d_width, HEIGHT + file.rect.height / 5)
  86.         end
  87.         d_x = ((d_width) - (WIDTH * fig + file.rect.width / 10)) / 2
  88.         while fig >= 0
  89.           d_bitmap.blt(d_x, HEIGHT, file, Rect.new((value / (10 ** fig)) *
  90.             file.rect.width / 10, element * file.rect.height / 5,
  91.             file.rect.width / 10, file.rect.height / 5))
  92.           d_x += WIDTH
  93.           value %= 10 ** fig
  94.           fig -= 1
  95.         end
  96.       else
  97.         case value
  98.         when "Miss"
  99.           file = RPG::Cache.numeric("miss")
  100.         when "Level up!"
  101.           file = RPG::Cache.numeric("levelup")
  102.         when "New Skill!"
  103.           file = RPG::Cache.numeric("newskill")
  104.         when "Learning!"
  105.           file = RPG::Cache.numeric("learning")
  106.         else
  107.           return Bitmap.new(1, 1)
  108.         end
  109.         d_bitmap = file
  110.       end
  111.       return d_bitmap
  112.     end
  113.   end
  114.   module Cache
  115.     def self.numeric(filename)
  116.       self.load_bitmap("Graphics/String/", filename)
  117.     end
  118.   end
  119. end

num.png (30.82 KB, 下载次数: 5)

希望是在最下面那個藍色字體

希望是在最下面那個藍色字體
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

5
发表于 2016-10-2 22:01:40 | 只看该作者
你上面那个图片上,伤害是绿色。
那么也就是说是采取了第四行,绿色。
所以你只要把第四行颜色改掉。


你可以把绿色和蓝色的换一下位置,尺寸不要变
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1358
在线时间
1295 小时
注册时间
2012-8-4
帖子
749
6
发表于 2016-10-3 00:10:40 | 只看该作者
本帖最后由 夜狠简单 于 2016-10-5 22:21 编辑
放到RTAB伤害之后


把18号状态连续伤害 取消
效果图


摘自方法来源:问一下RTAB能不能做每回合回复MP
https://rpg.blue/forum.php?mod=viewthread&tid=76320
(出处: 66RPG)

点评

快去手动认可吧。XD  发表于 2016-10-6 19:57
解決了 真的太感謝你了  发表于 2016-10-6 19:30
把18号状态连续伤害 取消  发表于 2016-10-5 22:21

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2440
在线时间
432 小时
注册时间
2016-10-1
帖子
42
7
 楼主| 发表于 2016-10-3 00:32:34 | 只看该作者
yang1zhi 发表于 2016-10-2 22:01
你上面那个图片上,伤害是绿色。
那么也就是说是采取了第四行,绿色。
所以你只要把第四行颜色改掉。

如果是每回合自动回HP,显示的字是绿色的,但是我用的是每回合自动回复SP,但系统也是显示绿色的,照理说回复SP的字体颜色应该要是蓝色才对,我使用物品回复SP,也都是显示蓝色的字体,惟独使用”每回合自动回复SP" 他却是显示绿色的字体

点评

我是个脚本盲...具体而言该怎么改好,怕自己乱改会改出冲突来......麻烦yang1zhi大师教一下  发表于 2016-10-3 22:18
这就是脚本的问题了。脚本没有把这两中显示区别对待。要找到他们各自显示伤害的地方看看有什么区别。伤害显示一般是damage_pop  发表于 2016-10-3 07:35
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2440
在线时间
432 小时
注册时间
2016-10-1
帖子
42
8
 楼主| 发表于 2016-10-5 19:55:50 | 只看该作者
yang1zhi 发表于 2016-10-2 22:01
你上面那个图片上,伤害是绿色。
那么也就是说是采取了第四行,绿色。
所以你只要把第四行颜色改掉。

我是个脚本盲...具体而言该怎么改好,怕自己乱改会改出冲突来......麻烦yang1zhi大师教一下
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36129
在线时间
10712 小时
注册时间
2009-3-15
帖子
4806
9
发表于 2016-10-5 21:10:51 | 只看该作者
脚本里搜这张伤害数字图像的文件名字应该可以找到相关的位置..
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-22 07:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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