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