世界喊话组队引来一堆代练小号与混子,想带朋友打祖玛七层总被陌生人挤进队伍;屏蔽申请又挡住了真路人。私密队伍封装:队长给队伍设 4 位数字密码,密码校验通过才能入队;被邀请的好友走白名单直通——门槛挡广告不挡朋友。
设密与校验。示例代码如下:
local function setTeamPwd(actor, pwd)
if #pwd ~= 4 or not tonumber(pwd) then
sendmsg(actor, 1, "密码须为 4 位数字。")
return
end
setplayvar(actor, 1, "TeamPwd", pwd, 0)
sendmsg(actor, 1, "队伍已上锁,密码仅队友可见。")
end
入队校验。示例代码如下:
local function tryJoin(actor, leaderName, pwd)
local leader = getplayerbyname(leaderName)
if not leader then
sendmsg(actor, 1, "队伍不存在。")
return
end
local real = tostring(getplayvar(leader, 1, "TeamPwd") or "")
local invited = tostring(getplayvar(actor, 0, "InvitedBy") or "") == leaderName
if real ~= "" and pwd ~= real and not invited then
sendmsg(actor, 1, "队伍密码错误。")
return
end
sendmsg(actor, 1, "校验通过,正在加入。")
end
setTeamPwd 校验 4 位纯数字后写队长变量(TeamPwd,isSave=0 队伍临时状态,解散即清);tryJoin 三条通路——密码正确、被邀请直通(InvitedBy 匹配队长名,邀请即白名单)、无密码队伍直接进。校验失败统一提示"队伍密码错误",不区分"密码错"与"没设密码",不给试探者反馈梯度。
私密队伍踩过三个坑:一是密码被队友外传后形同虚设,加"改密码全员重邀"规则——密码一换旧白名单作废;二是邀请白名单没有清理,上次邀请过的路人这次免密码混进新队伍,开新队时统一清空 InvitedBy;三是 4 位纯数字被暴力尝试(每秒 30 次试探),加每队长每分钟 5 次的尝试上限、超限锁定 60 秒,试探成本被抬到不值得。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【语法】 一、隐蔽陷阱 任务链按 next 映射逐格跳转,怀疑某条链绕回了旧节点。用 visited 表记录走过的节点能判环…
【游戏】 一、业务场景 交易行里有人收了定金就消失,买家吃闷亏还没处查底细。信用分规则上线:每笔成交双方互评,好评加 2 分…
【语法】 一、隐蔽陷阱 运营报表里"截止第 3 关的最高分"显示 40,可那一批数据里确实出过 120。数据没丢,问题出在统…
【游戏】 一、业务场景 玩家反映:花 30 金锭重随一件武器,好不容易出了一条攻击加成,下一轮重随又把它洗没了,连洗 8 次…
【语法】 一、隐蔽陷阱 把 1000 个金币打包成不超过 25 个包裹,单包容量多大才够?从 1 开始逐个容量去试要跑上千次…
【游戏】 一、业务场景 帮会仓库积了 80 万资金,帮众修装备要借钱,之前的写法是谁申请谁直接扣款,一周被冒领 12 万。资…