← MPP-Mainstore › Scripts MPP - Commands Help On Chat Download the documentation (.md)

Version 1.5.2 · updated September 23, 2026

MPP - Commands Help On Chat Script V1.5.2 - Documentation

Shows a help text in Nearby Chat when a visitor types a command such as /CommandsHelp, or when another script asks for it (an MPP - Action Button on a help panel, for example). The help can be the built-in list of Sansar chat commands, your own text, or both. Optionally, the script also greets the avatars who enter the scene, with their name, their handle or a link to their web profile, plays a sound when someone arrives, and posts a Script Event at each arrival and each departure so that your other scripts can react.

This script is standalone - it does not require any other MPP script to function.

New in V1.5: an Arrival/ group, all Off by default and independent of the greeting: a sound when an avatar enters the scene (from the object or everywhere, with a volume and a minimum interval), a Script Event at each arrival and one at each departure, carrying the avatar's UUID like an Action Button click. V1.5.1 also renames two groups of the Build panel (Activation/ and Help/). Your settings are kept when you update: see "Updating from V1.4.0".

New in V1.5.2: NPCs. Sansar NPCs enter a scene like avatars, so the greeter used to announce them at every scene start. The new switch Activation/Detect NPCs, Off by default, makes the script ignore them: no greeting, no arrival sound or event, no answer to their help request. Turn it On to treat NPCs as visitors (see "NPCs").


Quick Start

  1. After purchase, the script is in your Inventory in Build mode. Add it to any object of your scene: a sign, a help panel, or a small object hidden out of sight.
  2. Build and visit the scene, then type /CommandsHelp in Nearby Chat: the built-in help (the Sansar %% commands) is posted in the chat for everyone.
  3. To add your own commands, paste them in Help/Help Block (several lines allowed). They are shown after the built-in help, under the separator line -- Custom Command --.
  4. Optional: turn Join Greeting/Enable Greeting On to welcome visitors with "Hello! Type /CommandsHelp in Nearby Chat to see the scene commands."
  5. Optional: pick a sound in Arrival/Arrival Sound to play a chime when someone arrives.

That is all most scenes need. The rest of this guide details every option.


How It Works

Two ways to ask for the help, one help text, two ways to deliver it:

StepSettingsWhat happens
AskActivation/Chat Command, Activation/Script Event NameA visitor types the command alone in Nearby Chat, or another script posts the Script Event
CheckActivation/Cooldown SecondsA request that comes too soon after the previous one is refused (see "Cooldown")
BuildHelp/...The built-in help and/or your Help Block, in the order you chose, with the separator between them
DeliverHelp/Whisper To Sender OnlyPosted to everyone in the scene (default), or sent in private to the avatar who asked

Apart from the help, the script watches the avatars who enter and leave the scene: the join greeting (a chat message), the arrival sound and the arrival and departure events are three independent options, each with its own switch. Sansar NPCs are ignored by all three unless Activation/Detect NPCs is On (see "NPCs").

In the Build panel the settings are grouped by category: Activation/, Help/, Join Greeting/, Arrival/ and Debug/.


Triggers

Chat command

Activation/Chat Command (default /CommandsHelp). The visitor types it alone in Nearby Chat. Case does not matter (/commandshelp works too) and spaces before and after are ignored, but a sentence that contains the command among other words is ignored. Leave it empty to disable the chat trigger.

Script Event

With Activation/Enable Script Event On (default), the script also shows the help when another script posts the Script Event named in Activation/Script Event Name (default show_commands_help).

Several help texts in one scene

Place several copies of the script, each with its own chat command and event name: /AdminHelp, /TeamHelp, /EventHelp... Each copy has its own texts, cooldown and delivery mode.


What Is Shown

The help is made of up to three parts:

Type these into Nearby Chat. (Most can target a username, e.g. %%kick User-1234)

%%who -- list all users in scene
%%roles -- show your current role
%%kick <name> -- remove a user from the scene
%%mute <name> -- temporarily disable a user's mic
%%mega-on/off <name> -- give or remove megaphone access
%%broadcast-on/off <name> -- show or hide avatar across instances
%%backpack-on/off -- toggle backpack visibility
%%backpack-clear -- remove all spawned backpack items
%%muteall [seconds] -- mute everyone (optional delay)
%%unmuteall [seconds] -- unmute everyone (optional delay)

Order. By default: built-in help, separator, your Help Block. With Help/Help Block First On: your Help Block, separator, built-in help.

To show only your own text, turn Help/Show Default Help Off. With Show Default Help Off and an empty Help Block, the command does nothing.

Line by line or in blocks


Who Receives the Help

Help/Whisper To Sender Only:


Cooldown

