diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/scripts/constants.md | 85 | ||||
-rw-r--r-- | server/scripts/script_commands.txt | 88 | ||||
-rw-r--r-- | server/versions.txt | 2 |
3 files changed, 167 insertions, 8 deletions
diff --git a/server/scripts/constants.md b/server/scripts/constants.md index 978cc7e..654e5eb 100644 --- a/server/scripts/constants.md +++ b/server/scripts/constants.md @@ -360,6 +360,8 @@ - `mf_nocashshop`: 54 - `mf_noautoloot`: 55 - `mf_noviewid`: 56 +- `mf_pairship_startable`: 57 +- `mf_pairship_endable`: 58 ### Cell Properties @@ -4162,6 +4164,84 @@ - `ITEMINFO_MATK`: 15 - `ITEMINFO_VIEWSPRITE`: 16 +### monster skill states + +- `MSS_ANY`: -1 +- `MSS_IDLE`: 0 +- `MSS_WALK`: 1 +- `MSS_LOOT`: 2 +- `MSS_DEAD`: 3 +- `MSS_BERSERK`: 4 +- `MSS_ANGRY`: 5 +- `MSS_RUSH`: 6 +- `MSS_FOLLOW`: 7 +- `MSS_ANYTARGET`: 8 + +### monster skill conditions + +- `MSC_ANY`: -1 +- `MSC_ALWAYS`: 0 +- `MSC_MYHPLTMAXRATE`: 1 +- `MSC_MYHPINRATE`: 2 +- `MSC_FRIENDHPLTMAXRATE`: 3 +- `MSC_FRIENDHPINRATE`: 4 +- `MSC_MYSTATUSON`: 5 +- `MSC_MYSTATUSOFF`: 6 +- `MSC_FRIENDSTATUSON`: 7 +- `MSC_FRIENDSTATUSOFF`: 8 +- `MSC_ATTACKPCGT`: 9 +- `MSC_ATTACKPCGE`: 10 +- `MSC_SLAVELT`: 11 +- `MSC_SLAVELE`: 12 +- `MSC_CLOSEDATTACKED`: 13 +- `MSC_LONGRANGEATTACKED`: 14 +- `MSC_SKILLUSED`: 16 +- `MSC_AFTERSKILL`: 15 +- `MSC_CASTTARGETED`: 17 +- `MSC_RUDEATTACKED`: 18 +- `MSC_MASTERHPLTMAXRATE`: 19 +- `MSC_MASTERATTACKED`: 20 +- `MSC_ALCHEMIST`: 21 +- `MSC_SPAWN`: 22 + +### monster skill targets + +- `MST_TARGET`: 0 +- `MST_RANDOM`: 1 +- `MST_SELF`: 2 +- `MST_FRIEND`: 3 +- `MST_MASTER`: 4 +- `MST_AROUND5`: 5 +- `MST_AROUND6`: 6 +- `MST_AROUND7`: 7 +- `MST_AROUND8`: 8 +- `MST_AROUND1`: 9 +- `MST_AROUND2`: 10 +- `MST_AROUND3`: 11 +- `MST_AROUND4`: 12 +- `MST_AROUND`: 12 + +### pc block constants, use with *setpcblock* and *checkpcblock* + +- `PCBLOCK_NONE`: 0 +- `PCBLOCK_MOVE`: 1 +- `PCBLOCK_ATTACK`: 2 +- `PCBLOCK_SKILL`: 4 +- `PCBLOCK_USEITEM`: 8 +- `PCBLOCK_CHAT`: 16 +- `PCBLOCK_IMMUNE`: 32 +- `PCBLOCK_SITSTAND`: 64 +- `PCBLOCK_COMMANDS`: 128 + +### private airship responds + +- `P_AIRSHIP_NONE`: 0 +- `P_AIRSHIP_RETRY`: 1 +- `P_AIRSHIP_INVALID_START_MAP`: 2 +- `P_AIRSHIP_INVALID_END_MAP`: 3 +- `P_AIRSHIP_ITEM_NOT_ENOUGH`: 4 +- `P_AIRSHIP_ITEM_INVALID`: 5 + ### Renewal - `RENEWAL`: 1 @@ -12224,6 +12304,7 @@ - `Daily_Coin`: 6674 - `XMAS_Cookie`: 6681 - `Bag_Of_Selling_Goods`: 6682 +- `Cash_Hair_Coupon`: 6707 - `Lovely_Stick`: 6712 - `Corrupted_Charm`: 6755 - `ORGANIC_PUMPKIN`: 6804 @@ -15909,6 +15990,9 @@ - `Universal_Catalog_Gold_Box10_`: 16776 - `Universal_Catalog_Gold_Box50`: 16777 - `Sagittarius_Scr_Box`: 16826 +- `Beauty_Gift_Box`: 16843 +- `Clothing_Dye_Box`: 16854 +- `Clothing_Dye_Orig_Box`: 16855 - `Weather_Report_Box`: 16972 - `Yellow_Hat_Box`: 16973 - `Comin_Actor_Box`: 16974 @@ -16078,6 +16162,7 @@ - `INT_Biscuit_Stick_Box`: 17273 - `DEX_Biscuit_Stick_Box`: 17274 - `LUK_Biscuit_Stick_Box`: 17275 +- `Jeremy_Beauty_Coupon_Box`: 17336 - `Cannon_Ball`: 18000 - `Holy_Cannon_Ball`: 18001 - `Dark_Cannon_Ball`: 18002 diff --git a/server/scripts/script_commands.txt b/server/scripts/script_commands.txt index bfb6c95..ce9555a 100644 --- a/server/scripts/script_commands.txt +++ b/server/scripts/script_commands.txt @@ -5933,12 +5933,15 @@ Examples: --------------------------------------- -*pcblockmove(<id>, <option>) +*pcblockmove(<account id>, <option>) -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. + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @ /!\ This command is deprecated @ Use setpcblock() and checkpcblock() + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +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: @@ -8822,12 +8825,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: @@ -8846,6 +8850,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"); @@ -9660,6 +9668,53 @@ for name and 0 for all other types. //===================================== --------------------------------------- +--------------------------------------- + +*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"; --------------------------------------- //===================================== @@ -10013,3 +10068,22 @@ Enables the Emblem of the given Clan to the current NPC 13 - End of Clan System Related Commands //===================================== --------------------------------------- + +*airship_respond(<flag>) + +Send client respond to different private airship status. +the available flags are: + P_AIRSHIP_NONE + P_AIRSHIP_RETRY + P_AIRSHIP_INVALID_START_MAP + P_AIRSHIP_INVALID_END_MAP + P_AIRSHIP_ITEM_NOT_ENOUGH + P_AIRSHIP_ITEM_INVALID + +--------------------------------------- + +*openstylist() + +Opens the styling shop on client + +--------------------------------------- diff --git a/server/versions.txt b/server/versions.txt index 8537e27..ec31b0a 100644 --- a/server/versions.txt +++ b/server/versions.txt @@ -18,4 +18,4 @@ Plugin versions: 18 Jul 12 2017 First supported version by client: - 11 + 14 |