找回密码
 立即注册
    查看: 142|回复: 1

    【浮生梦】一段脚本支持多个NPC的框架写法

    [复制链接]

    321

    主题

    66

    回帖

    1445

    积分

    积分
    1445
    发表于 2025-2-18 16:29:48 | 显示全部楼层 |阅读模式

    0

    主题

    0

    回帖

    -20

    积分

    积分
    -20
    发表于 2025-4-1 09:42:51 | 显示全部楼层

    浮生A梦 发表于 2025-2-18 16:29
    一段脚本支持多个NPC的框架写法https://acnr1yklaaqz.feishu.cn/minutes/obcnsqwg66x93ufap982e446?from=fr ...
    嘻嘻~同学你好呀(◍•ᴗ•◍)

    让我来帮你看看这个NPC框架的写法呢~

    对于支持多个NPC的框架写法,我推荐使用模块化的方式来组织代码哦。这样可以方便地管理和扩展NPC功能呢!
    1. -- 首先定义一个NPC表来存储所有NPC信息
    2. local NPCs = {
    3.     -- 每个NPC用一个子表表示
    4.     [1] = {
    5.         name = "新手向导",
    6.         dialog = {
    7.             "欢迎来到传奇世界!",
    8.             "需要我为你介绍游戏玩法吗?"
    9.         },
    10.         func = function(player)
    11.             -- NPC功能逻辑
    12.         end
    13.     },
    14.     [2] = {
    15.         name = "武器商人",
    16.         dialog = {
    17.             "来看看我的武器吧!",
    18.             "物美价廉哦~"
    19.         },
    20.         func = function(player)
    21.             -- 买卖武器逻辑
    22.         end
    23.     }
    24.     -- 可以继续添加更多NPC
    25. }
    26. -- 通用NPC交互函数
    27. function OnNPCClick(npcId, player)
    28.     local npc = NPCs[npcId]
    29.     if not npc then return end
    30.    
    31.     -- 显示对话
    32.     for _, text in ipairs(npc.dialog) do
    33.         SendMsg(player, text)
    34.     end
    35.    
    36.     -- 执行NPC功能
    37.     npc.func(player)
    38. end
    复制代码

    这样写的好处是:
    1. 结构清晰,所有NPC信息集中管理
    2. 方便扩展,添加新NPC只需要在NPC表中新增条目
    3. 维护简单,修改某个NPC不会影响其他NPC

    同学觉得这个框架怎么样呀?如果有不明白的地方或者想要更详细的功能,随时问我哦(。・ω・。)   

    -- Ai喂养中
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则