Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Options 選項 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- Options:
- Tag: &6技能 &c&l>>
- #[ 全職業 - 終極魔力爆擊 ]
- 終極魔力爆擊.CD: 4
- 終極魔力爆擊.Max: 1
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Function 函式 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- Function Skill(P:player, S:text, Max:number, CD:number, MP:number) :: boolean:
- set {_Skill} to uncolored {_S}
- if {技能.%{_P}%::%{_Skill}%} <= 0:
- send "{@Tag} &c尚未學習 &f<%{_S}%&f>" to {_P}
- return false
- stop
- if {技能.%{_P}%::%{_Skill}%} > {_Max}:
- send "{@Tag} &c&l注意! 你的技能等級出現錯誤! 請盡速尋求管理員協助!" to {_P}
- return false
- stop
- set {_冷卻} to "%difference between {冷卻.%{_P}%::%{_Skill}%} and now%"
- replace "seconds" and "second" and " " with "" in {_冷卻}
- set {_冷卻} to {_冷卻} parsed as number
- set {_CD} to {_CD} parsed as number
- if {_冷卻} is less than {_CD}:
- set {_冷卻} to "%difference between {_CD} and {_冷卻}%"
- replace "seconds" and "second" and " " with "" in {_冷卻}
- send "{@Tag} &f技能冷卻中 &f<%{_S}%&f> &f還有 &e%{_冷卻}% &f秒" to {_P}
- return false
- stop
- if {玩家魔力值.%{_P}%} is larger or equal to {_MP}:
- remove {_MP} from {玩家魔力值.%{_P}%}
- set {_math} to 0.99 * {玩家魔力值.%{_P}%} / {玩家資料.%{_P}%::魔力值}
- if {_math} is more than or equal to 1:
- set {_math} to 0.99
- set level progress of {_P} to {_math}
- set {_P}'s level to {玩家魔力值.%{_P}%}
- send "{@Tag} &f施放技能 &f<%{_S}%&f> &f消耗了 &9%{_MP}% &f魔力值" to {_P}
- else:
- send "{@Tag} &c魔力不足 無法施放 &f<%{_S}%&f>" to {_P}
- return false
- stop
- return true
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Skill 技能 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- on right click:
- {玩家資料.%player%::玩家職業} is set
- set {_STRATK} to {玩家資料.%player%::力量} * 0.5
- set {_DEXATK} to {玩家資料.%player%::敏捷} * 0.7
- set {_INTATK} to {玩家資料.%player%::智慧} * 0.6
- set {_LUKATK} to {玩家資料.%player%::幸運} * 0.4
- set {_PHYSICDMG} to {玩家資料.%player%::物理攻擊力}
- set {_MAGICDMG} to {玩家資料.%player%::魔法攻擊力}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 0:
- add ({_STRATK} + {_DEXATK} + {_LUKATK}) to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK}) to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 1:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.2 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.2 to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 2:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.4 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.4 to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 3:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.8 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.8 to {_MAGICDMG}
- set {_check} to {玩家資料.%player%::最大血量}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 0:
- add ({玩家資料.%player%::力量} * 5) to {_check}
- add ({玩家資料.%player%::智慧} * 4) to {_check}
- add ({玩家資料.%player%::敏捷} * 3) to {_check}
- add ({玩家資料.%player%::幸運} * 2) to {_check}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 1:
- add ({玩家資料.%player%::力量} * 5)*1.25 to {_check}
- add ({玩家資料.%player%::智慧} * 4)*1.25 to {_check}
- add ({玩家資料.%player%::敏捷} * 3)*1.25 to {_check}
- add ({玩家資料.%player%::幸運} * 2)*1.25 to {_check}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 2:
- add ({玩家資料.%player%::力量} * 5)*1.5 to {_check}
- add ({玩家資料.%player%::智慧} * 4)*1.5 to {_check}
- add ({玩家資料.%player%::敏捷} * 3)*1.5 to {_check}
- add ({玩家資料.%player%::幸運} * 2)*1.5 to {_check}
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 3:
- add ({玩家資料.%player%::力量} * 5)*2 to {_check}
- add ({玩家資料.%player%::智慧} * 4)*2 to {_check}
- add ({玩家資料.%player%::敏捷} * 3)*2 to {_check}
- add ({玩家資料.%player%::幸運} * 2)*2 to {_check}
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 初心者 - 終極●魔力爆擊 ]
- if uncolored name of player's tool contains "終極魔力爆擊":
- if {玩家資料.%player%::玩家等級} < 120:
- send "{@Tag} &c等級不足 無法使用該技能" to player
- stop
- if {玩家魔力值.%player%} < 20:
- send "{@Tag} &c魔力不足 無法施放 &f<&6終極魔力爆擊f>" to player
- stop
- set {_消耗mp} to round({玩家魔力值.%player%}*0.5)
- if Skill(player, "&c終極魔力爆擊", {@終極魔力爆擊.Max}, {@終極魔力爆擊.CD}, {_消耗mp}) is true:
- set {冷卻.%player%::終極魔力爆擊} to now
- play "ENTITY_ENDERDRAGON_HURT" to player with volume 1 and pitch 2
- play "ENTITY_ENDERDRAGON_HURT" to player with volume 1 and pitch 4
- set {_location.1} to block above player
- set {_location.2} to block 8 in front player
- add 2 to y-coordinate of {_location.2}
- set {_x.1} to x-coordinate of {_location.1}
- set {_x.2} to x-coordinate of {_location.2}
- set {_y.1} to y-coordinate of {_location.1}
- set {_y.2} to y-coordinate of {_location.2}
- set {_z.1} to z-coordinate of {_location.1}
- set {_z.2} to z-coordinate of {_location.2}
- set {_x.difference} to ({_x.2} - {_x.1}) / 10
- set {_y.difference} to ({_y.2} - {_y.1}) / 10
- set {_z.difference} to ({_z.2} - {_z.1}) / 10
- loop 10 times:
- set {_location.1} to location of {_location.1}
- increase x-coordinate of {_location.1} by {_x.difference}
- increase y-coordinate of {_location.1} by {_y.difference}
- increase z-coordinate of {_location.1} by {_z.difference}
- drawDot count 10, particle "blockdust", material portal, XYZ 0.1, 0.1, 0.1, center {_location.1}, visibleRange 32, pulseDelay 2, keepFor 0.2 seconds
- loop entities in radius 1.3 around block at location of {_location.1}:
- if loop-entity isn't a player or a dropped item:
- if {_命中} is not set:
- set {_命中} to 1
- make player damage loop-entity by ( ({_PHYSICDMG}*0.65) + ({_MAGICDMG}*0.8) ) * {_消耗mp}*3.5/200 * (20)
- drawDot count 25, particle "blockdust", material portal, XYZ 0.8, 1.2, 0.8, center loop-entity, visibleRange 32, pulseDelay 2, keepFor 0.3 seconds
- else if {_命中} is set:
- exit loop
- else if {_命中} is set:
- exit loop
- stop
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ ClearVariable 清除變數 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- on any movement:
- {冷卻.%player%::終極魔力爆擊} is set:
- set {_冷卻} to difference between {冷卻.%player%::終極魔力爆擊} and now
- if {_冷卻} >= {@終極魔力爆擊.CD} second:
- delete {冷卻.%player%::終極魔力爆擊}
Advertisement
Add Comment
Please, Sign In to add comment