0x00 前言
当你看到别人在游戏里输出的时候、跳出来伤害数字像这样的,你会不会很好奇是怎么做到的 ?
本文就说说怎么去创建自己的「攻击伤害字型」。
0x10 图档位置
伤害字型的图档是存储 data.grf
里面的:
- 图档名称
- 韩文:
숫자.spr
- 中文:
箭磊.spr
- 韩文:
- 图档路径:
- 韩文:
data/sprite/이팩트/숫자.spr
- 中文:
data/sprite/捞蒲飘/箭磊.spr
- 韩文:
找到官方默认的 箭磊.spr
后,将其解包出来,我们需要查看其内容是什么。
箭磊.act
是直接相关的动作文件,不需要修改,但是你可以一并解包以验证你的修改是否有问题
0x20 字型图片要求
为了打开 箭磊.spr
文件,我们需要用到一款工具 RoSprToolKit。
启动工具后,点击第一个按钮 SPR -> 图像
,然后打开 箭磊.spr
文件,可以看到里面实际上是存储了 12 个数字图片:
数字 | 图片名称 | 说明 |
---|---|---|
0 |
箭磊000.bmp |
数字 0 图档 |
1 |
箭磊001.bmp |
数字 1 图档 |
2 |
箭磊002.bmp |
数字 2 图档 |
3 |
箭磊003.bmp |
数字 3 图档 |
4 |
箭磊004.bmp |
数字 4 图档 |
5 |
箭磊005.bmp |
数字 5 图档 |
6 |
箭磊006.bmp |
数字 6 图档 |
7 |
箭磊007.bmp |
数字 7 图档 |
8 |
箭磊008.bmp |
数字 8 图档 |
9 |
箭磊009.bmp |
数字 9 图档 |
K |
箭磊010.bmp |
数字 K 图档,当伤害数值超过「百万」时显示 K |
M |
箭磊011.bmp |
数字 M 图档,当伤害数值超过「亿万」时显示 M |
然后用画图打开任意一张图片,可以发现:
- 图片尺寸在
8x11
到10x13
之间 - 用拾色器选取浅绿色的背景色,查看其 RGB 编码为
#C0F0BC
,这在游戏中就是透明色
- 图片格式为 256 色位图 BMP
综上可以总结以下字型图片的修改要求:
要求 | 说明 |
---|---|
图片名称 | 严格按照 箭磊xxx.bmp 名称格式,且 xxx 顺序严格按照从 000 开始的数字顺序 |
图片尺寸 | 没有要求,任意大小均可,但是保持差不多大小会更整齐 |
图片底色 | 浅绿色为透明色,推荐 #C0F0BC ;但相近颜色也可以,例如 #C0DCC0 |
图片格式 | 严格为 256 色位图 BMP |
需要注意的是,后续并不需要基于
箭磊.spr
的图片进行修改,我们把每一帧图片解包出来纯粹只是为了看字型图片要求而已。
0x30 制作自定义字型
0x31 字型图档来源
网上很多一套的数字字型其实都可以改造成 RO 的伤害字型,例如巴哈姆特就有 枫之谷全套的伤害字型,我们用其中的 NO.46 龍與虎傷害字型
作为本文的例子:
不过这种现成的数字字型,一般都没有 K
和 M
的图片,但是没关系,可以只用 0 ~ 9
十张图片,当游戏需要用到 K
或 M
时,会自动用 0
的图片代替:
使用字型 | 伤害等级 | 范围 | 游戏显示 |
---|---|---|---|
0 ~ 9 |
一般伤害 | 1 ~ 99W |
1 ~ 999999 |
0 ~ 9 + K |
百万伤害 | 100W ~ 999W |
1000K ~ 9999K |
0 ~ 9 + K |
千万伤害 | 1000W ~ 9999W |
10000K ~ 99999K |
0 ~ 9 + M |
亿万伤害 | 1E ~ 99.9E |
10M ~ 999M |
尽量不要选金色、黄色的字型,因为游戏在做连续伤害统计时,强制是弹出的伤害数字时金色,单次伤害和连续伤害颜色一样,效果就不好看。另外就是避免选渐变的颜色,会失真。
0x32 下载字型
把十个数字图片下载到本地,并依次重命名为 箭磊xxx.bmp
:
这里顺便一提的是,图片内容不一定要和图片名一致,例如你可以只下载图片
9
,复制十份,使得所有图片内容都为9
,这样伤害永远都只会显示99999...
0x33 调整字型图片格式
- 使用画图工具打开图片
- 设置当前颜色为
#C0DCC0
- 使用油漆桶工具把字体背景部分填充为
#C0DCC0
浅绿色 - 把图片另存为 256 色位图的 BMP 格式图片,但文件名不变
- 重复以上步骤处理所有数字图片
0x34 生成 spr 字型文件
再次运行 RoSprToolKit:
- 点击第二个按钮
图像 -> SPR
- 点击「添加」按钮,按顺序把前面编辑好的字型图片添加进来
- 点击「制作」按钮,保存为
箭磊.spr
文件
0x35 查看 act 是否正常显示
还记得前面把 箭磊.act
也解包出来吧?这个文件其实不用修改,它永远都是指向同目录下的 箭磊.spr
文件。
我们可以通过 Act Edtior 打开 箭磊.act
文件,以检查我们修改 箭磊.spr
的情况:
- 检查数字顺序是否正确
- 检查图片背景色是否透明
0x36 创建新伤害字型 GRF
Act Edtior 确认无误之后,就可以把 箭磊.act
和 箭磊.spr
重新打包为 GRF :
这里创建了一个新的伤害字型 GRF 包: data_damage_maplestory_dargon.grf
(注意路径需要和原字型图档的路径一致)
0x40 最终效果
把伤害字型 GRF 其复制到 RO 客户端根目录,同时修改 data.ini 的加载顺序,确保它在 data.grf 之前加载:
[Data]
1=data_damage_maplestory_dargon.grf
2=data.grf
进入游戏后可以查看效果: