diff options
Diffstat (limited to 'server/scripts/script_commands.txt')
-rw-r--r-- | server/scripts/script_commands.txt | 75 |
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 |