<membermname="realm"type="String"access="r/o">case-sensitive name of the realm</member>
<membermname="name"type="String"access="r/w">name string (for items use .desc for single-click text, this does not include suffix or formatting)</member>
<membermname="objtype"type="Integer"access="r/o">object type as defined in itemdesc.cfg</member>
<membermname="graphic"type="Integer"access="r/w">art id number</member>
<methodproto="set_member(string membername, obj value)"returns="object, new value of member or error">Sets the built-in member 'membername' to 'value'. obj.set_member("name","Eric") is the same as obj.name := "Eric"</method>
<methodproto="get_member(string membername)"returns="object, value of member or error">Gets the value of the built-in member 'membername'. var objname := obj.get_member("name") is the same as var objname := obj.name</method>
<membermname="usescript"type="String"access="r/w">double-click action script. set to empty string for itemdesc.cfg default script.</member>
<membermname="equipscript"type="String"access="r/w">script run when item equipped on a character</member>
<membermname="unequipscript"type="String"access="r/w">script run when item unequipped</member>
<membermname="desc"type="String"access="r/o">single click description string (formatted name and suffix added to it without formatting if it exists)</member>
<membermname="movable"type="Boolean"access="r/w">true if player may move the item</member>
<membermname="invisible"type="Boolean"access="r/w">true if the item is invisible</member>
<membermname="decayat"type="Integer"access="r/w">game clock value after which this item might decay. 0=do not decay</member>
<membermname="sellprice"type="Integer"access="r/w">Amount of gold an NPC sells this item for. 0=not for sale, -1=itemdesc default.</member>
<membermname="buyprice"type="Integer"access="r/w">Amount of gold an NPC buys this item for. 0=not for sale, -1=itemdesc default.</member>
<membermname="newbie"type="Boolean"access="r/w">true if the item remains with the ghost when player dies</member>
<membermname="insured"type="Boolean"access="r/w">like newbie, but it gets reset to 0 whenever it saves an item from dropping</member>
<membermname="cursed"type="Boolean"access="r/w">true if item is cursed; does not have any special core handling other than preventing cursed and non-cursed items from stacking together.</member>
<membermname="item_count"type="Integer"access="r/o">number of items in container including the container itself (1 if this item is not a container or an empty container)</member>
<membermname="stackable"type="Integer"access="r/o">return is based on POL Decided stackability of item.</member>
<membermname="tile_layer"type="Integer"access="r/o">returns the Layer setting in the Tiles.cfg/Tiledata</member>
<membermname="saveonexit"type="Boolean"access="r/w">default 1, if you set this to 0 the item and (if container, it's contents) will NOT be saved to datafile</member>
<membermname="getgottenby"type="Character"access="r/o">Returns CharRef of Player holding item, Error if not being held</member>
<membermname="process"type="Script"access="r/o">Control script reference, error on none</member>
<membermname="doubleclickrange"type="Integer"access="r/o">Max distance for using this item</member>
<membermname="quality"type="Double"access="r/w">1.0=Average and default</member>
<membermname="hp"type="Integer"access="r/w">Hit points of item</member>
<membermname="maxhp_mod"type="Integer"access="r/w">Maximum Hit Point modification</member>
<membermname="maxhp"type="Integer"access="r/o">Maximum Hit Points of item</member>
<membermname="name_suffix"type="String"access="r/w">For adding crafter marks or such, will be appended to desc</member>
<membermname="house"type="House"access="r/o">Returns a reference to the House this item is component of, if any</member>
<membermname="no_drop"type="Boolean"access="r/w">If set no drop of this item is allowed, except no_drop_exception is set for target</member>
<membermname="lower_reagent_cost"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="spell_damage_increase"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="faster_casting"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="faster_cast_recovery"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="defence_increase"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="defence_increase_cap"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="lower_mana_cost"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="hit_chance"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="resist_fire_cap"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="resist_cold_cap"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="resist_energy_cap"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="resist_physical_cap"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="resist_poison_cap"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="luck"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt.</member>
<membermname="swing_speed_increase"type="Integer"access="r/o">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.</member>
<membermname="min_attack_range_increase"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt. Adjusts the minimum attack range of a player by the total number of all modifiers e.g. weapons base minimum attack range of 1 + min attack range increase of 1 means a final minimum attack range of 2.</member>
<membermname="max_attack_range_increase"type="Integer"access="r/o">Total of base property plus mod, applied to characters when equipt. Adjusts the maximum attack range of a player by the total number of all modifiers e.g. weapons base maximum attack range of 3 + max attack range increase of 2 means a final attack range of 5.</member>
<membermname="weight_multiplier_mod"type="Double"access="r/w">Multiplicative modifier when calculating an item's weight. For example, on an item that weighs 100 stone, setting this property to 0.5 would have the item weigh 50 stone.</member>
<membermname="character_owner"type="OfflineCharacterRef"access="r/o">Returns Character that owns the item, ie. the character whose backpack or equipped items contains the item.</member>
<membermname="snoopscript"type="String"access="r/w">double-click action script when owned by another character. set to empty string for itemdesc.cfg default script.</member>
<methodproto="splitStackAt(x, y, z, realm, amount)"returns="Item">Will split the item into 2 stacks. Returns a reference to the new stack made from item. Places new stack at the coordinates</method>
<methodproto="splitStackInto(container, amount)"returns="Item">Will split the item into 2 stacks. Returns a reference to the new stack made from item. Places new stack into the container</method>
<methodproto="hasExistingStack(container)"returns="Item">Checks if there is an existing stack in a container or not, returns the ItemRef of the stack if it exists</method>
<membermname="resist_fire"type="Integer"access="r/o">Total AOS+ armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry.</member>
<membermname="resist_cold"type="Integer"access="r/o">Total AOS+ armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry.</member>
<membermname="resist_energy"type="Integer"access="r/o">Total AOS+ armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry.</member>
<membermname="resist_poison"type="Integer"access="r/o">Total AOS+ armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry.</member>
<membermname="resist_physical"type="Integer"access="r/o">Total AOS+ armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry.</member>
<membermname="hidden"type="Boolean"access="r/w">1 = normal players cannot see</member>
<membermname="concealed"type="Integer"access="r/w">concealed below this value cannot see</member>
<membermname="frozen"type="Boolean"access="r/w">1 = player is frozen (by a GM)</member>
<membermname="paralyzed"type="Boolean"access="r/w">1 = player is paralyzed</member>
<membermname="poisoned"type="Boolean"access="r/w">1 = player is poisoned, just makes the health bar green or not</member>
<membermname="stealthsteps"type="Integer"access="r/w">number of walk steps left until player is revealed</member>
<membermname="mountedsteps"type="Integer"access="r/w">number of steps taken while character was mounted</member>
<membermname="squelched"type="Integer"access="r/o">1 = player cannot speak</member>
<membermname="dead"type="Integer"access="r/o">1 = player is dead</member>
<membermname="ar"type="Integer"access="r/o">Total armor factor. If it's an NPC without armor equipped, it will return its intrinsic armor value taken from NpcDesc AR entry.</member>
<membermname="shield"type="Armor"access="r/o">Returns the ItemRef of the sheild, if any, is worn.</member>
<membermname="backpack"type="Item"access="r/o">Reference to character's pack (if any)</member>
<membermname="trading_with"type="Character"access="r/o">Reference to character they are trading with (if any)</member>
<membermname="tradewindow"type="Container"access="r/o">Reference to the trade container if the char has an active trade, error if no active trade</member>
<membermname="weapon"type="Item"access="r/o">Reference to character's weapon (if any)</member>
<membermname="acct"type="Account"access="r/o">Account Reference (if not NPC) (deprecated, will be removed in next release, use Client instead)</member>
<membermname="acctname"type="String"access="r/o">Account name string (if not NPC)</member>
<membermname="cmdlevel"type="Integer"access="r/w">command level of character</member>
<membermname="cmdlevelstr"type="String"access="r/o">string name of command level</member>
<membermname="criminal"type="Integer"access="r/o">1 = player is temporally criminal (gray) or murderer (red) (see also temporally_criminal)</member>
<membermname="temporally_criminal"type="Integer"access="r/o">1 = player is temporally criminal (gray) (see also criminal)</member>
<membermname="ip"type="String"access="r/o">IP Address string (deprecated, will be removed in next release, use Client instead)</member>
<membermname="cursor"type="Boolean"access="r/o">True if the client has an active target cursor</member>
<membermname="gump"type="Boolean"access="r/o">True if the client has any active gumps from SendGump</member>
<membermname="prompt"type="Boolean"access="r/o">True if the client has any active String or Unicode prompt windows</member>
<membermname="gold"type="Integer"access="r/o">Amount of gold in character's pack</member>
<membermname="title_prefix"type="String"access="r/w">String placed before name i.e. Lord Racalac</member>
<membermname="title_suffix"type="String"access="r/w">String placed after name i.e. Racalac the Brave</member>
<membermname="title_guild"type="String"access="r/w">String guild title i.e. [ROX, super d00d] Racalac</member>
<membermname="title_race"type="String"access="r/w">String race title after suffix in paperdoll</member>
<membermname="guildid"type="Integer"access="r/o">guild ID number</member>
<membermname="murderer"type="Boolean"access="r/w">1 = player flagged murderer (red)</member>
<membermname="attached"type="Script"access="r/o">Script reference for attached script</member>
<membermname="reportables"type="Array"access="r/o">(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</member>
<membermname="clientversion"type="String"access="r/o">UO Client version string</member>
<membermname="clientinfo"type="Struct"access="r/o">UO Client information struct (check out core-changes.txt for an example) (deprecated, will be removed in next release, use Client instead)</member>
<membermname="clientver_detail"type="Struct"access="r/o">UO Client version string as Struct of Ints {major;minor;rev;patch} (deprecated, will be removed in next release, use Client instead)</member>
<membermname="createdat"type="Integer"access="r/o">PolClock when character was created</member>
<membermname="opponent"type="MobileRef"access="r/o">Mobile reference if a combat opponent is selected.</member>
<membermname="connected"type="Boolean"access="r/o">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.</member>
<membermname="logged_in"type="Boolean"access="r/o">To determine if the character is logged in, ie. the character is present in the game world. Will return 1 on NPC, and 1 for player characters that are either connected or disconnected but waiting for the logoff timeout.</member>
<membermname="uclang"type="String"access="r/o">Reports the Unicode Language string client sends during logon.</member>
<membermname="race"type="Integer"access="r/w">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.</member>
<membermname="hitchance_mod"type="Integer"access="r/w">Additive modificator of the hitchance from the attacker (+- int in thousandth)</member>
<membermname="evasionchance_mod"type="Integer"access="r/w">Subtractive modificator of the hitchance from the defender (+- int in thousandth)</member>
<membermname="parrychance_mod"type="Integer"access="r/w">Additive modificator of the parry_chance from the defender (+- int in thousandth)</member>
<membermname="carrying_capacity"type="Integer"access="r/o">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.</member>
<membermname="carrying_capacity_mod"type="Integer"access="r/w">Carrying capacity modifier. Is taken into account prior to global ssopt modifier.</member>
<membermname="statcap"type="Integer"access="r/w">AOS+ Statcap entry in statusbar, default 255</member>
<membermname="skillcap"type="Integer"access="r/w">This is for storage of overall skillcap, default 700</member>
<membermname="followers_max"type="Integer"access="r/w">Max followers for statmsg packet, default 0 </member>
<membermname="followers"type="Integer"access="r/w">This is for storage for the Followers byte in statmsg packet, default 0 </member>
<membermname="tithing"type="Integer"access="r/w">Tithing for statmsg packet, default 0 </member>
<membermname="movecost_walk_mod"type="Double"access="r/w">multiplier for stamina consum on movement</member>
<membermname="movecost_run_mod"type="Double"access="r/w">multiplier for stamina consum on movement</member>
<membermname="movecost_walk_mounted_mod"type="Double"access="r/w">multiplier for stamina consum on movement</member>
<membermname="movecost_run_mounted_mod"type="Double"access="r/w">multiplier for stamina consum on movement</member>
<membermname="aggressorto"type="Array"access="r/o">list of mobiles this character is flagged as aggressor on repsys</member>
<membermname="lawfullydamaged"type="Array"access="r/o">list of mobiles this character is flagged as lawfully damaged on repsys</member>
<membermname="uo_expansion_client"type="Integer"access="r/o">client send expansion info flag (deprecated, will be removed in next release, use Client instead)</member>
<membermname="clienttype"type="Integer"access="r/o">clientversion type bitfield (deprecated, will be removed in next release, use Client instead)</member>
<membermname="deafed"type="Integer"access="r/o">1 = player cannot hear</member>
<membermname="client"type="Client"access="r/o">returns ClientRef object or error</member>
<membermname="house_editing"type="Boolean"access="r/o">1 if character is currently editing an house</member>
<membermname="lastcoord"type="Struct"access="r/o">position before the last walk packet as struct{lastx,lasty,lastz}</member>
<membermname="active_skill"type="Boolean"access="r/o">1 if character has an active attached skill script</member>
<membermname="casting_spell"type="Bool"access="r/o">1 if character has an active attached spell script</member>
<membermname="last_textcolor"type="Struct"access="r/o">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)</member>
<membermname="lower_reagent_cost"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="spell_damage_increase"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="faster_casting"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="faster_cast_recovery"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="defence_increase"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="defence_increase_cap"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="lower_mana_cost"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="hit_chance"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="resist_fire_cap"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="resist_cold_cap"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="resist_energy_cap"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="resist_physical_cap"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="resist_poison_cap"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="luck"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base.</member>
<membermname="swing_speed_increase"type="Integer"access="r/o">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.</member>
<membermname="min_attack_range_increase"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base. Min attack Range Increase is used as a numeric modifier to the minimum range of a weapon, e.g. Weapon minimum range of 1 + min attack range increase of 1 would make the minimum attack range 2.</member>
<membermname="max_attack_range_increase"type="Integer"access="r/o">Total calculation of all modifiers from items equipt plus personal modifier and personal base. Max attack Range Increase is used as a numeric modifier to the maximum range of a weapon, e.g. Weapon maximum range of 3 + max attack range increase of 2 would make the maximum attack range 5.</member>
<membermname="buffs"type="dictionary"access="r/o">Returns the current active buffs added via addBuff as dictionary. Key is the iconid and value a struct struct{name_cliloc, desc_cliloc, end_time, name_args, desc_args}.</member>
<methodproto="setpoisoned(bool)"returns="true/error">sets the character poisoned, controller of calling script is flagged as in repsystem</method>
<methodproto="setparalyzed(bool)"returns="true/error">sets the character paralyzed, controller of calling script is flagged as in repsystem</method>
<methodproto="setcriminal(int level)"returns="true/error">sets the character criminal. level multiplies the CriminalFlagInterval as defined in repsys.cfg. level=0 clears criminal timer.</method>
<methodproto="setlightlevel(int level, int duration)"returns="true">sets the light level of the character to 'level' for 'duration' seconds</method>
<methodproto="squelch(int duration)"returns="int/error">character cannot talk for 'duration' seconds. -1 means forever. 0 clears the squelch</method>
<methodproto="enable(string setting)"returns="true/error">enables the 'granted' privilege to the character</method>
<methodproto="disable(string setting)"returns="true">disables the 'granted' privilege to the character</method>
<methodproto="enabled(string setting)"returns="true/false">true if the privilege is enabled</method>
<methodproto="privileges()"returns="dictionary">Dictionary where keys are privilege name, value is 0/1 boolean.</method>
<methodproto="setcmdlevel(string cmdlevel)"returns="true/error">grants the command level to the char as defined in cmds.cfg</method>
<methodproto="spendgold(int amount)"returns="true/error">if enough gold, removes it from the player's pack</method>
<methodproto="setmurderer(bool)"returns="true/error">flags the character as a murderer (red)</method>
<methodproto="removereportable(int serial, int gameclock)"returns="true/error">removes the killer with 'serial' from the reportables list that was added at 'gameclock'</method>
<methodproto="getgottenitem()"returns="error/ItemRef">returns an ItemRef to the item held on the player's cursor, if any.</method>
<methodproto="cleargottenitem()"returns="true/error">Returns 'dragged' item to original location.</method>
<methodproto="setwarmode(boolean)"returns="integer/error">Sets the internal warmode flag and sends the update to the player. Returns the new warmode value.</method>
<methodproto="getcorpse()"returns="Corpse">Returns an item reference to the most recent corpse made.</method>
<methodproto="attack_once([MobileRef opp])"returns="true/error">Attacks once without modifing the swingtimer. If no opp is given attacks current attackable opponent, else attacks given opponent (but checks if still attackable)</method>
<methodproto="setswingtimer(int time)"returns="true/error">If opponent is set sets swingtimer to given ms time.</method>
<methodproto="kill([MobileRef killer])"returns="true">Kills character ignoring invul, if killer is set repsys:OnDamage is called</method>
<methodproto="setfacing(string/int direction, flags := FACE_NORMAL)"returns="true/error">Sets Facing to given direction. If FACE_FORCE is set frozen/paralysed is not checked</method>
<methodproto="compareversion(string Version)"returns="true/false">true if Client Version >= given Versionstring</method>
<methodproto="setAggressorTo(MobileRef chr)"returns="true/error">sets aggressor for repsys.cfg:AggressorFlagTimeout seconds for given chr</method>
<methodproto="setLawfullydamagedTo(MobileRef chr)"returns="true/error">sets lawfullydamaged for repsys.cfg:AggressorFlagTimeout seconds for given chr</method>
<methodproto="clearAggressorTo(MobileRef chr)"returns="true/error">clears aggressor entry for given chr</method>
<methodproto="clearLawfullydamagedTo(MobileRef chr)"returns="true/error">clears lawfullydamaged entry for given chr</method>
<methodproto="deaf(int duration)"returns="int/error">character cannot hear for 'duration' seconds. -1 means forever. 0 clears the deaf</method>
<methodproto="setseason(int season_id,int playsound )"returns="int/error">Used to send the Season packet 0xBC to a single character, doesnt resend the lightlevel or weather.</method>
<methodproto="addBuff(int icon_id, int duration, int cliloc_name, int cliloc_descr, string arguments_desc, [string arguments_name])"returns="true/error">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; separated by a single tab character. Example: who.addBuff(1029, 30, 1075814, 1075815, "1234 5678"); Optional arguments_name parameters needs a client higher then 5.x and modifies the cliloc_name.</method>
<membermname="use_adjustments"type="Boolean"access="r/w">Use movement adjustments to avoid single-tile obsticals</member>
<membermname="run_speed"type="Integer"access="r/w">NPC walk delay (maximum 250)</member>
<membermname="saveonexit"type="Boolean"access="r/w">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</member>
<membermname="no_drop_exception"type="Boolean"access="r/w">defines if npc is a valid target even if no_drop is set for the item</member>
<membermname="items"type="Array"access="r/o">Array of Item References on the deck of the boat</member>
<membermname="mobiles"type="Array"access="r/o">Array of Character References on the deck</member>
<membermname="has_offline_mobiles"type="Boolean"access="r/o">true if players are logged out on the deck</member>
<membermname="tillerman"type="Item"access="r/o">ItemRef to the tillerman item</member>
<membermname="portplank"type="Item"access="r/o">ItemRef to the left-side plank item</member>
<membermname="starboardplank"type="Item"access="r/o">ItemRef to the right-side plank item</member>
<membermname="hold"type="Item"access="r/o">ItemRef to the hold container item</member>
<membermname="rope"type="Array"access="r/o">array of ItemRefs of all the rope components on the boat, or empty array if none</member>
<membermname="wheel"type="Array"access="r/o">array of ItemRefs of all the wheel components on the boat, or empty array if none</member>
<membermname="hull"type="Array"access="r/o">array of ItemRefs of all the hull components on the boat, or empty array if none</member>
<membermname="tiller"type="Array"access="r/o">array of ItemRefs of all the tiller components on the boat, or empty array if none</member>
<membermname="rudder"type="Array"access="r/o">array of ItemRefs of all the rudder components on the boat, or empty array if none</member>
<membermname="sails"type="Array"access="r/o">array of ItemRefs of all the sails components on the boat, or empty array if none</member>
<membermname="storage"type="Array"access="r/o">array of ItemRefs of all the storage components on the boat, or empty array if none</member>
<membermname="weaponslot"type="Array"access="r/o">array of ItemRefs of all the weaponslot components on the boat, or empty array if none</member>
<membermname="components"type="Array"access="r/o">array of ItemRefs of all the components on the boat</member>
<membermname="multiid"type="Integer"access="r/o">id for this kind of multi</member>
<membermname="pilot"type="Character"access="r/o">pilot of boat (if any)</member>
<methodproto="move_offline_mobiles(int x, int y, int z[, string realm])"returns="true/false">moves offline mobiles on boat to x,y,z. If realm is not set, Boat-realm is used.</method>
<methodproto="set_pilot(Character | 0)"returns="true/false">Sets the boat pilot to the provided character; removes pilot if <code>0</code> is passed. Mouse movements from the boat's pilot will be sent to the boat's control script. See event SYSEVENT_BOAT_MOVEMENT for more details. Possible errors: The boat is already being piloted; The boat does not have a running process; That character is not connected; The boat does not have that character on it; The boat mount piece is not equippable by that character; The client for that character does not support High Seas Adventure</method>
<methodproto="set_alternate_multiid(int)"returns="true/error">Used to change a boat's multi to an alternative multi defined in its itemdesc file. Alternate ids are referenced with an integer based on the order they are defined in the itemdesc file starting from 1, with the base multi id being 0.</method>
<membermname="house_editing"type="Boolean"access="r/o">1 if the house is currently being edited</member>
<membermname="multiid"type="Integer"access="r/o">id for this kind of multi</member>
<membermname="house_parts"type="Integer"access="r/o">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</member>
<methodproto="setcustom(bool custom)"returns="true/error">Sets the house as custom. Setting to 1 is needed before SendHousingTool() works.</method>
<methodproto="add_component(ItemRef)"returns="true/error">Add item to House components</method>
<methodproto="erase_component(ItemRef)"returns="true/error">Erase item from House components</method>
<methodproto="addhousepart(int graphic, int xoffset, int yoffset, int z)"returns="true/error">Adds a part to the custom house design.</method>
<methodproto="erasehousepart(int graphic, int xoffset, int yoffset, int z)"returns="true/error">Removes a part from the custom house design.</method>
<methodproto="acceptcommit(Character chr, bool commit)"returns="true/error">If commit is 0 then drops the not committed custom house changes or accept them instead</method>
<methodproto="cancelediting(Character chr, bool drop_changes)"returns="true/error">Stops editing mode. If drop_changes is true, drops all non committed changes</method>
<membermname="defaultcmdlevel"type="Integer"access="r/o">the number for the accounts default command level</member>
<methodproto="addcharacter(index)"returns="nothing/error">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.</method>
<methodproto="ban()"returns="true">bans the account</method>
<methodproto="unban()"returns="true">unbans the account</method>
<methodproto="enable()"returns="true">enables the account</method>
<methodproto="disable()"returns="true">disables the account</method>
<methodproto="setpassword(string newpass)"returns="true/error">sets the account password to newpass</method>
<methodproto="checkpassword(string pass)"returns="boolean/error">returns true if 'pass' is the account's password</method>
<methodproto="setname(string newname, string newpass)"returns="true/error">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.</method>
<methodproto="getcharacter(integer slot)"returns="true/OfflineCharacterRef">gets an OfflineCharacterRef for the character in slot 'slot'. returns error if not character in that slot (1..5)</method>
<methodproto="deletecharacter(integer slot) "returns="true/error">Deletes character in slot 'slot'. returns error if not character in that slot (1..5)</method>
<methodproto="delete()"returns="true/error">Delete this empty account.</method>
<methodproto="split(string newacctname, integer slot)"returns="AccountRef/error">Create a new account and move character to it. On success returns a reference to the new account.</method>
<methodproto="move_char(string destacctname, integer slot)"returns="true/error">Move character from this account to destination account. You can use it to flip chars on same account too.</method>
<methodproto="getprop(string propname)"returns="true/error">GetObjProperty for account objects.</method>
<methodproto="setprop(string propname, propval)"returns="true">SetObjProperty for account objects.</method>
<methodproto="eraseprop(string propname)"returns="true">EraseObjProperty for account objects.</method>
<methodproto="propnames()"returns="Array">returns an array of cprop names on this account</method>
<methodproto="set_uo_expansion(string expansion)"returns="true/error">This determines what flag is sent with packet 0xB9 during login (T2A -> 0x0001 / LBR -> 0x0002 / AOS -> 0x801b / SE -> 0x805b / ML -> 0x80db / KR -> 0x86DB / SA -> 0x187DF / HSA -> 0xF87DF / TOL -> 0x7F87DF). 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 DefaultExpansion is used to initialize this member, 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).</method>
<methodproto="get_member(string membername)"returns="object, value of member or error">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</method>
<membermname="speed_mod"type="Integer"access="r/w">from -32768 to 32767, an optional way to delay if you want to use the default speed math and just add to that</member>
<membermname="attribute"type="String"access="r/o">Attribute name this weapon uses as a skill</member>
<membermname="hitscript"type="String"access="r/w">Script name that runs when weapon makes a hit</member>
<membermname="max_items_mod"type="Integer"access="r/w">from -32768 to 32767, modifier for max items allowed in the container</member>
<membermname="max_weight_mod"type="Integer"access="r/w">from -32768 to 32767, modifier for max weight allowed in the container</member>
<membermname="max_slots_mod"type="Integer"access="r/w">from -32768 to 32767, modifier for max slots allowed in the container</member>
<membermname="held_weight_multiplier"type="Double"access="r/w">Multiplicative modifier when calculating the container's held weight. For example, on an backpack (having weight 3 stones) that contains items totalling a weight of 100 stone, setting this property to 0.5 would have the backpack weigh 53 (3 + 100 * 0.5) stone.</member>
<membermname="no_drop_exception"type="Boolean"access="r/w">defines if npc is a valid target even if no_drop is set for the item</member>
<membermname="footprint"type="Struct"access="r/o">returns a struct with 'xmin', 'xmax', 'ymin', 'ymax' of the world coordinates the multi occupies.</member>
<membermname="compiledatetime"type="String"access="r/o">Compile Date and Time</member>
<membermname="packages"type="Array"access="r/o">Array of enabled package names</member>
<membermname="running_scripts"type="Array"access="r/o">Array of running script objects</member>
<membermname="all_scripts"type="Array"access="r/o">Array of all cached script objects</member>
<membermname="script_profiles"type="Array"access="r/o">Array of structs: struct have members name, instr, invocations, instr_per_invoc, instr_percent</member>
<membermname="iostats"access="r/o"type="Integer">struct of arrays of structs - iostats["sent"array->256 elements of struct["count","bytes"],"received"array->256 elements of struct["count","bytes"]]</member>
<explain>Object representing an element in a configuration file</explain>
<methodproto=".member"returns="Double/Integer/String">gets config value of member (first occurrence; use <code>cfgfile::GetConfigStringArray</code> / <code>cfgfile::GetConfigIntArray</code> to get a list of values for keys with multiple occurrences)</method>
<methodproto="[member]"returns="Double/Integer/String">gets config value of member (first occurrence; use <code>cfgfile::GetConfigStringArray</code> / <code>cfgfile::GetConfigIntArray</code> to get a list of values for keys with multiple occurrences)</method>
</class>
<classname="ConfigFile">
<explain>Object representing a configuration file</explain>
<methodproto="[member]"returns="ConfigElem">gets element of configuration file</method>
<explain>A regular expression used to specify a matching pattern when used against a string. A regular expression is created via <code>basic::RegExp( pattern, flags )</code> module function or <code>/pattern/flags</code> language syntax.</explain>
<explain>For additional examples and discussions, see Racalac's Escript Guide or the <code>basic::RegExp()</code> module function documentation.</explain>
<membermname="package"type="PackageRef"access="r/o">Reference to the package where this script exists, returns error "Script has no package" if script is from a system folder</member>
<methodproto="stacktrace( options?: struct{ format?: 'string' | 'array' } | uninit )"returns="Array/String">Get information regarding the current execution stack of this script. The value is either a string containing a line for each stack frame, or an array of objects representing each stack frame. <code>options</code> is a struct specifying the format to return via setting a member <code>format</code> to the value <code>"string"</code> (default) or <code>"array"</code>. If <code>"array"</code>, then the result will be an array containing structs with members <code>pc</code> (program counter), <code>file</code> (script name), <code>name</code> (function name), and <code>line</code> (script line).<br/><br/>The script must been compiled with debugging information (using ecompile.cfg setting <code>GenerateDebugInfo</code> or ecompile <code>-x</code> flag) in order to get function name and line information. If debug information is not available, then only the script's program counter will be reported.</method>
<methodproto="get_member(string membername)"returns="object, value of member or error">Gets the value of the built-in member 'membername'. var objname := obj.get_member("name") is the same as var objname := obj.name</method>
Note that functional methods (find, findIndex, filter, map, reduce) will return uninit on arrays that have named members, eg. an array where <code>arr.+name</code> has been used.</explain>
<methodproto="exists(index)"returns="error/int">Returns 1 if index is in array.</method>
<methodproto="size()"returns="int">number of elements in the array</method>
<methodproto="erase(int index)"returns="true/false">erases the element at index</method>
<methodproto="insert(int index, object)"returns="void/error">inserts a new object into the array at index</method>
<methodproto="shrink(index)"returns="true/error">erases index to end of array</method>
<methodproto="append(object)"returns="true/error">inserts object in the end of the array</method>
<methodproto="reverse()"returns="true">reverses the elements of the array</method>
<methodproto="sort(int sub_index:=0)"returns="true/error">sorts the elements of the array, or if sub_index is given sorts array of arrays using the given index for sorting</method>
<methodproto="randomentry()"returns="value/error">returns random array entry</method>
<methodproto="cycle([int count])"returns="true/error">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</method>
<methodproto="sorted_insert(obj, sub_index:=0, reverse:=0)"returns="true/error">Inserts obj into already sorted array. sub_index and reverse parameter have to match the sorting criteria of the array.</method>
Returns the first element in the provided array that satisfies the provided testing function. If no elements satisfy the testing function, <code><uninitialized object></code> is returned.<br/>
<br/>
<code>testFn</code> is a function that can accept up to three parameters:<br/>
<ulstyle='font-size: 12px'>
<li><code>element</code>: The current element being processed</li>
<li><code>index</code>: The index of the current element being processed</li>
<li><code>array</code>: The array <code>find()</code> was called upon</li>
Returns the index of the first element in an array that satisfies the provided testing function. If no elements satisfy the testing function, 0 is returned.<br/>
<br/>
<code>testFn</code> is a function that can accept up to three parameters:<br/>
<ulstyle='font-size: 12px'>
<li><code>element</code>: The current element being processed</li>
<li><code>index</code>: The index of the current element being processed</li>
<li><code>array</code>: The array <code>findIndex()</code> was called upon</li>
Executes a user-supplied reducer callback function on each element of the array, in order, passing in the return value from the calculation on the preceding element. The final result of running the reducer across all elements of the array is a single value. The first time that the callback is run there is no 'return value of the previous calculation'. If supplied, an initial value may be used in its place. Otherwise the array element at index 1 is used as the initial value and iteration starts from the next element (index 2 instead of index 1).<br/>
<br/>
<code>reducerFn</code> is a function that can accept up to four parameters:<br/>
<ulstyle='font-size: 12px'>
<li><code>accumulator</code>: The value resulting from the previous call to <code>reducerFn</code>. On the first call, its value is <code>initialValue</code> if the latter is specified; otherwise its value is <code>array[1]</code></li>
<li><code>currentValue</code>: The value of the current element. On the first call, its value is <code>array[1]</code> if <code>initialValue</code> is specified; otherwise its value is <code>array[2]</code>.</li>
<li><code>currentIndex</code>: The index position of <code>currentValue</code> in the array. On the first call, its value is <code>1</code> if <code>initialValue</code> is specified, otherwise <code>2</code>.</li>
<li><code>array</code>: The array <code>reduce()</code> was called upon</li>
</ul>
<br/>
For additional examples and discussions, see Racalac's Escript Guide.
<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>
<methodproto="transmit(object o)"returns="error/0">Transmits the packable object 'o' over the Aux connection. If the connection script has the AUXSVC_ASSUME_STRING script option, then the parameter object <code>o</code> is sent as a string and not unpacked. If the Aux Connection was created with the ignore_line_breaks option, then a CRLF will not be appended to the message. </method>
<methodproto="[start,length]"returns="string">'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".</method>
<methodproto="[substr]"returns="string/uninit">seaches the string for 'substr'. If found, returns the first character of the substring, else uninitialized object. </method>
<methodproto="[substr] := replace_str"returns="string">finds the first occurance of 'substr' and replaces substr with 'replace_str'. returns the new string.</method>
<methodproto="+ string"returns="string">concatenates the strings, returns the new string.</method>
<methodproto="length()"returns="int">returns number of characters in the string</method>
<methodproto="find(String|RegExp search, [int start])"returns="int">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. The <code>search</code> parameter can be either a String or a RegExp.</method>
<methodproto="match(RegExp expr)"returns="struct|uninit|array">Executes a regular expression against a string. A match result is a struct of the form <code>struct{ matched: string, offset: int, groups: array{ struct{ matched: string, offset: int } | uninit } }</code>. If the regular expression is global (ie. created with the <code>g</code> flag), returns an array of match results; otherwise, returns a single match result if the regular expression match is successful, or else <code>uninit</code>. An element in the <code>groups</code> array will have be <code>uninit</code> if the group was unmatched.</method>
<methodproto="replace(RegExp search, String|FunctionObject replacement)"returns="string">Returns a new string with matches of <code>search</code> replaced using <code>replacement</code>. If the regular expression is global (ie. created with the <code>g</code> flag), then all matches are replaced; otherwise, just the first match. The <code>replacement</code> parameter can be a string or a function object. If a function object, the function will be called with four arguments: <code>String matched</code>, <code>Array{ Struct{ String matched, Int offset } | uninit } groups</code>, <code>Int offset</code>, and <code>String input_string</code>: the return value of the function call will be used for the replacement.</method>
<methodproto="split(RegExp|String separator, [Int max_splits])"returns="array">Takes the <code>separator</code> pattern and divides this string (up to <code>max_splits</code> divisions, if provided) into an ordered list of substrings by searching for the pattern, returning the array of substrings. Capture groups are included in the returned array.</method>
<methodproto="SendPacket(Character)"returns="true/error">Sends this packet to character.</method>
<methodproto="SendAreaPacket(int x, int y, int range, string realm)"returns="integer/error">Sends this packet to all the players in range of x,y. Returns integer number of clients this packet was successfully sent to.</method>
<methodproto="GetSize()"returns="integer">Returns size of packet data in bytes.</method>
<methodproto="GetInt8(int offset)"returns="integer/error">Gets 8-bit (1 byte) value at offset (0-based).</method>
<methodproto="GetInt16(int offset)"returns="integer/error">Gets 16-bit (2 byte) value at offset (0-based). Automatically converts to Big-Endian.</method>
<methodproto="GetInt32(int offset)"returns="integer/error">Gets 32-bit (4 byte) value at offset (0-based). Automatically converts to Big-Endian.</method>
<methodproto="GetInt16Flipped(int offset)"returns="integer/error">Gets 16-bit (2 byte) value at offset (0-based). Automatically converts to Low-Endian.</method>
<methodproto="GetInt32Flipped(int offset)"returns="integer/error">Gets 32-bit (4 byte) value at offset (0-based). Automatically converts to Low-Endian.</method>
<methodproto="GetString(int offset, int length)"returns="string/error">Gets a string (1-byte characters) at offset (0-based) for length characters.</method>
<methodproto="GetUnicodeString(int offset, int length)"returns="array/error">Gets a 'unicode string' (2-byte characters) at offset (0-based) for length characters (NOT BYTES).</method>
<methodproto="GetUnicodeStringFlipped(int offset, int length)"returns="array/error">Gets a 'unicode string' (2-byte characters) at offset (0-based) for length characters (NOT BYTES). With Flipped Byte Order (for specific packet support)</method>
<methodproto="SetSize(int newsize)"returns="integer/error">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.</method>
<methodproto="SetInt8(int offset, int value)"returns="true/error">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.</method>
<methodproto="SetInt16(int offset, int value)"returns="true/error">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.</method>
<methodproto="SetInt32(int offset, int value)"returns="true/error">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.</method>
<methodproto="SetInt16Flipped(int offset, int value)"returns="true/error">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.</method>
<methodproto="SetInt32Flipped(int offset, int value)"returns="true/error">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.</method>
<methodproto="SetString(int offset, string string, int nullterminate)"returns="true/error">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.</method>
<methodproto="SetUnicodeString(int offset, array unicode character, int nullterminate)"returns="true/error">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.</method>
<methodproto="SetUnicodeStringFlipped(int offset, array unicode character, int nullterminate)"returns="true/error">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)</method>
<methodproto="SetUtf8String(int offset, string string, int nullterminate)"returns="true/error">Sets a UTF-8 encoded 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.</method>
<methodproto="Assign(Packet other)"returns="true/error">Assigns <code>other</code> packet's contents and size (or variable-length property) to this packet.</method>
<methodproto="setleader(CharacterRef)"returns="error/true">Sets new leader.</method>
<methodproto="addmember(CharacterRef)"returns="error/true">Adds a character to the party. If the player is already candidate of another party, this function will fail.</method>
<methodproto="addcandidate(CharacterRef)"returns="error/true">Adds a character to the party as candidate.</method>
<methodproto="removemember(CharacterRef)"returns="true/error">Removes a character member.</method>
<methodproto="removecandidate(CharacterRef)"returns="true/error">Removes a character candidate.</method>
<methodproto="getprop(string propname)"returns="script object/error">Returns an unpacked script object (i.e. int,string,array,etc).</method>
<methodproto="setprop(string propname, object propval)"returns="true/error">Sets a packable object to a property.</method>
<methodproto="eraseprop(string propname)"returns="true/error">Erases the property named 'propname'.</method>
<methodproto="propnames()"returns="Array">Returns an array of property name strings.</method>
<methodproto="SetSInt8()"returns="1/error">Sets signed 8-bit (1 byte) value.</method>
<methodproto="SetSInt16()"returns="1/error">Sets signed 16-bit (2 byte) value.</method>
<methodproto="SetSInt32()"returns="1/error">Sets signed 32-bit (4 byte) value.</method>
<methodproto="SetString(string string, int nullterminate)"returns="1/error">Sets a string. Set nullterminate to 1 if you want to automatically append a 0 terminator.</method>
<explain>A reference to an Escript class instance, created via calling a class constructor via <code>ClassName()</code> or <code>@ClassName.new()</code>. A class instance behaves similarly like a <ahref="#Struct">Struct</a>, and can have string members attached to it.</explain>
<methodproto=".member"returns="value">gets value of member</method>
<methodproto="[member]"returns="value">gets value of member ONLY when member is a string</method>
<methodproto=".-member"returns="n/a">removes a member</method>
<methodproto=".?member"returns="int">returns count of matching member</method>
<!-- keep extra space in front of < for sorting in the rendered objref file... -->
<methodproto=" <script function name>(...)"returns="unspecified">A class instance has methods for each instance method defined for the class. See the Escript guide for more information.</method>
<membermname="visual_range"type="Integer"access="r/w">returns the client setting of visual range, or overwrites the current range. If set to 0 the client given range will be used.<br/>As long as the visual range is set via script the client can no longer modify the range. VisualRangeMin/Max limit is not taken into account.</member>
<methodproto="call(...)"returns="unspecified">Calls the underlying function, arguments and return value are the same as the original function.</method>
<methodproto="new(...)"returns="ClassInstanceRef">Returns a new instance of a class whose constructor is this <code>FunctionObject</code>, calling the class constructor function with a new <code>this</code> instance.</method>
<methodproto="removexmlnode(integer/string/XMLNode)"returns="1/0">removes node by index, first node with given name or passed one.</method>
<methodproto="setxmldeclaration(string version, string encoding, string standalone)"returns="1">Sets the xml declaration.</method>
<methodproto="appendxmlnode(string value, [struct{attributes}])"returns="Created node on success.">Appends node with name value and given attributes (key=name, value=value).</method>
<membermname="attributes"type="XMLAttributes"access="r/o">Returns attribute object of node.</member>
<membermname="type"type="String"access="r/o">Returns type string (XMLComment, XMLDeclaration, XMLDocument, XMLElement, XMLText, XMLTypeCount, XMLUnknown).</member>
<methodproto="removexmlnode(integer/string/XMLNode)"returns="1/0">removes node by index, first node with given name or passed one.</method>
<methodproto="clonenode()"returns="XMLNode">Create a copy of node which is then valid longer then the file object.</method>
<methodproto="firstxmlchild([string value])"returns="XMLNode">Returns first children or first with given name.</method>
<methodproto="nextxmlsibling([string value])"returns="XMLNode">Returns next sibling or first with given name.</method>
<methodproto="appendxmlnode(string value, [struct{attributes}])"returns="Created node on success.">Appends node with name value and given attributes (key=name, value=value).</method>
<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>
<membermname="exported_functions"type="Array of Strings"access="r/o">Returns names of all exported functions.</member>
<methodproto="call(function name, [array of args])"returns="Object/Error">Calls the given function with the optional arguments and returns the function return value. Calling script will be blocked until the function returns and will be executed non-critical or critical depending on the calling script.</method>