<membermname="name"type="String"access="r/w"mdesc="name string (for items use .desc for single-click text, this does not include suffix or formatting)"/>
<methoddesc="Sets the built-in member 'membername' to 'value'. obj.set_member("name","Eric") is the same as obj.name := "Eric""proto="set_member(string membername, obj value)"returns="object, new value of member or error"/>
<methoddesc="Gets the value of the built-in member 'membername'. var objname := obj.get_member("name") is the same as var objname := obj.name"proto="get_member(string membername)"returns="object, value of member or error"/>
<membermname="desc"type="String"access="r/o"mdesc="single click description string (formatted name and suffix added to it without formatting if it exists)"/>
<membermname="item_count"type="Integer"access="r/o"mdesc="number of items in container including the container itself (1 if this item is not a container or an empty container)"/>
<membermname="saveonexit"type="Boolean"access="r/w"mdesc="default 1, if you set this to 0 the item and (if container, it's contents) will NOT be saved to datafile"/>
<membermname="swing_speed_increase"type="Integer"access="r/o"mdesc="Total of base property plus mod, applied to characters when equipt. Swing Speed Increase is used as a % modifier to the calculated speed of a weapon, e.g. Weapon speed of 30 * swing speed increase of 100% would make the swing speed 60."/>
<methodproto="splitStackAt(x, y, z, realm, amount)"returns="Item"desc="Will split the item into 2 stacks. Returns a reference to the new stack made from item. Places new stack at the coordinates"/>
<methodproto="splitStackInto(container, amount)"returns="Item"desc="Will split the item into 2 stacks. Returns a reference to the new stack made from item. Places new stack into the container"/>
<methodproto="hasExistingStack(container)"returns="Item"desc="Checks if there is an existing stack in a container or not, returns the ItemRef of the stack if it exists"/>
<membermname="resist_fire"type="Integer"access="r/o"mdesc="Total AOS+ armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry."/>
<membermname="resist_cold"type="Integer"access="r/o"mdesc="Total AOS+ armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry."/>
<membermname="resist_energy"type="Integer"access="r/o"mdesc="Total AOS+ armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry."/>
<membermname="resist_poison"type="Integer"access="r/o"mdesc="Total AOS+ armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry."/>
<membermname="resist_physical"type="Integer"access="r/o"mdesc="Total AOS+ armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry."/>
<membermname="squelched"type="Integer"access="r/o"mdesc="1 = player cannot speak"/>
<membermname="dead"type="Integer"access="r/o"mdesc="1 = player is dead"/>
<membermname="ar"type="Integer"access="r/o"mdesc="Total armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry."/>
<membermname="shield"type="Armor"access="r/o"mdesc="Returns the ItemRef of the sheild, if any, is worn."/>
<membermname="backpack"type="Item"access="r/o"mdesc="Reference to character's pack (if any)"/>
<membermname="trading_with"type="Character"access="r/o"mdesc="Reference to character they are trading with (if any)"/>
<membermname="tradewindow"type="Container"access="r/o"mdesc="Reference to the trade container if the char has an active trade, error if no active trade"/>
<membermname="acct"type="Integer"access="r/o"mdesc="Account Reference (if not NPC) (deprecated, will be removed in next release, use Client instead)"/>
<membermname="murderer"type="Boolean"access="r/w"mdesc="1 = player flagged murderer (red)"/>
<membermname="attached"type="Script"access="r/o"mdesc="Script reference for attached script"/>
<membermname="reportables"type="Array"access="r/o"mdesc="(reputation system) Array of Structs: { serial, killer, gameclock }, serial = killer's serial, killer = 'offline mobile reference' to the killer, gameclock = game time when the death occurred"/>
<membermname="clientversion"type="String"access="r/o"mdesc="UO Client version string"/>
<membermname="clientinfo"type="Struct"access="r/o"mdesc="UO Client information struct (check out core-changes.txt for an example) (deprecated, will be removed in next release, use Client instead)"/>
<membermname="clientver_detail"type="Struct"access="r/o"mdesc="UO Client version string as Struct of Ints {major;minor;rev;patch} (deprecated, will be removed in next release, use Client instead)"/>
<membermname="createdat"type="Integer"access="r/o"mdesc="PolClock when character was created"/>
<membermname="opponent"type="MobileRef"access="r/o"mdesc="Mobile reference if a combat opponent is selected."/>
<membermname="connected"type="Boolean"access="r/o"mdesc="To determine if the character is actively connected to the game. Is set to 1 before logon/reconnect scripts are run and 0 right before logofftest is run. Will return 1 on NPC."/>
<membermname="uclang"type="String"access="r/o"mdesc="Reports the Unicode Language string client sends during logon."/>
<membermname="race"type="Integer"access="r/w"mdesc="Set/get the ML/SA race (new constants in UO.EM: RACE_HUMAN, RACE_ELF,RACE_GARGOYLE). You have to set visual graphic by yourself if you change value (Human male/female = 0x190/0x191 / Elf male/female = 0x25d/0x25e / Gargoyle male/female = 0x029a/0x029b). You can choose Race at Char creation if your UOExpansion and UOFeature settings fit."/>
<membermname="hitchance_mod"type="Integer"access="r/w"mdesc="Additive modificator of the hitchance from the attacker (+- int in thousandth)"/>
<membermname="evasionchance_mod"type="Integer"access="r/w"mdesc="Subtractive modificator of the hitchance from the defender (+- int in thousandth)"/>
<membermname="carrying_capacity"type="Integer"access="r/o"mdesc="Current carrying capacity. Defined as (40 + 3.5*chr.strength + chr.carrying_capacity_mod)*ssopt.carrying_capacity_mod. Note that characters can go above their carrying capacity, but will run out of stamina much faster."/>
<membermname="carrying_capacity_mod"type="Integer"access="r/w"mdesc="Carrying capacity modifier. Is taken into account prior to global ssopt modifier."/>
<membermname="aggressorto"type="Array"access="r/o"mdesc="list of mobiles this character is flagged as aggressor on repsys"/>
<membermname="lawfullydamaged"type="Array"access="r/o"mdesc="list of mobiles this character is flagged as lawfully damaged on repsys"/>
<membermname="uo_expansion_client"type="Integer"access="r/o"mdesc="client send expansion info flag (deprecated, will be removed in next release, use Client instead)"/>
<membermname="clienttype"type="Integer"access="r/o"mdesc="clientversion type bitfield (deprecated, will be removed in next release, use Client instead)"/>
<membermname="client"type="Client"access="r/o"mdesc="returns ClientRef object or error"/>
<membermname="house_editing"type="Boolean"access="r/o"mdesc="1 if character is currently editing an house"/>
<membermname="lastcoord"type="Struct"access="r/o"mdesc="position before the last walk packet as struct{lastx,lasty,lastz}"/>
<membermname="active_skill"type="Boolean"access="r/o"mdesc="1 if character has an active attached skill script"/>
<membermname="casting_spell"type="Bool"access="r/o"mdesc="1 if character has an active attached spell script"/>
<membermname="last_textcolor"type="Struct"access="r/o"mdesc="last text color used by the character. Values are between 2 and 1001. Returns 0 if not yet spoken. (will not be saved inside of the datafile)"/>
<membermname="lower_reagent_cost"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="spell_damage_increase"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="faster_casting"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="faster_cast_recovery"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="defence_increase"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="defence_increase_cap"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="lower_mana_cost"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="hit_chance"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="resist_fire_cap"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="resist_cold_cap"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="resist_energy_cap"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="resist_physical_cap"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="resist_poison_cap"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="luck"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base."/>
<membermname="swing_speed_increase"type="Integer"access="r/o"mdesc="Total calculation of all modifiers from items equipt plus personal modifier and personal base. Swing Speed Increase is used as a % modifier to the calculated speed of a weapon, e.g. Weapon speed of 30 * swing speed increase of 100% would make the swing speed 60."/>
<methodproto="setpoisoned(bool)"returns="true/error"desc="sets the character poisoned, controller of calling script is flagged as in repsystem"/>
<methodproto="setparalyzed(bool)"returns="true/error"desc="sets the character paralyzed, controller of calling script is flagged as in repsystem"/>
<methodproto="setcriminal(int level)"returns="true/error"desc="sets the character criminal. level multiplies the CriminalFlagInterval as defined in repsys.cfg. level=0 clears criminal timer."/>
<methodproto="setlightlevel(int level, int duration)"returns="true"desc="sets the light level of the character to 'level' for 'duration' seconds"/>
<methodproto="squelch(int duration)"returns="int/error"desc="character cannot talk for 'duration' seconds. -1 means forever. 0 clears the squelch"/>
<methodproto="enable(string setting)"returns="true/error"desc="enables the 'granted' privilege to the character"/>
<methodproto="disable(string setting)"returns="true"desc="disables the 'granted' privilege to the character"/>
<methodproto="enabled(string setting)"returns="true/false"desc="true if the privilege is enabled"/>
<methodproto="privileges()"returns="dictionary"desc="Dictionary where keys are privilege name, value is 0/1 boolean."/>
<methodproto="setcmdlevel(string cmdlevel)"returns="true/error"desc="grants the command level to the char as defined in cmds.cfg"/>
<methodproto="spendgold(int amount)"returns="true/error"desc="if enough gold, removes it from the player's pack"/>
<methodproto="setmurderer(bool)"returns="true/error"desc="flags the character as a murderer (red)"/>
<methodproto="removereportable(int serial, int gameclock)"returns="true/error"desc="removes the killer with 'serial' from the reportables list that was added at 'gameclock'"/>
<methodproto="getgottenitem()"returns="error/ItemRef"desc="returns an ItemRef to the item held on the player's cursor, if any."/>
<methodproto="cleargottenitem()"returns="true/error"desc="Returns 'dragged' item to original location."/>
<methodproto="setwarmode(boolean)"returns="integer/error"desc="Sets the internal warmode flag and sends the update to the player. Returns the new warmode value."/>
<methodproto="attack_once([MobileRef opp])"returns="true/error"desc="Attacks once without modifing the swingtimer. If no opp is given attacks current attackable opponent, else attacks given opponent (but checks if still attackable)"/>
<methodproto="setswingtimer(int time)"returns="true/error"desc="If opponent is set sets swingtimer to given ms time."/>
<methodproto="kill([MobileRef killer])"returns="true"desc="Kills character ignoring invul, if killer is set repsys:OnDamage is called"/>
<methodproto="setfacing(string/int direction, flags := FACE_NORMAL)"returns="true/error"desc="Sets Facing to given direction. If FACE_FORCE is set frozen/paralysed is not checked"/>
<methodproto="compareversion(string Version)"returns="true/false"desc="true if Client Version >= given Versionstring"/>
<methodproto="setAggressorTo(MobileRef chr)"returns="true/error"desc="sets aggressor for repsys.cfg:AggressorFlagTimeout seconds for given chr"/>
<methodproto="setLawfullydamagedTo(MobileRef chr)"returns="true/error"desc="sets lawfullydamaged for repsys.cfg:AggressorFlagTimeout seconds for given chr"/>
<methodproto="clearAggressorTo(MobileRef chr)"returns="true/error"desc="clears aggressor entry for given chr"/>
<methodproto="clearLawfullydamagedTo(MobileRef chr)"returns="true/error"desc="clears lawfullydamaged entry for given chr"/>
<methodproto="deaf(int duration)"returns="int/error"desc="character cannot hear for 'duration' seconds. -1 means forever. 0 clears the deaf"/>
<methodproto="setseason(int season_id,int playsound )"returns="int/error"desc="Used to send the Season packet 0xBC to a single character, doesnt resend the lightlevel or weather."/>
<methodproto="addBuff(int icon_id, int duration, int cliloc_name, int cliloc_descr, array arguments)"returns="true/error"desc="Adds a buff to Character's buff bar. Duration is in seconds: countdown is done by the client, but the icon is never automatically removed. Arguments is an Unicode string (array of int); separated by a single tab character. Example: who.addBuff(1029, 30, 1075814, 1075815, CAscZ("1234 5678"));"/>
<methodproto="clearBuffs()"returns="true/error"desc="Removes all buffs from Character's buff bar."/>
<methodproto="delBuff(int icon_id)"returns="true/error"desc="Removes a buff from Character's buff bar."/>
<membermname="use_adjustments"type="Boolean"access="r/w"mdesc="Use movement adjustments to avoid single-tile obsticals"/>
<membermname="run_speed"type="Integer"access="r/w"mdesc="NPC walk delay (maximum 250)"/>
<membermname="saveonexit"type="Boolean"access="r/w"mdesc="default 1, if you set this to 0 the npc and all items contained within it's wornitems container will NOT be saved to datafile"/>
<methodproto="move_offline_mobiles(int x, int y, int z[, string realm])"returns="true/false"desc="moves offline mobiles on boat to x,y,z. If realm is not set, Boat-realm is used."/>
<membermname="house_parts"type="Integer"access="r/o"mdesc="returns array of structs{graphic,xoffset,yoffset,z} or error if not a custom house. When in edit mode returns the current working design. To get the real coords from an elem add house.x/y"/>
<methodproto="addhousepart(int graphic, int xoffset, int yoffset, int z)"returns="true/error"desc="Adds a part to the custom house design."/>
<methodproto="erasehousepart(int graphic, int xoffset, int yoffset, int z)"returns="true/error"desc="Removes a part from the custom house design."/>
<methodproto="acceptcommit(Character chr, bool commit)"returns="true/error"desc="If commit is 0 then drops the not committed custom house changes or accept them instead"/>
<methodproto="cancelediting(Character chr, bool drop_changes)"returns="true/error"desc="Stops editing mode. If drop_changes is true, drops all non committed changes"/>
<methodproto="addcharacter(index)"returns="nothing/error"desc="If Index is 0 (.AddCharacter(0)), it will find the next available slot on the account. (Otherwise pass 1-5) Will create a naked, uncolored, male character named 'new character' at 1, 1, 1 on Britannia. No scripts are ran for this method of character creation. Edit this new character via the script creating it."/>
<methodproto="ban()"returns="true"desc="bans the account"/>
<methodproto="unban()"returns="true"desc="unbans the account"/>
<methodproto="enable()"returns="true"desc="enables the account"/>
<methodproto="disable()"returns="true"desc="disables the account"/>
<methodproto="setpassword(string newpass)"returns="true/error"desc="sets the account password to newpass"/>
<methodproto="checkpassword(string pass)"returns="boolean/error"desc="returns true if 'pass' is the account's password"/>
<methodproto="setname(string newname, string newpass)"returns="true/error"desc="sets the account name to newname, password to newpass. The parameter newpass is only optional if you have clear text passwords (RetainCleartextPasswords) - which you shouldn't."/>
<methodproto="getcharacter(integer slot)"returns="true/OfflineCharacterRef"desc="gets an OfflineCharacterRef for the character in slot 'slot'. returns error if not character in that slot (1..5)"/>
<methodproto="deletecharacter(integer slot) "returns="true/error"desc="Deletes character in slot 'slot'. returns error if not character in that slot (1..5)"/>
<methodproto="delete()"returns="true/error"desc="Delete this empty account."/>
<methodproto="split(string newacctname, integer slot)"returns="AccountRef/error"desc="Create a new account and move character to it. On success returns a reference to the new account."/>
<methodproto="move_char(string destacctname, integer slot)"returns="true/error"desc="Move character from this account to destination account. You can use it to flip chars on same account too."/>
<methodproto="getprop(string propname)"returns="true/error"desc="GetObjProperty for account objects."/>
<methodproto="setprop(string propname, propval)"returns="true"desc="SetObjProperty for account objects."/>
<methodproto="eraseprop(string propname)"returns="true"desc="EraseObjProperty for account objects."/>
<methodproto="propnames()"returns="Array"desc="returns an array of cprop names on this account"/>
<methodproto="set_uo_expansion(string expansion)"returns="true/error"desc="This determines what flag is sent with packet 0xB9 during login (Nothing -> 0x0000 / T2A -> 0x0001 / LBR -> 0x0002 / AOS -> 0x801b / SE -> 0x805b / ML -> 0x80db / KR -> 0x86DB / SA -> 0x187DF / HSA -> 0x387DF / TOL -> 0x7387DF). It's possible to hook 0xB9 but don't forget to set_uo_expansion anyway because core uses this for internal flags (e.g. AoS Tooltips). The servspecopt.cfg UOFeatureEnable is used with packet 0xA9 and is currently global to all clients. Recognized values: TOL, HSA, SA, KR, ML, SE, AOS, LBR, T2A (default)."/>
<methoddesc="Gets the value of the built-in member 'membername'. var objname := obj.get_member("name") is the same as var objname := obj.name"proto="get_member(string membername)"returns="object, value of member or error"/>
<membermname="speed_mod"type="Integer"access="r/w"mdesc="from -32768 to 32767, an optional way to delay if you want to use the default speed math and just add to that"/>
<explain>Special items that display as many pieces of a large structure, as defined in multi.cfg</explain>
<membermname="footprint"type="Struct"access="r/o"mdesc="returns a struct with 'xmin', 'xmax', 'ymin', 'ymax' of the world coordinates the multi occupies."/>
<membermname="all_scripts"type="Array"access="r/o"mdesc="Array of all cached script objects"/>
<membermname="script_profiles"type="Array"access="r/o"mdesc="Array of structs: struct have members name, instr, invocations, instr_per_invoc, instr_percent"/>
<membermdesc="struct of arrays of structs - iostats["sent"array->256 elements of struct["count","bytes"],"received"array->256 elements of struct["count","bytes"]]"mname="iostats"access="r/o"type="Integer"/>
<membermname="queued_iostats"type="Array"access="r/o"mdesc="structure same as iostats, but for queued I/O stats"/>
<membermname="package"type="PackageRef"access="r/o"mdesc="Reference to the package where this script exists, returns error "Script has no package" if script is from a system folder"/>
<methoddesc="Gets the value of the built-in member 'membername'. var objname := obj.get_member("name") is the same as var objname := obj.name"proto="get_member(string membername)"returns="object, value of member or error"/>
<methodproto="sort(int sub_index:=0)"returns="true/error"desc="sorts the elements of the array, or if sub_index is given sorts array of arrays using the given index for sorting"/>
<methodproto="cycle([int count])"returns="true/error"desc="will move array [count] steps backwards or forwards in-place as it were a conveyor belt. {1, 2, 3}.cycle() Will make it: {3, 1, 2}. Accepts a negative value as a shift to move different direction"/>
<methodproto="sorted_insert(obj, sub_index:=0, reverse:=0)"returns="true/error"desc="Inserts obj into already sorted array. sub_index and reverse parameter have to match the sorting criteria of the array."/>
<explain>An object passed to an Aux Service Script that allows the script to transmit and recieve packed data over a TCP/IP port. use wait_for_event() in the service script to recieve data. </explain>
<membermname="ip"type="String"access="r/o"mdesc="Originating IP on the AuxConnection Pipe"/>
<methoddesc="'Substring': returns a new string from the character range between start and length, inclusive. Returns error if index out of range. Ex: var str := "yomama"; str[2,3] would return "oma"."proto="[start,length]"returns="string"/>
<methodproto="[substr]"returns="string/uninit"desc="seaches the string for 'substr'. If found, returns the first character of the substring, else uninitialized object. "/>
<methodproto="[substr] := replace_str"returns="string"desc="finds the first occurance of 'substr' and replaces substr with 'replace_str'. returns the new string."/>
<methodproto="+ string"returns="string"desc="concatenates the strings, returns the new string."/>
<methodproto="length()"returns="int"desc="returns number of characters in the string"/>
<methodproto="find(search,[start])"returns="int"desc="returns like Find(string, search, start) the index of the first occurance of 'search' after 'start' within str, but unlike the basic.em function the Start parameter is optional if not given it searches the whole string"/>
<methodproto="upper()"returns="string"desc="returns like upper(str) the uppercase version and also modifies the str"/>
<methodproto="lower()"returns="string"desc="returns like lower(str) the lowercase version and also modifies the str"/>
<explain>Object representing a binary packet. Print(Packet) returns string of Packet contents.</explain>
<explain>Packets that are pre-character selection will now report a struct to a packethook with the member "ip"</explain>
<methodproto="SendPacket(Character)"returns="true/error"desc="Sends this packet to character."/>
<methodproto="SendAreaPacket(int x, int y, int range, string realm)"returns="integer/error"desc="Sends this packet to all the players in range of x,y. Returns integer number of clients this packet was successfully sent to."/>
<methodproto="GetSize()"returns="integer"desc="Returns size of packet data in bytes."/>
<methodproto="GetInt8(int offset)"returns="integer/error"desc="Gets 8-bit (1 byte) value at offset (0-based)."/>
<methodproto="GetInt16(int offset)"returns="integer/error"desc="Gets 16-bit (2 byte) value at offset (0-based). Automatically converts to Big-Endian."/>
<methodproto="GetInt32(int offset)"returns="integer/error"desc="Gets 32-bit (4 byte) value at offset (0-based). Automatically converts to Big-Endian."/>
<methodproto="GetInt16Flipped(int offset)"returns="integer/error"desc="Gets 16-bit (2 byte) value at offset (0-based). Automatically converts to Low-Endian."/>
<methodproto="GetInt32Flipped(int offset)"returns="integer/error"desc="Gets 32-bit (4 byte) value at offset (0-based). Automatically converts to Low-Endian."/>
<methodproto="GetString(int offset, int length)"returns="string/error"desc="Gets a string (1-byte characters) at offset (0-based) for length characters."/>
<methodproto="GetUnicodeString(int offset, int length)"returns="array/error"desc="Gets a 'unicode string' (2-byte characters) at offset (0-based) for length characters (NOT BYTES)."/>
<methodproto="GetUnicodeStringFlipped(int offset, int length)"returns="array/error"desc="Gets a 'unicode string' (2-byte characters) at offset (0-based) for length characters (NOT BYTES). With Flipped Byte Order (for specific packet support)"/>
<methodproto="SetSize(int newsize)"returns="integer/error"desc="Sets the new size of the packet, possibly destroying data if packet size was decreased. Updates the encoded size for variable length packets, not allowed for fixed-length packets. Returns the old size of the packet."/>
<methodproto="SetInt8(int offset, int value)"returns="true/error"desc="Sets an 8-bit (1-byte) value at offset (0-based). If offset is greater than current size, the packet is resized to fit the new data and the encoded size is updated for variable length packets. Resizing is not allowed for fixed-length packets."/>
<methodproto="SetInt16(int offset, int value)"returns="true/error"desc="Sets an 16-bit (2-byte) value at offset (0-based). If offset is greater than current size, the packet is resized to fit the new data and the encoded size is updated for variable length packets. Resizing is not allowed for fixed-length packets. Automatically converts to Big-Endian."/>
<methodproto="SetInt32(int offset, int value)"returns="true/error"desc="Sets an 32-bit (4-byte) value at offset (0-based). If offset is greater than current size, the packet is resized to fit the new data and the encoded size is updated for variable length packets. Resizing is not allowed for fixed-length packets. Automatically converts to Big-Endian. NOTE: currently there's a compiler problem setting 0xFFFFFFFF, it gets converted to 0x7FFFFFFF. Use multiple SetInt16 or SetInt8 calls for now."/>
<methodproto="SetInt16Flipped(int offset, int value)"returns="true/error"desc="Sets an 16-bit (2-byte) value at offset (0-based). If offset is greater than current size, the packet is resized to fit the new data and the encoded size is updated for variable length packets. Resizing is not allowed for fixed-length packets. Automatically converts to Low-Endian."/>
<methodproto="SetInt32Flipped(int offset, int value)"returns="true/error"desc="Sets an 32-bit (4-byte) value at offset (0-based). If offset is greater than current size, the packet is resized to fit the new data and the encoded size is updated for variable length packets. Resizing is not allowed for fixed-length packets. Automatically converts to Low-Endian. NOTE: currently there's a compiler problem setting 0xFFFFFFFF, it gets converted to 0x7FFFFFFF. Use multiple SetInt16 or SetInt8 calls for now."/>
<methodproto="SetString(int offset, string string, int nullterminate)"returns="true/error"desc="Sets a string value at offset (0-based). If offset plus length of string is greater than current size, the packet is resized to fit the new data and the encoded size is updated for variable length packets. Resizing is not allowed for fixed-length packets. Set nullterminate to 1 if you want to automatically append a 0 terminator."/>
<methodproto="SetUnicodeString(int offset, array unicode character, int nullterminate)"returns="true/error"desc="Sets a unicode string at offset (0-based). If offset plus length of string (2*number of members in the array) is greater than current size, the packet is resized to fit the new data and the encoded size is updated for variable length packets. Resizing is not allowed for fixed-length packets. Set nullterminate to 1 if you want to automatically append a double 0 terminator. Unicode strings in eScript are arrays of 2-byte values. See unicode.em for useful functions. CAscZ in basic.em is useful for character sets that use the ascii/ansi standard."/>
<methodproto="SetUnicodeStringFlipped(int offset, array unicode character, int nullterminate)"returns="true/error"desc="Sets a unicode string at offset (0-based). If offset plus length of string (2*number of members in the array) is greater than current size, the packet is resized to fit the new data and the encoded size is updated for variable length packets. Resizing is not allowed for fixed-length packets. Set nullterminate to 1 if you want to automatically append a double 0 terminator. Unicode strings in eScript are arrays of 2-byte values. See unicode.em for useful functions. CAscZ in basic.em is useful for character sets that use the ascii/ansi standard. With Flipped Byte Order (for specific packet support)"/>
<methodproto="SetSInt8()"returns="1/error"desc="Sets signed 8-bit (1 byte) value."/>
<methodproto="SetSInt16()"returns="1/error"desc="Sets signed 16-bit (2 byte) value."/>
<methodproto="SetSInt32()"returns="1/error"desc="Sets signed 32-bit (4 byte) value."/>
<methodproto="SetString(string string, int nullterminate)"returns="1/error"desc="Sets a string. Set nullterminate to 1 if you want to automatically append a 0 terminator."/>
<methodproto="appendxmlnode(string value, [struct{attributes}])"returns="Created node on success."desc="Appends node with name value and given attributes (key=name, value=value)."/>
<methodproto="appendxmlnode(string value, [struct{attributes}])"returns="Created node on success."desc="Appends node with name value and given attributes (key=name, value=value)."/>
<explain>Object representing XML attributes of a node.
ForEach support: iterates over all attributes, iterator is a struct with key=attributename and value=attributevalue, _iterator_iter is integer index.</explain>
<methodproto="propnames()"returns="Array of Strings"desc="Returns array of all attribute names."/>