Skip to content

Getting started | Methods

Andrzej edited this page Sep 5, 2025 · 5 revisions

What are methods?

Methods are those "commands" that I've been telling you about. These can take certain arguments/parameters and do something with them. These are the building blocks of your scripts.

What classifies as a method?

For something to be classified as a method by the script, it needs to:

  1. Be a valid method
❌ SendMassiveMessage "Hello, World!"
✅ Reply "Hello, World!"
  1. Be the first word in the line
❌ test Print "Hello, World!"
✅ Reply "Hello, World!"
  1. Be the exact same case-wise
❌ print "Hello, World!"
❌ PRINT "Hello, World!"
✅ Print "Hello, World!"

What methods can I use?

The serhelp command will tell you! If you do serhelp methods, you will get a list of all methods you have at your disposal.

Warning

By the time you're reading this tutorial, the command could've changed a little. I advise you to verify by yourself if the command matches what is shown here.

Here's a small example of the output:

--- CASSIE methods ---
> IsCassieSpeaking [pure txt] Returns True/False value indicating if CASSIE is speaking.
> Cassie                      Makes a CASSIE announcement.
> ClearCassie                 Clears all CASSIE announcements, active or queued.
> PlayerCassie                Makes a CASSIE announcement to specified players only.

--- Broadcast methods ---
> Countdown                   Creates a countdown using broadcasts.
> Broadcast                   Sends a broadcast to players.
...

How to get information about a specific method?

You can do serhelp <methodName> to get info about a specific method. Let's run the serhelp Broadcast command and see what it gives to us:

=== Broadcast ===
> Sends a broadcast to players.


This method expects the following arguments:

(1) 'players' argument
 - Expected value: * character (gets all) OR player variable e.g @myPlayers

(2) 'duration' argument
 - Expected value: duration e.g. 5.3s

(3) 'message' argument
 - Expected value: any text e.g. (Never Gonna Give You Up)


Additional information about arguments:

(2) 'duration' argument
 - This argument supports a lot of formats, but you should use #ms (miliseconds), #s (seconds), #m (minutes), #h (hours) and #d (days). You can replace # with a number like 21.37, 69 e.g. '.5s' for half a second. Warning! You cannot put a negative number, as there is no negative duration (unless you bend spacetime).

So, let's say we want a broadcast Hi everyone! This is a working broadcast!!! to every player for 3 seconds, how to do that?

Well, we have 3 arguments:

  1. players argument

If we want this argument to mean "all players", we can just use *, which "gets all" (in this case players).

Tip

The * (or joker character) is available in many argument types, e.g. Door argument, Room argument etc. It simply just means "get everything."

  1. duration argument

This argument provides us with a tutorial as to how to use it. We need to provide seconds, so we can use the #s format, where we replace # with our number, so we can use 3s.

  1. message argument

This is just the message we want to broadcast. We just put our message inside quotes like so: "Hi everyone! This is a working broadcast!!!"

Warning

If the value of your argument (usually text) has spaces, you MUST put it inside quotes. If not, each word will be assumed to be a different argument, causing an error.

            #1      #2    #3  #4
❌ Reply example message to print

          - - - - -  #1  - - - - -
✅ Reply "example message to print"

Using this information we can quickly make a player broadcast! Let's open the myScript.txt file in your SER folder, and add the following:

Reply "Hello, World!"
Broadcast * 3s "Hi everyone! This is a working broadcast!!!"

Now if you run this script, you should get a broadcast like this: image

Clone this wiki locally