# MQ2NetBots

## Description

MQ2NetBots was written by s0rcier and is found in the VIP forums [here](https://macroquest2.com/phpBB3/viewtopic.php?t=12186)

* MQ2NetBots provides linked MQ2EQBC clients a method of sharing status and statistics.
* It makes that information available via Top-Level Object members for macro writers and HUD designers.

## Commands

* \*\*/netbots \[ on |

  off ]\*\*

Turns MQ2NetBots functionality on or off

* **/netbots \[ grab=*****on*****|*****off*** **]**

Receive status updates from other MQ2NetBots-enabled clients connected to the same EQBCS server.

* **/netbots \[ send=*****on*****|*****off*** **]**

Broadcast status updates to the EQBCS server.

## Top-Level Object: ${NetBots}

### Forms

| **Type**        | **Form**                             | **Description**                            |
| --------------- | ------------------------------------ | ------------------------------------------ |
| *netbots*       | **NetBots**                          | Returns information about your client      |
| *netbotsclient* | **NetBots\[\***&#x4E;am&#x65;**\*]** | Returns broadcast information about *Name* |

\=== Data Types ===

| *netbots*                                                                          |
| ---------------------------------------------------------------------------------- |
| **Type**                                                                           |
| [*string*](broken://pages/-Me4I982Obm83SKMG0Zr)                                    |
| [*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md)   |
| [*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |
| [*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |
| [*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |
| [*string*](broken://pages/-Me4I982Obm83SKMG0Zr)                                    |

{| border="1" cellpadding="2" cellspacing="0" width="600px" !colspan="3"|*netbotsclient* |- |style="background:#000000;color:#ffffff;text-align:left;width:15%;"|**Type** |style="background:#000000;color:#ffffff;text-align:left;width:25%;"|**Member Name** |style="background:#000000;color:#ffffff;text-align:left;"|**Description** |- |[*string*](broken://pages/-Me4I982Obm83SKMG0Zr) |**Name** |Name of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**Zone** |Zone ID of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**Instance** |Instance ID of *Name* |- |[*class*](/macroquest/data-types-and-top-level-objects/data-types/datatype-class.md) |**Class** |Class of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**Level** |Level of *Name* |- |[*float*](/macroquest/data-types-and-top-level-objects/data-types/datatype-float.md) |**PctExp** |Percent Experience of *Name* |- |[*float*](/macroquest/data-types-and-top-level-objects/data-types/datatype-float.md) |**PctAAExp** |Percent AA Experience of *Name* |- |[*float*](/macroquest/data-types-and-top-level-objects/data-types/datatype-float.md) |**PctGroupLeaderExp** |Percent Group Leader Experience of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**CurrentHPs** |Current Hitpoints of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**MaxHPs** |Total Hitpoints of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**PctHPs** |Current Hitpoints Percentage of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**CurrentEndurance** |Current Endurance of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**MaxEndurance** |Total Endurance of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**PctEndurance** |Current Endurance Percentage of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**CurrentMana** |Current Mana of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**MaxMana** |Total Mana of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**PctMana** |Current Mana Percentage of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**PetID** |Spawn ID of *Name*'s pet |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**PetHP** |Hitpoints of *Name*'s pet |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**TargetID** |Spawn ID of *Name*'s target |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**TargetHP** |Hitpoints of *Name*'s target |- |[*spell*](/macroquest/data-types-and-top-level-objects/data-types/datatype-spell.md) |**Casting** |Spell *Name* is casting |- |[*string*](broken://pages/-Me4I982Obm83SKMG0Zr) |**State** |

* State of *Name*
* STUN STAND SIT DUCK BIND FEIGN DEAD UNKNOWN

\|- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Attacking** |Is *Name* attacking? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**AFK** |Is *Name* AFK? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Binding** |Is *Name* kneeling? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Ducking** |Is *Name* ducking? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Feigning** |Is *Name* feigning? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Grouped** |Is *Name* in a group? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Invis** |Is *Name* invisible? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Levitating** |Is *Name* levitating? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**LFG** |Is *Name* LFG? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Mounted** |Is *Name* on a mount? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Moving** |Is *Name* moving? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Raid** |Is *Name* in a raid? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Sitting** |Is *Name* sitting? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**Standing** |Is *Name* standing? |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**FreeBuffSlots** |Total free buff slots of *Name* |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**InZone** |Is *Name* in the same zone? |- |[*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) |**InGroup** |Is *Name* in the same group? |- |[*string*](broken://pages/-Me4I982Obm83SKMG0Zr) |**Leader** |*Name*'s group leader |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**Updated** |Timestamp of last update from *Name* |- |[*string*](broken://pages/-Me4I982Obm83SKMG0Zr) |**Gem** |All spells *Name* has memorized |- |[*spell*](/macroquest/data-types-and-top-level-objects/data-types/datatype-spell.md) |**Gem\[**#**]** |Spell *Name* has in slot # |- |[*string*](broken://pages/-Me4I982Obm83SKMG0Zr) |**Buff** |All buffs *Name* has |- |[*spell*](/macroquest/data-types-and-top-level-objects/data-types/datatype-spell.md) |**Buff\[**#**]** |Buff *Name* has in buff slot # |- |[*string*](broken://pages/-Me4I982Obm83SKMG0Zr) |**Duration** |Duration of all buffs *Name* has |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**Duration\[**#**]** |Duration of buff *Name* has in buff slot # |- |[*string*](broken://pages/-Me4I982Obm83SKMG0Zr) |**ShortBuff** |All short buffs *Name* has |- |[*spell*](/macroquest/data-types-and-top-level-objects/data-types/datatype-spell.md) |**ShortBuff\[**#**]** |ShortBuff *Name* has in buff slot # |- |[*string*](broken://pages/-Me4I982Obm83SKMG0Zr) |**PetBuff** |All pet buffs *Name*'s pet has |- |[*spell*](/macroquest/data-types-and-top-level-objects/data-types/datatype-spell.md) |**PetBuff\[**#**]** |Pet buff *Name*'s pet has in pet buff slot # |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**TotalAA** |Total AA of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**UsedAA** |Total spent AA of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**UnusedAA** |Total unspent AA of *Name* |- |[*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md) |**CombatState** |Combat State of *Name* |- |}\
\== Examples ==

* Displays the duration remaining on the buff *Samwell* has in buff slot 4

```
/echo ${NetBots[Samwell].Duration[4]}
```

## See Also

* [MQ2EQBC](/macroquest/plugins/community-plugins/mq2eqbc.md)
* [MQ2NetHeal](/macroquest/plugins/community-plugins/mq2netheal.md)
* [Top-Level Objects](/macroquest/data-types-and-top-level-objects/top-level-objects.md)
* [Data Types](/macroquest/data-types-and-top-level-objects/data-types.md)
* [Plugins](broken://pages/-Me4I94WGlOtA0pQ_0oB)


---

# 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/plugins/community-plugins/mq2netbots.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.
