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

    • 更新日志
  • 指南

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

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

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

    • 文本
    • 艺术字
    • 精灵
    • 矩形
    • 圆形
    • 动画
    • 模型
  • 其他

    • 丰富文本
    • 模板变量
    • 资源格式
    • 游戏盒子
    • 资源列表
  • 自定义功能

    • 战斗血液效果
    • 地图天气
  • 全局

    方法

    调试输出

    调试输出
    说明:在控制台上显示调试信息。
    参数名称值的类型是否必填说明描述
    ... 通用true不定参数

    示例

    调试输出(1,2,3,4,RGBA(128,128,0,255))
    

    Log

    Log
    说明:在控制台上显示调试信息并且记录到Log文件中。
    参数名称值的类型是否必填说明描述
    ... 通用true不定参数

    示例

    Log("进入游戏",{名称="小明",等级=16})
    

    注意事项
    1、游戏模式下保存位置: Log/game.年月日.log
    2、服务端模式下保存位置:Log/server.年月日.log

    RGBA

    RGBA
    说明:返回一个RGBA颜色值。
    参数名称值的类型是否必填说明描述
    R 整数true
    G 整数true
    B 整数true
    A 整数true

    示例

    local 白色 = RGBA(255,255,255,255);
    调试输出(白色)
    
    返回值值的类型说明描述
    颜色值 整数

    MD5

    MD5
    说明:md5数据校验。
    参数名称值的类型是否必填说明描述
    文本 文本true
    是否是文件 逻辑false是否对指定文件取md5

    示例

    调试输出(MD5("男子殴打女邻居:她学习DM的瘾很大"))
    调试输出(MD5("res/dd.dat",true))
    
    返回值值的类型说明描述
    结果 文本小写格式 失败返回"" 空文本

    BASE64

    BASE64
    说明:Base64编解码。
    参数名称值的类型是否必填说明描述
    文本 文本true
    模式 逻辑false编码:true 解码:false 默认:true
    文件模式 逻辑false是否是文件

    示例

    local 存档信息 = {
      名称 = "小明",
      等级 = 20,
      金币 = 9887
    }
    local 存档数据 = table.tojson(存档信息);
    local base64Str = BASE64(存档数据);
    调试输出(base64Str)
    调试输出(BASE64(base64Str,false))
    
    local image = BASE64("res/内观/00117.png",true,true) -- 图片转base64
    
    返回值值的类型说明描述
    结果 文本

    POST

    POST
    说明:对指定Url发送一个POST请求。同步模式。
    参数名称值的类型是否必填说明描述
    Url 文本true
    数据 文本/tablefalse
    转码 逻辑falseUTF8模式
    headers tablefalse

    示例

    local 状态,时间信息 = POST("http://vv.video.qq.com/checktime","otype=json")
    if (状态 == 200) then
    --	local _,a = string.find(时间信息, "\"t\":");
    --	local b  = string.find(时间信息, ",\"ip\"");
    --	local 时间戳 = tonumber(string.sub(时间信息,a+1,b-1));
        local 时间戳 = tonumber(string.match(时间信息,'"t":(%d+)'));
    	调试输出("时间戳",时间戳,os.date("%Y-%m-%d %H:%M:%S",时间戳))
    end
    
    
    local 存档信息 = {
      名称 = "小明",
      等级 = 20,
      金币 = 9887
    }
    local 状态,结果 = POST("http://xxxxxxx/call",存档信息,true) -- UTF8模式交互
    调试输出(状态,结果)
    
    
    
    
    -- https://pollinations.ai/ 
    -- model: ["flux","kontext","turbo","nanobanana"]
    local 关键词 = "Chinese-style realistic wolf monster with transparent background for game use";
    math.randomseed(os.time()) 
    local seed = math.random(99999)
    local 状态,结果 = POST("https://image.pollinations.ai/prompt/"..关键词.."?model=turbo&width=256&height=256&nologo=true&seed=" .. seed)
    调试输出(状态,结果,seed)
    if (状态 == 200) then
      按钮对象.父窗口.图片框3.底图 = 结果
    end
    
    
    
    --- api.siliconflow.cn -------
    local headers = {}
    headers["Authorization"] = "Bearer xxxxxxxxxxxxxxxxxx"
    headers["Content-Type"] = "application/json"
    
    local 接口信息 = {
    	model = "Qwen/Qwen3-Next-80B-A3B-Instruct",
    	messages = {{role="user",content="写一个Lua加法函数"}},
    	top_p = 0.7,
    	thinking_budget  = 4096
    }
    
    local 状态,结果 = POST("https://api.siliconflow.cn/v1/chat/completions",接口信息,true,headers)
    调试输出(状态,结果)
    
    
    local 文生图接口 = {
    	batch_size = 3,
    	num_inference_steps = 20,
    	guidance_scale = 7.5,
    	prompt = "半兽人战士,全身像,肌肉发达,绿色皮肤,獠牙外露,手持粗糙石斧,穿着兽皮裙和骨制护甲,眼神凶狠,写实质感",
    	model = "Kwai-Kolors/Kolors",
    	image_size = "1024x1024",
    --	seed = math.random(99999)
    }
    
    local 状态,结果 = POST("https://api.siliconflow.cn/v1/images/generations",文生图接口,true,headers)
    
    if(状态 == 200) then
    	local jsonTbl = table.loadjson(结果)
    	调试输出(jsonTbl)
    end
    
    返回值值的类型说明描述
    状态码 整数200:请求成功
    结果 文本

    注意事项
    1、PHP环境下Session默认自动保持。
    2、如果返回数据是图片会自动保存到Res目录下并且返回地址。
    3、AI接口使用的平台:siliconflow

    string.split

    string.split
    说明:将指定文本进行分割,返回分割后的一维文本数组。
    参数名称值的类型是否必填说明描述
    待分割文本 文本true
    用作分割的文本 文本false如果留空,则将待分割的文本分割成字符组。

    示例

    local 结果  = string.split("木柴|大米|粮油","|")    -- 按 | 分割
    调试输出(结果)
    
    结果  = string.split("我的游戏我做主")        -- 分割成字符组
    调试输出(结果)
    
    返回值值的类型说明描述
    结果 table

    string.fileinfo

    string.fileinfo
    说明:用取文件名称,路径,后缀等信息。
    参数名称值的类型是否必填说明描述
    文件名 文本true

    示例

    local info = string.fileinfo("01/角色/主角.lua")
    调试输出(info)
    
    返回值值的类型说明描述
    结果 table{路径,文件名,名称,后缀}

    string.addspace

    string.addspace
    说明:将文本扩展到指定长度,按照对齐方式,进行左,右,居中以空格补齐。
    参数名称值的类型是否必填说明描述
    待扩展的文本 文本true
    被扩展成的长度 整数true
    对齐方式 整数true0:左对齐 1:右对齐 2:居中对齐

    示例

    调试输出(string.addspace("中国人",32,1))
    调试输出(string.addspace("中国人",32,2))
    
    返回值值的类型说明描述
    扩展后的文本 文本

    math.round

    math.round
    说明:按位数进行四舍五入。
    参数名称值的类型是否必填说明描述
    值 数值true
    小数点后位数 整数false默认保留2位小数

    示例

    调试输出(2/3)
    调试输出(math.round(2/3,2))
    
    返回值值的类型说明描述
    结果 小数

    math.format

    math.format
    说明:格式化数值。
    参数名称值的类型是否必填说明描述
    值 数值true
    格式化模式 整数false0:千分位 1:中文单位 2:中文数字 3:毫秒转 时:分:秒

    示例

    调试输出(math.format(1234567,0))	-- 1,234,567
    调试输出(math.format(1234567,1))	-- 123.45万
    调试输出(math.format(1234567,2))	-- 一百二十三万四千五百六十七
    调试输出(math.format(1234567,3))	-- 00:20:34
    
    返回值值的类型说明描述
    结果 文本

    math.取两点间距离

    math.取两点间距离
    说明:取两点间距离。math.sqrt (math.abs ((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)))
    参数名称值的类型是否必填说明描述
    x1 数值true
    y1 数值true
    x2 数值true
    y2 数值true

    示例

    local 距离 = math.取两点间距离(来源角色.x,来源角色.y,目标角色.x,目标角色.y)
    
    返回值值的类型说明描述
    结果 数值

    math.取两点间格子

    math.取两点间格子
    说明:取两点间格子。 math.max(math.abs(x1 - x2), math.abs(y1 - y2))
    参数名称值的类型是否必填说明描述
    x1 数值true
    y1 数值true
    x2 数值true
    y2 数值true

    示例

    local 格子 = math.取两点间格子(来源角色.x,来源角色.y,目标角色.x,目标角色.y)
    
    返回值值的类型说明描述
    结果 数值

    math.取两点间角度

    math.取两点间角度
    说明:取两点间角度。
    参数名称值的类型是否必填说明描述
    x1 数值true
    y1 数值true
    x2 数值true
    y2 数值true

    示例

    local 角度 = math.取两点间角度(来源角色.x,来源角色.y,目标角色.x,目标角色.y)
    
    返回值值的类型说明描述
    结果 数值

    math.取两点间方向

    math.取两点间方向
    说明:取两点间方向。
    参数名称值的类型是否必填说明描述
    x1 数值true
    y1 数值true
    x2 数值true
    y2 数值true

    示例

    local 方向 = math.取两点间方向(来源角色.x,来源角色.y,目标角色.x,目标角色.y)
    
    返回值值的类型说明描述
    结果 数值

    math.按角度距离取坐标

    math.按角度距离取坐标
    说明:按角度距离取坐标。
    参数名称值的类型是否必填说明描述
    x 数值true
    y 数值true
    角度 数值true
    距离 数值true

    示例

    local 距离 = math.取两点间距离(来源角色.x,来源角色.y,目标角色.x,目标角色.y)
    local 角度 = math.取两点间角度(来源角色.x,来源角色.y,目标角色.x,目标角色.y)
    local x,y = math.按角度距离取坐标(来源角色.x,来源角色.y,角度,距离 + 100)
    
    返回值值的类型说明描述
    x 数值
    y 数值

    os.uuid

    os.uuid
    说明:返回26位长度的唯一字符串。

    示例

    调试输出(os.uuid())
    
    返回值值的类型说明描述
    结果 文本

    table.copy

    table.copy
    说明:将深拷贝一个table。
    参数名称值的类型是否必填说明描述
    tbl tabletrue

    示例

    local 结果  = string.split("木柴|大米|粮油","|")    -- 按 | 分割
    local 结果2 = table.copy(结果)
    
    返回值值的类型说明描述
    结果 table

    table.tojson

    table.tojson
    说明:将table转换成json格式。
    参数名称值的类型是否必填说明描述
    tbl tabletrue待转换的table
    密钥 文本false填写表示加密

    示例

    local 存档 = {等级=10,金币=666,属性={攻击=10,防御=5}}
    调试输出(table.tojson(存档))
    调试输出(table.tojson(存档,"123456"))
    
    返回值值的类型说明描述
    结果 文本

    table.loadjson

    table.loadjson
    说明:将json文本转换成table。
    参数名称值的类型是否必填说明描述
    json 文本true
    密钥 文本false填写表示转换已经加密的数据

    示例

    local 存档 = {等级=10,金币=666,属性={攻击=10,防御=5}}
    local 结果 = table.tojson(存档,"123456")
    调试输出(table.loadjson(结果,"123456"))
    
    返回值值的类型说明描述
    结果 table失败返回nil

    table.tofile

    table.tofile
    说明:将table保存到文件里面。
    参数名称值的类型是否必填说明描述
    tbl tabletrue
    文件名 文本true
    密钥 文本false填写表示加密

    示例

    local 存档 = {等级=10,金币=666,属性={攻击=10,防御=5}}
    调试输出(table.tofile(存档,"save.dat","123456"))
    
    返回值值的类型说明描述
    成功 逻辑

    提示

    文件地址支持相对路径和绝对路径,相对路径位于 执行文件目录。

    table.loadfile

    table.loadfile
    说明:从文件里读取table。
    参数名称值的类型是否必填说明描述
    文件名 文本true
    密钥 文本false填写表示解析被加密的文件

    示例

    local 存档 = {等级=10,金币=666,属性={攻击=10,防御=5}}
    --调试输出(table.tofile(存档,"save.dat","123456"))
    调试输出(table.loadfile("save.dat","123456"))
    
    返回值值的类型说明描述
    结果 table失败返回nil
    Prev
    缓动