在此之前,你需要认识:
- 主脚本客户端系统:
获得了系统实例后,可以直接调用主脚本该系统实例内的函数!clientApi.GetSystem('ZoomsZ', 'ZoomsZClientSystem') # 获取主脚本客户端系统实例 serverApi.GetSystem('ZoomsZ', 'ZoomsZServerSystem') # 获取主脚本服务端系统实例
物品信息字典
| 参数名 | 数据类型 | 说明 |
|---|---|---|
| Name | str | 物品名称,标识该物品在游戏中的显示名称 |
| TexturePath | str | 物品贴图路径,不需要携带_0来表示状态,系统会自动检索 |
| Description | str | 物品描述,用于向玩家说明该物品的基本信息 |
| Weight | float | 物品重量,单位为千克 |
| TagList | list | 物品标签列表,用于标识该物品所属的类别,方便背包等系统进行筛选和分类 |
| ItemSize | list[int, int] | 物品在背包中占用的格子大小,格式为 [横向格子数, 纵向格子数],默认为[1, 1] |
| PackSize | list[int, int] | 物品容器的格子大小,格式为 [横向格子数, 纵向格子数] |
| PackList | dictlist | 物品的槽位列表,此处为空表示无槽位 |
| SpawnAreaTagList | list | 物品生成区域标签列表,用于指定该物品可以生成的区域,为空则表示无特殊生成区域限制 |
| SpawnAreaTierList | list | 物品生成区域层级列表,列表中的每个元素代表一个生成区域的层级,物品可以在这些层级对应的区域中生成。 |
| SpawnWeight | int | 物品生成权重,数值越高,该物品在生成时出现的概率越大 |
示例
putongyifu= {
'Name': '普通衣服',
'TexturePath': 'textures/ui/DoomsZ/items/putongyifu',
'Description': '这是普通衣服',
'Weight': 0.5,
'TagList': ['Clothes'],
'ItemSize': [4, 2],
'PackSize': [8, 4],
'PackList': [
{
'Key': 'NormalClothes_Weapon',
'TexturePath': 'textures/ui/DoomsZ/PackBGIcon/LeftShoulder',
'Name': '板甲槽',
'TagList': ['BackPack', 'Tools']
}
],
'SpawnAreaTagList': ['city'],
'SpawnAreaTierList': [1, 2],
'SpawnWeight': 100,
}
使用模组配置注册自定义物品
前往模组整体配置文件modConfig.py中GlobalConfig.GameData['ItemConfig']中添加新的物品配置即可,其中Key为该物品的ItemId须为唯一值!
使用API注册自定义物品
RegisterModItem
服务端
-
描述
动态批量注册物品,会自动进行广播同步客户端。如果不是副包,不推荐使用该接口,因为在同步数据信息时会占用大量的网络带宽,会导致卡顿 -
参数
| 参数名 | 数据类型 | 说明 |
|---|---|---|
| ItemConfig | dict | 物品配置清单 |
-
返回值
无 -
备注
无 -
示例
ItemConfig = {
'Plate_Carrier': {
'Name': '重型板甲',
'TexturePath': 'textures/ui/DoomsZ/weapon/Plate_Carrier',
'Description': '硬质钢板加固的防弹背心,能够吸收各类冲击伤害。可通过加装枪套和额外口袋进行扩展。',
'TagList': ['Armor'],
'PackSize': [6, 4],
'PackList': [
{
'Key': 'Left_Plate_Carrier_Pack',
'Name': '板甲槽',
'TagList': ['Pack']
},
{
'Key': 'Right_Plate_Carrier_LeftShoulder',
'TexturePath': 'textures/ui/DoomsZ/PackBGIcon/LeftShoulder',
'Name': '板甲槽',
'TagList': ['Weapons', 'Tools']
}
]
},
}
serverApi.GetSystem('ZoomsZ', 'ZoomsZServerSystem').RegisterModItem(ItemConfig)