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

    • 更新日志
  • 指南

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

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

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

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

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

角色

提示

主角对象,可以通过 引擎.地图.主角快捷访问。

属性

显示名

  • 类型:文本
  • 读写:读写
  • 说明:可以随时修改角色的显示名。

可视

  • 类型:逻辑
  • 读写:读写
  • 说明:角色是否可见。

阵营

  • 类型:整数
  • 读写:只读
  • 说明:1 友方 -1 敌方 0 中立。

x

  • 类型:整数
  • 读写:读写
  • 说明:地图坐标x 改写只会影响显示效果,逻辑位置并没有发生变化

y

  • 类型:整数
  • 读写:读写
  • 说明:地图坐标y 改写只会影响显示效果,逻辑位置并没有发生变化

等级

  • 类型:整数
  • 读写:读写
  • 说明:角色当前等级。

经验

  • 类型:整数
  • 读写:读写
  • 说明:角色当前的经验。

升级经验

  • 类型:整数
  • 读写:只读
  • 说明:获得角色升级所需要的经验。

角色高度

  • 类型:整数
  • 读写:只读
  • 说明:当前角色动画的高度。

角色大小

  • 类型:小数
  • 读写:读写
  • 说明:角色比例倍数。

血条效果

  • 类型:table
  • 读写:读写
  • 说明:同配置项中的血条效果。

名称效果

  • 类型:table
  • 读写:读写
  • 说明:同配置项中的名称效果。

光影效果

  • 类型:table
  • 读写:读写
  • 说明:动态改变角色光影效果。
系统事件 = {
	点击 = function(按钮对象)

		引擎.地图.环境色 = RGBA(80,80,80,255)

		if (引擎.地图.主角.光影效果 == nil) then
			引擎.地图.主角.光影效果 = {锚点x=0.5,锚点y=0.5,水平缩放=1.5,垂直缩放=1.5,颜色=RGBA(255, 255, 255,255)} -- 整理改变
		else 
			引擎.地图.主角.光影效果.颜色 = RGBA(255,255,0,255)  -- 单独属性改变
			引擎.地图.主角.光影效果.水平缩放 = 引擎.地图.主角.光影效果.水平缩放 * 1.1
			引擎.地图.主角.光影效果.垂直缩放 = 引擎.地图.主角.光影效果.垂直缩放 * 1.1
		end	
		
  	end,
}

移动控制

  • 类型:逻辑
  • 读写:读写
  • 说明:是否允许角色被控制。

自动战斗

  • 类型:逻辑
  • 读写:读写
  • 说明:是否允许角色自动战斗。

主动攻击

  • 类型:逻辑
  • 读写:读写
  • 说明:是否允许角色主动攻击。

移动间隔

  • 类型:整数
  • 读写:读写
  • 说明:同配置项中的移动间隔。

巡逻范围

  • 类型:整数/table
  • 读写:读写
  • 说明:同配置项中的巡逻范围。

自动拾取距离

  • 类型:整数
  • 读写:读写
  • 说明:当前道具允许自动拾取时,会在道具自动拾取的基础距离上增加拾取距离。单位:格子 默认为0。

附加

  • 类型:table
  • 读写:读写
  • 说明:自定义变量集合。
引擎.地图.主角.附加.死亡次数 = 1
引擎.地图.主角.附加.暴击几率 = 10

属性表

  • 类型:table
  • 读写:读写
  • 说明:当前角色的所有属性,包括附加。方便给其他组件配置数据源时使用。
名称类型说明
系统属性...整数系统的默认属性
扩展属性...整数自定义的扩展属性
x数值角色的地图坐标x
y数值角色的地图坐标y
格子x整数角色的地图格子x
格子y整数角色的地图格子y
名称文本
显示名文本
地图地图对象当前所在的地图对象
附加通用自定义的数据
调试输出(引擎.地图.主角.属性表.攻击)
调试输出(引擎.地图.主角.属性表.附加)

掉落几率

  • 类型:整数
  • 读写:读写
  • 说明:可以随时修改角色的掉落几率。

