Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
$#!
 #define<symbol>([<arg>[,<arg>...]])[<text>]
 #define<symbol>[<text>]
 #else
 #endif
 #ifdef<symbol>
 #ifndef<symbol>
 #include”<filename>”
 #undef<symbol>
 <fieldtype>[], <name>[]
A
 Achaea Telnet Client Protocol(ATCP)
 alloc
 alpha
 ansi, node[]
 ansicolor$
 append_log
 Arithmetic Operators
 Assignment Operators
 atcp, node[]
 atcp_msg
 atcpmsg$, game
B
 backcolor, node[]
 backtrace$, game
 backup
 backup_nofork
 Basic Syntax
 bcrypt$
 Bitwise Operators
 bpp, map[]
 break
 Builtin Databases
C
 check_tasks
 chr$
 Clamping
 clear
 clear_game_task
 clear_player_task
 clear_replica_task
 clear_room_task
 clone@
 Comments
 Common Structure
 Comparison Operators
 Compilation Example
 Compiled Messages
 Compiling
 Config Options
 Configuration
 continue
 Control Structures
D
 Database Functions
 day, game
 DB Field Aliasing
 DB Field Types
 dbstats$, game
 debugout
 decrement_replica_data
 decrement_replica_var
 delete
 delete$
 Detecting support for 256 colors
 disabled, node[]
 ditch, node[]
 do..while
 dotask
 doverb
E
 echo, node[]
 element[<offset>], map[]
 Enabling 256-color mode
 Enabling MXP
 Example
 expand
 Expression Basics
 Expressions
F
 fclose
 feof
 fget_byte
 fget_data
 fget_line$
 fget_memory
 fget_string$
 fget_variable
 Field Types
 File Extension Types
 File Functions
 file_length
 file_lines
 filename$, map[]
 find_repflag
 find_replica
 find_replica@
 fopen
 for<x>in<vector>do
 forecolor, node[]
 fpos
 fput_byte
 fput_data
 fput_line
 fput_memory
 fput_string
 fput_variable
 fremove
 frename
 fseek
 fseek_line
 ftempname$
G
 Game Database
 Game Related Functions
 game_task
 game_task_time
 game_tasks@
 gcd
 Generic MUD Communication Protocol(GMCP)
H
 height, map[]
 History
 host$, node[]
 hour, game
