summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/constants.md29
-rw-r--r--doc/script_commands.txt81
2 files changed, 102 insertions, 8 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/script_commands.txt b/doc/script_commands.txt
index e4df77051..894b3fc2f 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -2687,7 +2687,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 +3950,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:
@@ -4355,7 +4356,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 +4376,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 +7763,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>)