Dream Mod 3.0Dream Mod 3.0
首页
快速开始
资源库
首页
快速开始
资源库
  • 进度

    • 更新日志
  • 指南

    • 快速上手
    • App.lua
    • 地图
    • 角色
    • 道具
    • 技能
    • 状态
    • 窗口
    • 触发器
    • 成长
    • 皮肤
    • 自定义组件
  • Api

    • 引擎
    • 地图
    • 角色
    • 道具
    • 技能
    • 状态
    • 窗口
    • 自定义组件
    • 缓动
    • 全局
  • 控件

    • 标签
    • 按钮
    • 图片框
    • 动画框
    • 文本框
    • 进度条
    • 技能格子
    • 快捷格子
    • 包裹格子
    • 道具格子
    • 角色框
    • 选择框
    • 选择夹
    • 容器
    • 地图框
    • 滑块条
    • 组合框
    • 输入框
  • 组件

    • 文本
    • 艺术字
    • 精灵
    • 矩形
    • 圆形
  • 其他

    • 丰富文本
    • 模板变量
    • 游戏盒子

角色

介绍

角色组件

配置项

名称类型必填说明
类型 文本true固定值:角色 表示这是一个角色组件
名称 文本true全局唯一标识
显示名 文本false
默认主角 逻辑false是否是可操控的主角,同时只能存在一个主角
等级 整数false配合成长组件使用
经验值 整数false被其他角色杀死后,对方可以获得的经验值
成长 文本false填写成长组件名称,可以自动获得对应等级的基础属性。
hp 整数false生命值
maxhp 整数false最大生命值
mp 整数false法力值
maxmp 整数false最大法力值
威望 整数false低威望角色无法发现,攻击高威望角色。默认:0
扩展属性... 整数false可配置自己的扩展属性值
内观 table {}false会自动显示到角色框控件中
外观 table {}false地图上的角色动画外观
外观次序 table {}false
触发器 table {}false
包围盒 tablefalse{宽度,高度,x偏移,y偏移} 用于鼠标焦点判断,高度会影响技能命中位置 F12可以查看
移动帧速 整数false配合角色移动动画设置一个基础值,设定后不再改变,后续移速相关的属性都将以他为基础。
攻击间隔 整数false默认值:3000 单位:毫秒 <0 无法攻击
移动间隔 整数false默认值:1500 单位:毫秒 <0 无法移动
跑动 逻辑false是否允许跑动,一次移动2格
方向 整数false出生时的方向 0为上 8个方向按顺时针为0-7 -1为随机
动作模式 整数false0:8方向   1:2方向  默认:0
巡逻范围 整数/tablefalse角色巡逻功能
自动隐藏 文本false角色是否会自动隐藏
视野范围 整数false主动寻怪时最远的寻找距离
追击距离 整数false追击时,超出距离放弃当前目标,建议设置超过视野范围。
保持距离 整数false与敌方保持一定距离。
主动攻击 逻辑false是否主动寻怪
自动战斗 逻辑false主角的自动战斗开关
自动反击 整数false
尸体保留时间 整数false死亡倒地后后开始计时
出生效果 整数false
死亡效果 整数false
重生间隔 整数false <0 不重生
重生范围 整数false以刷新点为中心的范围
战斗警戒 整数false 0:攻击后转停止动作 1:攻击后停留在攻击动作第一帧
出现音效 table {}false触发后随机播放数组中的音效标识
攻击音效 table {}false触发后随机播放数组中的音效标识
命中音效 table {}false触发后随机播放数组中的音效标识
受伤音效 table {}false触发后随机播放数组中的音效标识
死亡音效 table {}false触发后随机播放数组中的音效标识
血条效果 tablefalse
掉血效果 tablefalse
名称效果 tablefalse
光影效果 tablefalse
影子大小 数值false影子缩放的比例,如果配置角色脚底会有一个影子效果
角色大小 数值false角色外观的缩放的比例,默认:1.0
装备 tablefalse
掉落 table {}false
掉落几率 整数false百分比属性 为掉落表中的几率进行增幅 默认:100
技能表 table {}false
附加 tablefalse自定义变量
资源表 tablefalse{
{标识="",文件=""},
{标识="",文件=""},
..
}
系统事件 tablefalse

威望

  1. 角色无法发现和攻击高于自身威望的敌对阵营目标。
  2. 角色组件的配置项中可以设置默认威望,状态组件可以改变状态时间内角色威望。
  3. 当攻击目标的威望发生变动,威望高于自身时仇恨会被清0。
  4. 利用好威望和仇恨,可以丰富扩展游戏玩法。

扩展属性

这里可以配置 在App.lua入口配置项中设置的扩展属性的具体数值。

