When you use getObject on the Conditions table, how do you know which conditions table this is?
The conditions tab within the active interface?, or the conditions specified on an object?.
This has puzzled me alot whilst trying to learn this? How do you target specific conditions on objects etc?
getObject("Conditions[condition_name]")
is a global get conditions as it targets all conditions inside of the conditions table. you need to make sure that you don't have multiple conditions with the same name in your project if you plan on using Lua to retrieve conditions.
The safe method for getting objects, conditions & values in general is to directly link to them.
-- example 1: condition linked to a scene
getObject("Scenes[scene_name].SceneConditions[condition_name]")
-- example 2: condition linked to a scene object
getObject("Scenes[scene_name].SceneObjects[object_name].ObjectConditions[condition_name]")
And what is getLink actually doing (in laymans terms), and how does it differ from getLinks?
getLink returns one specific object from the data structure...
-- return current object underneath the mouse cursor...
game:getLink(VGameCurrentObject)
whereas getLinks returns all data associated with the initial objects table based on which getLinks table you just queried.
-- gets all texts associated with the current game object...
texts = game:getLink(VGameCurrentObject):getLinks(VTextAll)
entry1 = texts[1]:getStr(VTextLanguageText) -- gets text from first table entry
Sorry to ask such dumb fundamentals on this thread but i cant seem to find a decent explanation anywhere else?
They are some good questions!
have I not added any of this data to the wiki anywhere yet? I thought I added some examples/explanations in regards to the different getObject methods a while back, but I could have just posted them in a thread on this forum somewhere - bad memory.