If you let us know which OS you're running on, we can try and supply you builds of the community branch of Maratis that you will need, as well as the plugins to test.
Without any plugins, you can assign lua values to objects as follows:
player = {
obj = getObject("player"),
speed = 3,
update = function()
-- use player.obj and player.speed here
end
}
function onSceneUpdate()
player.update()
end
with MScriptableBehaviour alone you can then do something like this:
local player_vals = {}
player = {
onBegin = function(object, behaviour)
player_vals[object] = {
speed = 3,
}
end,
update = function(object, behaviour)
-- do something with player_vals[object].speed
end
}
Note: update gets called automatically and you get the object ID passed in onBegin, update and onEnd functions
If you add MScriptExt and MEvent to the project, you can then do this (which is arguably a little nicer)
MScriptableBehaviour "player" = {
speed = 3,
update = function(self)
-- do something with self.speed
end,
}
Note: if you need the object ID, it's stored in self.__id.object but I'm hoping to remove the need for that soon.
With regards to accessing a specific enemy. It depends on which method of the above you're using, but assuming the latter you can do something like this:
local enemy = getObject("enemy01") -- or some other way to get an object ID
local behavior = player.get(enemy)
local speed = behavior.speed
Hope that all helps in some way