允许好友代收后,越界采摘的防范要升级:作物可被好友代收但不可被恶意盯梢,家园犬与守护结界给主人两件防护工具,防偷规则的目标不是零接触,而是让接触都在主人预期内。
开启结界后两小时内田块免受一切采摘,结界每天限开一次,主人自己收获也不受影响。
local WARD_CD = 86400
local function openWard(actor)
local player = class(actor)
local last = tonumber(getplayvar(actor, 2, "WARD_TS") or "0")
if os.time() - last < WARD_CD then
sendmsg(actor, 0, "结界充能中,明日再开")
return
end
setplayvar(actor, "HUMAN", "WARD_TS", os.time(), 1)
setplayvar(actor, "HUMAN", "WARD_ON_UNTIL", os.time() + 7200, 1)
sendmsg(actor, 0, "守护结界已开启2小时")
end
家园犬每1800秒巡查一次,发现非授权采摘立即给主人发消息提醒,犬不拦人只报信。
setontimerex(114, 1800)
function ontimer114()
for _, name in ipairs(wardenOwners()) do
local a = getplayerbyname(name)
if a ~= nil and isplayer(a) then
local thief = checkStealLog(a)
if thief ~= nil then
sendmsg(a, 0, "家园犬发现" .. thief .. "试图采摘园中作物!")
end
end
end
end
结界期的授权代收放行、陌生采摘拒绝、结界到期恢复三路径验证;犬类提醒的节流核对。上线后看结界开启率,常开的玩家是高资产种植户,结界时长可以做成增值道具。
WARD_ON_UNTIL的结界期内主人自己的收获必须畅通,结界误伤主人是设计事故。wardenOwners名单的巡查遍历要切片,全服养犬玩家过千时三十秒一轮扫不完。提醒消息的节流每犬每小时一条,反复提醒会把家园犬变成骚扰犬。结界与代收授权的优先级:结界开启时代收授权被暂时覆盖,到期后自动恢复授权语义,两套开关的关系写进帮助文档。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 师门的公共物资散落在各成员背包里,打仗时才发现没药没符。师门仓库给师门一个共享物资池:成员捐献药品、符纸…
实战应用:用在哪里 师门任务的药材全靠成员自己采,供给不稳定还常被市场价卡脖子。师门药园给师门一块自留地:成员认领地块种植药…
实战应用:用在哪里 锁妖塔是每周最受期待的限时地图:封印每七天松动一次,开门后两小时内妖物掉落翻倍,时间一过封印重合。定时开…
实战应用:用在哪里 师门掌门长期连任,门派活动没人组织,新人没有上升通道。掌门挑战玩法给掌门之位装上轮换机制:每两周开放一次…
实战应用:用在哪里 行会驻地有一片空地,升级什么全凭帮主心情。行会建筑升级接口把驻地建筑体系化:聚义厅、兵器库、药庐、演武场…
实战应用:用在哪里 行会公告只有一行纯文本,写不下攻城安排。富文本公告编辑器支持分段落、插表情、标重点色,编辑区所见即所得,…