查看“︁Lua接口/时间与计时”︁的源代码
来自天龙知识库
←
Lua接口/时间与计时
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
__NOTOC__ <div class="lua-reference" style="max-width:1200px;margin:0 auto;line-height:1.8;color:#29343a;font-family:Arial,'Microsoft YaHei',sans-serif;letter-spacing:0;overflow-wrap:anywhere;"> [[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]] 读取服务器时间、日期字段、世界时间,以及为玩家设置计时器。取日期时注意月份为 0 到 11(tm 约定)。 == 当前时间 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetCurrentTime|LuaFnGetCurrentTime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 当前时间(秒,无参)。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/mytime|mytime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 当前 ANSI 时间戳(无参);失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetHour|GetHour]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 当前小时 0-23(无参);失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetMinute|GetMinute]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 当前分钟 0-59(无参);失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetDayTime|GetDayTime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 当前天数(如 1140 表示 2001 年第 140 天,无参);失败 -1。 |} 这几个接口都不接受参数。 == 日期字段 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetTodayYear|GetTodayYear]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 四位公历年份;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetTodayMonth|GetTodayMonth]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 月份索引 0-11;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetTodayDate|GetTodayDate]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 本月日号;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetTodayWeek|GetTodayWeek]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 星期索引,星期日为 0;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetThisYear|LuaFnGetThisYear]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 公历年份;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetThisMonth|LuaFnGetThisMonth]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 月份 0-11(tm 约定);失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetDayOfThisMonth|LuaFnGetDayOfThisMonth]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 本月日号 1-31;失败 -1。 |} [[Lua接口/服务端/GetTodayMonth|GetTodayMonth]] 与 [[Lua接口/服务端/LuaFnGetThisMonth|LuaFnGetThisMonth]] 都返回 **0 到 11**(tm 约定),不要当 1 到 12 用。[[Lua接口/服务端/GetTodayWeek|GetTodayWeek]] 里**星期日是 0**。 == 周与时间片 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetWeekTime|GetWeekTime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 年份和周序号组合值;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetTime2Day|GetTime2Day]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 当前日期 YYYYMMDD 数值;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetQuarterTime|GetQuarterTime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 15 分钟时间片编号;失败 -1。 |} [[Lua接口/服务端/GetTime2Day|GetTime2Day]] 返回形如 20260912 的整数,便于直接比较日期。[[Lua接口/服务端/GetQuarterTime|GetQuarterTime]] 以 15 分钟为一片。 == 世界时间 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetCurrentWorldTime|LuaFnGetCurrentWorldTime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 世界服务器同步的十二时辰索引;失败 -1。 |} [[Lua接口/服务端/LuaFnGetCurrentWorldTime|LuaFnGetCurrentWorldTime]] 取的是**世界服同步的十二时辰**,与本地小时不同。 == 玩家计时器 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetTimer|SetTimer]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, scriptId, funcName, tickTime</code> → 计时器索引;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/StopTimer|StopTimer]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, sceneTimerIndex</code>;无返回值。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/CheckTimer|CheckTimer]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, TimeIndex</code> → 是否在使用中;失败 -1。 |} [[Lua接口/服务端/SetTimer|SetTimer]] 需要 5 个参数,时间到会自动调用指定脚本的 funcName(约定为 OnTimer)。**每个玩家身上最多绑定三个计时器**。[[Lua接口/服务端/StopTimer|StopTimer]] 无返回值,且只传计时器索引,不传 selfId。 == 单位与在线时间 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetCharacterTimer|SetCharacterTimer]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, nTime</code>;无返回值。nTime 为 0 时停止时钟。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetCharacterDieTime|SetCharacterDieTime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, nTime</code>;无返回值。只对 Monster 和 Pet 有效。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetGameTime|GetGameTime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 玩家在线时间(秒);失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetObjCreateTime|GetObjCreateTime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 对象创建时间;失败 -1。 |} [[Lua接口/服务端/SetCharacterTimer|SetCharacterTimer]] 设置单位时钟间隔,传 0 停止;[[Lua接口/服务端/SetCharacterDieTime|SetCharacterDieTime]] 只对怪物和珍兽有效。 == 读取当前日期 == <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">local year = GetTodayYear() local month = GetTodayMonth() local day = GetTodayDate() if type(year) == "number" and type(month) == "number" and type(day) == "number" then -- month 为 0-11,显示时需要加 1 end</pre> [[Lua接口/服务端/GetTodayMonth|GetTodayMonth]] 返回 0 到 11,展示给玩家时需要加 1。 == 设置玩家计时器 == <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">local idx = SetTimer(sceneId, selfId, scriptId, "OnTimer", 60000) if type(idx) == "number" and idx ~= -1 then -- 计时器创建成功,idx 为索引 end</pre> [[Lua接口/服务端/SetTimer|SetTimer]] 返回计时器索引,失败 -1;关闭时用 [[Lua接口/服务端/StopTimer|StopTimer]] 传该索引。 == 相关主题 == * [[Lua接口/角色信息|角色信息]] * [[Lua接口/属性读取与修改|属性读取与修改]] * [[Lua接口/等级与经验|等级与经验]] * [[Lua接口/货币相关|货币相关]] * [[Lua接口/物品查询|物品查询]] * [[Lua接口/物品发放与扣除|物品发放与扣除]] * [[Lua接口/背包空间|背包空间]] * [[Lua接口/装备操作|装备操作]] * [[Lua接口/任务状态|任务状态]] * [[Lua接口/任务变量|任务变量]] * [[Lua接口/NPC对话|NPC 对话]] * [[Lua接口/对话选项|对话选项]] * [[Lua接口/技能相关|技能相关]] * [[Lua接口/心法相关|心法相关]] * [[Lua接口/状态效果|状态效果]] * [[Lua接口/生活技能|生活技能]] * [[Lua接口/珍兽查询|珍兽查询]] * [[Lua接口/珍兽操作|珍兽操作]] * [[Lua接口/场景查询|场景查询]] * [[Lua接口/坐标与传送|坐标与传送]] * [[Lua接口/副本相关|副本相关]] * [[Lua接口/活动相关|活动相关]] * [[Lua接口/时间与计时|时间与计时]] * [[Lua接口/怪物相关|怪物相关]] * [[Lua接口/队伍相关|队伍相关]] * [[Lua接口/帮会相关|帮会相关]] * [[Lua接口/消息与提示|消息与提示]] * [[Lua接口/聊天与公告|聊天与公告]] [[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]] [[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]] <div style="margin-top:20px;padding-top:10px;border-top:1px solid #dbe3e6;color:#657078;font-size:12px;">本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。</div> </div>
返回
Lua接口/时间与计时
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息