npc功能
NPC对话效果展示
上述效果展示说明:在比奇(333,266)处新增一个名叫测试员
的NPC,点击测试员
,展示对话框,该对话框包含标题,内容,传送功能按钮, 关闭按钮。
配置流程
配置路径
\dev\config\npc_cs.xlsx
重要参数含义
NPCid 地图id 坐标x 坐标y NPC外貌 NPC名字 24 1 333 266 50031 测试员 \dev\modules\npc\npc24.lua
,在该模块下新增npc文件,命名方式npcxx.lua
xx表示NPCid基础结构
local util = include("npc.npc_util")--引擎提供接口
local function _onClick(player)
local root = util.build_root_context(player,module.ID)--[复制并放置最前面]获取NPC界面节点,构造NPC自身内容
util.say(player, root) --展示构造内容
end
edi.event:reg_npc_click(module.ID, _onClick) --[必加]npc点击事件注册
- 样例说明
- 样例代码
local util = include("npc.npc_util")
local module = {}
module.ID = 24
module.Name = "测试员(新手)"
local function _onClick(player)
local root = util.build_root_context(player,module.ID)
util.add_title_btn(root, "新手-派大星")
util.content(root, "派大星和它最好的朋友海绵宝宝去比奇堡捉水母啦~")
util.add_transfer_to_static_scene_random_btn(root, "出发啦", 10)
util.add_close_btn(root, "关闭")
util.say(player, root)
end
edi.event:reg_npc_click(module.ID, _onClick)
return module
npc_util
控件说明- 获取NPC界面节点,构造NPC自身内容。
build_root_context(player, npcId)
参数含义:玩家对象,指定NPCid
local root = util.build_root_context(player,NPCid)
- 添加NPC标题,
add_title_btn(root, title)
参数含义:NPC界面节点,NPC标题
util.add_title_btn(root, "新手-测试员")
- 对话内容,
content(root, content)
参数含义:NPC界面节点,内容
util.content(root, "请进入比奇矿洞,完成任务")
- 添加关闭按钮,
add_close_btn(root, content)
参数含义:NPC界面节点,按钮标题
util.add_close_btn(root, "关闭")
- 传送到静态场景地图指定位置 ,
add_transfer_to_static_scene_btn(root, content, scene_id, x, y)
参数含义:NPC界面节点, 按钮标题, 场景ID, 坐标位置
util.add_transfer_to_static_scene_btn(root, "进入盟重", 10, 255, 255)
- 传送到静态场景地图随机点 ,
add_transfer_to_static_scene_random_btn(root, content, scene_id)
参数含义:NPC界面节点,按钮标题, 场景ID
util.add_transfer_to_static_scene_random_btn(root, "进入盟重", 10)
- 添加打开ssr界面按钮
add_open_ssr_btn(root, content, ssrid, ...)
参数含义:NPC界面节点,按钮标题,界面ID(\dev\config\ui.xlsx 表id),自定义参数列表
util.add_open_ssr_btn(root, "打开ssr界面", 11001)