summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/constants.md29
-rw-r--r--doc/item_db.txt3
-rw-r--r--doc/script_commands.txt73
3 files changed, 100 insertions, 5 deletions
diff --git a/doc/constants.md b/doc/constants.md
index 22521a60c..c6010420c 100644
--- a/doc/constants.md
+++ b/doc/constants.md
@@ -3945,6 +3945,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
diff --git a/doc/item_db.txt b/doc/item_db.txt
index 6ffc8a52b..86e397636 100644
--- a/doc/item_db.txt
+++ b/doc/item_db.txt
@@ -71,6 +71,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)
Trade: { (defaults to no restrictions)
override: GroupID (int, defaults to 100)
nodrop: true/false (boolean, defaults to false)
@@ -290,6 +291,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/doc/script_commands.txt b/doc/script_commands.txt
index c35731cb7..a27d16e7f 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -3952,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:
@@ -7764,6 +7765,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>)