金位摊位成了稀缺资产,私下转让滋生倒卖。过户系统把转让收编:双方确认、缴纳成交价一成的过户费、转让后原主七天禁拍同区域,倒卖有成本,市场秩序有依托。
过户接口校验双方身份与摊位归属,收取过户费后变更登记。actor是字符串,转对象后结算过户。
local TRANSFER_RATE = 10
local function transferStall(actor, buyerName, stallId)
local player = class(actor)
local price = getStallValue(stallId)
local fee = math.floor(price * TRANSFER_RATE / 100)
local buyer = getplayerbyname(buyerName)
if buyer == nil or not isplayer(buyer) then
sendmsg(actor, 0, "受让方不在线")
return
end
if class(buyer):checkitemw("金币", price + fee) == false then
sendmsg(buyer, 0, "需准备摊位款" .. price .. "加过户费" .. fee)
return
end
class(buyer):takeitem("金币", price + fee)
giveitem(actor, "金币", price)
setplayvar(buyer, "HUMAN", "STALL_ZONE", getplayvar(actor, 2, "STALL_ZONE"), 1)
setplayvar(actor, "HUMAN", "STALL_LOCK", os.time() + 604800, 1)
sendmsg(actor, 0, "过户完成,7天内不可再竞拍同区域")
sendmsg(buyer, 0, "摊位过户完成,租期重新计算")
end
七天禁拍锁防止原主反复倒卖刷差价,过户记录进台账供回溯。actor的锁定标记由竞拍入口复核。
local function checkStallLock(actor, zone)
local player = class(actor)
local lockUntil = tonumber(getplayvar(actor, 2, "STALL_LOCK") or "0")
if lockUntil > os.time() then
sendmsg(actor, 0, "转让冷却中,剩余" .. math.ceil((lockUntil - os.time()) / 86400) .. "天")
return false
end
return true
end
过户扣款、禁拍锁、双方确认三条路径验证;费用账目与流转台账核对。上线后监控过户频率与价格分布,转让价格异常高于市场指导价时复核是否在洗牌。
price的评估取摊位近七天租金均值,私下议价与系统评估价的差额是洗钱空间,过户费按孰高值收取。STALL_LOCK只锁同区域,全区域都锁会误伤正常搬迁需求。受让方的款项校验与扣款连续执行,中途掉线的半截过户要有回滚。过户台账记录双方、摊位、价格、时间四要素,账目齐全的过户在纠纷时才有裁定依据。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 月卡签到是留存的基本盘,但断签一天就放弃整月的玩家不在少数。签到面板把三十天签到铺成日历:已签高亮、当日…
实战应用:用在哪里 徒弟满级出师往往只是一句系统提示,师徒情谊没有仪式感的收尾。出师宴把出师做成一场宴席:师徒在比奇酒楼设宴…
实战应用:用在哪里 绑定装备不能交易,玩家手里积压的绑定神器既不能卖也不能换,只能分解。绑定价差设计承认两种装备的双轨价值:…
实战应用:用在哪里 冷备份数据躺在离线介质里,从不解包就永远不知道里面是完整数据还是一堆乱码。冷备抽查每月随机解包两套历史备…
实战应用:用在哪里 预案写在文档里从来不等于是真的能执行:断网、杀进程、拔磁盘,每一种故障第一次真实发生时都是灾难。故障演练…
实战应用:用在哪里 玩家要temporary离开游戏又舍不得宠物掉资质,宠物寄养让宠物进寄养棚按天托管:寄养期间资质锁定不掉…