0x00 前言
继上篇《添加自定义魔物》之后,现在为当时添加的「皮卡丘」定制一张卡片:
0x10 服务端设定
0x11 添加卡片道具
由于卡片也是道具的一种,故而首先要在道具库 item_db.yml
添加「皮卡丘卡片」:
- Id: 1500172
AegisName: PIKACHU_Card
Name: 皮卡丘卡片
Type: Card
Buy: 20
Weight: 10
Locations:
Shoes: true
Flags:
BuyingStore: true
Script: |
bonus bAgi,10;
bonus bFlee2,10;
0x12 添加掉落物
然后修改魔物库 mob_db.yml
中「皮卡丘」的设定,为其添加掉落物「皮卡丘卡片」:
- Id: 20172
AegisName: PIKACHU
Name: 皮卡丘
JapaneseName: 皮卡丘
... ...
Drops:
- Item: Glass_Bead
Rate: 5000
- Item: PIKACHU_Card
Rate: 10000
- 掉落物
Item: PIKACHU_Card
的名字就是「皮卡丘卡片」的AegisName: PIKACHU_Card
- 为了方便测试,这里设置掉率为
Rate: 10000
,即10000 / 100 = 100%
(rAthena 没有小数,以致掉率使用放大了 100 倍的整数表示) Locations
指定哪个位置的装备允许插这张卡,枚举项为:
卡片位置代码 | 位置说明 |
---|---|
Head_Top |
头上 |
Head_Mid |
头中 |
Head_Low |
头下 |
Armor |
衣服 |
Right_Hand |
武器 |
Left_Hand |
盾牌 |
Garment |
披肩 |
Shoes |
鞋子 |
Both_Accessory |
饰品 |
上述配置建议在 SDE 操作会更高效:
至此服务端部分就配置好了。
0x20 客户端设定
0x21 添加卡片道具
同样地,在客户端也需要在道具池 System/itemInfo.lub
新增「皮卡丘卡片」:
[1500172] = {
unidentifiedDisplayName = "卡片",
unidentifiedResourceName = "捞抚绝绰墨靛",
unidentifiedDescriptionName = {
"AGI+10",
"完全回避+10",
"系列: ^777777卡片^000000",
"装置: ^777777鞋子^000000",
"重量: ^7777771^000000"
},
identifiedDisplayName = "皮卡丘卡片",
identifiedResourceName = "捞抚绝绰墨靛",
identifiedDescriptionName = {
"AGI+10",
"完全回避+10",
"系列: ^777777卡片^000000",
"装置: ^777777鞋子^000000",
"重量: ^7777771^000000"
},
slotCount = 0,
ClassNum = 0
}
由于所有卡片的道具图档都是一样的,因此 identifiedResourceName
直接用官方的卡片图档 捞抚绝绰墨靛
即可。
0x22 设置卡片前缀
任何卡片在插上后都会在装备名字前显示其独有的前缀,这个前缀在 data/cardprefixnametable.txt
新增一行即可:
- 格式:
{卡片ID}#{前缀名}#
- 例如:
1500172#皮神的#
0x23 设置卡片大图
所有卡片在查看详情时,均有一个【显示】按钮可以查看卡片图鉴的大图:
其配置方法为:
首先在 data/texture/蜡历牢磐其捞胶/cardbmp
放置卡片图鉴大图,尺寸大小为 300x400
、格式为 bmp
。
图片可以自己做、也可以网上找,例如这里放置了名为 PIKACHU.bmp
的图片:
然后在 data/num2cardillustnametable.txt
中新增一行:
- 格式:
{卡片ID}#{图鉴文件名}#
(不含后缀名) - 例如:
1500172#PIKACHU#
进入游戏即可看到效果。