{
    hp = 100,
    maxhp = 100,
    mp = 100,
    maxmp = 100,
    攻击 = 10,
    防御 = 0,
    ...
    ...
},

内观

当角色框控件显示模式为内观时显示在控件中。

内观 = {{位置="衣服",图片="图集_内观|00300",x=-216,y=-180},{位置="发型",图片="图集_内观|00401",x=-216,y=-180,颜色=RGBA(66,66,66,255)}},
名称类型必填说明
位置文本true位置为-1时,表示图片置底显示
图片文本true
动画文本false
x整数false显示坐标偏移x
y整数false显示坐标偏移y
颜色RGBAfalse

外观

角色地图上显示的效果,可以是动画也可以是图片,当角色绑定了角色框控件,并且显示模式为外观时显示。

外观 = {{位置="衣服",动画="角色动画_男布衣"},{位置="染色",动画="角色动画_男布衣染色"}},

外观 = {{位置="衣服",图片="角色卡片_男默认",缩放=0.6,x=0,y=-40}},
名称类型必填说明
位置文本true通常为子类名称
动画/图片文本true
颜色RGBAfalse
缩放文本false
x数值false显示偏移x
y数值false显示偏移y

触发器

  • 给角色绑定触发器组件,配置项是一个由触发器组件名称,或触发器组件配置项,组成的数组。
  • 如果触发器中有相同的捕捉事件,系统按次序依次执行。
触发器 = {"怪物","怪物2"},

触发器 = {
    {
        类型 = "触发器",
        名称 = "主角触发器",
        事件 = {
            __EVENT_死亡后 = function(角色对象,伤害来源)	
            
            end,
        },
    },
    "怪物",
    "怪物2" 
},

外观次序

  • 用于设置不同位置的外观在每个方向下的显示排序。从上开始顺时针8个方向。
  • 如果你有其他位置的纸娃娃,需要填到配置里面去,显示效果为一层一层的叠加,{"内裤","秋裤","外裤",....},缺省默认次序设置如下:
外观次序 =  {
    {"武器","衣服","染色","发型"},
    {"衣服","染色","武器","发型"},
    {"衣服","染色","武器","发型"},
    {"衣服","染色","武器","发型"},
    {"衣服","染色","武器","发型"},
    {"武器","衣服","染色","发型"},
    {"武器","衣服","染色","发型"},
    {"武器","衣服","染色","发型"}
}

巡逻范围

随机移动

配置为整数时,单位是地图格子,拥有3种状态

  • >0 时,允许在出生点附近随机移动,被风筝超出范围后会回到出生点附近。
  • =0 时,不会随机移动,被风筝超出范围后会回到出生点附近。
  • <0 时,不会随机移动,被风筝超出范围后不会回到出生点附近。
巡逻范围 = -1,
路径移动
  • 配置为table时,表明按指定格子路径循环移动。 { {格子x,格子y,停留时间},{格子x,格子y,停留时间},... }
配置说明
格子x目标格子
格子y目标格子
停留时间单位:毫秒
local 角色组 = 引擎.地图.创建角色("半魔人",40,72,"敌方",0,1);
角色组[1].巡逻范围 = {{40,72,5000},{49,81,5000},{56,75,5000}}
角色组[1].移动间隔 = 0

自动隐藏

  • 主动攻击型的角色如果视野范围内没有敌方时,可以设置自动消失。如:资源库中的 食人花
  • 填写一个动作名,角色隐藏和出现时会播放这个动作过渡。"动作名,反向播放" 动作名后面,配置1时表示这个动作隐藏时反向播放。
自动隐藏 = "出生,1", 

出生效果

角色在地图上出现时的效果。三种效果可选:0,1,2

配置说明
0无效果
1渐隐渐入
2空中落下

死亡效果

角色的死亡效果。四种效果可选:0,1,2,3

配置说明
0渐隐消失
1直接消失
2爆炸消失
3溶解消失

自动反击

设定角色被攻击后的反击逻辑。四种效果可选:0,1,2,3

配置说明
0目标自动变更为距离更近的角色
1目标始终固定为第一次的造成伤害角色
2目标变更为最后一次造成伤害的角色
3目标变更为仇恨值更大的角色

血条效果

角色是否显示自带的血条效果,支持多个血条效果同时显示。