目标

  • 类型:角色对象
  • 读写:只读
  • 说明:获得当前角色的攻击目标。
local 当前目标 = 引擎.地图.主角.目标
if (当前目标) then
  调试输出(当前目标.名称,当前目标.hp,当前目标.mp)
end

地图

  • 类型:角色对象
  • 读写:只读
  • 说明:获得当前角色所在的地图对象。

装备

  • 类型:table
  • 说明:你可以在脚本中使用 角色.装备.位置名称 快速读写角色当前身上的装备的 道具对象。
if (引擎.地图.主角.装备.武器) then
  引擎.地图.主角.装备.武器.攻击 = 引擎.地图.主角.装备.武器.攻击 + 50
--	引擎.地图.主角.装备.武器.掉落()
end

技能

  • 类型:table
  • 说明:你可以在脚本中使用 角色.技能.技能名称 快速读写当前角色存在的 技能对象。
if (引擎.地图.主角.技能.雷电术 == nil) then
  引擎.信息框("你还没学习 #R雷电术")
  return
end

if (引擎.地图.主角.技能.火球术) then
  引擎.地图.主角.技能.火球术.mp = 6
end

宠物信息

  • 类型:table
  • 读写:读写
  • 说明:当前角色宠物相关的信息。
名称类型读写说明
宠物角色对象 {}只读宠物对象数组
主人角色对象只读无主人 返回 nil
指令文本读写可选: 停留 跟随 攻击
同步死亡逻辑读写主人死亡时是否同步死亡 默认:true
协助优先逻辑读写是否优先攻击主人目标 默认:true
跟随距离整数读写离主角最远格子距离 默认:1
瞬移距离整数读写超出多少格子后瞬移到主人身边 默认:20

仇恨信息

  • 类型:table
  • 读写:读写
  • 说明:当前角色仇恨相关的信息。
名称类型读写说明
角色角色对象只读产生伤害的目标角色
仇恨整数只读累计的仇恨值
伤害整数只读累计的伤害值

方法

添加技能

添加技能
说明:给角色添加技能。
参数名称值的类型是否必填说明描述
技能名称 整数true
属性表 tablefalse
成员类型必填说明
显示名 文本false
气泡提示 文本false
攻击距离 整数false
间隔 整数false 详见 技能配置项
hp 整数false
mp 整数false
优先级 整数false
自动释放 逻辑false
附加 tablefalse

示例

系统事件 = {
    创建 = function (角色对象)
        角色对象.添加技能("火球术",{mp=1})
    end
}

提示

属性表会替换掉原始技能组件中的属性。

删除技能

删除技能
说明:删除已经学习的技能。
参数名称值的类型是否必填说明描述
技能名称 文本true

示例

调试输出(引擎.地图.主角.删除技能("火球术"))
返回值值的类型说明描述
是否成功 逻辑

发动技能

发动技能
说明:让角色发动一次技能。
参数名称值的类型是否必填说明描述
技能名称 文本true
目标对象 角色对象false是否指定目标
切换目标 逻辑false是否将当前攻击目标,切换为指定的目标

示例

local 治疗术 = 引擎.地图.主角.技能.治疗术
if (治疗术 and 治疗术.进度 == 100) then
  引擎.地图.主角.发动技能("治疗术")
end

重置目标

重置目标
说明:清除或者改变当前角色的目标。
参数名称值的类型是否必填说明描述
目标对象 角色对象/nilfalsenil表示清除当前的攻击目标

示例

引擎.地图.主角.重置目标()

添加状态

添加状态
说明:给角色添加状态。
参数名称值的类型是否必填说明描述
状态名称 文本/tabletrue支持直接填写状态配置项生成新状态
来源角色 角色对象false如果不填自己设置为自身
属性表 tablefalse
成员类型必填说明
显示名 文本false
气泡提示 文本false
持续时间 整数false
触发间隔 整数false
拖尾 整数false同 状态配置项
变身 tablefalse同 状态配置项
hp 整数false
hp_百分比 整数false
自定义属性 整数false
自定义属性_百分比 整数false
... 整数false

示例

