# Top-Level Objects

A "Top-Level Object" is any kind of object that you can start with when trying to find a property.

* The TLO type is indicated by the italic text preceding the TLO name (in bold)
* The TLO has access to all of the members of its type
* The TLO name is static and cannot be changed

TLOs are called Top-Level Objects because nothing comes before them. A TLO is not a member of any object, it is itself an object. However, the TLO has access to all members and properties of its datatype, and any inherited members of its datatype.

### Example

[**Me**](/macroquest/data-types-and-top-level-objects/top-level-objects/tlo-me.md) is a Top Level Object of type [*character*](/macroquest/data-types-and-top-level-objects/data-types/datatype-character.md). **Me** has access to the members of the *character* type, but **Me** is not the *character* type. You will notice that the *character* datatype inherits the *spawn* datatype, which means the TLO **Me** will have access to both the *character* and *spawn* members.

```mermaid
classDiagram
  Me *-- character
  character <|-- spawn
  class Me {
     Int Level
     String Loc
  }
  class character {
    Int Level
  }
  class spawn {
    String Loc
  }
```

The immediate datatype named *int* and the Top Level Object named **Int** are not the same thing.

A [Beginners Guide to TLOs and MQ2DataVars](https://github.com/macroquest/docs/blob/master/documentation/beginners-guide-to-tlos-and-datavars.md) may be useful for understanding how TLOs work.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://macroquest.gitbook.io/macroquest/data-types-and-top-level-objects/top-level-objects.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