名称类型说明
皮肤文本皮肤标识,可参考 App.lua 中的通用血条皮肤编写自己的血条皮肤
显示偏移整数相对与角色脚底坐标的Y轴偏移
血条颜色RGBA
过渡色RGBA血量减少时产生过渡效果
血条显示整数0 焦点显示 1 持续显示 2 受伤显示
血量偏移整数相对血条的Y轴偏移
血量模式整数0 实际 1 百分比
血量显示整数-1 不显示 0 焦点显示 1 持续显示 2 受伤显示
属性绑定{最小值,最大值}支持属性名绑定,默认值:{"hp","maxhp"}
血条效果 = {
    {
        皮肤 = "通用血条",
        显示偏移 = -110,
        血条颜色 = RGBA(0,222,0,255),
        血条显示 = 1,
        血量显示 = 1,
        属性绑定= {"hp","maxhp"}
    },
    {
        皮肤 = "通用血条",
        显示偏移 = -116,
        血条颜色 = RGBA(0,100,222,255),
        血条显示 = 1,
        血量显示 = -1,
        属性绑定= {"mp","maxmp"}
    },
},

掉血效果

角色受伤时弹出一个艺术字效果。

名称类型说明
艺术字文本资源标识
字体颜色RGBA
字体间距整数
动画效果整数0-4 内置5种效果

名称效果

让角色显示一个名称。

名称类型说明
颜色RGBA
显示偏移整数相对于角色中心的Y轴偏移
名称显示整数0 焦点显示 1 持续显示

光影效果

让角色增加一个光影效果。

名称类型说明
锚点x小数光源效果锚点x
锚点y小数光源效果锚点y
水平缩放小数光影的水平缩放倍数
垂直缩放小数光影的垂直缩放倍数
颜色RGBA光影的色调
光影效果 = {锚点x=0.5,锚点y=0.5,水平缩放=2.0,垂直缩放=2.0,颜色=RGBA(255, 220, 180,255)},

装备

  • 为角色增加一些初始装备,增强角色属性,还可以关联装备格子控件,格子道具发生变化时角色属性同步变化,
  • 位置数量和位置名称都没有限制,可以随意填写。
名称类型说明
名称文本道具的名称
显示外观逻辑如果道具有外观,会替换角色的纸娃娃
格子文本格子控件的url 写法:"窗口名称/控件名称"
装备 = {
    武器 = {名称="八荒刀",显示外观=true,格子="角色窗口/主角武器"},
    衣服 = {名称="",显示外观=true,格子="角色窗口/主角衣服"},


    稻草人的配饰 = {名称="木剑",显示外观=false},
    青铜兽的牙齿 = {名称="铜戒指",显示外观=false},
    ...
    ...

},

掉落

  • 角色死亡后是否触发道具掉落。格式为 {"道具名称 掉落数量/最大几率","道具名称 掉落数量/最大几率",...}
  • 物品掉落前会触发道具事件创建,可以在这里实现随机属性。
掉落 = {"八荒刀 1/2","粗布衣 1/2","金创药小 1/2","金币100 1/2"}

掉落几率

  • 为掉落表中的所有道具进行统一的掉落增幅。默认值:100
  • 假设 木剑 1/10 掉落几率 = 200,此时 木剑的实际效果是 1/5
  • 假设 木剑 1/10 掉落几率 = 50,此时 木剑的实际效果是 1/20
  • 假设 木剑 1/10 掉落几率 = 0,此时 木剑 不会掉落

技能表

  • 角色自带的技能,你可以填完整的技能对象配置,也可以使用已经加入系统的公共技能组件。版本号 > 0.1
  • 使用公共技能组件,可以设置不同的属性 自动释放 优先级 间隔 hp mp
    技能表 = { 
        {
            名称 = "火球术",
            自动释放 = true,
            优先级 = 1,
            间隔 = 2000,
            mp = 5,
        },
        {
            类型 = "技能",
            名称 = "普通攻击",
            显示名 = "普通攻击",
            图标 = "",
            攻击距离 = 1,
            动作 = "攻击",
            目标阵营 = "敌方",		
            目标位置 = 0,		   		
            伤害延迟 = 500,
            伤害公式 = "a.攻击 ^ 2 / ( a.攻击 + b.防御 ) * (0.8 + math.random()*0.2)", -- a 我方 b 敌方
            受伤效果 = {几率=100,动作=true,音效=true},
        },

    },

系统事件

🔹 创建

角色在地图中创建后触发

回调参数类型说明描述
角色对象 角色对象

示例

系统事件 = {
    创建 = function (角色对象)
        调试输出(角色对象.名称)
    end
}

🔹 受伤

  • 角色对象受伤时触发。
  • 通过return true 可以拦截。
回调参数类型说明描述
角色对象 角色对象
掉血值 整数
剩余血量 整数
总血量 整数
伤害来源 角色对象

示例

系统事件 = {
    受伤 = function (角色对象,掉血值,剩余血量,总血量,伤害来源)
        调试输出(掉血值,剩余血量,总血量,伤害来源.名称)
        --return true
    end
}
Prev
地图
Next
道具