Welcome to PenUltima Online. Click to login or register.

File: Basic.em

Description: Functions for converting and manipulating number, character, and string values.
Last Modified: 03/19/2009

File Constants:

const TRIM_LEFT  := 0x1; // Trim whitespace from Left of string.
const TRIM_RIGHT := 0x2; // Trim whitespace from Right of string.
const TRIM_BOTH := 0x3; // Trim whitespace from Left and Right of string.
Bin(number)
Parameters:
Name Type
number The number to convert
Explanation
Returns the binary coded value of 'number'
Return values
A binary coded number
CAsc(string)
Parameters:
Name Type
string String to convert
Explanation
Converts the first character of string to an ASCII code
Return values
ASCII code
CAscZ(string)
Parameters:
Name Type
string String to convert
Explanation
Converts the string to an array of the character's ASCII codes
Return values
Array of ASCII values
CChr(integer)
Parameters:
Name Type
number Integer to convert
Explanation
Converts an ASCII value to a string consisting of one character.
Return values
A character
CChrZ(array)
Parameters:
Name Type
array Array of ASCII values
Explanation
Converts an array of ASCII values to a string
Return values
A string
CDbl(variable)
Parameters:
Name Type
variable A variable Int or String
Explanation
Converts a string or int to a real. Only strings containing digits and '.' will return a predicatable result. Ints will be expanded.
Return values
A Real
CInt(variable)
Parameters:
Name Type
variable A variable Real or String
Explanation
Converts a string or real to an integer. Only strings containing digits and '.' will return a predicatable result. Doubles will be truncated.
Return values
An Int
CStr(variable)
Parameters:
Name Type
variable A variable Int or Real
Explanation
Converts a real or int to a string.
Return values
A String
Compare(str1, str2, pos1_start:=0, pos1_end:=0, pos2_start:=0, pos2_end:=0)
Parameters:
Name Type
str1 First string to compare
str2 Second string to compare
pos1_start The index to start from first string
pos1_end The index to end from first string
pos2_start The index to start from second string
pos2_end The index to end from second string
Explanation
Can be used in 3 overloaded ways. Returns 1 on compare success.
Compare(string1, string2)
Compare(string1, string2, string1_index, string1_length)
Compare(string1, string2, string1_index, string1_length, string2_index, string2_length)
Return values
1 on compare success/0
Errors
"Index must not be negative for param 1"
"Index out of range for param 1"
"Index must not be negative for param 2"
"Index out of range for param 2"
"Length out of range for param 1"
"Length must not be negative for param 1"
"Length out of range for param 2"
"Length must not be negative for param 2"
Find(string, search, start)
Parameters:
Name Type
string The string to search in
search The string to search for
start The index to start searching at
Explanation
Returns the index of the first occurance of 'search' after 'start' within 'string'
Return values
An int
Hex(number)
Parameters:
Name Type
number The number to convert
Explanation
Returns the hexidecimal value of 'number'
Return values
A hexidecimal
Len(string|array)
Parameters:
Name Type
string|array A string or array
Explanation
For strings, returns string length. For arrays, returns number of elements. Does not work for structs or dictionaries, use .size() for those.
Return values
An Int
Lower(string)
Parameters:
Name Type
string A string to convert
Explanation
Converts 'string' to lowercase (doesn't work with high-ascii characters or unicode)
Return values
A string
Pack(object)
Parameters:
Name Type
object An object to pack
Explanation
Packs a variable into POL's packed data string format. Note that object references CANNOT be saved with the world, but may be passed to other running scripts, or with an event.
Return values
A string
SizeOf(expression)
Parameters:
Name Type
expression An expression to evaluate
Explanation
Returns an estimate of the memory used
Return values
An int
SplitWords( str, delimiter := " " )
Parameters:
Name Type
string The string to split
delimiter The delimiter to use
Explanation
Returns an array of words contained in 'string'. Words are separated by the delimiter.
Return values
An array
StrReplace(string, to_replace, replace_with)
Parameters:
Name Type
string The string to modify
to_replace The string to replace
replace_with The string to replace with
Explanation
Replace all instances of to_replace in the string with replace_with.
Return values
A String
SubStr(string, start, length)
Parameters:
Name Type
string The string to search within
start The index to start getting the substring from
length The length of the substring
Explanation
Returns the substring of 'string' beginning at 'start' for 'length'. This functions the same as virtual Substrings within eScript such as String[4,6]
Return values
A String
SubStrReplace(string, replace_with, start, length:=0)
Parameters:
Name Type
string The string to modify
replace_with The string to replace
start Integer start index
length Integer length
Explanation
Replace portion of string using replace_with, beginning at start for length.
Return values
A String
Errors
"Index must not be negative"
"Index out of range"
"Length out of range"
"Length must not be negative"
Trim(string, type:=TRIM_BOTH, set:=" ")
Parameters:
Name Type
string The string to trim
type The trim type to use
set The string to trim as whitespace
Explanation
Trims whitespaces from strings.
basic.em constants for type value:
const TRIM_LEFT  := 0x1; // Trim whitespace from Left of string.
const TRIM_RIGHT := 0x2; // Trim whitespace from Right of string.
const TRIM_BOTH  := 0x3; // Trim whitespace from Left and Right of string.
Return values
A String
TypeOf(variable)
Parameters:
Name Type
variable a script var
Explanation
Returns a string, depending on the variable type of the parameter. Is one of: "Dictionary", "AccountRef", "ConfigFileRef", "ConfigElemRef", "DataFileRef", "DataElemRef", "ScriptExRef", "GuildRef", "BoundingBox", "DebugContext", "Package", "MenuRef", "MobileRef", "OfflineMobileRef", "ItemRef", "BoatRef", "MultiRef", "Unknown", "Uninit", "String", "Integer", "Double", "Array", "ApplicPtr", "ApplicObj", "Error", "Struct", "Packet".
Return values
A string
Unpack(string)
Parameters:
Name Type
string A string to unpack
Explanation
Unpacks a "packed data string" into the variable it represents. See Pack().
Return values
A variable
Upper(string)
Parameters:
Name Type
string A string to convert
Explanation
Converts 'string' to uppercase (doesn't work with high-ascii characters or unicode)
Return values
A string
print(anything)
Parameters:
Name Type
anything Any object, or primitive.
Explanation
Prints 'anything' to the console. If it's a string or number, it will show the value. If it's an array, struct or dictionary, it will show the contents of the structure fairly nicely. On Packets it will show the content. Else, it shows the type of object, i.e. 'ItemRef'.
Return values
Nothing