summaryrefslogtreecommitdiff
path: root/server/scripts/script_commands.txt
diff options
context:
space:
mode:
Diffstat (limited to 'server/scripts/script_commands.txt')
-rw-r--r--server/scripts/script_commands.txt75
1 files changed, 68 insertions, 7 deletions
diff --git a/server/scripts/script_commands.txt b/server/scripts/script_commands.txt
index aa0fea3..36c4da3 100644
--- a/server/scripts/script_commands.txt
+++ b/server/scripts/script_commands.txt
@@ -3357,12 +3357,13 @@ Examples:
---------------------------------------
-*getunits(<type>, <variable>, <limit>, "<map>"{, <x1>, <y1>, <x2>, <y2>})
+*getunits(<type>, <variable>, <limit>{, "<map>"{, <x1>, <y1>, <x2>, <y2>}})
This function searches a whole map or area for units and adds their GID to
the provided <variable> array. It filters units by <type> and stops searching
after <limit> units have been found. Set <limit> to false (0) if you wish to
-disable the limit altogether.
+disable the limit altogether. If <map> is omitted, this command will search
+on the whole server (slow). Returns the number of units added to the array.
Type is the type of unit to search for:
@@ -3381,6 +3382,10 @@ Type is the type of unit to search for:
** Do NOT use UNITTYPE_ constants here, they have different values.
+** If battle_config.dynamic_mobs is enabled and no player has entered the map
+ yet, the mobs will not have spawned in the map yet, so getunits() will be
+ unable to find them when searching for BL_MOB.
+
Example:
.@count = getunits((BL_PC | BL_NPC), .@units, false, "prontera");
@@ -6184,12 +6189,15 @@ Examples:
---------------------------------------
-*pcblockmove(<id>, <option>)
+*pcblockmove(<account id>, <option>)
+
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ @ /!\ This command is deprecated @
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-Prevents the given ID from moving when the optionis true , and false
-enables the ID to move again. The ID can either be the GID of a
-monster/NPC or account ID of a character, and will run for the attached
-player if zero is supplied.
+Prevents the player from moving when the option != 0, and 0 enables the
+player to move again. The player has to be the account ID of a character,
+and will run for the attached player if zero is supplied.
Examples:
@@ -6199,6 +6207,53 @@ Examples:
// Enables the current char to move again.
pcblockmove(getcharid(CHAR_ID_ACCOUNT), false);
+---------------------------------------
+
+*setpcblock(<type>,<option>)
+*checkpcblock()
+
+Prevents the player from doing the following action.
+
+For setpcblock, when the <option> is true(1) will block them, and false(0)
+will allow those actions again.
+
+The checkpcblock command returned value is a bit mask of the currently
+enabled block flags (or PCBLOCK_NONE when none is set).
+
+The <type> listed are a bit mask of the following:
+ PCBLOCK_NONE (only used by checkpcblock)
+ PCBLOCK_MOVE
+ PCBLOCK_ATTACK
+ PCBLOCK_SKILL
+ PCBLOCK_USEITEM
+ PCBLOCK_CHAT
+ PCBLOCK_IMMUNE
+ PCBLOCK_SITSTAND
+ PCBLOCK_COMMANDS
+
+Examples:
+
+// Make the current attached player invulnerable, same as @monsterignore
+ setpcblock(PCBLOCK_IMMUNE, true);
+
+// Prevents the current char from attacking or using skills
+ setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL, true);
+
+// Re-enables attack, skills and item use
+ setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_ITEM, false);
+
+// checkpcblock related checks
+ if ((checkpcblock() & PCBLOCK_IMMUNE) != 0)
+ mes "You are invulnerable!";
+
+ if ((checkpcblock() & (PCBLOCK_MOVE|PCBLOCK_SITSTAND)) == (PCBLOCK_MOVE|PCBLOCK_SITSTAND))
+ mes "You can't walk or sit";
+
+ if ((checkpcblock() & (PCBLOCK_ATTACK|PCBLOCK_SKILL)) == PCBLOCK_NONE)
+ mes "You can attack and use skills";
+
+ if ((checkpcblock() & PCBLOCK_CHAT) == PCBLOCK_NONE)
+ mes "You can't chat";
---------------------------------------
//=====================================
@@ -10007,4 +10062,10 @@ the available flags are:
P_AIRSHIP_ITEM_NOT_ENOUGH
P_AIRSHIP_ITEM_INVALID
+---------------------------------------
+
+*openstylist()
+
+Opens the styling shop on client
+
--------------------------------------- \ No newline at end of file