# Emote Entity & Vehicle Spawning

Emote Wheel Binds let players trigger **commands, spawns, or actions directly from their emote wheel in Rust Console Edition**.

This feature can be used to spawn entities/vehicles on a player.

---

### 🔑 Key Concepts

- **Command Groups** → A collection of commands. Every command in a group fires when the bind is used.
- **Emotes** → The in-game Rust console emotes. E.G (I need wood)
- **Channels** → The in-game chat mode: *Team, Local, Server*. Each emote can be bound separately per channel.
- **Placeholders** → Variables that insert a live information into a command.
- **Cooldowns** → Timers to prevent spam use (per-player or global) in seconds.
- **Auth &amp; Discord Roles** → Restrict access to specific groups or linked Discord roles.

### 1️⃣ Step 1: Create a Command Group

Before you can create a bind, you need a command group with at least one command.

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-%2Fcmd-group-add-name%3A"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`/cmd group-add name:<span class="hljs-string">"Spawns"</span>`</div></div><p class="callout info">A command group is a group of commands that will be ran in the order specified by you 1 second apart. When a command group is triggered every command in that command group will run.</p>

### 2️⃣ Step 2: Add Your command to the command group

`/cmd add` has **4 mandatory fields**:

1. **Name** – your friendly handle for the command
2. **Command Group** – the group you just created
3. **Position** – the order this command appears within the group (1, 2, 3, …)
4. **Command** – the actual server command to run

For player-targeted spawns we’ll use position placeholders:

- `{PlayerPositionX}`
- `{PlayerPositionY}`
- `{PlayerPositionZ}`

<p class="callout info">These placeholders are **maths-aware**, so you can offset spawns (e.g., `X+10`).</p>

#### Command layout

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-spawn-%22entityname%22-%28"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`spawn <span class="hljs-string">"entityname"</span> ({PlayerPositionX},{PlayerPositionY},{PlayerPositionZ})`</div></div>#### Example: Spawn a HORSE command

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-%2Fcmd-add-name%3A-horse"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-string">/cmd</span> <span class="hljs-string">add</span><span class="hljs-attr">Name:</span> <span class="hljs-string">Horse</span> <span class="hljs-string">Here</span><span class="hljs-attr">Command group:</span> <span class="hljs-string">Spawns</span><span class="hljs-attr">Position:</span> <span class="hljs-number">1</span><span class="hljs-attr">Command:</span> <span class="hljs-string">spawn</span> <span class="hljs-string">"testridablehorse"</span> <span class="hljs-string">({PlayerPositionX},{PlayerPositionY},{PlayerPositionZ})</span>`</div></div>#### Example: Spawn a locked crate command

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-%2Fcmd-add-name%3A-hacka"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-string">/cmd</span> <span class="hljs-string">add</span><span class="hljs-attr">Name:</span> <span class="hljs-string">Hackable</span> <span class="hljs-string">Crate</span> <span class="hljs-string">Here</span><span class="hljs-attr">Command group:</span> <span class="hljs-string">Spawns</span><span class="hljs-attr">Position:</span> <span class="hljs-number">2</span><span class="hljs-attr">Command:</span> <span class="hljs-string">spawn</span> <span class="hljs-string">"codelockedhackablecrate"</span> <span class="hljs-string">({PlayerPositionX},{PlayerPositionY},{PlayerPositionZ})</span>`</div></div>#### Example: Spawn a Scrap Heli (away from the player) command (10m North)

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-%2Fcmd-add-name%3A-scrap"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-string">/cmd</span> <span class="hljs-string">add</span><span class="hljs-attr">Name:</span> <span class="hljs-string">Scrap</span> <span class="hljs-string">Heli</span> <span class="hljs-string">+10m</span><span class="hljs-attr">Command group:</span> <span class="hljs-string">Spawns</span><span class="hljs-attr">Position:</span> <span class="hljs-number">3</span><span class="hljs-attr">Command:</span> <span class="hljs-string">spawn</span> <span class="hljs-string">"scraptransportheli"</span> <span class="hljs-string">({PlayerPositionX+10},{PlayerPositionY},{PlayerPositionZ})</span>`</div></div>#### Example: Spawn a RHIB command (10m South)

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-%2Fcmd-add-name%3A-rhib-"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-string">/cmd</span> <span class="hljs-string">add</span><span class="hljs-attr">Name:</span> <span class="hljs-string">RHIB</span> <span class="hljs-string">-5m</span> <span class="hljs-string">X</span><span class="hljs-attr">Command group:</span> <span class="hljs-string">Spawns</span><span class="hljs-attr">Position:</span> <span class="hljs-number">4</span><span class="hljs-attr">Command:</span> <span class="hljs-string">spawn</span> <span class="hljs-string">"rhib"</span> <span class="hljs-string">({PlayerPositionX-5},{PlayerPositionY},{PlayerPositionZ})</span>`</div></div>### 3️⃣ Link the command group to a bind  
  


To get started we will need the command **/bind add.**   
  
**Mandatory -**

**gameserver**: Please select the GameServer which you wish to create this bind for.

**command-group:** Please select the Command Group which you are going to be binding.

**emote:** This will be a selection for your emotes, you have 8 to choose from

**channel:** Because we have "Team", "Local" and "Server" selections in game when using the emotes, each one can be programmed for its own bind, giving you a total of "24" possible keybinds on the free version! If you don't want to select this option then choose the bind that will apply to "All"

**Optional -**

**auth-group:** You can select which group can claim the kit, leave blank for all or choose from one of the following; VIP, Moderator, Admin &amp; Owner. *(You cannot have more than one auth group per bind)*

**server-cooldown:** How long the whole gameserver will have to wait between uses, as soon as one player redeems it, it is then unavailable to everyone until the cooldown has expired.

**player-cooldown:** How long each player must wait between each emote - If one player uses it, the cooldown only applies to that player.

**cooldown-message:** What to say when a player tries to use the emote with a cooldown still active. (*Profanity filters will apply*)

**Require Discord-Role:** You now have the option of requiring a user to have a discord role in order to be able to claim a bind. In order for this to work a player will need to be linked to their gamertag using /link and have the role in discord that you have set. (THIS FEATURE IS PREMIUM ONLY)