有一个简单的任务:寻找NPC,而后和NPC对话至完成对话,并完成该任务
--[[ 基本信息:Name:Run2Npc Type:ACTION Weight:1 --]] --进入条件检测 function detect() return true end --进入调用 function enter() self.UserData:Run2Npc(self.UserData.Task.TargetNpc) end --每隔dt秒更新 function update(dt) end --事件监听 function trigger(type,obj) if type=="MoveFinish" self:Break() end --退出调用 function exit() end
--[[ 基本信息:Name:ShowDialog Type:ACTION Weight:1 --]] --进入条件检测 function detect() return true end --进入调用 function enter() self.UserData:ShowDialog(self.UserData.Task.Msg) end --每隔dt秒更新 function update(dt) end --事件监听 function trigger(type,obj) if type=="DialogFinish" self:Break(); end --退出调用 function exit() end
--[[ 基本信息:Name:TaskFinish Type:ACTION Weight:1 --]] --进入条件检测 function detect() return true end --进入调用 function enter() self.UserData:NotifyServer(self.UserData.Task.ID) self:Break(); end --每隔dt秒更新 function update(dt) end --事件监听 function trigger(type,obj) end --退出调用 function exit() end
NotifyServer方法是和服务器定义的通知消息,做用是告知服务器这个任务已经作完,服务器得知消息后处理后续的游戏逻辑。程序员