行会内部的物资交换长期靠喊话:谁有强效太阳水、谁收祝福油,喊话靠缘分看见。行会商会日把内部交易固定成市集:每周日行会驻地开市三小时,成员摆摊免手续费,行会补贴交易税,市集成交量大户还能上贡献榜。内部交易有了固定场所,行会经济就活了。
商会日每周日十四点到十七点开放,窗口内行会成员在驻地摆摊免手续费;窗口外摆摊恢复常规费率,开市与闭市各广播一次提醒。示例代码如下:
-- 行会商会日:开市窗口
local player = class(actor)
local FEE_NORMAL = 5
local function marketFeeRate(player, ts)
local isMarketDay = os.date("%A", ts) == "Sunday"
local hour = tonumber(os.date("%H", ts))
if isMarketDay and hour >= 14 and hour < 17 then
return 0
end
return FEE_NORMAL
end
local function announceMarket(player, ts)
local rate = marketFeeRate(player, ts)
if rate == 0 then
sendmsg(player, 1, 0, "行会商会日进行中,摆摊免手续费!")
else
sendmsg(player, 1, 0, "当前手续费 " .. rate .. "%。")
end
end
市集窗口内的成交按金额百分之一折算行会贡献加成,成交榜实时更新前五名;周成交前三名在下周一的行会公告里获得商会名人展示。示例代码如下:
-- 市集成交:贡献与榜单
local player = class(actor)
local function onMarketDeal(player, dealGold)
local bonus = math.floor(dealGold * 0.01)
setplayvar(player, "HUMAN", "SectContrib",
tonumber(getplayvar(player, "HUMAN", "SectContrib") or 0) + bonus, true)
local week = tonumber(getplayvar(player, "HUMAN", "MarketWeekGold") or 0) + dealGold
setplayvar(player, "HUMAN", "MarketWeekGold", week, true)
sendmsg(player, 1, 0, "市集成交 " .. dealGold .. " 金币,贡献 +" .. bonus .. "。")
end
验证三条链路:窗口内免手续费、窗口外恢复常规费率、成交贡献与榜单数值一致;跨窗口边界的成交按成交时刻的费率计算。运营看三个数:市集日的成交总额对比平日、参与摆摊人数、行会贡献增量,成交总额低于平日八成说明免手续费吸引力不足,试试点位翻倍;市集连续冷清三周则调查是否被外部拍卖行分流。
免手续费曾不限制交易对象,行会A把市集当成对外甩卖场,免手续费限行会成员间交易。成交贡献曾按挂单量算,挂一百个空单刷贡献,贡献按实际成交金额折算。市集窗口曾与全服双倍活动重叠,摊位被活动人流挤爆,排期表把商会日与全服大活动错开,内部经济玩法也要看全服日历。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
学员常见误区 Lua函数可返回多个值,学员用固定变量数接收时如果变量少于返回值,多余返回值被静默丢弃;如果变量多于返回值,多…
设计初衷 行会建筑的死穴是一次全解锁:会员没有逐步建设的过程感。梯度设计让每栋建筑都有前置条件和资源门槛。 数值模型 建筑分…
设计初衷 婚姻系统的属性加成是社交玩法的经济锚点:加成太弱没人结婚,太强则"为了属性被迫结婚"扭曲了社交本质。婚姻边界的设计…
设计初衷 宝箱类玩法的信任危机都源于同一句话:"概率是不是骗人的。"期望公示把概率从事后争议变成事前契约:奖池概率表全量公示…
设计初衷 流拍物(拍卖未成交的退回物品)堆积在卖家背包里成为死资产:低价值物流拍后无人问津,高价值物流拍后卖家不愿降价重拍。…
业务场景 沙巴克战功榜每周结算,玩家提交战功前不知道"再打多少能进前 10、前 10 的奖励是什么"。名次预览:输入自己的战…