Functions for converting and manipulating number, character, and string values.
02/05/2018
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.
// TypeOfInt() constants
const OT_UNKNOWN := 0;
const OT_UNINIT := 1;
const OT_STRING := 2;
const OT_LONG := 3;
const OT_DOUBLE := 4;
const OT_ARRAY := 5;
const OT_APPLICPTR := 6;
const OT_APPLICOBJ := 7;
const OT_ERROR := 8;
const OT_DICTIONARY := 9;
const OT_STRUCT := 10;
const OT_PACKET := 11;
const OT_BINARYFILE := 12;
const OT_XMLFILE := 13;
const OT_XMLNODE := 14;
const OT_XMLATTRIBUTES := 15;
const OT_POLCOREREF := 16;
const OT_ACCOUNTREF := 17;
const OT_CONFIGFILEREF := 18;
const OT_CONFIGELEMREF := 19;
const OT_DATAFILEREF := 20;
const OT_DATAELEMREF := 21;
const OT_GUILDREF := 22;
const OT_PARTYREF := 23;
const OT_BOUNDINGBOX := 24;
const OT_DEBUGCONTEXT := 25;
const OT_SCRIPTEXREF := 26;
const OT_PACKAGE := 27;
const OT_MENUREF := 28;
const OT_MOBILEREF := 29;
const OT_OFFLINEMOBILEREF := 30;
const OT_ITEMREF := 31;
const OT_BOATREF := 32;
const OT_MULTIREF := 33;
const OT_CLIENTREF := 34;
// Only applicable if SQL is active and compiled.
const OT_SQLCONN := 35;
const OT_SQLRESULT := 36;
const OT_SQLROW := 37;
const OT_BOOLEAN := 38;
const OT_FUNCOBJECT := 39;
CAsc(str)
Converts the first character of string to an ASCII code
ASCII code
CAscZ(str, nullterm := 0)
Converts the string to an array of the character's ASCII codes
Array of ASCII values
CChr(number)
Converts an ASCII value to a string consisting of one character.
A character
CChrZ(intarray, break_at_first_null := 0)
Converts an array of ASCII values to a string
A string
CDbl(expr)
Converts a string or int to a real. Only strings containing digits and '.' will return a predicatable result.
Ints will be expanded.
A Real
CInt(expr)
Converts a string or real to an integer. Only strings containing digits and '.' will return a predicatable
result. Doubles will be truncated.
An Int
CStr(expr)
Converts a real or int to a string.
A String
Find(str, search, start)
Returns the index of the first occurance of 'search' after 'start' within 'string'
An int
Hex(number)
Returns the hexidecimal value of 'number'
A hexidecimal
Len(str_or_array)
For strings, returns string length. For arrays, returns number of elements. Does not work for structs or dictionaries, use .size() for those.
An Int
Lower(str)
Converts 'string' to lowercase (doesn't work with high-ascii characters or unicode)
A string
Pack(expr)
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.
A string
SizeOf(obj)
Returns an estimate of the memory used in bytes.
An int
SplitWords( str, delimiter := " ", max_split := -1 )
Returns an array of words contained in 'string'. Words are separated by the delimiter.
An array
TypeOf(expr)
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".
A string
Unpack(str)
Unpacks a "packed data string" into the variable it represents. See Pack().
A variable
Upper(str)
Converts 'string' to uppercase (doesn't work with high-ascii characters or unicode)
A string
Bin(number)
Returns the binary coded value of 'number'
A binary coded number
SubStr(str, start, length)
Returns the substring of 'string' beginning at 'start' for 'length'. This functions the same as virtual Substrings within eScript such as String[4,6]
A String
Compare(str1, str2, pos1_start:=0, pos1_end:=0, pos2_start:=0, pos2_end:=0)
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)
Index is a starting position to begin the compare in the string, and length
is the length to compare from the index. When using the 3rd method,
you can compare substrings in both strings instead of just the
substring of string1 to entire string2.
1 on compare success/0
"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"
Trim(str, type:=TRIM_BOTH, to_trim:=" ")
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.
A String
StrReplace(str, to_replace, replace_with)
Replace all instances of to_replace in the string with replace_with.
A String
SubStrReplace(str, replace_with, start, length:=0)
Replace portion of string using replace_with, beginning at start for length.
A String
"Index must not be negative"
"Index out of range"
"Length out of range"
"Length must not be negative"
TypeOfInt( expr )
returns Integer representation of TypeOf string.
An Integer
PackJSON( expr )
Returns a JSON-serialization of the object to pack.
The following conversions are done:
eScript -> JSON
double -> number
int -> number
string -> string
array -> array
struct -> object
dict -> object
bool -> bool
everything else -> null
string
UnpackJSON( str )
Returns an eScript object representing the serialized JSON string.
The following conversions are done:
JSON -> eScript
number -> double
string -> string
array -> array
object-> struct
bool -> bool
null -> uninitialized object
Any one of: double, string, array, struct, boolean, or uninit.
Boolean( number )
Converts a number to an boolean value.
Returns an Boolean object.
EncodeBase64( str )
Returns a base64 encoded string string.
A String
DecodeBase64( str )
Takes a base64 encoded string and converts it back to standard.
A String