道具
介绍
道具组件
local 道具配置 =
{
类型 = "道具",
名称 = "八荒刀",
显示名 = "八荒刀",
颜色 = RGBA(255,255,255,255),
图标 = "图集_道具|00009",
气泡提示 = "八荒刀",
分类 = "装备",
子类 = "武器",
最大叠加 = 1,
禁止丢弃 = false,
扩展属性 = {
攻击 = 10,
},
内观 = {{位置="武器",图片="图集_内观|00009",x=-216,y=-180}},
外观 = {{位置="武器",动画="角色动画_八荒刀"}},
音效 = {发现="道具音效_武器",使用="道具音效_武器",攻击="音效_八荒挥舞"},
资源表 = {
{标识="图集_内观",文件="dmstore_JKZCDOiJlgJtaEAmDvwA"},
{标识="图集_道具",文件="dmstore_JKJ6DdgJlKKi4D2cJvKA"},
{标识="角色动画_八荒刀",文件="dmstore_JJtqDuMKASKAKCbAKIcA"},
{标识="道具音效_武器",文件="dmstore_WJtmKhOD36DfODdoDdkA"},
{标识="音效_八荒挥舞",文件="dmstore_WD2cKAUEI4Ch0DfQD2UA"},
}
}
return 道具配置
配置项
名称 | 类型 | 必填 | 说明 |
类型 | 文本 | true | 固定值:道具 表示这是一个道具组件 |
名称 | 文本 | true | 全局唯一的道具标识 |
显示名 | 文本 | true | |
颜色 | RGBA | false | 显示名颜色值 |
图标 | 文本 | false | |
气泡提示 | 文本 | false | 支持丰富文本 |
分类 | 文本 | false | 道具 装备 特殊 |
子类 | 文本 | false | 衣服 武器 项链 手镯 戒指 消耗 其他 允许自定义 |
冷却 | table | false | {标识,间隔} |
最大叠加 | 整数 | false | |
禁止丢弃 | 整数 | false | |
等级 | 整数 | false | 道具使用的等级限制 |
hp | 整数 | false | |
mp | 整数 | false | |
hp_百分比 | 整数 | false | |
mp_百分比 | 整数 | false | |
maxhp | 整数 | false | |
maxmp | 整数 | false | |
maxhp_百分比 | 整数 | false | |
maxmp_百分比 | 整数 | false | |
攻击速度 | 整数 | false | 取值范围-200到200,数值越大攻速越快 |
移动速度 | 整数 | false | |
攻击速度_百分比 | 整数 | false | |
移动速度_百分比 | 整数 | false | |
扩展属性... | 整数 | false | 同样包含 _百分比 模式 |
附加 | table | false | 自定义变量 |
内观 | table {} | false | |
外观 | table {} | false | |
音效 | table {} | false | |
格子效果 | table {} | false | |
地面效果 | table {} | false | |
自动拾取 | table | false | |
资源表 | table | false | { {标识="",文件=""}, {标识="",文件=""}, .. } |
分类
- 系统保留的分类名称有
装备
道具
特殊
。 装备
类是指可以穿戴,会影响角色属性的道具。道具
类通常是可以消耗的道具。特殊
类是指会触发拾取
事件,拾取后消失。但是不会进入包裹的物品,比如地面的金币。
子类
- 系统保留的子类名称有
消耗
当分类为道具
时,使用会触发数量减少相关逻辑。 - 通常分类为
装备
时,子类取名衣服
武器
项链
手镯
戒指
。 - 道具的
分类
和子类
,会与角色
装备格子
道具格子
有关联。
冷却
如果设置此项,使用道具后,游戏中同类标识
的道具都会有一个冷却CD效果。
冷却 = {标识="药水",间隔=1000},
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
标识 | 文本 | true | 自定义的冷却类型标识 |
间隔 | 整数 | true | 单位毫秒 |
内观
当角色框
控件显示模式为内观
时显示。
内观 = {{位置="武器",图片="井中月图集|井中月内观",x=70,y=-24},{位置="武器",动画="井中月特效,特效2", x=70,y=-24}},
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
位置 | 文本 | true | 位置为"-1" 时,表示图片置底显示 |
图片 | 文本 | true | |
动画 | 文本 | false | |
x | 整数 | false | 显示坐标偏移x |
y | 整数 | false | 显示坐标偏移y |
颜色 | RGBA | false |
外观
角色穿戴后替换纸娃娃动画效果,当角色框
控件显示模式为外观
时显示。
外观 = {{位置="衣服",动画="角色动画_男布衣"},{位置="染色",动画="角色动画_男布衣染色"}},
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
位置 | 文本 | true | 通常为子类名称 |
动画 | 文本 | true | |
颜色 | RGBA | false | |
缩放 | 文本 | false |
音效
发现
:掉落时 进入包裹 触发使用
:使用时触发攻击
:子类为武器
时,可以替换掉角色的攻击音效
音效 = {发现="道具音效_武器",使用="道具音效_武器",攻击="音效_八荒挥舞"},
格子效果
当道具在格子中的时候,这个配置项可以让显示更加丰富。
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
资源名称 | 文本 | true | 动画或者是图片,动画写法同样是:动画,动作,缩放,速度 |
拿起显示 | 整数 | false | 鼠标拿起这个道具的时候,鼠标上是否显示这个元素。0 不显示 1 显示 |
x | 整数 | false | 显示偏移x 相对格子中心点的偏移坐标 |
y | 整数 | false | 显示偏移y 相对格子中心点的偏移坐标 |
格子效果 = {{"格子动画包,稀有",0},{"图集_道具|00009",1},{"装备锁",0,10,10}},
地面效果
当道具掉落在地面上时显示的动画效果。
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
资源名称 | 文本 | true | 动画标识,动画写法同样是:动画,动作,缩放,速度 |
显示层次 | 整数 | false | 0 地表层 1 物件排序层 |
地面效果 = {{"掉宝特效,地表选中,0.6",0},{"掉宝特效,光柱特效,0.4",1}},
自动拾取
物品掉落在地图时,可以设置自动拾取效果。
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
距离 | 整数 | true | 最远拾取距离 |
效果 | 整数 | false | 0 直接消失 1 飞向主角 |
自动拾取 = {距离=3,效果=1},
系统事件
提示
道具对象
属性脚本中可以直接修改。
🔹 创建
怪物掉落或者通过接口增加物品
,都会触发创建事件。通过接口创建道具还可以传递一个附加
参数。
回调参数 | 类型 | 说明描述 |
道具对象 | 道具对象 | |
附加 | table |
示例
系统事件 = {
创建 = function(道具对象,附加)
local 需要等级 = 1
-- 修改一下气泡提示
local 富文本 = "#z(140,0,1)\n#z(2,-12)#f(宋体14粗)#c(".. 道具对象.颜色 ..")".. 道具对象.显示名.."#z(0,10,1)\n#p(默认皮肤|格子底图)#p(".. 道具对象.图标 ..",-44,0,42,42)#f(宋体12)#W#z(4,-42)\n"
富文本 = 富文本 .. "类型:" .. 道具对象.分类 .. "\n等级:" .. 需要等级 .. "\n限制:无\n#z(0,0)"
if(道具对象.攻击 > 0) then 富文本 = 富文本 .. "\n#W攻击 " .. 道具对象.攻击 end
if(道具对象.防御 > 0) then 富文本 = 富文本 .. "\n#W防御 " .. 道具对象.防御 end
富文本 = 富文本 .. "\n\n#br(140)#H普普通通的".. 道具对象.显示名 .. "#z(0,2,1)"
道具对象.气泡提示 = 富文本
end
},
🔹 使用
道具使用时触发,返回 false 可拦截。
回调参数 | 类型 | 说明描述 |
道具对象 | 道具对象 |
示例
系统事件 = {
使用 = function(道具对象) -- 返回 false 拦截使用
调试输出(道具对象.名称,道具对象.数量)
-- return false
end,
},
🔹 拾取
道具拾取时触发,返回 false 可拦截。
回调参数 | 类型 | 说明描述 |
道具对象 | 道具对象 |
示例
系统事件 = {
拾取 = function(道具对象) -- 返回 false 可拦截
调试输出(道具对象.名称,道具对象.数量)
-- return false
end,
},
🔹 掉落
道具掉落到地图上时触发,返回 false 可拦截并且销毁道具。
回调参数 | 类型 | 说明描述 |
地图坐标x | 掉落点坐标 | |
地图坐标y | 掉落点坐标 | |
道具对象 | 道具对象 | |
来源角色 | 角色对象 | 来源 |
示例
系统事件 = {
掉落 = function(地图坐标x,地图坐标y,道具对象,来源角色)
道具对象.显示名 = 道具对象.名称 .. "[" .. 来源角色.名称 .. "]"
-- return false
end
},
提示
主角丢弃
物品,角色身上装备
掉落都会触发。