Activation/Cooldown Seconds (default 5, 0 = no cooldown, 86400 = 24 hours at most) is the minimum delay between two help displays:

A request that would show nothing (no built-in help and an empty Help Block, or a whisper without a known avatar) is simply ignored and does not start the delay.

Cooldown Notice

With Activation/Cooldown Notice On (default), an avatar whose request is refused receives a private message, only visible to them: by default "The help was just posted in the chat. You can ask again in 4 seconds." At most one message every 3 seconds per avatar, and none when the wait is under half a second.

Write your own text in Activation/Cooldown Notice Text: {time} becomes the remaining time with its unit ("4 seconds", "1 minute 5 seconds"), {seconds} the whole number of seconds. Leave the text empty, or turn the notice Off, to refuse in silence.


Join Greeting

With Join Greeting/Enable Greeting On, a greeting is posted in Nearby Chat, for everyone, when an avatar enters the scene.

SettingDefaultWhat it does
Join Greeting/Enable GreetingOffTurns the greeting on
Join Greeting/Cooldown Minutes10Minimum delay between two greetings, for the whole scene (0 to 120; 0 = greet every arrival). Avatars who arrive during the delay are not greeted
Join Greeting/Message"Hello! Type {trigger} in Nearby Chat to see the scene commands."The greeting text
Join Greeting/Include NameOffAdds the arriving avatar's display name
Join Greeting/Include HandleOffAdds the arriving avatar's handle, as @handle
Join Greeting/Include Profile URLOffAdds a link to the arriving avatar's web profile (https://www.sansar.com/profiles/<handle>)
Join Greeting/Profile URL Label"Profile: "Text placed before that link when it is added at the end

Tokens in the message:

When the message contains neither {name} nor {handle}, the Include switches still work:

If the message contains {name} or {handle}, nothing is placed before it: write both tokens to show both, for example Welcome {name} ({handle})!.

Double spaces, and a space left before a comma, a period or a colon, are cleaned up. If your message uses a token, keep the matching Include switch On: otherwise the text around the token stays (for example empty brackets () or a space before !). A display name that ends with "- Sansar" (Sansar staff accounts) is shown as "Name Sansar", so the chat does not turn it into a link.


Arrival Sound and Events

The Arrival/ group reacts to the avatars who enter and leave the scene, independently of the join greeting (which can be On or Off). Everything in it is Off by default: with the defaults, the script behaves exactly as V1.4.0.

Arrival sound

A sound played for everyone in the scene when an avatar arrives - a chime, a door, a bird.

SettingDefaultWhat it does
Arrival/Arrival Sound(none)A sound from your inventory. Empty = no sound
Arrival/Sound Volume100Loudness from 0 to 200 percent (100 = the sound as recorded, 0 = no sound)
Arrival/Sound EverywhereOffOff = the sound comes from the object that carries the script, louder near it and fainter far away. On = everyone hears it at the same level, wherever they are in the scene
Arrival/Sound Min Interval Seconds2Minimum delay between two sounds, for the whole scene (0 to 60). Avatars who arrive during the delay trigger no sound: a group that arrives together is one chime, not ten. 0 = a sound at every arrival

Arrival and departure events

Two Script Events that other scripts can listen to, to react to the comings and goings: a lamp that lights up, a counter, a door, a script of your own.

SettingDefaultWhat it does
Arrival/Send Arrival EventOffPosts the Script Event below each time an avatar enters the scene
Arrival/Arrival Event Name"mpp_avatar_arrived"Name of that Script Event
Arrival/Send Departure EventOffPosts the Script Event below each time an avatar leaves the scene
Arrival/Departure Event Name"mpp_avatar_left"Name of that Script Event

NPCs

Sansar NPCs (non-player characters) are in the scene when it starts, and scripts see them exactly like avatars. Without this setting the greeter would welcome them at every scene start, the arrival sound would play, the arrival event would fire, and the greeting cooldown would be spent on them before the first real visitor.

Activation/Detect NPCs (default Off):

The script recognizes an NPC by its handle: npc- followed by 32 characters (digits and letters a to f), for example npc-47fd9b2b74454649aedef8d8fe5550ac. Sansar gives scripts no other sign. A visitor whose handle merely starts with npc- (like npc-fan) is not an NPC. With Debug/Debug Logging On, each ignored NPC is written to the script console.


Editor Properties Reference (30 total)

Activation

