把制造系游戏的工匠专精搬进生活职业:铁匠、裁缝、珠宝匠三系专精,工匠可以接单定制——买家提交材料与需求,工匠打造出带工匠铭刻的定制装备,铭刻名与工匠名永久留在装备上。
买家提交定制订单并预付定金,工匠接单后打造,成品附带工匠铭刻。actor是字符串,转对象后创建订单。
local orders = {}
function placeOrder(actor, craft, note)
local player = class(actor)
local orderId = "ORD" .. os.time() .. math.random(100, 999)
orders[orderId] = { buyer = player:GetName(), craft = craft, note = note, paid = 50000 }
player:takeitem("金币", 50000)
sendmsg(actor, 0, "订单已提交,定金5万金币已支付")
return orderId
end
工匠打造完成时在装备上铭刻工匠名与订单备注,成品经订单发起人确认后交付,尾款自动结清。actor是字符串,转对象后交付成品。
local function deliverCraft(actor, orderId)
local player = class(actor)
local order = orders[orderId]
if order == nil then return end
giveitem(order.buyer, "定制" .. order.craft, 1)
sendmail(order.buyer, 0, "定制装备完成", "工匠铭刻:" .. order.note, "")
setplayvar(order.buyer, "HUMAN", "ORDER_STATE", 1, 1)
orders[orderId] = nil
end
下单预付、打造交付、尾款结算三路径验证;订单状态与实际物品流向对账。上线后看定制订单的月成交量与工匠数量,头部工匠接单占比超过五成说明准入门槛要调整。
orders表存内存,重启丢单,定金已付的订单丢失是资损事故,订单数据落盘按序号持久化。定金与尾款的结算比例五五开或四六开要公示,全额定金跑单纠纷最难处理。工匠铭刻的字符串长度截断上限八个字,铭刻超长的字符串写入装备属性会失败。定制装备的属性上限与普通装备持平,定制贵在铭刻与外观,数值超模会摧毁打造玩法的平衡。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 排行榜卡死拖累登录、成就推送挤占带宽,这些非核心功能出问题时最需要的是一个总闸。服务降级预案定义了核心链…
实战应用:用在哪里 单件装备的属性提升有限,套装共鸣让多件装备产生化学反应:穿戴同系三件以上触发共鸣属性,五件触发全局光环。…
实战应用:用在哪里 同一账号在两台设备同时在线,一台打怪一台交易,是盗号者测试密码后的标准动作。多设备在线检测在登录环节检查…
实战应用:用在哪里 老服合并、机房迁移、数据分库改造,都涉及角色数据的批量搬家。数据迁移的核心是搬运过程中不断服、不丢数据、…
实战应用:用在哪里 沙影之路的暗之Boss是行会实力的试金石:真身与三个镜像随机分布在四个祭坛,只有击杀真身才有掉落,镜像被…
实战应用:用在哪里 攻城战最容易变成人海推门的无脑玩法。攻城拔寨将城门攻坚设计为三线战术:正面强攻吸引火力、侧翼工程车破城、…