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
 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
 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
I
 if..then
 if..then..else
 indexed, <name>[].<fieldtype>
 input
 input$, game
 insert
 Installation
 Inter-Process Communication(IPC)
 Introduction
 ip[], node[]
 ip1, node[]
 ip2, node[]
 ip3, node[]
 ip4, node[]
 ipwhitelist_add
 ipwhitelist_list@
 ipwhitelist_remove
J
 join$
L
 left$
 length
 License Authentication
 ln
 load(<filename$>), map[]
 log
 log10
 Logical Operators
 lower$
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.
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.
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).
Conditionally evaluate a block of code.
Choose between two alternate and exclusive blocks of code.
Get or set whether the given field is indexed.
Check for any waiting player input.
This is the same as rawinput$, but preceding whitespace has been stripped.
Inesrt an integer value in the middle of a vector.
Rapture should be installed like any linux application.
Often it is useful to create dedicated external programs which are optimized to specific tasks or access functionality that simply isn’t provided by Rapture.
The programming language used in Rapture is a proprietary one, designed for use in developing virtual environments and the logic required to operate and maintain them.
Use this to obtain the first through fourth bytes representing the user’s connecting IP address.
Use this to obtain the first byte of the user’s connecting IP address.
Use this to obtain the second byte of the user’s connecting IP address.
Use this to obtain the third byte of the user’s connecting IP address.
Use this to obtain the fourth byte of the user’s connecting IP address.
Adds IP address to max node IP whitelist.
Returns the list of whitelisted IP addresses.
Remove an IP address from the max node IP whitelist.
Join the elements of a vector with a string.
Extract the N left-most characters of a string.
Return the length (in bytes) of a string.
Rapture requires a valid license to run.
Computes the natural (base e) logarithm of the provided number.
Load a map from a given file (relative to the DataDir config option) replacing the information already in memory.
Computes the base-Y logarithm of the provided number.
Computes the base-10 logarithm of the provided number.
Logical operators perform boolean logic on the values.
Make a lowercase copy of a string.