Define a macro.
Define a constant.
If inside a conditional directive (#ifdef or #ifndef) and processing, then cease processing until an #endif is encountered.
This terminates a conditional directive (or chain of directives).
Process the following code only if the specified symbol is defined.
Just like #ifdef but only process if the symbol is not defined.
This recursively includes the entire file specified as if it was actually inserted at the given location.
Delete the definition of this constant or macro.
Get or set the value of a given field.
TELNET is the protocol used to connect to Rapture, however it is often not expressive enough for some of the functionality that a server may want to provide.
Allocate a block of memory.
Determine if a string is composed entirely of alphabetic characters.
Use this field to turn on or off the user’s receiving of ANSI color codes.
Generate an ANSI color code sequence for the specified foreground and background combination.
Use this function to append a line of text to a file using a ‘log’ format.
Arithmetic operators provide the basic mathematical operations on numbers.
Assignment operators are used to put a value into something, be it a variable or database.
The ATCP TELNET option has been enabled by the player’s client.
Send an ATCP message to a node.
When an ATCP message is received from a node, this will be nonempty and contain the full body of the message.
When ANSI color is enabled for this node, this represents the background color of text being sent.
This returns a string formatted to describe the current call stack and parameter values.
Force a write of all database information to disk.
Force a write of all database information to disk.
Generate a string representation of a blowfish hash of the string.
Bitwise operators use integers and operate on the bits that represent them.
Return the bits-per-pixel of the map (read-only).
Immediately exit the inner-most loop.
Rapture comes with many features tailored specifically to making a MUD easier to program and create.
Check for any pending tasks and run the first one found.
Return a string corresponding to the ASCII character given.
Database bytes and variables can be clamped.
Remove all the elements from a vector.
Remove a scheduled game task.
Remove a scheduled player task.
Remove a scheduled replica task.
Remove a scheduled room task.
Create a new vector containing a copy of each element in the source vector.
Comments are a staple of good programming, and Rapture would be lacking without it’s own.
Comparisons do just that, compare.
So, you can see the overall process, but want to know how to actually go about compiling something? 
Back in the days of yore, machines had limited memory, and life was hard.
The Rapture Programming Language is an imperative, compiled, interpreted language.
This is a list of the options that can be set in the config file for the Rapture Runtime Environment.
Most of the behavior of Rapture can be customized through command line options or (preferably) through a specified configuration file.
Jump immediately to the loop test condition.
Control structures are what shape the logic of a program.
This returns the current day of the month (1-31).
While the structure of a database is easily changed, it’s quite tedious (and very poor programming practice) to refer to the elements of a record by their numeric ordering.
The database, at its most abstract representation is a set of records, with each record having a similar structure.
This provides an informational string indicating the database structure currently in use by the Rapture engine.
Print some text to the console that Rapture was started on.
Decrement a given replica data, returning any record that reaches 0.
Decrement a given replica variable, returning any record that reaches 0.
Remove an element from a vector.
This frees all data associated with the record, resets all values to 0, and unschedules any tasks associated with it.
This deletes the map and frees all the memory associated with it.
Remove an element from a vector.
When a new node connects, Rapture automatically negotiates the terminal type (http://www.rfc-base.org/txt/rfc-1091.txt) of the user’s client, and stores all of the client’s replies in node[].ttype@.
Disabling a node will prevent Rapture from assigning a new user to it.
Ditch a user connected to this node, and free the data associated with it.
A post-condition looping construct.
Executes a task directly.
This will ‘call’ a verb definition given its ‘handle’.
This will get or set the telnet local echo option of the user.
Access one element of the map using a single offset value.
To enable support for 256 colors on a specific node, set node[].xterm256 to 1.
To enable MXP on a specific node, set node[].mxp to 1.
This block of code will return the text required to create a clickable MXP command.
Interpolate the value(s) of variables at runtime.
Each expression is composed of one or more terms, perhaps joined together by operators or procedure calls.
Expressions are the building blocks of complex behavior in any programming language.
Close a previously opened file.
Check the status of the EOF flag on the file handle.
Read an unsigned byte from the file.
Read a signed 4 byte integer from the file.
Read a newline-terminated string from the file.
Read a block of data from a file into an allocated block of memory.
Read null-terminated string from the file.
Read an unsigned 2 byte integer from the file.
Each database listed here has the same default structure as any user database.
A few types of files are used throughout the compilation process, all of which are distinguished by the ‘extension’ on the end of the filename.
Determine the length of a file.
Quickly scan the file to find out the number of lines.
Set the file to save the map into to keep it permanent.
Search for for a replica with the given flag enabled.
Locate a replica with a matching mother and room.
Locate all the replicas with a matching mother and room.
Open a file and return its handle.
This construct will iterate over each element in the given vector, assigning the current value to x each time.
When ANSI color is enabled for this node, this represents the foreground color of text being sent.
Query the current position of writing/reading in a file.
Write an unsigned byte to the file.
Write a signed 4 byte integer to the file.
Write a newline terminated string to the file.
Write a block of data to a file from an allocated block of memory.
Write a null-terminated string to the file.
Write an unsigned 2 byte integer to the file.
This will erase a file or directory recursively.
Rename (move) a file within the same filesystem.
Position the current file pointer in an open file.
Position the file at the start of a given line.
Generate a temporary file name.
The game database is a catch-all.
Schedule execution of a game task.
Returns the number of ticks until task fire.
Search the list of game tasks.
Computes the greatest common divisor of the provided two numbers.
TELNET is the protocol used to connect to Rapture, however it is often not expressive enough for some of the functionality that a server may want to provide.
Return the height of the map (read-only).
Perhaps a word or two ought to be said about the history and evolution of Rapture.
This string describes where the location from which user is connecting.
This returns the current hour (0-23).