summaryrefslogtreecommitdiff
path: root/doc/script_commands.txt
diff options
context:
space:
mode:
authorHaruna <haru@dotalux.com>2014-12-10 20:53:13 +0100
committerHaruna <haru@dotalux.com>2014-12-10 20:53:13 +0100
commit1464cdf328754949245cc825b97d65d944e49f9b (patch)
tree883f1a889a4b65a63109fd1bfcb630481bba29ae /doc/script_commands.txt
parent0cd2a40617be96f38cc7d0b88e5ffa4217a47f83 (diff)
parent4b205d66cda8872f999ae0c8cf9d49048fcf77a5 (diff)
downloadhercules-1464cdf328754949245cc825b97d65d944e49f9b.tar.gz
hercules-1464cdf328754949245cc825b97d65d944e49f9b.tar.bz2
hercules-1464cdf328754949245cc825b97d65d944e49f9b.tar.xz
hercules-1464cdf328754949245cc825b97d65d944e49f9b.zip
Merge pull request #401 from GmOcean/master
A few additional commands, with an edit to *getinventorylist;
Diffstat (limited to 'doc/script_commands.txt')
-rw-r--r--doc/script_commands.txt132
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,