Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Options 選項 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- Options:
- Tag: &6技能 &c&l>>
- #[ 全職業 - 終極魔力爆擊 ]
- 終極魔力爆擊.CD: 4
- 終極魔力爆擊.Max: 1
- #[ 全職業 - 終極疾風幻步 ]
- 終極疾風幻步.CD: 6
- 終極疾風幻步.MP: 60
- 終極疾風幻步.Max: 1
- #[ 全職業 - 終極生命恢復 ]
- 終極生命恢復.CD: 6
- 終極生命恢復.MP: 70
- 終極生命恢復.Max: 1
- #[ 全職業 - 冒險者的祝福 ]
- 冒險者的祝福.CD: 210
- 冒險者的祝福.受益時間: 180
- 冒險者的祝福.MP: 120
- 冒險者的祝福.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
- set {_命中} to 0
- 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 3:
- add 1 to {_命中}
- 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
- stop loop
- stop
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 初心者 - 終極生命恢復 ]
- if uncolored name of player's tool contains "終極生命恢復":
- if Skill(player, "&d終極生命恢復", {@終極生命恢復.Max}, {@終極生命恢復.CD}, {@終極生命恢復.MP}) is true:
- set {冷卻.%player%::終極生命恢復} to now
- drawDot count 8, particle "heart", XYZ 0.2, 0.5, 0.2, center player, visibleRange 32, pulseDelay 2, keepFor 5 seconds
- play "ENTITY_FIREWORK_LAUNCH" to player with volume 1 and pitch 2
- loop 5 times:
- heal player by 2
- wait 1 second
- stopeffect id "終極生命恢復%player%"
- stop
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 初心者 - 終極疾風幻步 ]
- if uncolored name of player's tool contains "終極疾風幻步":
- if Skill(player, "&b終極疾風幻步", {@終極疾風幻步.Max}, {@終極疾風幻步.CD}, {@終極疾風幻步.MP}) is true:
- set {冷卻.%player%::終極疾風幻步} to now
- drawRings particle "fireworkspark", center player, id "終極疾風幻步%player%", rainbowMode no, randomRotation no, animated yes, radius 1, ringCount 2, ringDensity 6, visibleRange 32, pulseDelay 1
- play "ENTITY_RABBIT_HURT" to player with volume 1 and pitch 2
- set {技能加速.%player%} to {玩家資料.%player%::移動速度}*0.5
- wait 15 seconds
- delete {技能加速.%player%}
- stopeffect id "終極疾風幻步%player%"
- stop
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 全職業 - 冒險者的祝福 ]
- if uncolored name of player's tool contains "冒險者的祝福":
- if Skill(player, "&6冒險者的祝福", {@冒險者的祝福.Max}, {@冒險者的祝福.CD}, {@冒險者的祝福.MP}) is true:
- set {冷卻.%player%::冒險者的祝福} to now
- play "ENTITY_PLAYER_LEVELUP" to player with volume 500 and pitch 1.5
- play "ENTITY_PLAYER_LEVELUP" to player with volume 500 and pitch 2
- play "ENTITY_PLAYER_LEVELUP" to player with volume 500 and pitch 2.5
- play "ENTITY_PLAYER_LEVELUP" to player with volume 500 and pitch 3
- if {BUFF.冒險者的祝福time::%player%} isn't set:
- set {BUFF.冒險者的祝福time::%player%} to now
- if {玩家資料.%player%::玩家職業} is "法師" or "祭司" or "主教" or "煉獄巫師" or "巫師" or "火毒魔導" or "冰雷魔導":
- set {BUFF.冒險者的祝福.魔法攻擊力::%player%} to 200
- if {玩家資料.%player%::玩家職業} is "戰士" or "騎士" or "龍騎士" or "聖騎士" or "劍士" or "劍鬥士" or "劍俠" or "盜賊" or "俠客" or "影武者" or "拳霸" or "刺客" or "夜使者" or "暗器使" or "弓箭手" or "遊俠" or "箭神" or "槍神" or "獵人" or "神箭手" or "重砲手":
- set {BUFF.冒險者的祝福.物理攻擊力::%player%} to 200
- else:
- set {BUFF.冒險者的祝福.魔法攻擊力::%player%} to 100
- set {BUFF.冒險者的祝福.物理攻擊力::%player%} to 100
- set {BUFF.冒險者的祝福.防禦力::%player%} to 150
- set {BUFF.冒險者的祝福.移動速度::%player%} to 25
- set {BUFF.冒險者的祝福.跳躍力::%player%} to 25
- set {BUFF.冒險者的祝福.爆擊率::%player%} to 5
- set {BUFF.冒險者的祝福.爆擊傷害::%player%} to 10
- set {BUFF.冒險者的祝福.血量恢復量::%player%} to 500
- set {BUFF.冒險者的祝福.魔量恢復量::%player%} to 10
- add {BUFF.冒險者的祝福.魔法攻擊力::%player%} to {玩家資料.%player%::魔法攻擊力}
- add {BUFF.冒險者的祝福.物理攻擊力::%player%} to {玩家資料.%player%::物理攻擊力}
- add {BUFF.冒險者的祝福.防禦力::%player%} to {玩家資料.%player%::防禦力}
- add {BUFF.冒險者的祝福.移動速度::%player%} to {玩家資料.%player%::移動速度}
- add {BUFF.冒險者的祝福.跳躍力::%player%} to {玩家資料.%player%::跳躍力}
- add {BUFF.冒險者的祝福.爆擊率::%player%} to {玩家資料.%player%::爆擊率}
- add {BUFF.冒險者的祝福.爆擊傷害::%player%} to {玩家資料.%player%::爆擊傷害}
- add {BUFF.冒險者的祝福.血量恢復量::%player%} to {玩家資料.%player%::血量恢復量}
- add {BUFF.冒險者的祝福.魔量恢復量::%player%} to {玩家資料.%player%::魔量恢復量}
- execute player command "冒險者的祝福效果持續檢測時間"
- drawWarpRings style 1, particle "fireworkspark", center player, id "冒險者的祝福1%player%", rainbowMode false, scan true, height 2, radius 0.5, ringCount 5, ringDensity 5, visibleRange 32, pulseDelay 0.8
- drawWarpRings style 2, particle "redstone", RGB 255, 209, 5, center player, id "冒險者的祝福2%player%", rainbowMode false, scan true, height 2, radius 0.5, ringCount 5, ringDensity 5, visibleRange 32, pulseDelay 0.8
- wait 1 seconds
- stopeffect id "冒險者的祝福1%player%"
- stopeffect id "冒險者的祝福2%player%"
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ Buff 增益效果 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- #[ 全職業 - 冒險者的祝福 ]
- on command:
- command is "冒險者的祝福效果持續檢測時間"
- cancel event
- if {BUFF.冒險者的祝福.防禦力::%player%} isn't set:
- stop
- set {_executename} to "%player%"
- set {_冷卻} to difference between {BUFF.冒險者的祝福time::%{_executename}%} and now
- while {_冷卻} is less than {@冒險者的祝福.受益時間} second:
- set {_冷卻} to difference between {BUFF.冒險者的祝福time::%{_executename}%} and now
- wait 5.1 seconds
- if player is online:
- remove {BUFF.冒險者的祝福.魔法攻擊力::%{_executename}%} from {玩家資料.%{_executename}%::魔法攻擊力}
- remove {BUFF.冒險者的祝福.物理攻擊力::%{_executename}%} from {玩家資料.%{_executename}%::物理攻擊力}
- remove {BUFF.冒險者的祝福.防禦力::%{_executename}%} from {玩家資料.%{_executename}%::防禦力}
- remove {BUFF.冒險者的祝福.移動速度::%{_executename}%} from {玩家資料.%{_executename}%::移動速度}
- remove {BUFF.冒險者的祝福.跳躍力::%{_executename}%} from {玩家資料.%{_executename}%::跳躍力}
- remove {BUFF.冒險者的祝福.爆擊率::%{_executename}%} from {玩家資料.%{_executename}%::爆擊率}
- remove {BUFF.冒險者的祝福.爆擊傷害::%{_executename}%} from {玩家資料.%{_executename}%::爆擊傷害}
- remove {BUFF.冒險者的祝福.血量恢復量::%{_executename}%} from {玩家資料.%{_executename}%::血量恢復量}
- remove {BUFF.冒險者的祝福.魔量恢復量::%{_executename}%} from {玩家資料.%{_executename}%::魔量恢復量}
- send "{@Tag} &c<&6冒險者的祝福&c> &c持續時間已到" to player
- delete {BUFF.冒險者的祝福.魔法攻擊力::%{_executename}%}
- delete {BUFF.冒險者的祝福.物理攻擊力::%{_executename}%}
- delete {BUFF.冒險者的祝福.防禦力::%{_executename}%}
- delete {BUFF.冒險者的祝福.移動速度::%{_executename}%}
- delete {BUFF.冒險者的祝福.跳躍力::%{_executename}%}
- delete {BUFF.冒險者的祝福.爆擊率::%{_executename}%}
- delete {BUFF.冒險者的祝福.爆擊傷害::%{_executename}%}
- delete {BUFF.冒險者的祝福.血量恢復量::%{_executename}%}
- delete {BUFF.冒險者的祝福.魔量恢復量::%{_executename}%}
- delete {BUFF.冒險者的祝福time::%{_executename}%}
- on join:
- if {BUFF.冒險者的祝福.防禦力::%player%} is set:
- remove {BUFF.冒險者的祝福.魔法攻擊力::%player%} from {玩家資料.%player%::魔法攻擊力}
- remove {BUFF.冒險者的祝福.物理攻擊力::%player%} from {玩家資料.%player%::物理攻擊力}
- remove {BUFF.冒險者的祝福.防禦力::%player%} from {玩家資料.%player%::防禦力}
- remove {BUFF.冒險者的祝福.移動速度::%player%} from {玩家資料.%player%::移動速度}
- remove {BUFF.冒險者的祝福.跳躍力::%player%} from {玩家資料.%player%::跳躍力}
- remove {BUFF.冒險者的祝福.爆擊率::%player%} from {玩家資料.%player%::爆擊率}
- remove {BUFF.冒險者的祝福.爆擊傷害::%player%} from {玩家資料.%player%::爆擊傷害}
- remove {BUFF.冒險者的祝福.血量恢復量::%player%} from {玩家資料.%player%::血量恢復量}
- remove {BUFF.冒險者的祝福.魔量恢復量::%player%} from {玩家資料.%player%::魔量恢復量}
- send "{@Tag} &c<&6冒險者的祝福&c> &c因離線而效果消失" to player
- delete {BUFF.冒險者的祝福.魔法攻擊力::%player%}
- delete {BUFF.冒險者的祝福.物理攻擊力::%player%}
- delete {BUFF.冒險者的祝福.防禦力::%player%}
- delete {BUFF.冒險者的祝福.移動速度::%player%}
- delete {BUFF.冒險者的祝福.跳躍力::%player%}
- delete {BUFF.冒險者的祝福.爆擊率::%player%}
- delete {BUFF.冒險者的祝福.爆擊傷害::%player%}
- delete {BUFF.冒險者的祝福.血量恢復量::%player%}
- delete {BUFF.冒險者的祝福.魔量恢復量::%player%}
- delete {BUFF.冒險者的祝福time::%player%}
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- # [ ClearVariable 清除變數 ]
- #───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────#
- on any movement:
- {冷卻.%player%::終極魔力爆擊} is set:
- set {_冷卻} to difference between {冷卻.%player%::終極魔力爆擊} and now
- if {_冷卻} >= {@終極魔力爆擊.CD} second:
- delete {冷卻.%player%::終極魔力爆擊}
- {冷卻.%player%::終極生命恢復} is set:
- set {_冷卻} to difference between {冷卻.%player%::終極生命恢復} and now
- if {_冷卻} >= {@終極生命恢復.CD} second:
- delete {冷卻.%player%::終極生命恢復}
- {冷卻.%player%::終極疾風幻步} is set:
- set {_冷卻} to difference between {冷卻.%player%::終極疾風幻步} and now
- if {_冷卻} >= {@終極疾風幻步.CD} second:
- delete {冷卻.%player%::終極疾風幻步}
- {冷卻.%player%::冒險者的祝福} is set:
- set {_冷卻} to difference between {冷卻.%player%::冒險者的祝福} and now
- if {_冷卻} >= {@冒險者的祝福.CD} second:
- delete {冷卻.%player%::冒險者的祝福}
- on right click:
- if name of player's tool contains "超技能":
- if lore of player's tool contains "&9無法丟棄" or "&9無法交易":
- stop
- else:
- set {_lore} to lore of player's tool
- set lore of player's tool to "%{_lore}%||&9無法丟棄||&9無法交易"
Advertisement
Add Comment
Please, Sign In to add comment