继续上篇教程,本篇将继续介绍Monster引擎、World引擎和Quest引擎
Monster引擎
怪物引擎和玩家引擎类似,初始化怪物引擎时需要将怪物实体地址传给引擎,通常可以使用下列代码进行怪物数据的遍历。
local monsterList = GetAllMonster()
for monster, monsterData in pairs(monsterList) do
local Data_Monster = engine.Monster:new(monster)
end
end
由于使用方法和玩家引擎极度相似,这里只给出引擎的结构
Position
position {x = 0, y = 0, z = 0}
cntrposition {x = 0, y = 0, z = 0, h = 0}
reposition {x = 0, y = 0, z = 0}
Model
size {x = 0, y = 0, z = 0}
Characteristic
health_current 0
health_max 0
Action
lmtID 0
fsm
fsmID 0
fsmTarget 0
Frame
frame 0
frameEnd 0
frameSpeed 0
frameSpeedMultiplies 0
Shlp
ListPtr false
World引擎
世界引擎中记载了一些常用的基础数据,包含地图id,当前时间,导航坐标三项,所有项目均为只读
MapId 0
Time 0
Position.wayPosition {x = 0, y = 0, z = 0}
quest引擎
任务引擎包含了当前任务的一些常用信息,所有项目均为只读
Time 当前任务时间 0
Id 任务id 0
State 任务状态 0
任务引擎额外包含了一个setState函数,可以设置当前任务状态
local Data_Quest = engine.Quest:new()
Data_Quest :setState(5)