把制造系游戏的工匠专精搬进生活职业:铁匠、裁缝、珠宝匠三系专精,工匠可以接单定制——买家提交材料与需求,工匠打造出带工匠铭刻的定制装备,铭刻名与工匠名永久留在装备上。
买家提交定制订单并预付定金,工匠接单后打造,成品附带工匠铭刻。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 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 装备回收商 NPC 每天按评分收购玩家的装备,裁决之杖、骨玉权杖按攻击、持久加权打分,榜上只要前五名。数…
实战应用:用在哪里 沙巴克攻城是全服行会战的最高舞台:攻方砸开城门、抢占皇宫,守方依托城墙与复活点反打。规则设计的关键是节奏…
实战应用:用在哪里 影分身玩法给法师职业补上生存短板:危急时刻召唤四个影分身分担仇恨,敌人需要在六格范围内分辨真身,猜错就浪…
实战应用:用在哪里 组队邀请、行会宣战这类关键信令丢了没有兜底,玩家只能反复手点,高峰期体验很差。重试机制给信令加确认回执:…
实战应用:用在哪里 新资料片上线首日预约量常是日常十倍,一口气全开会让数据库与登录网关同时过载。滚动开区把开区动作排成队列:…
实战应用:用在哪里 百人同屏的沙巴克外围战场,每个玩家每秒跑动会触发数次位置更新,全部即时下发时广播量随人数平方增长,网关先…