PropertyTypeDefaultDescription
Activation/Chat Commandstring"/CommandsHelp"Chat command that shows the help, typed alone (case-insensitive). Empty = no chat trigger
Activation/Enable Script EventboolOnAlso shows the help when another script posts the event below
Activation/Script Event Namestring"show_commands_help"Name of that Script Event
Activation/Cooldown Secondsnumber5Minimum delay between two help displays (0 = none, 86400 at most). Broadcast: whole scene. Whisper: per avatar
Activation/Cooldown NoticeboolOnPrivate "please wait" message for a refused request
Activation/Cooldown Notice Textstring"The help was just posted in the chat. You can ask again in {time}."Text of that message; {time} and {seconds} are replaced, empty = no message
Activation/Detect NPCsboolOffOff = NPCs (handle npc-...) are ignored by the greeting, the arrival sound and events and the help. On = they count as visitors

Help

PropertyTypeDefaultDescription
Help/Whisper To Sender OnlyboolOffOn = private help for the avatar who asked. Off = posted to everyone
Help/Show Default HelpboolOnShows the built-in list of Sansar commands
Help/Help Blockstring""Your own help text, several lines allowed
Help/Help Block FirstboolOffYour Help Block before the built-in help
Help/Section Separatorstring"-- Custom Command --"Line between the two parts when both are shown. Empty = none
Help/Send As Single MessageboolOffOne message per part instead of one per line
Help/Max Characters Per Messageinteger, 100-2000580Longer parts are split (Send As Single Message only)

Join Greeting

PropertyTypeDefaultDescription
Join Greeting/Enable GreetingboolOffGreets arriving avatars in Nearby Chat, for everyone
Join Greeting/Cooldown Minutesinteger, 0-12010Minimum delay between two greetings, for the whole scene
Join Greeting/Messagestring"Hello! Type {trigger} in Nearby Chat to see the scene commands."Greeting text, with {trigger}, {name}, {handle}, {profileurl}
Join Greeting/Include NameboolOffAdds the avatar's display name
Join Greeting/Include HandleboolOffAdds the avatar's @handle
Join Greeting/Include Profile URLboolOffAdds the avatar's web profile link
Join Greeting/Profile URL Labelstring"Profile: "Text before the link when it is added at the end

Arrival

PropertyTypeDefaultDescription
Arrival/Arrival SoundSoundResource(none)Sound played when an avatar enters the scene. Empty = no sound
Arrival/Sound Volumeinteger, 0-200100Loudness in percent (0 = no sound)
Arrival/Sound EverywhereboolOffOff = from the object, On = same level everywhere
Arrival/Sound Min Interval Secondsnumber, 0-602Minimum delay between two arrival sounds, for the whole scene (0 = every arrival)
Arrival/Send Arrival EventboolOffPosts a Script Event at each arrival, with the avatar UUID
Arrival/Arrival Event Namestring"mpp_avatar_arrived"Name of the arrival event
Arrival/Send Departure EventboolOffPosts a Script Event at each departure, with the avatar UUID
Arrival/Departure Event Namestring"mpp_avatar_left"Name of the departure event

Debug

PropertyTypeDefaultDescription
Debug/Debug LoggingboolOffWrites accepted and refused help requests, the avatars, the greetings, the arrival sounds and the arrival and departure events to the script console

Version Notes

VersionWhat changed
V1.3.4Script Event trigger, compatible with MPP - Action Button
V1.3.6Join greeting with the arriving avatar's name, handle and profile link ({name}, {handle}, {profileurl})
V1.3.8Cleaner greeting prefix (no unwanted link), safer plain-text separator
V1.4.0Settings labelled and grouped in the Build panel; cooldown per avatar in whisper mode; private "please wait" message for a refused request; Debug Logging; more robust sending (an avatar who leaves during the help, a busy chat)
V1.5.0Arrival/ group: arrival sound (from the object or everywhere, volume, minimum interval) and arrival and departure Script Events with the avatar UUID, all Off by default (never sold, merged into V1.5.1)
V1.5.1Groups renamed Activation/ (was Trigger/) and Help/ (was Message/), Enable Script Event (was Script Event Trigger). Same settings, same values
V1.5.2 (this version)Activation/Detect NPCs (Off by default): NPCs are ignored by the greeting, the arrival sound, the arrival and departure events and the help requests. Nothing else changes

Updating from V1.5.1

Updating from V1.4.0

Updating from V1.3.8


Recipes

A - A help command for everyone. Defaults are enough: add the script to any object, paste your own commands in Help/Help Block.

B - A private help for each visitor. Help/Whisper To Sender Only On. Each visitor who types the command gets the help in private; the chat stays clean for the others.

C - A "Help" button. Put an MPP - Action Button on a panel: Send as Command On, Command 1 = show_commands_help. With Whisper To Sender Only On, the help goes to the avatar who clicked.

D - Your own commands only. Help/Show Default Help Off, your text in Help/Help Block. Useful for a game, a roleplay or a shop with its own chat commands.

