Skip to content

Getting started | Methods

Andrzej edited this page Oct 17, 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 (exceptions apply)
❌ 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: Player variable e.g. @players or * for every player

(2) 'duration' argument
 - Expected value: Duration in format #ms (milliseconds), #s (seconds), #m (minutes) etc., e.g. 5s or 2m

(3) 'message' argument
 - Expected value: Any text e.g. "Hello, World!"

So, let's say we want a broadcast cool 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 represents all players.

Broadcast *
  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.

Broadcast * 3s
  1. message argument This will be the text that will be displayed, so we provide "cool broadcast"
Broadcast * 3s "cool 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 "cool broadcast"

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

Additionally, you can provide format specifiers like so:

Broadcast * 3s "<b><color=#ff88ff>cool</color><br><color=#4444ff>broadcast</color></b>"
image
Clone this wiki locally