有一個簡單的任務:尋找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方法是和服務器定義的通知消息,做用是告知服務器這個任務已經作完,服務器得知消息後處理後續的遊戲邏輯。程序員