E - Welcome visitors by name. Join Greeting/Enable Greeting On, Include Name On, and for example Join Greeting/Message = Welcome {name}! Type {trigger} for the scene commands. Set Cooldown Minutes to 0 to greet every arrival, or keep 10 in a busy hub.

F - Separate help texts for visitors and staff. Visitor copy: /CommandsHelp, Help/Show Default Help Off, and your visitor commands in Help/Help Block. Staff copy: Activation/Chat Command = /AdminHelp, Show Default Help On (the Sansar %% commands), your staff notes in its Help Block, Whisper To Sender Only On. Give it another Activation/Script Event Name, or turn its Activation/Enable Script Event Off, so that a help button does not show both. The command is not restricted: a visitor who types /AdminHelp receives that help in private too.

G - A chime when someone arrives. Pick a sound in Arrival/Arrival Sound, put the object near the spawn point (or turn Sound Everywhere On). Keep Sound Min Interval Seconds at 2 so a group arriving together rings once.

H - Lamps that light up for your visitors. Arrival/Send Arrival Event On with Arrival Event Name = mpp_lamp_all_on, Send Departure Event On with Departure Event Name = mpp_lamp_all_off, and MPP - Light Switch on the lamps (Events/Enable Script Events On, prefix mpp_lamp). The lamps switch on when someone enters and off when they leave.

I - Your own script reacts to arrivals. Keep the default names (mpp_avatar_arrived, mpp_avatar_left) and subscribe to them in your script: the event data holds the avatar UUID in ActivatorAvatarUuid, like an Action Button click.


Troubleshooting

SymptomCheck
Nothing happens when I type the commandTyped alone in Nearby Chat, with nothing else in the line? Same spelling as Activation/Chat Command (case does not matter)? Show Default Help Off with an empty Help Block shows nothing
"You can ask again in..."The cooldown is running. In broadcast mode, the help was just posted in the chat for everyone: scroll up. Lower Activation/Cooldown Seconds if needed
The help button does nothingOn the Action Button: Send as Command On and the same event name as Activation/Script Event Name (show_commands_help)? Activation/Enable Script Event On?
Whisper mode: the button or my script shows nothingThe event must say which avatar asked (an Action Button does). Otherwise use broadcast mode
The help is cut into several messagesSend As Single Message On and a part longer than Max Characters Per Message: normal, the chat has a length limit
No greeting for some arrivalsJoin Greeting/Cooldown Minutes: one greeting per delay for the whole scene. Set it to 0 to greet everyone
The greeting shows no name or handleThe matching Include switch must be On, even when the message contains {name} or {handle}. If the message contains one of these two tokens, write the other one too, or it is not shown
No arrival soundA sound chosen in Arrival/Arrival Sound? Sound Volume above 0? Two arrivals within Sound Min Interval Seconds give one sound. The arriving avatar may not hear it (client still loading): check with an avatar already in the scene. Too faint: move the object near the spawn point, raise the volume, or turn Sound Everywhere On
The arrival event does nothingArrival/Send Arrival Event On, and the name matches exactly what the other script listens to (a Light Switch: mpp_lamp_all_on with Events/Enable Script Events On)? An empty name sends nothing (warning at start)
The departure event has no avatar UUIDThe avatar could not be read at its arrival (or at scene start): the event is still posted, with an empty UUID
The greeter announces my NPCs when the scene startsActivation/Detect NPCs must be Off (the default since V1.5.2). NPCs are recognized by their npc- handle: turn Debug/Debug Logging On to see them ignored in the script console
I want my NPCs to be greeted or announcedTurn Activation/Detect NPCs On
Settings look different after updating the scriptOnly the labels changed; the values stay (see "Updating from V1.4.0")
I want to know what the script doesTurn Debug/Debug Logging On and open the script console: every request, greeting, sound and event is written there

Limits


ItemWhat it adds
Action Button Script (V1.7.1)Turn any object into a "Help" button that shows this help with Send as Command. Store: https://www.sansar.com/store/listings/3e1a3546-6c79-4527-bc1e-78d02648d19e/action-button-script
Light Switch Script (V1.5.3)Lamps switched by click, chat or script events, including the arrival and departure events of this script; list its /lamp commands in your Help Block. Store: https://www.sansar.com/store/listings/7379d48c-2b6f-45f6-b6f1-205ce95aec1c/light-switch-script

MPP - My Pretty Pixels. Commands Help On Chat Script V1.5.2 (script MPP - Commands Help On Chat). Store: https://www.sansar.com/store/listings/fea2df6b-21ce-48eb-94fc-4b7a7aad2777/commands-help-on-chat-script

↑