diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/constants.md | 29 | ||||
-rw-r--r-- | doc/item_db.txt | 3 | ||||
-rw-r--r-- | doc/script_commands.txt | 81 |
3 files changed, 105 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/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 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>) |