summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-05-10 19:31:32 +0300
committerAndrei Karas <akaras@inbox.ru>2017-05-10 19:31:32 +0300
commit090fb47aa837fcbabf9b545d4f3e8976acf53e6e (patch)
treeb30a339b9ce63492dff7c22bdee28f7a3322a559
parent53297980a727d20e55f030cc957a0b731dfe186c (diff)
downloaddocs-s20170529.tar.gz
docs-s20170529.tar.bz2
docs-s20170529.tar.xz
docs-s20170529.zip
Update to latest hercules.s20170529
-rw-r--r--server/items/item_db.txt3
-rw-r--r--server/scripts/constants.md35
-rw-r--r--server/scripts/script_commands.txt92
3 files changed, 117 insertions, 13 deletions
diff --git a/server/items/item_db.txt b/server/items/item_db.txt
index 19ed126..22492a1 100644
--- a/server/items/item_db.txt
+++ b/server/items/item_db.txt
@@ -40,6 +40,7 @@ item_db: (
BuyingStore: true/false (boolean, defaults to false)
Delay: Delay to use item (int, defaults to 0)
KeepAfterUse: true/false (boolean, defaults to false)
+ DropAnnounce: true/false (boolean, defaults to false)
FloorLifeTime: Delay to remove item from ground (int, default flooritem_lifetime)
AllowPickup: true/false (boolean, defaults to true)
Charm: true/false (boolean, defaults to false)
@@ -285,6 +286,8 @@ ForceSerial: Whether the item will be given new unique id or not. When the item
BuyingStore: Whether the item can be sold via buyingstore, one must also edit
data\buyingstoreitemlist.txt for client to accept item.
+DropAnnounce: Enables global announcement of the selected item when dropped by monster.
+
Delay: Delay for an item to be used again. Value is in milliseconds.
There is a max concurrent number of entries modifiable in
src/map/itemdb.h as MAX_ITEMDELAYS.
diff --git a/server/scripts/constants.md b/server/scripts/constants.md
index 22521a6..0ecb527 100644
--- a/server/scripts/constants.md
+++ b/server/scripts/constants.md
@@ -1316,6 +1316,7 @@
- `SC_TUNAPARTY`: 649
- `SC_SHRIMP`: 650
- `SC_FRESHSHRIMP`: 651
+- `SC_DRESS_UP`: 652
### Emotes
@@ -3797,6 +3798,7 @@
- `MAX_CART`: 100
- `MAX_INVENTORY`: 100
- `MAX_ZENY`: 2147483647
+- `MAX_BANK_ZENY`: 2147483647
- `MAX_BG_MEMBERS`: 30
- `MAX_CHAT_USERS`: 20
- `MAX_REFINE`: 20
@@ -3827,11 +3829,12 @@
- `Option_Dragon5`: 67108864
- `Option_Hanbok`: 134217728
- `Option_Oktoberfest`: 268435456
+- `Option_Summer2`: 536870912
### status option compounds
- `Option_Dragon`: 126353408
-- `Option_Costume`: 402984960
+- `Option_Costume`: 939855872
### send_target
@@ -3945,6 +3948,35 @@
- `BL_CHAR`: 539
- `BL_ALL`: 4095
+### Player permissions
+
+- `PERM_TRADE`: 1
+- `PERM_PARTY`: 2
+- `PERM_ALL_SKILL`: 4
+- `PERM_USE_ALL_EQUIPMENT`: 8
+- `PERM_SKILL_UNCONDITIONAL`: 16
+- `PERM_JOIN_ALL_CHAT`: 32
+- `PERM_NO_CHAT_KICK`: 64
+- `PERM_HIDE_SESSION`: 128
+- `PERM_RECEIVE_HACK_INFO`: 512
+- `PERM_WARP_ANYWHERE`: 1024
+- `PERM_VIEW_HPMETER`: 2048
+- `PERM_VIEW_EQUIPMENT`: 4096
+- `PERM_USE_CHECK`: 8192
+- `PERM_USE_CHANGEMAPTYPE`: 16384
+- `PERM_USE_ALL_COMMANDS`: 32768
+- `PERM_RECEIVE_REQUESTS`: 65536
+- `PERM_SHOW_BOSS`: 131072
+- `PERM_DISABLE_PVM`: 262144
+- `PERM_DISABLE_PVP`: 524288
+- `PERM_DISABLE_CMD_DEAD`: 1048576
+- `PERM_HCHSYS_ADMIN`: 2097152
+- `PERM_TRADE_BOUND`: 4194304
+- `PERM_DISABLE_PICK_UP`: 8388608
+- `PERM_DISABLE_STORE`: 16777216
+- `PERM_DISABLE_EXP`: 33554432
+- `PERM_DISABLE_SKILL_USAGE`: 67108864
+
### Renewal
- `RENEWAL`: 1
@@ -3974,6 +4006,7 @@
- `SkillPoint`: [param]
- `Class`: [param]
- `Zeny`: [param]
+- `BankVault`: [param]
- `Sex`: [param]
- `NextBaseExp`: [param]
- `NextJobExp`: [param]
diff --git a/server/scripts/script_commands.txt b/server/scripts/script_commands.txt
index e4df770..5ba0aaa 100644
--- a/server/scripts/script_commands.txt
+++ b/server/scripts/script_commands.txt
@@ -540,7 +540,8 @@ allows you to replace lots of numbered arguments for many commands with
easier to read text. The special variables most commonly used are all
permanent character-based variables:
-Zeny - Amount of Zeny.
+Zeny - Amount of Zeny in the inventory.
+BankVault - Amount of Zeny in the bank.
Hp - Current amount of hit points.
MaxHp - Maximum amount of hit points.
Sp - Current spell points.
@@ -707,7 +708,8 @@ MAX_STORAGE - Maximum storage items
MAX_GUILD_STORAGE - Maximum guild storage items
MAX_CART - Maximum cart items
MAX_INVENTORY - Maximum inventory items
-MAX_ZENY - Maximum Zeny
+MAX_ZENY - Maximum Zeny in the inventory
+MAX_BANK_ZENY - Maximum Zeny in the bank
MAX_BG_MEMBERS - Maximum BattleGround members
MAX_CHAT_USERS - Maximum Chat users
MAX_REFINE - Maximum Refine level
@@ -2687,7 +2689,7 @@ Example 2: check party count (with a next() pause), before warping to event
}
// Finally, it's safe to start the event!
- warpparty("event_map", 0, 0, getcharid(CHAR_ID_PARTY));
+ warpparty("event_map", 0, 0, getcharid(CHAR_ID_PARTY), true);
---------------------------------------
@@ -3950,17 +3952,18 @@ things might in some cases be required.
---------------------------------------
-*checkoption(<option number>)
-*checkoption1(<option number>)
-*checkoption2(<option number>)
-*setoption(<option number>{, <flag>});
+*checkoption(<option number>{, <account id>})
+*checkoption1(<option number>{, <account id>})
+*checkoption2(<option number>{, <account id>})
+*setoption(<option number>{, <flag>{, <account id>}});
The setoption() series of functions check for a so-called option that is
set on the invoking character. 'Options' are used to store status
conditions and a lot of other non-permanent character data of the yes-no
kind. For most common cases, it is better to use checkcart(),
checkfalcon(), checkmount() and other similar functions, but there are
-some options which you cannot get at this way.
+some options which you cannot get at this way. If <account id> is given,
+this player will be used instead of the invoking character.
Option numbers valid for the first (option) version of this command are:
@@ -4289,8 +4292,9 @@ if <color> field is left out.
*showscript("<message>"{, <GID>})
-Makes attached player or GID says a message like shouting a skill name, the message
-will be seen to everyone around but not in chat window.
+Makes the attached player or GID, display a message similiar to a chat,
+this will be seen by everyone near the invoking character but will not
+be displayed in the chat window.
---------------------------------------
@@ -4355,7 +4359,7 @@ See also warp().
---------------------------------------
-*warpparty("<to_mapname>", <x>, <y>, <party_id>, {"<from_mapname>"})
+*warpparty("<to_mapname>", <x>, <y>, <party_id>, "<from_mapname>", <include_leader>)
Warps a party to specified map and coordinate given the party ID, which
you can get with getcharid(CHAR_ID_PARTY). You can also request another party id given
@@ -4375,13 +4379,15 @@ Leader: All party members are warped to the leader's position. The
If you specify a from_mapname, warpparty() will only affect those on
that map.
+You can exclude Party leader from warping, by keeping include_leader option as false.
+
Example:
mes("[Party Warper]");
mes("Here you go!");
close2();
.@id = getcharid(CHAR_ID_PARTY);
- warpparty("prontera", 150, 100, .@id);
+ warpparty("prontera", 150, 100, .@id, true);
close();
---------------------------------------
@@ -7760,6 +7766,68 @@ scripts-atcommands this way.
---------------------------------------
+*can_use_command("<command>"{, <account id>})
+
+Checks if the attached or specified player can use the specified
+atcommand and returns true or false accordingly.
+
+---------------------------------------
+
+*has_permission(<permission>{, <account id>})
+*has_permission("<permission>"{, <account id>})
+
+Check if the attached or specified player has the specified permission
+and returns true or false accordingly. See doc/permissions.txt for
+details about permissions.
+
+Valid <permission> are:
+
+ PERM_TRADE
+ PERM_PARTY
+ PERM_ALL_SKILL
+ PERM_USE_ALL_EQUIPMENT
+ PERM_SKILL_UNCONDITIONAL
+ PERM_JOIN_ALL_CHAT
+ PERM_NO_CHAT_KICK
+ PERM_HIDE_SESSION
+ PERM_WHO_DISPLAY_AID
+ PERM_RECEIVE_HACK_INFO
+ PERM_WARP_ANYWHERE
+ PERM_VIEW_HPMETER
+ PERM_VIEW_EQUIPMENT
+ PERM_USE_CHECK
+ PERM_USE_CHANGEMAPTYPE
+ PERM_USE_ALL_COMMANDS
+ PERM_RECEIVE_REQUESTS
+ PERM_SHOW_BOSS
+ PERM_DISABLE_PVM
+ PERM_DISABLE_PVP
+ PERM_DISABLE_CMD_DEAD
+ PERM_HCHSYS_ADMIN
+ PERM_TRADE_BOUND
+ PERM_DISABLE_PICK_UP
+ PERM_DISABLE_STORE
+ PERM_DISABLE_EXP
+ PERM_DISABLE_SKILL_USAGE
+
+Example:
+
+ if (has_permission(PERM_WARP_ANYWHERE)) {
+ //do something
+ }
+
+It is also possible to pass a string for plugin permissions:
+
+ if (has_permission("show_version")) {
+ //do something
+ }
+
+** Passing a string is slower than passing a constant because
+ the engine has to loop through the array to find the permission.
+ In most cases you should use the PERM_ constants.
+
+---------------------------------------
+
*unitskilluseid(<GID>, <skill id>, <skill lvl>{, <target id>})
*unitskilluseid(<GID>, "<skill name>", <skill lvl>{, <target id>})
*unitskillusepos(<GID>, <skill id>, <skill lvl>, <x>, <y>)