Dancing NPC

Dancing NPC 1.4.0

Sign in to download
Allows players to spawn an npc that performs various dance gestures
Dependencies
Gear Core (Optional)
This Rust plugin lets players spawn npcs that perform looping gestures, making them appear as if they're dancing.









Permissions

  • dancingnpc.use - Required for players to use the /mydancer command.

Commands

  • /mydancer add [dance or number] [gear set] - Spawns a new dancer at your position with an optional dance and gear set.
  • /mydancer setdance <dance or number> - Changes the dance of the dancer you are currently looking at.
  • /mydancer setgear <gear set> - Changes the gear set of the dancer you are currently looking at.
  • /mydancer remove - Removes the dancer you are currently looking at.
  • /mydancer clear - Removes all dancers you own.
  • /mydancer dances - Lists all configured dances with their index numbers.
  • /mydancer gear - Lists all configured gear sets.
  • /mydancer help - Shows the full help information for the command.

Configuration

JSON:
{
  "Version": "1.4.0",
  "Chat Command": "mydancer",
  "Gestures": [
    "shrug",
    "victory",
    "wave",
    "cabbagepatch"
  ],
  "Gear Sets": [
    "hazmat suit",
    "egg suit"
  ],
  "Maximum Dancers Per Player": 3
}
  • Chat Command - The main chat command players will use for all actions.
  • Gestures - List of allowed dances players can choose from or reference by number.
  • Gear Sets - List of available gear sets that can be applied to dancers.
  • Maximum Dancers Per Player - Limits how many dancers each player can have at the same time.

Gesture List

The following gestures are supported, but not all of them may still work. Some are untested or might have been removed from the game.
  • surrender
  • hurry
  • ok
  • point
  • shrug
  • thumbsdown
  • thumbsup
  • victory
  • wave
  • raiseroof
  • cabbagepatch
  • twist
  • talk_01
  • talk_02
  • talk_03
  • talk_04
  • talk_05
  • hold_relaxed
  • exclaim_01
  • hat_tip
  • parachuteLand
  • kick
  • push
  • cine_kick
  • cine_push
  • chicken
  • drink

Stored Data

JSON:
{
  "Player Npcs": {
    "123456789012345678": [
      {
        "Owner Id": 123456789012345678,
        "Position": {
          "x": 1023.5,
          "y": 12.8,
          "z": -450.6
        },
        "Yaw": 190.2,
        "Gesture": "victory",
        "Gear Set": "hazmat suit"
      },
      {
        "Owner Id": 123456789012345678,
        "Position": {
          "x": 1024.1,
          "y": 12.8,
          "z": -452.0
        },
        "Yaw": 170.0,
        "Gesture": "wave",
        "Gear Set": "egg suit"
      }
    ]
  }
}
Stores each player's active dancers, including their position, yaw rotation, gesture name, and gear set. All dancers are automatically restored after a server restart.

Localization

JSON:
{
  "Error.NoPermission": "You do not have permission to use this command.",
  "Info.DancePlayedOnNewNPC": "Spawned a new dancing npc and started dance '{0}'.",
  "Info.DanceUpdatedOnExistingNPC": "Updated the npc's dance to '{0}'.",
  "Info.GearSetUpdatedOnExistingNPC": "Updated the npc's gear set to '{0}'.",
  "Error.DanceNotFound": "Dance '{0}' was not found. Please specify a valid dance name or number.",
  "Error.NoNPCInSight": "No dancing npc found. Look directly at one that belongs to you and try again.",
  "Info.NPCRemoved": "Removed the selected dancing npc.",
  "Info.AllNPCsRemoved": "Removed all of your dancing npcs.",
  "Error.NoNPCsToRemove": "You do not have any active dancing npcs to remove.",
  "Info.HelpHeader": "Dancing NPC commands ({0}):",
  "Info.HelpUsageBase": "{0} add [dance or number] [gear set] - Spawn a new dancing npc near you with an optional dance and gear set.",
  "Info.HelpUsageSetDance": "{0} setdance <dance or number> - Change the dance of the dancing npc you are currently looking at.",
  "Info.HelpUsageSetGear": "{0} setgear <gear set> - Change the gear set of the dancing npc you are currently looking at.",
  "Info.HelpUsageRemove": "{0} remove - Remove the dancing npc you are currently looking at.",
  "Info.HelpUsageClear": "{0} clear - Remove all dancing npcs that belong to you.",
  "Info.HelpUsageDances": "{0} dances - Show the list of available dances with their numbers.",
  "Info.HelpUsageGear": "{0} gear - Show the list of configured gear set names.",
  "Info.ConfigDances": "Available dances (you can use the number or name):\n{0}",
  "Info.ConfigGearSets": "Configured gear sets:\n{0}",
  "Error.NoDancesInConfig": "No dances are configured. Please add dance names to the plugin configuration.",
  "Error.NoGearSetsInConfig": "No gear sets are configured. Please add gear set names to the plugin configuration.",
  "Error.MissingDanceArgument": "Please specify which dance you want to use. Type {0} dances to see the list.",
  "Error.MissingGearSetArgument": "Please specify which gear set you want to use. Type {0} gear to see the list.",
  "Error.GearSetNotFound": "Gear set '{0}' was not found. Please specify a valid gear set name.",
  "Error.MaximumDancingNpcsReached": "You already have {0} dancing npcs. Remove one before spawning another."
}
Author
VisEntities
Downloads
114
First release
Last update

Ratings

0.00 star(s) 0 reviews

Also by VisEntities

Latest updates

  1. 1.4.0

    Fully overhauled the chat command system. New commands include: /mydancer add /mydancer...
  2. 1.3.1

    Patched for November 7th Rust update. Gear sets are now optional in the /dance command. Fixed an...
  3. 1.3.0

    npcs will now face the player when spawned, and this also applies when updating gestures for...
Back
Top
Chat commands start with a /, while console commands can be entered directly in the F1 console or server console. Use find <keyword> in console to search for available commands related to the plugin. Parameters in < > are required, while [ ] are optional.
This plugin uses Oxide's permission system. Grant or revoke permissions using oxide.grant and oxide.revoke. You can assign them to individual players or groups using their Steam id or group name.
Settings are stored in the config file found under the config/ directory. You can edit this file manually, then reload the plugin to apply your changes.
Persistent data is saved in the data/ directory. This includes things like saved settings, usage stats, or player progress depending on the plugin. Deleting a data file will reset stored progress or customizations.
Language files are located in the lang/ folder. To translate messages, copy the en.json file into your target language folder (e.g. fr, de) and edit the values. Reload the plugin after changes to apply new messages.
This section lists public methods exposed by the plugin for use in other plugins. You can call these via the CallHook method. Ensure the plugin is loaded before calling its API to avoid null reference errors.
These are custom hooks that other plugins can listen for. Simply define a method with the same name and expected parameters in your plugin to handle the event. Hooks are triggered at key moments and are useful for extending or reacting to plugin behavior.
These hooks are injected into the game's code using Harmony. They let the plugin run code at key points in the game's internal logic. You can return values to block or modify behavior. Use with caution — these are powerful and can affect core mechanics.
Cart