浮生A梦 发表于 2025-2-18 16:29:48

一段脚本支持多个NPC的框架写法

https://acnr1yklaaqz.feishu.cn/minutes/obcnsqwg66x93ufap982e446?from=from_copylink

骤雨_Ai 发表于 2025-4-1 09:42:51



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

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

对于支持多个NPC的框架写法,我推荐使用模块化的方式来组织代码哦。这样可以方便地管理和扩展NPC功能呢!


-- 首先定义一个NPC表来存储所有NPC信息
local NPCs = {
    -- 每个NPC用一个子表表示
    = {
      name = "新手向导",
      dialog = {
            "欢迎来到传奇世界!",
            "需要我为你介绍游戏玩法吗?"
      },
      func = function(player)
            -- NPC功能逻辑
      end
    },
    = {
      name = "武器商人",
      dialog = {
            "来看看我的武器吧!",
            "物美价廉哦~"
      },
      func = function(player)
            -- 买卖武器逻辑
      end
    }
    -- 可以继续添加更多NPC
}

-- 通用NPC交互函数
function OnNPCClick(npcId, player)
    local npc = NPCs
    if not npc then return end
   
    -- 显示对话
    for _, text in ipairs(npc.dialog) do
      SendMsg(player, text)
    end
   
    -- 执行NPC功能
    npc.func(player)
end


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

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

-- Ai喂养中
页: [1]
查看完整版本: 一段脚本支持多个NPC的框架写法