系统事件 = {
    创建 = function (角色对象)
        角色对象.添加状态("持续恢复",角色对象,{hp=5})


        角色对象.添加状态(
          {
            类型 = "状态",
            名称 = "血影吸血",
            几率 = 100,
            持续时间 = 0,
            触发间隔 = 0,	
          },角色对象,{hp_百分比=30}
        )

    end
}

提示

属性表会替换掉原始状态组件中的属性。

检测状态

检测状态
说明:检测状态是否存在。
参数名称值的类型是否必填说明描述
状态名称 文本true

示例

调试输出(引擎.地图.主角.检测状态("治疗术"))
返回值值的类型说明描述
是否存在 逻辑

删除状态

删除状态
说明:删除指定状态。
参数名称值的类型是否必填说明描述
状态名称 文本true

示例

引擎.地图.主角.删除状态("治疗术")

添加宠物

添加宠物
说明:为当前角色添加一个宠物角色。
参数名称值的类型是否必填说明描述
名称 文本/角色对象true文本型时填角色组件的名称
最大数量 整数false相同名称的宠物携带最大数量

示例

local 宠物对象 = 角色对象.添加宠物("稻草人",6)  -- 最多带6个稻草人 超出会删除最先添加的稻草人
if (宠物对象) then
    宠物对象.宠物信息.同步死亡 = false
    宠物对象.宠物信息.协助优先 = true
end
返回值值的类型说明描述
宠物对象 角色对象成功返回角色对象

提示

  1. 主角瞬移到新地图时,宠物会跟随瞬移到新地图。
  2. 直接将目标角色变成宠物时,目标角色阵营自动变更,无法重生。

移动到

移动到
说明:移动到指定地图格子。
参数名称值的类型是否必填说明描述
格子x 整数true
格子y 整数true
范围 整数false距离目标格子多少范围内算移动完成

示例

local 角色组 = 引擎.地图.创建角色("稻草人",50,50,"友方",0,3); 
for n=1,#角色组 do
  角色组[n].移动到(54,40,1)
end
返回值值的类型说明描述
成功 逻辑如果目标位置错误,或者与目标位置没有可移动的路径返回false

提示

抵达目标点会触发 __EVENT_移动完成

瞬移

瞬移
说明:瞬移主角到指定地图的指定坐标,不填地图名时表示在当前地图瞬移。
参数名称值的类型是否必填说明描述
格子x 整数true
格子y 整数true
角色面向 整数false
地图名称 文本false
清空地图 逻辑false是否清空地图
保留角色组 角色对象 {}false若清空地图这些角色会被保留

示例

if (引擎.地图.名称 == "暗殿密室2") then
    引擎.地图.主角.瞬移(22,19,0,"泡点图")
else
    引擎.地图.主角.瞬移(24,18,0,"暗殿密室2")
end

重生

重生
说明:角色死亡后才可以使用。如果不指定位置和范围,默认在原地重生。
参数名称值的类型是否必填说明描述
格子x 整数false重生格子x
格子y 整数false重生格子x
范围 整数false半径范围

示例

引擎.地图.主角.重生()

销毁

销毁
说明:销毁当前角色,如果有宠物宠物也会一同被销毁。

示例

角色对象.销毁()

加入事件

加入事件
说明:往角色对象中加入一个自定义事件。
参数名称值的类型是否必填说明描述
事件名称 文本true触发的事件名称
附加信息 tablefalse事件触发时可以取出
延迟时间 数值false延迟执行
自动销毁 逻辑false是否只执行一次,默认:true

示例

系统事件 = {
  创建 = function(角色对象)
      角色对象.加入事件("时钟事件",{},1000,false)
  end,

  时钟事件 = function (角色对象,tbl,dt,time)
      调试输出(tbl,dt,time)
  end,
}

删除事件

删除事件
说明:删除指定自定义事件。
参数名称值的类型是否必填说明描述
事件名称 文本true

示例

系统事件 = {
  时钟事件 = function (角色对象,tbl,dt,time)
    角色对象.删除事件("时钟事件")
  end,
}
Prev
地图
Next
道具