师门任务的药材全靠成员自己采,供给不稳定还常被市场价卡脖子。师门药园给师门一块自留地:成员认领地块种植药草,按时浇水除虫,成熟后收成归师门仓库与种植者分成。种植框架要处理地块管理、生长周期与收成分配三个环节,让师门的药材供给自给自足。
药园共二十四块地,成员消耗师门贡献认领并播种;生长分发芽、成长、成熟三阶段,浇水与除虫两次照料缺一,收成打八折。示例代码如下:
-- 药园:认领与照料
local player = class(actor)
local PLOTS = 24
local function plantHerb(player, plotId, herbType)
if plotId < 1 or plotId > PLOTS then
sendmsg(player, 1, 0, "地块编号无效。")
return
end
local owner = getsysvar("Plot_" .. plotId)
if owner ~= nil and owner ~= "" then
sendmsg(player, 1, 0, "该地块已被认领。")
return
end
local contrib = tonumber(getplayvar(player, "HUMAN", "SectContrib") or 0)
if contrib < 50 then
sendmsg(player, 1, 0, "播种需 50 点师门贡献。")
return
end
setplayvar(player, "HUMAN", "SectContrib", contrib - 50, true)
setsysvarex("Plot_" .. plotId, getbaseinfo(player, 3) .. "|" .. herbType .. "|" .. os.time(), true)
sendmsg(player, 1, 0, "播种成功,记得按时浇水和除虫。")
end
成熟后由种植者收割,收成的七成归种植者、三成入师门仓库;超期未收的药草枯萎一半,督促种植者及时收割,保持药园轮转效率。示例代码如下:
-- 药园:收割与分成
local player = class(actor)
local function harvestHerb(player, plotId)
local raw = getsysvar("Plot_" .. plotId) or ""
local owner, herbType, plantTs = string.match(raw, "([^|]+)|([^|]+)|(%d+)")
if owner == nil then
sendmsg(player, 1, 0, "该地块没有种植药草。")
return
end
local cared = getplayvar(player, "HUMAN", "PlotCare_" .. plotId) == "1"
local yield = cared and 10 or 8
local mine = math.floor(yield * 0.7)
local sect = yield - mine
giveitem(player, herbType, mine)
setsysvarex("SectPool_" .. herbType, tonumber(getsysvar("SectPool_" .. herbType) or 0) + sect, true)
setsysvarex("Plot_" .. plotId, "", true)
sendmsg(player, 1, 0, "收割 " .. yield .. " 株,自得 " .. mine .. " 株," .. sect .. " 株入师门仓库。")
end
验证三条链路:认领占用与释放、照料缺失的八折收成、七三分成的两边账目正确;超期枯萎的折损单独验证。线上监控地块周转率与枯萎率,枯萎率高于三成说明成熟提醒不到位,增加成熟前两小时的邮件提醒;药园产出占师门药材消耗的比例超过五成时,可上调任务所需的药材品质档位。
地块认领曾不限数量,一人包圆二十四块地,其他成员无地可种,认领上限每人两块。照料判定曾只查浇水,除虫漏做照常满收,照料完整性要求两动作齐备。收成分配曾全部归个人,师门仓库入不敷出,三七分成让公共池稳定进账,个人与集体的收益平衡是公共玩法的设计重心。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
学员常见误区 Lua函数可返回多个值,学员用固定变量数接收时如果变量少于返回值,多余返回值被静默丢弃;如果变量多于返回值,多…
设计初衷 行会建筑的死穴是一次全解锁:会员没有逐步建设的过程感。梯度设计让每栋建筑都有前置条件和资源门槛。 数值模型 建筑分…
设计初衷 婚姻系统的属性加成是社交玩法的经济锚点:加成太弱没人结婚,太强则"为了属性被迫结婚"扭曲了社交本质。婚姻边界的设计…
设计初衷 宝箱类玩法的信任危机都源于同一句话:"概率是不是骗人的。"期望公示把概率从事后争议变成事前契约:奖池概率表全量公示…
设计初衷 流拍物(拍卖未成交的退回物品)堆积在卖家背包里成为死资产:低价值物流拍后无人问津,高价值物流拍后卖家不愿降价重拍。…
业务场景 沙巴克战功榜每周结算,玩家提交战功前不知道"再打多少能进前 10、前 10 的奖励是什么"。名次预览:输入自己的战…