diff options
Diffstat (limited to 'doc/script_commands.txt')
-rw-r--r-- | doc/script_commands.txt | 132 |
1 files changed, 128 insertions, 4 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 33e706004..3467a5366 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -2922,7 +2922,7 @@ recreate these items perfectly if they are destroyed. Here's what you get: @inventorylist_id[] - array of item ids. @inventorylist_amount[] - their corresponding item amounts. -@inventorylist_equip[] - whether the item is equipped or not. +@inventorylist_equip[] - will return the slot the item is equipped on, if at all. @inventorylist_refine[] - for how much it is refined. @inventorylist_identify[] - whether it is identified. @inventorylist_attribute[] - whether it is broken. @@ -2933,8 +2933,8 @@ recreate these items perfectly if they are destroyed. Here's what you get: made by a specific craftsman. @inventorylist_expire[] - expire time (Unix time stamp). 0 means never expires. -@inventorylist_count - the number of items in these lists. @inventorylist_bound - whether it is an account bounded item or not. +@inventorylist_count - the number of items in these lists. This could be handy to save/restore a character's inventory, since no other command returns such a complete set of data, and could also be the @@ -2951,6 +2951,42 @@ runs of 'getinventorylist'. --------------------------------------- +*getcartinventorylist; + +This command sets a bunch of arrays with a complete list of whatever the +invoking character has in its cart_inventory, including all the data needed to +recreate these items perfectly if they are destroyed. Here's what you get: + +@cartinventorylist_id[] - array of item ids. +@cartinventorylist_amount[] - their corresponding item amounts. +@cartinventorylist_refine[] - for how much it is refined. +@cartinventorylist_identify[] - whether it is identified. +@cartinventorylist_attribute[] - whether it is broken. +@cartinventorylist_card1[] - These four arrays contain card data for the +@cartinventorylist_card2[] items. These data slots are also used to store +@cartinventorylist_card3[] names inscribed on the items, so you can +@cartinventorylist_card4[] explicitly check if the character owns an item + made by a specific craftsman. +@cartinventorylist_expire[] - expire time (Unix time stamp). 0 means never + expires. +@cartinventorylist_bound - whether it is an account bounded item or not. +@cartinventorylist_count - the number of items in these lists. + +This could be handy to save/restore a character's cart_inventory, since no +other command returns such a complete set of data, and could also be the +only way to correctly handle an NPC trader for carded and named items who +could resell them - since NPC objects cannot own items, so they have to +store item data in variables and recreate the items. + +Notice that the variables this command generates are all temporary, +attached to the character, and integer. + +Be sure to use @cartinventorylist_count to go through these arrays, and not +'getarraysize', because the arrays are not automatically cleared between +runs of 'getcartinventorylist'. + +--------------------------------------- + *cardscnt() This function will return the number of cards inserted into the weapon @@ -4787,6 +4823,68 @@ Example: --------------------------------------- +*checkbound(<item_id>{,<bound_type>{,<refine>{,<attribute>{,<card_1>{,<card_2>{,<card_3>{,<card_4>}}}}}}}); + +This command allows you to check whether or not the attached player has the specified bound item in their inventory. +If a bound type is not specified or a bound type of 0 is used, it will search the player's inventory for a bound item +of any type, so long as the other parameters match. In all cases, this command will return the bound type of the +item found, or 0 if the specified item was not found. + +Valid bound types are: + 0 - All Bound types. + 1 - Account Bound + 2 - Guild Bound + 3 - Party Bound + 4 - Character Bound + +Optional Parameters: + bound_type - checks to see if the item has the specified bound type. + refine - checks to see if the item is refined to the given number. + attribute - whether the item is broken (1) or not (0). + card 1,2,3,4 - checks to see if the specified cards are compounded on the item as well. + +Example: + // This will check if you have a bound (any type) 1205 (Cutter). + if (checkbound(1205)) { + mes "You have a bound Cutter"; + } else { + mes "You do not have a bound Cutter"; + } + close; + + // This will also check if you have a bound (any type) 1205 (Cutter). + if (checkbound(1205,0)) { + mes "You have a bound Cutter"; + } else { + mes "You do not have a bound Cutter"; + } + close; + + // This will check if the player doesn't have a bound 1205 (Cutter). + if (!checkbound(1205)) { + mes "You do not have a bound Cutter"; + } else { + mes "You do have a bound Cutter"; + } + close; + + // This will check if the item found, has a bound type of 2 (guild_bound) + if (checkbound(1205) == 2) { + mes "You have a guild_bound Cutter"; + } else { + mes "You do not have a guild_bound Cutter."; + } + close; + + // This will check if you have a 'guild_bound' +7 1205 (Cutter). + if (checkbound(1205, 2, 7)) { + mes "You have a +7 guild_bound Cutter."; + } else { + mes "You don't have the required item."; + } + close; +--------------------------------------- + *getnameditem <item id>,<character name|character ID>; *getnameditem "<item name>",<character name|character ID>; @@ -5186,6 +5284,7 @@ like storage or cart. --------------------------------------- *equip <item id>; +*equip2 <item id>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>; *autoequip <item id>,<option>; These commands are to equip a equipment on the attached character. @@ -5199,7 +5298,11 @@ Examples: //This will equip a 1104 (falchion) on the character if this is in the //inventory. equip 1104; - + +//This will equip a +10 1104 (falchion) on the character if this is in the +//inventory. + equip2 1104,10,0,0,0,0,0; + //The invoked character will now automatically equip a falchion when it's //looted. autoequip 1104,1; @@ -8340,11 +8443,32 @@ if (instance_check_party(getcharid(1),2,2,149)) { mes "All online members are between levels 1-150 and at least two are online."; close; } else { - mes "Sorry, your party does not meet requirements."; + mes "Sorry, your party does not meet the requirements."; close; } --------------------------------------- + +*instance_check_guild(<guild_id>{,<amount>{,<min>{,<max>}}}); + +This function checks if a guild meets certain requirements, returning 1 if +all conditions are met and 0 otherwise. it will only check online characters. + +amount - number of online guild members (default is 1). +min - minimum level of all characters in the guild (default is 1). +max - maximum level of all characters in the guild (default is max level in conf). + +Example: + if (instance_check_guild(getcharid(2), 2, 1, 150)) { + mes "Your guild meets the Memorial Dungeon requirements.", + mes "All online members are between levels 1-150 and at least two are online."; + close; + } else { + mes "Sorry, your guild does not meet the requirements."; + close; + } + +--------------------------------------- *instance_set_respawn(<map_name>,<x>,<y>{,<instance_id>}); Updates the 'reload spawn' position of a instance, |