CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
Lua实战随机名生成器

【Lua实战】随机名生成:音节拼接与查重过滤的框架设计

2026-09-23 04:33 作者:996 技术组 0 阅读 996引擎Lua教程传奇脚本Lua实战随机名生成器

实战应用:用在哪里

演武场的傀儡、镜像演武的影子对手都需要听起来像玩家名字,硬编码的名字表三个月就不够用。随机名生成器用姓氏与名字两组音节表拼接出名字,查重表过滤已用组合,音节表可无限扩充,名字池永远不会枯竭。

音节表与拼接查重

五个复姓配三十个名字音节,理论组合一百五十个,查重表保证同一个名字不被重复使用,二十次尝试内取不到就返回空。

lua
local FAMILY = { "慕容", "上官", "欧阳", "司马", "独孤" }
local GIVEN = { "云飞", "傲雪", "战天", "流云", "惊鸿", "听雨" }
local used = {}
local function genName()
    for attempt = 1, 20 do
        local nm = FAMILY[math.random(#FAMILY)] .. GIVEN[math.random(#GIVEN)]
        if not used[nm] then
            used[nm] = true
            return nm
        end
    end
    return nil
end

命名接入与耗尽兜底

命名入口调用生成器,音节组合耗尽时返回编号名的兜底方案,同时广播提醒扩充音节表,避免业务拿到空值报错。

lua
local function nameShadow(actor, idx)
    local nm = genName()
    if nm == nil then
        nm = "影子对手" .. idx
        sendcentermsg("名字音节表即将耗尽,请扩充音节表")
    end
    return nm
end

验证与监控

生成一千个名字核对无重复、长度在四到六字之间、全部由音节表拼出;音节表耗尽路径的兜底名字可辨识;重启后查重表清零在演武场景可接受。名字生成后与玩家昵称做一轮比对,撞名的组合直接废弃重新生成,避免影子对手与真实玩家同名引起误会。监控名字池的使用率,使用超过八成即提示扩充音节表,避免高峰期集中耗尽。

踩坑记录

math.random 没播种时生成序列固定,两台节点生成了同名影子对手,启动处用 os.time 播种后序列恢复正常。查重表只增不减,长跑服一个月后音节组合全部用尽,兜底编号名大量出现,配合周期清空未上线的保留名策略缓解。音节表里混入了生僻字,部分客户端字体渲染成方框,音节表用字收进常用字集校验。名字在聊天频道展示时与其他玩家撞名,业务要求生成名追加统一前缀做视觉区分。生成器的音节表按主题分组,恶魔系与天界系分别成表,按活动氛围挑表取用,名字风格与活动调性一致。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

最新技术文章 · 实战干货

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

玩法策划答题行会

【玩法策划】行会篝火答题:行会社交活动的答题玩法设计

实战应用:用在哪里 行会活动集中在攻城战,日常缺乏轻量社交场景。行会篝火答题做行会固定社交活动:每周三、周日晚在行会驻地点燃…

2026-09-23 05:48 996 技术组 · 0 阅读
玩法策划答题科举

【玩法策划】科举答题:全服答题与殿试排名的玩法设计

实战应用:用在哪里 全服答题活动办过几期,参与的人不少但黏性不足,答完就散。科举答题把答题做成两段式:每天晚八点的乡试答题筛…

2026-09-23 05:48 996 技术组 · 0 阅读
界面UI短语栏聊天

【界面UI】快捷短语栏:战斗场景的快捷消息发送栏实现

n n n 实战应用:用在哪里 n战斗中打字沟通慢且危险,队伍协作靠喊话效率太低。快捷短语栏在屏幕底部提供八条可自定义的战斗…

2026-09-23 05:48 996 技术组 · 0 阅读
引擎触发宝箱龙脉

【引擎触发】龙脉宝箱:整点宝箱刷新与开启奖励的触发设计

n n n 实战应用:用在哪里 n龙脉区域的野外宝箱是散人玩家的每日福利:每逢整点在龙脉区域随机刷新十五个宝箱,分三档给不同…

2026-09-23 05:48 996 技术组 · 0 阅读
网络通信有序性包序

【网络通信】消息有序性:同一玩家的包序保证

实战应用:用在哪里 同一玩家的两条消息走了不同的处理路径,先发的后到,装备穿上的消息比脱下的消息晚处理,面板状态错乱。消息有…

2026-09-23 05:48 996 技术组 · 0 阅读
运维发布日志采样

【运维发布】日志采样:高流量日志的采样降耗设计

实战应用:用在哪里 战斗日志全量打印,一天写满一块硬盘,翻日志像大海捞针。日志采样按类别分策略:错误日志全量保留、行为日志按…

2026-09-23 05:48 996 技术组 · 0 阅读