A terms table is a list of "requirements" for an instance to have. You can use these terms to distinguish what your target looks like, and have as many terms as you like.
Terms can read of an objects properties; it's color, it's name. You can also read of an object's children and it's other relating attributes.
A terms table is a list containing terms. Simple have a list.
local Terms = {} -- Empty for now!
Terms are stored inside individual lists, this can be confusing as terms, which are lists, are then inserted to a term table, which is a list.
The first element of a term is the term type, the most common is property. This tells tree which logic to use and what kind of requirement you are stating. The rest of the elements inside this term are arguments required by your chosen term type.
It looks like this:
{"Property", "Name", "Model Name"}
In the above example Property is the requirement type. Name and Model Name are arguments for the requirement type. More available requirements are outlined shortly.
After you have your Term Table and chosen terms, you put them together like this:
local Terms = {
{"Property", "Name", "Model Name"};
{"Property", "ClassName", "Model"}
}
Requirements/terms are the things inside Term Tables. They are a set of rules you are checking for in instances. These are the available requirements.
Property Arguments:
| Argument Name | Argument Description |
|---|---|
| Name | The name of the property you are checking for. |
| Value | The value you are expecting of the property. |
If no value is provided then each instance will only be required to have A value, you can do this for things like Enabled to script a system where you can disable anything from a tool. If you provide a Value then all instances must have the property and it must be of the provided value.
Example Usage (Not including the term table):
{"Property", "Name", "Model Holder"}
Attribute Arguments: