【游戏】
一、业务场景
帮会战报、人事、物资单据散落各处,找一份半年前的记录要翻半天。书吏岗位上线:招募书吏每日誊抄归档,文书按年月编目入库,检索时按编号直达。
二、实现方案
文书归档(年月编号双键):
local function archiveDoc(actor, kind, text)
local ym = os.date("%Y%m")
local n = (getsysvar("docN_" .. ym) or 0) + 1
setsysvarex("docN_" .. ym, n)
setsysvarex("doc_" .. ym .. "_" .. n,
kind .. "|" .. text)
sendmsg(actor, 1, "已归档 " .. ym .. "-" .. n)
end
编目检索(按年月列出清单):
local function listDoc(actor, ym)
local n = getsysvar("docN_" .. ym) or 0
for i = 1, n do
sendmsg(actor, i .. ":" ..
getsysvar("doc_" .. ym .. "_" .. i))
end
end
三、边界处理
文书内容限 100 字;同年同月编目递增不重复;档案保留一年到期转存冷备。
四、引擎验证
归档三份不同类型文书后按年月检索完整列出;编目编号连续无跳号。
五、FAQ
问:文书能改吗?
答:不能,归档后只读如需更正另立新档。
问:能归档多少份?
答:单月上限 200 份。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 一、先抛一个坑 暗影突袭为什么不能做成"消失→出现在怪身后→砍一刀"三步走?因为玩家看到的不是三步,是"一眨眼…
【游戏功能】 一、一个冻了个寂寞的冰触 冰封之触首版测试,冰锥命中后怪确实被冻住了——但玩家反馈"冻了像没冻"。冰壳做出来了…
【游戏功能】 一、一行代码拆解 P.dashDir = M.x = P.x ? 1 : -1 ——踏前斩的全部启动逻辑就这一…
【游戏功能】 一、一个差半格的转盘 大转盘抽奖的首版测试,指针差半格没对准奖品中心就停了——视觉上明明指着太阳水,结算却给了…
【游戏功能】 一、一行代码拆解 P.dashDir = M.x = P.x ? 1 : -1 ——踏前斩的全部启动逻辑就这一…
【游戏功能】 一、一个被当成装饰品的斩气 鬼斩首版的紫光弧线确实好看——但测试说"这个紫光是什么意思?我中招了吗?怪掉血了吗…