Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Function PHY_DMG(entityToSet: entity) :: number:
- return 1
- Function MAG_DMG(entityToSet: entity) :: number:
- return 1
- Function SKI_DMG(entityToSet: entity) :: number:
- return 1
- Options:
- 玩家等級限制: 120
- on command:
- command is "boomlvl"
- cancel event
- set {_name} to "%player%"
- kick player due to "Disconneted."
- wait 20 ticks
- delete {玩家資料.%{_name}%::*}
- delete app "plugins\players\%{_name}%.yml"
- every 15 minutes:
- make console execute command "savedata"
- on command:
- command is "savedata"
- send "&b// &6文靜之潭 &e資料備份中 可能會有點卡頓 &b//" to all players
- wait 1 seconds
- loop all players:
- loop {玩家資料.%loop-player%::*}:
- set "%loop-index%" to "%loop-value-2%" in yaml file "plugins/players/%loop-player%.yml"
- loop all players:
- loop {技能.%loop-player%::*}:
- set yaml value "技能.%loop-index%" from "plugins/players/%loop-player%.yml" to "%loop-value-2%"
- send "&b// &6文靜之潭 &e資料備份成功 可繼續遊玩 &b//" to all players
- command /updateHp <number>:
- permission: op
- trigger:
- set "最大血量" to "%arg-1%" in yaml file "plugins/players/%player%.yml"
- set {玩家資料.%player%::最大血量} to arg-1
- command /expget <text> <number>:
- permission: op.oao
- trigger:
- if {玩家資料.%arg-1%::目前經驗值} is set:
- add arg-2 to {玩家資料.%arg-1%::目前經驗值}
- send "&6經驗 >> &e您獲得了 %arg-2% EXP。" to arg-1 parsed as player
- on damage:
- if {玩家資料.%attacker%::遊戲模式} is "非打怪":
- stop
- "%uncolored lore of attacker's tool%" contain "武器類型:" or "物品類型:"
- if attacker is a player:
- if uncolored name of attacker's tool contain "技能書":
- if damage is more than or equal to 50:
- set {_integer} to SKI_DMG(victim)
- set {_boom} to damage
- set damage to damage * {_integer}
- if {玩家資料.%attacker%::爆擊率} is set:
- set {_幾率.%attacker%} to ({玩家資料.%attacker%::爆擊率}+{玩家資料.%attacker%::幸運}/20) / 100
- Chance of {_幾率.%attacker%}:
- if {玩家資料.%attacker%::爆擊傷害} is more than 165:
- set damage to {_boom} * 2 * {_integer}
- else:
- set damage to {_boom} *( 1.35 + ({玩家資料.%attacker%::爆擊傷害}-35) / 200) * {_integer}
- if difference between {冷卻.%attacker%::魔力值恢復} and now is more than or equal to 3 second:
- if "%uncolored lore of attacker's tool%" contain "技能 - 急凍":
- apply slowness 3 to victim for 0.5 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 關節曲解":
- apply slowness 1 to victim for 3 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 骨骼破壞":
- apply slowness 2 to victim for 2 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 同生共死":
- apply slowness 3 to victim for 3 seconds
- apply slowness 1 to attacker for 1 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 行軍之力":
- apply speed 1 to attacker for 3 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 閃雷之音":
- apply speed 3 to attacker for 1 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 疾跑模式":
- apply speed 2 to attacker for 2 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 風雷附身":
- apply haste 2 to attacker for 1.5 seconds
- apply speed 2 to attacker for 1.5 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 制裁影速":
- apply slowness 2 to victim for 1.5 seconds
- apply speed 2 to attacker for 1.5 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 虛影連擊":
- apply wither 3 to victim for 0.5 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 侵蝕":
- apply wither 1 to victim for 3 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 劇毒":
- apply wither 2 to victim for 2 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 流順構造":
- apply haste 1 to attacker for 3 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 急速破壞":
- apply haste 3 to attacker for 1 seconds
- if "%uncolored lore of attacker's tool%" contain "技能 - 加速時間":
- apply haste 2 to attacker for 2 seconds
- delete {冷卻.%attacker%::魔力值恢復}
- if ({玩家資料.%attacker%::魔量吸收量} + {玩家魔力值.%attacker%}) is more than {玩家資料.%attacker%::魔力值}:
- set {玩家魔力值.%attacker%} to {玩家資料.%attacker%::魔力值}
- else:
- add {玩家資料.%attacker%::魔量吸收量} to {玩家魔力值.%attacker%}
- if {玩家資料.%attacker%::玩家職業} is not "拳霸":
- set {_math} to 0.99 * {玩家魔力值.%attacker%} / {玩家資料.%attacker%::魔力值}
- if {_math} is more than 1:
- set {_math} to 0.99
- set {玩家魔力值.%attacker%} to {玩家資料.%attacker%::魔力值}
- set level progress of the attacker to {_math}
- set attacker's level to {玩家魔力值.%attacker%}
- set {_check} to {玩家資料.%attacker%::最大血量}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 0:
- add ({玩家資料.%attacker%::力量} * 5) to {_check}
- add ({玩家資料.%attacker%::智慧} * 4) to {_check}
- add ({玩家資料.%attacker%::敏捷} * 3) to {_check}
- add ({玩家資料.%attacker%::幸運} * 2) to {_check}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 1:
- add ({玩家資料.%attacker%::力量} * 5)*1.25 to {_check}
- add ({玩家資料.%attacker%::智慧} * 4)*1.25 to {_check}
- add ({玩家資料.%attacker%::敏捷} * 3)*1.25 to {_check}
- add ({玩家資料.%attacker%::幸運} * 2)*1.25 to {_check}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 2:
- add ({玩家資料.%attacker%::力量} * 5)*1.5 to {_check}
- add ({玩家資料.%attacker%::智慧} * 4)*1.5 to {_check}
- add ({玩家資料.%attacker%::敏捷} * 3)*1.5 to {_check}
- add ({玩家資料.%attacker%::幸運} * 2)*1.5 to {_check}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 3:
- add ({玩家資料.%attacker%::力量} * 5)*2 to {_check}
- add ({玩家資料.%attacker%::智慧} * 4)*2 to {_check}
- add ({玩家資料.%attacker%::敏捷} * 3)*2 to {_check}
- add ({玩家資料.%attacker%::幸運} * 2)*2 to {_check}
- heal attacker by {玩家資料.%attacker%::血量吸收量} / (attacker's max health + {_check}) * attacker's max health
- set {冷卻.%attacker%::魔力值恢復} to now
- if {冷卻.%attacker%::魔力值恢復} isn't set:
- set {冷卻.%attacker%::魔力值恢復} to now
- if "%uncolored lore of attacker's tool%" contain "物品類型: [ 技能 ]" or "武器類型: [ 魔杖 ]" or "武器類型: [ 弓 ]" or "武器類型: [ 飛鏢 ]" or "武器類型: [ 權杖 ]" or "武器類型: [ 長槍 ]" or "武器類型: [ 火槍 ]" or "武器類型: [ 火杖 ]" or "武器類型: [ 冰杖 ]" or "武器類型: [ 弩 ]" or "武器類型: [ 長杖 ]":
- stop
- set {_lore::*} to uncolored lore of attacker's tool split at "||"
- loop {_lore::*}:
- if {_lore::%loop-index%} contain "等級需求 -":
- if {_lore::%loop-index%} contains "技能":
- stop
- replace all "等級需求" , "-" and " " with "" in {_lore::%loop-index%}
- set {_lore::%loop-index%} to {_lore::%loop-index%} parsed as integer
- if {_lore::%loop-index%} is more than {玩家資料.%attacker%::玩家等級}:
- send "&6武器 >> &c武器無法使用,請確認是否符合武器使用條件!"
- cancel event
- stop
- if {_lore::%loop-index%} contain "職業需求":
- replace all "職業需求" , ":" , "[" , "]" and " " with "" in {_lore::%loop-index%}
- if {_lore::%loop-index%} contains "技能":
- stop
- if {_lore::%loop-index%} is "全職業":
- set {_useless} to 1
- else if {_lore::%loop-index%} isn't {玩家資料.%attacker%::玩家職業}:
- send "&6武器 >> &c武器無法使用,請確認是否符合武器使用條件!" to attacker
- cancel event
- stop
- if {_lore::%loop-index%} contain "物理攻擊力 -":
- replace all "物理攻擊力" , "-" and " " with "" in {_lore::%loop-index%}
- set {_lore::%loop-index%} to {_lore::%loop-index%} parsed as integer
- set {_武器攻擊力} to {_lore::%loop-index%}
- loop 1 times:
- if "%uncolored lore of attacker's tool%" contain "物品類型: [ 武器 ]":
- set {_pass} to 1
- if "%uncolored lore of attacker's tool%" contain "武器類型: [ 劍 ]":
- if difference between {冷卻.%attacker%::劍擊} and now is more than or equal to 0.4 second:
- delete {冷卻.%attacker%::劍擊}
- if {冷卻.%attacker%::劍擊} is set:
- cancel event
- stop
- chance of ({技能.%attacker%::劍士自尊}*5)%:
- if difference between {冷卻.%attacker%::鬥環斬} and now is more than or equal to 1 second:
- delete {冷卻.%attacker%::鬥環斬}
- if {冷卻.%attacker%::鬥環斬} is set:
- exit loop
- loop 2 times:
- loop entities in radius 3 of victim:
- if loop-entity isn't a player or a dropped item or an arrow:
- make attacker damage loop-entity by 1
- play "ENTITY_ENDERDRAGON_HURT" to attacker with volume 1 and pitch 5
- set {冷卻.%attacker%::鬥環斬} to now
- if {冷卻.%attacker%::鬥靈迴砍} is set:
- delete {冷卻.%attacker%::鬥靈迴砍}
- set {冷卻.%attacker%::劍擊} to now
- if "%uncolored lore of attacker's tool%" contain "武器類型: [ 匕首 ]":
- if difference between {冷卻.%attacker%::匕首擊} and now is more than or equal to 0.15 second:
- delete {冷卻.%attacker%::匕首擊}
- if {冷卻.%attacker%::匕首擊} is set:
- cancel event
- stop
- set {冷卻.%attacker%::匕首擊} to now
- if "%uncolored lore of attacker's tool%" contain "武器類型: [ 拳套 ]":
- if difference between {冷卻.%attacker%::拳套連段} and now is more than or equal to 0.5 second:
- delete {冷卻.%attacker%::拳套連段}
- if {冷卻.%attacker%::拳套連段} is set:
- stop
- set {冷卻.%attacker%::拳套連段} to now
- set {_pass} to 0
- set {_連段} to 1
- if {連段.%attacker%} is not set:
- set {連段.%attacker%} to 1
- if {_pass} is 1:
- set {_STRATK} to {玩家資料.%attacker%::力量} * 0.5
- set {_DEXATK} to {玩家資料.%attacker%::敏捷} * 0.7
- set {_INTATK} to {玩家資料.%attacker%::智慧} * 0.6
- set {_LUKATK} to {玩家資料.%attacker%::幸運} * 0.4
- set {_PHYSICDMG} to {玩家資料.%attacker%::物理攻擊力}
- set {_MAGICDMG} to {玩家資料.%attacker%::魔法攻擊力}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 0:
- add ({_STRATK} + {_DEXATK} + {_LUKATK}) to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK}) to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 1:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.2 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.2 to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 2:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.4 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.4 to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 3:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.8 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.8 to {_MAGICDMG}
- if {BUFF.鬥氣爆發time::%attacker%} is set:
- add {玩家資料.%attacker%::物理攻擊力} to {_PHYSICDMG}
- add {玩家資料.%attacker%::防禦力} to {_PHYSICDMG}
- set {_number1} to PHY_DMG(victim)
- set {_暗影突判斷} to 0
- if {技能.%attacker%::暗影突刺} is set:
- chance of (8*{技能.%attacker%::暗影突刺})%:
- drawDot count 10, particle "smokelarge", XYZ 0.6, 0.6, 0.6, center victim, visibleRange 32, pulseDelay 2, keepFor 0.2 seconds
- if difference between {冷卻.%attacker%::絕殺刃} and now is less than 15 seconds:
- set damage to ({_PHYSICDMG}*(4.5+0.3*{技能.%attacker%::暗影突刺}+0.2*{技能.%attacker%::絕殺刃}) + {_武器攻擊力})/2 * {_number1} * 0.95
- stop
- else:
- set damage to ({_PHYSICDMG}*(4.5+0.3*{技能.%attacker%::暗影突刺}) + {_武器攻擊力})/2 * {_number1} * 0.95
- play "ENTITY_ENDERDRAGON_HURT" to attacker with volume 1 and pitch 0
- set {_暗影突判斷} to 1
- if {_暗影突判斷} is 0:
- set damage to ({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95
- set {_鬥者意志判斷} to 0
- if {技能.%attacker%::鬥魂纏身} is 10:
- set {_損失生命} to (attacker's max health - attacker's health)*10
- if {_損失生命} >= 50:
- set {_鬥者意志傷害倍率} to (1/20*{_損失生命})-1.5
- set damage to ({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95 * {_鬥者意志傷害倍率}
- if {_鬥者意志傷害倍率} >= 2:
- drawDot count 20, particle "crit", XYZ 0.6, 0.6, 0.6, center victim, visibleRange 32, pulseDelay 2, keepFor 0.2 seconds
- set {_鬥者意志判斷} to 1
- if {_鬥者意志判斷} is 0:
- set damage to ({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95
- if {玩家資料.%attacker%::爆擊率} is set:
- set {_幾率.%attacker%} to ({玩家資料.%attacker%::爆擊率} + 15) / 100
- Chance of {_幾率.%attacker%}:
- if difference between {冷卻.%attacker%::絕殺刃} and now is less than 15 seconds:
- set damage to ({_PHYSICDMG}*(4.5+0.3*{技能.%attacker%::暗影突刺}+0.2*{技能.%attacker%::絕殺刃}) + {_武器攻擊力})/2 * {_number1} * 0.95
- if {技能.%attacker%::鬥魂纏身} is set:
- set damage to ({_PHYSICDMG} + {_武器攻擊力})/2*( 1 + {_boom.damage} / 100) * {_number1} * 0.95 * {_鬥者意志傷害倍率}
- else:
- set {_omg} to 0.01 * {玩家資料.%attacker%::爆擊傷害} * damage
- set {_boom.damage} to {玩家資料.%attacker%::爆擊傷害}
- set damage to (({_PHYSICDMG} + {_武器攻擊力})/2)*( 1 + {_boom.damage} / 100) * {_number1} * 0.95
- set {_damagetcountforfood} to damage
- set {_damagetcountforfoodbonus} to round({_damagetcountforfood}*({料理.攻擊力::%attacker%}/100))
- add {_damagetcountforfoodbonus} to damage
- if {_連段} is 1:
- set {_STRATK} to {玩家資料.%attacker%::力量} * 0.5
- set {_DEXATK} to {玩家資料.%attacker%::敏捷} * 0.7
- set {_INTATK} to {玩家資料.%attacker%::智慧} * 0.6
- set {_LUKATK} to {玩家資料.%attacker%::幸運} * 0.4
- set {_PHYSICDMG} to {玩家資料.%attacker%::物理攻擊力}
- set {_MAGICDMG} to {玩家資料.%attacker%::魔法攻擊力}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 0:
- add ({_STRATK} + {_DEXATK} + {_LUKATK}) to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK}) to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 1:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.2 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.2 to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 2:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.4 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.4 to {_MAGICDMG}
- if {幾轉職業::%{玩家資料.%attacker%::玩家職業}%} is 3:
- add ({_STRATK} + {_DEXATK} + {_LUKATK})*1.8 to {_PHYSICDMG}
- add ({_INTATK} + {_LUKATK})*1.8 to {_MAGICDMG}
- if {BUFF.鬥氣爆發time::%attacker%} is set:
- add {玩家資料.%attacker%::物理攻擊力} to {_PHYSICDMG}
- add {玩家資料.%attacker%::防禦力} to {_PHYSICDMG}
- set {_number1} to PHY_DMG(victim)
- set damage to ({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95
- if {連段.%attacker%} is 1:
- set {連段.%attacker%} to 2
- set {_粒子效果} to block 1 up and 2 in front attacker
- set {_粒子效果} to location of {_粒子效果}
- drawDot count 20, particle "Crit", XYZ 0.6, 0.6, 0.6, center {_粒子效果}, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- play "ENTITY_PLAYER_ATTACK_CRIT" to attacker with volume 1 and pitch 1
- set {_範圍} to location of victim
- set {_距離} to distance between attacker and victim
- loop entities in radius 1.5 of {_範圍}:
- if loop-entity isn't a player or a dropped item:
- set {_距離2} to distance between attacker and loop-entity
- if {_距離2} > {_距離}:
- if loop-entity is not victim:
- add loop-entity to {_拳風::*}
- set {_拳風傷害} to (({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- set damage to (({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- if {玩家資料.%attacker%::爆擊率} is set:
- set {_幾率.%attacker%} to ({玩家資料.%attacker%::爆擊率} + 15) / 100
- Chance of {_幾率.%attacker%}:
- set {_omg} to 0.01 * {玩家資料.%attacker%::爆擊傷害} * damage
- set {_boom.damage} to {玩家資料.%attacker%::爆擊傷害}
- set damage to ((({_PHYSICDMG} + {_武器攻擊力})/2)*( 1 + {_boom.damage} / 100) * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- set {_拳風傷害} to ((({_PHYSICDMG} + {_武器攻擊力})/2)*( 1 + {_boom.damage} / 100) * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- play "ENTITY_ENDERDRAGON_HURT" to attacker with volume 1 and pitch 1
- stop
- make attacker damage {_拳風::*} by {_拳風傷害}
- wait 20 tick
- if {連段.%attacker%} is 2:
- set {連段.%attacker%} to 1
- stop
- else if {連段.%attacker%} is 2:
- set {連段.%attacker%} to 3
- set {_粒子效果} to block 1 up and 2 in front attacker
- set {_粒子效果} to location of {_粒子效果}
- drawDot count 20, particle "Crit", XYZ 0.6, 0.6, 0.6, center {_粒子效果}, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- play "ENTITY_PLAYER_ATTACK_CRIT" to attacker with volume 1 and pitch 1
- set {_範圍} to location of victim
- set {_距離} to distance between attacker and victim
- loop entities in radius 1.5 of {_範圍}:
- if loop-entity isn't a player or a dropped item:
- set {_距離2} to distance between attacker and loop-entity
- if {_距離2} > {_距離}:
- if loop-entity is not victim:
- add loop-entity to {_拳風::*}
- set {_拳風傷害} to (({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- set damage to (({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- if {玩家資料.%attacker%::爆擊率} is set:
- set {_幾率.%attacker%} to ({玩家資料.%attacker%::爆擊率} + 15) / 100
- Chance of {_幾率.%attacker%}:
- set {_omg} to 0.01 * {玩家資料.%attacker%::爆擊傷害} * damage
- set {_boom.damage} to {玩家資料.%attacker%::爆擊傷害}
- set damage to ((({_PHYSICDMG} + {_武器攻擊力})/2)*( 1 + {_boom.damage} / 100) * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- set {_拳風傷害} to ((({_PHYSICDMG} + {_武器攻擊力})/2)*( 1 + {_boom.damage} / 100) * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- play "ENTITY_ENDERDRAGON_HURT" to attacker with volume 1 and pitch 1
- stop
- make attacker damage {_拳風::*} by {_拳風傷害}
- wait 20 tick
- if {連段.%attacker%} is 3:
- set {連段.%attacker%} to 1
- stop
- else if {連段.%attacker%} is 3:
- if {技能.%attacker%::連擊} is set:
- set {連段.%attacker%} to 4
- else if {技能.%attacker%::連擊} is not set:
- set {連段.%attacker%} to 1
- set {_粒子效果} to block 1 up and 2 in front attacker
- set {_粒子效果} to location of {_粒子效果}
- drawDot count 20, particle "CritMagic", XYZ 0.6, 0.6, 0.6, center {_粒子效果}, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- play "ENTITY_PLAYER_ATTACK_KNOCKBACK" to attacker with volume 1 and pitch 1
- set {_範圍} to location of victim
- set {_距離} to distance between attacker and victim
- loop entities in radius 2 of {_範圍}:
- if loop-entity isn't a player or a dropped item:
- set {_距離2} to distance between attacker and loop-entity
- if {_距離2} > {_距離}:
- if loop-entity is not victim:
- add loop-entity to {_拳風::*}
- set {_拳風傷害} to (({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- set damage to (({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- if {玩家資料.%attacker%::爆擊率} is set:
- set {_幾率.%attacker%} to ({玩家資料.%attacker%::爆擊率} + 15) / 100
- Chance of {_幾率.%attacker%}:
- set {_omg} to 0.01 * {玩家資料.%attacker%::爆擊傷害} * damage
- set {_boom.damage} to {玩家資料.%attacker%::爆擊傷害}
- set damage to ((({_PHYSICDMG} + {_武器攻擊力})/2)*( 1 + {_boom.damage} / 100) * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- set {_拳風傷害} to ((({_PHYSICDMG} + {_武器攻擊力})/2)*( 1 + {_boom.damage} / 100) * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- play "ENTITY_ENDERDRAGON_HURT" to attacker with volume 1 and pitch 1
- stop
- make attacker damage {_拳風::*} by {_拳風傷害}
- push {_拳風::*} in horizontal direction of attacker at speed 1
- if {技能.%attacker%::連擊} is not set:
- stop
- wait 20 tick
- if {連段.%attacker%} is 4:
- set {連段.%attacker%} to 1
- stop
- else if {連段.%attacker%} is 4:
- set {連段.%attacker%} to 1
- set {_粒子效果} to block 1 up and 2 in front attacker
- set {_粒子效果} to location of {_粒子效果}
- drawDot count 3, particle "sweep", XYZ 0.6, 0.6, 0.6, center {_粒子效果}, visibleRange 32, pulseDelay 2, keepFor 0.1 seconds
- play "ENTITY_PLAYER_ATTACK_SWEEP" to attacker with volume 2 and pitch 1
- set {_範圍} to location of victim
- set {_距離} to distance between attacker and victim
- loop entities in radius 2.5 of {_範圍}:
- if loop-entity isn't a player or a dropped item:
- set {_距離2} to distance between attacker and loop-entity
- if {_距離2} > {_距離}:
- if loop-entity is not victim:
- add loop-entity to {_拳風::*}
- set {_拳風傷害} to (({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- set damage to (({_PHYSICDMG} + {_武器攻擊力})/2 * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- if {玩家資料.%attacker%::爆擊率} is set:
- set {_幾率.%attacker%} to ({玩家資料.%attacker%::爆擊率} + 15) / 100
- Chance of {_幾率.%attacker%}:
- set {_omg} to 0.01 * {玩家資料.%attacker%::爆擊傷害} * damage
- set {_boom.damage} to {玩家資料.%attacker%::爆擊傷害}
- set damage to ((({_PHYSICDMG} + {_武器攻擊力})/2)*( 1 + {_boom.damage} / 100) * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- set {_拳風傷害} to ((({_PHYSICDMG} + {_武器攻擊力})/2)*( 1 + {_boom.damage} / 100) * {_number1} * 0.95)*(1+{技能.%attacker%::連擊}*0.03)
- play "ENTITY_ENDERDRAGON_HURT" to attacker with volume 1 and pitch 1
- stop
- make attacker damage {_拳風::*} by {_拳風傷害}
- apply slowness 2 to victim for 3 second
- apply slowness 2 to {_拳風::*} for 3 second
- apply speed 2 to attacker for 3 second
- stop
- stop
- on death:
- remove all 1 xp from drops
- command /stat [<player>] [<text>] [<number>]:
- permission: op.oao
- trigger:
- if arg-1 isn't set:
- send "&c違法操作"
- stop trigger
- set {_arg=1} to player
- if arg-1 is set:
- set {_arg=1} to arg-1
- if {玩家資料.%{_arg=1}%::*} is set:
- if arg-3 is set:
- if arg-2 is "power":
- set {_w.%arg-3%} to arg-3
- if {玩家資料.%{_arg=1}%::剩餘屬性點} is more than or equal to {_w.%arg-3%}:
- add arg-3 to {玩家資料.%{_arg=1}%::力量}
- set {_w.%arg-3%} to {_w.%arg-3%} * -1
- add {_w.%arg-3%} to {玩家資料.%{_arg=1}%::剩餘屬性點}
- stop trigger
- if arg-2 is "speed":
- set {_w.%arg-3%} to arg-3
- if {玩家資料.%{_arg=1}%::剩餘屬性點} is more than or equal to {_w.%arg-3%}:
- add arg-3 to {玩家資料.%{_arg=1}%::敏捷}
- set {_w.%arg-3%} to {_w.%arg-3%} * -1
- add {_w.%arg-3%} to {玩家資料.%{_arg=1}%::剩餘屬性點}
- stop trigger
- if arg-2 is "clever":
- set {_w.%arg-3%} to arg-3
- if {玩家資料.%{_arg=1}%::剩餘屬性點} is more than or equal to {_w.%arg-3%}:
- add arg-3 to {玩家資料.%{_arg=1}%::智慧}
- set {_w.%arg-3%} to {_w.%arg-3%} * -1
- add {_w.%arg-3%} to {玩家資料.%{_arg=1}%::剩餘屬性點}
- stop trigger
- if arg-2 is "lucky":
- set {_w.%arg-3%} to arg-3
- if {玩家資料.%{_arg=1}%::剩餘屬性點} is more than or equal to {_w.%arg-3%}:
- add arg-3 to {玩家資料.%{_arg=1}%::幸運}
- set {_w.%arg-3%} to {_w.%arg-3%} * -1
- add {_w.%arg-3%} to {玩家資料.%{_arg=1}%::剩餘屬性點}
- stop trigger
- send "&c屬性點不足" to player-arg
- function LoadAP(P:player):
- if {幾轉職業::%{玩家資料.%{_p}%::玩家職業}%} is 0:
- set {_hpcheck} to 1
- set {_dmgcheck} to 1
- if {幾轉職業::%{玩家資料.%{_p}%::玩家職業}%} is 1:
- set {_hpcheck} to 1.25
- set {_dmgcheck} to 1.25
- if {幾轉職業::%{玩家資料.%{_p}%::玩家職業}%} is 2:
- set {_hpcheck} to 1.5
- set {_dmgcheck} to 1.5
- if {幾轉職業::%{玩家資料.%{_p}%::玩家職業}%} is 3:
- set {_hpcheck} to 2
- set {_dmgcheck} to 2
- set slot 10 of {_p}'s current inventory to diamond sword named "&6《增加力量屬性》" with lore "&e┌----------&e&l●&e----------┐||&f目前力量 &e[ &6%{玩家資料.%{_p}%::力量}% &e]||&f左鍵增加 &c1 &f點||&f右鍵增加 &c10 &f點||&e-----------&e&l●&e-----------||&f目前血量提升量 &e[ &6%{玩家資料.%{_p}%::力量}*5*{_hpcheck}% &e]||&f目前物理攻擊力提升量 &e[ &6%{玩家資料.%{_p}%::力量}*0.5*{_dmgcheck}% &e]||&f每點增加&c %5*{_hpcheck}% &f點血量與&c %0.5*{_dmgcheck}% &f點物理攻擊力||&e└----------&e&l●&e----------┘"
- set slot 14 of {_p}'s current inventory to enchanted book named "&b《增加智慧屬性》" with lore "&e┌----------&e&l●&e----------┐||&f目前智慧 &e[ &b%{玩家資料.%{_p}%::智慧}% &e]||&f左鍵增加 &c1 &f點||&f右鍵增加 &c10 &f點||&e-----------&e&l●&e-----------||&f目前血量提升量 &e[ &b%{玩家資料.%{_p}%::智慧}*4*{_hpcheck}% &e]||&f目前魔法攻擊力提升量 &e[ &b%{玩家資料.%{_p}%::智慧}*0.6*{_dmgcheck}% &e]||&f每點增加&c %4*{_hpcheck}% &f點血量與&c %0.6*{_dmgcheck}% &f點魔法攻擊力||&e└----------&e&l●&e----------┘"
- set slot 12 of {_p}'s current inventory to golden boots named "&a《增加敏捷屬性》" with lore "&e┌----------&e&l●&e----------┐||&f目前敏捷 &e[ &a%{玩家資料.%{_p}%::敏捷}% &e]||&f左鍵增加 &c1 &f點||&f右鍵增加 &c10 &f點||&e-----------&e&l●&e-----------||&f目前血量提升量 &e[ &a%{玩家資料.%{_p}%::敏捷}*3*{_hpcheck}% &e]||&f目前物理攻擊力提升量 &e[ &a%{玩家資料.%{_p}%::敏捷}*0.7*{_dmgcheck}% &e]||&f每點增加&c %3*{_hpcheck}% &f點血量與&c %0.7*{_dmgcheck}% &f點物理攻擊力||&e└----------&e&l●&e----------┘"
- set slot 16 of {_p}'s current inventory to lily pads named "&2《增加幸運屬性》" with lore "&e┌----------&e&l●&e----------┐||&f目前幸運 &e[ &2%{玩家資料.%{_p}%::幸運}% &e]||&f左鍵增加 &c1 &f點||&f右鍵增加 &c10 &f點||&e-----------&e&l●&e-----------||&f目前血量提升量 &e[ &2%{玩家資料.%{_p}%::幸運}*2*{_hpcheck}% &e]||&f目前物理攻擊力提升量 &e[ &2%{玩家資料.%{_p}%::幸運}*0.4*{_dmgcheck}% &e]||||&f目前爆擊率提升量 &e[ &2%{玩家資料.%{_p}%::幸運}*0.05%%% &e]||&f每點增加&c %2*{_hpcheck}% &f點血量,&c 0.05%%&f爆擊率與&c %0.4*{_dmgcheck}% &f點物理/魔法攻擊力||&e└----------&e&l●&e----------┘"
- command /stats:
- trigger:
- open chest with 3 row named "&9&l 文靜之潭&6&l配點介面" to player
- if inventory name of player's current inventory contains "配點介面":
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 0:
- set {_hpcheck} to 1
- set {_dmgcheck} to 1
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 1:
- set {_hpcheck} to 1.25
- set {_dmgcheck} to 1.25
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 2:
- set {_hpcheck} to 1.5
- set {_dmgcheck} to 1.5
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 3:
- set {_hpcheck} to 2
- set {_dmgcheck} to 2
- loop 9 times:
- set slot (loop-number - 1) of player's current inventory to 1 of black stained glass pane named "&7"
- loop 5 times:
- set slot (9 + (loop-number - 1) * 2) of player's current inventory to 1 of black stained glass pane named "&7"
- set slot (18 + (loop-number - 1) * 2) of player's current inventory to 1 of black stained glass pane named "&7"
- set slot 10 of player's current inventory to diamond sword named "&6《增加力量屬性》" with lore "&e┌----------&e&l●&e----------┐||&f目前力量 &e[ &6%{玩家資料.%player%::力量}% &e]||&f左鍵增加 &c1 &f點||&f右鍵增加 &c10 &f點||&e-----------&e&l●&e-----------||&f目前血量提升量 &e[ &6%{玩家資料.%player%::力量}*5*{_hpcheck}% &e]||&f目前物理攻擊力提升量 &e[ &6%{玩家資料.%player%::力量}*0.5*{_dmgcheck}% &e]||&f每點增加&c %5*{_hpcheck}% &f點血量與&c %0.5*{_dmgcheck}% &f點物理攻擊力||&e└----------&e&l●&e----------┘"
- set slot 14 of player's current inventory to enchanted book named "&b《增加智慧屬性》" with lore "&e┌----------&e&l●&e----------┐||&f目前智慧 &e[ &b%{玩家資料.%player%::智慧}% &e]||&f左鍵增加 &c1 &f點||&f右鍵增加 &c10 &f點||&e-----------&e&l●&e-----------||&f目前血量提升量 &e[ &b%{玩家資料.%player%::智慧}*4*{_hpcheck}% &e]||&f目前魔法攻擊力提升量 &e[ &b%{玩家資料.%player%::智慧}*0.6*{_dmgcheck}% &e]||&f每點增加&c %4*{_hpcheck}% &f點血量與&c %0.6*{_dmgcheck}% &f點魔法攻擊力||&e└----------&e&l●&e----------┘"
- set slot 12 of player's current inventory to golden boots named "&a《增加敏捷屬性》" with lore "&e┌----------&e&l●&e----------┐||&f目前敏捷 &e[ &a%{玩家資料.%player%::敏捷}% &e]||&f左鍵增加 &c1 &f點||&f右鍵增加 &c10 &f點||&e-----------&e&l●&e-----------||&f目前血量提升量 &e[ &a%{玩家資料.%player%::敏捷}*3*{_hpcheck}% &e]||&f目前物理攻擊力提升量 &e[ &a%{玩家資料.%player%::敏捷}*0.7*{_dmgcheck}% &e]||&f每點增加&c %3*{_hpcheck}% &f點血量與&c %0.7*{_dmgcheck}% &f點物理攻擊力||&e└----------&e&l●&e----------┘"
- set slot 16 of player's current inventory to lily pads named "&2《增加幸運屬性》" with lore "&e┌----------&e&l●&e----------┐||&f目前幸運 &e[ &2%{玩家資料.%player%::幸運}% &e]||&f左鍵增加 &c1 &f點||&f右鍵增加 &c10 &f點||&e-----------&e&l●&e-----------||&f目前血量提升量 &e[ &2%{玩家資料.%player%::幸運}*2*{_hpcheck}% &e]||&f目前物理攻擊力提升量 &e[ &2%{玩家資料.%player%::幸運}*0.4*{_dmgcheck}% &e]||||&f目前爆擊率提升量 &e[ &2%{玩家資料.%player%::幸運}*0.05%%% &e]||&f每點增加&c %2*{_hpcheck}% &f點血量,&c %0.05*{_hpcheck}%%%&f爆擊率與&c %0.4*{_dmgcheck}% &f點物理/魔法攻擊力||&e└----------&e&l●&e----------┘"
- set slot 19 of player's current inventory to 1 of red stained glass pane named "&7"
- set slot 21 of player's current inventory to 1 of light green stained glass pane named "&7"
- set slot 23 of player's current inventory to 1 of light blue stained glass pane named "&7"
- set slot 25 of player's current inventory to 1 of yellow stained glass pane named "&7"
- on inventory click:
- if inventory name of player's current inventory contains "配點介面":
- cancel event
- if name of clicked item contains "力量" or "智慧" or "敏捷" or "幸運":
- if clicked type is left mouse button:
- if name of clicked item contains "力量":
- execute console command "stat %player% power 1"
- if name of clicked item contains "敏捷":
- execute console command "stat %player% speed 1"
- if name of clicked item contains "智慧":
- execute console command "stat %player% clever 1"
- if name of clicked item contains "幸運":
- execute console command "stat %player% lucky 1"
- if clicked type is right mouse button:
- if name of clicked item contains "力量":
- execute console command "stat %player% power 10"
- if name of clicked item contains "敏捷":
- execute console command "stat %player% speed 10"
- if name of clicked item contains "智慧":
- execute console command "stat %player% clever 10"
- if name of clicked item contains "幸運":
- execute console command "stat %player% lucky 10"
- wait 1 ticks
- LoadAP(player)
- on rightclick:
- if name of player's held item contains "屬性重置卷":
- set {_amount} to amount of player's held item
- set amount of player's held item to {_amount}-1
- set "力量" to "4" in yaml file "plugins/players/%player%.yml"
- set "智慧" to "4" in yaml file "plugins/players/%player%.yml"
- set "敏捷" to "4" in yaml file "plugins/players/%player%.yml"
- set "幸運" to "4" in yaml file "plugins/players/%player%.yml"
- set {玩家資料.%player%::力量} to 4
- set {玩家資料.%player%::智慧} to 4
- set {玩家資料.%player%::敏捷} to 4
- set {玩家資料.%player%::幸運} to 4
- set {_屬性點} to ({玩家資料.%player%::玩家等級}-1)*5
- set "剩餘屬性點" to "%{_屬性點}%" in yaml file "plugins/players/%player%.yml"
- set {玩家資料.%player%::剩餘屬性點} to {_屬性點}
- stop
- every 1 minutes:
- loop {玩家資料::*}:
- if {玩家資料.%loop-index%::高級會員時間} is set:
- remove 1 from {玩家資料.%loop-index%::高級會員時間}
- if {玩家資料.%loop-index%::高級會員時間} is smaller than or equal to 0:
- delete {玩家資料.%loop-index%::高級會員}
- delete {玩家資料.%loop-index%::高級會員時間}
- set {_高級會員} to loop-index parsed as player
- send "特權會員已過期。" to {_高級會員}
- command /vip [<text>] [<number>] [<text>]:
- permission: op.oao
- trigger:
- if {玩家資料.%arg-1%::玩家等級} is set:
- if {玩家資料.%arg-1%::高級會員} is set:
- delete {玩家資料.%arg-1%::高級會員}
- send "特權會員已過期。" to arg-1 parsed as player
- send "已關閉該玩家特權會員。"
- stop
- if arg-2 is set:
- if arg-3 isn't set:
- set {玩家資料.%arg-1%::高級會員時間} to 60 * arg-2
- else if arg-3 is "小時":
- set {玩家資料.%arg-1%::高級會員時間} to 60 * arg-2
- else if arg-3 is "分鐘":
- set {玩家資料.%arg-1%::高級會員時間} to arg-2
- else if arg-3 contains "天":
- set {玩家資料.%arg-1%::高級會員時間} to 60 * arg-2 * 24
- set {_內容} to floor({玩家資料.%arg-1%::高級會員時間} / 60)
- if {_內容} is equal to 0:
- set {_內容} to "%{玩家資料.%arg-1%::高級會員時間}%分鐘"
- else if {_內容} is more than or equal to 1:
- set {_內容} to "%floor({玩家資料.%arg-1%::高級會員時間} / 60)%小時"
- else:
- set {_內容} to "%floor({玩家資料.%arg-1%::高級會員時間} / 60 / 24)%天"
- send "特權會員已開啟。%{_內容}%" to arg-1 parsed as player
- else:
- send "永久特權會員已開啟。" to arg-1 parsed as player
- set {玩家資料.%arg-1%::高級會員} to now
- send "已開啟該玩家特權會員。"
- stop
- send "該玩家不存在"
- on any movement:
- if {玩家資料.%player%::遊戲模式} is "非打怪":
- stop
- set player's walk speed to 0.2 * ({玩家資料.%player%::移動速度}+{技能加速.%player%})/100
- if {幾轉職業::%{玩家資料.%player%::玩家職業}%} is 3:
- set {_幾轉} to {@玩家等級限制}
- if {玩家資料.%player%::玩家等級} is more than or equal to {_幾轉}:
- if {玩家資料.%player%::目前經驗值} is more than {玩家資料.%player%::最大經驗值}:
- set {玩家資料.%player%::目前經驗值} to {玩家資料.%player%::最大經驗值}
- stop
- if {玩家資料.%player%::目前經驗值} is more than {玩家資料.%player%::最大經驗值}:
- if {玩家資料.%player%::玩家等級} is more than or equal to 1:
- set {_clv} to 1.6
- if {玩家資料.%player%::玩家等級} is more than or equal to 10:
- set {_clv} to 1.4
- if {玩家資料.%player%::玩家等級} is more than or equal to 15:
- set {_clv} to 1.2
- if {玩家資料.%player%::玩家等級} is more than or equal to 31:
- set {_clv} to 1.1
- if {玩家資料.%player%::玩家等級} is more than or equal to 52:
- set {_clv} to 1.05
- if {玩家資料.%player%::玩家等級} is more than or equal to 100:
- set {_clv} to 1.2
- if player isn't op:
- if {玩家資料.%player%::玩家等級} is 99:
- send all players title "&6[ &e>> &e&l全服廣播祝賀 &e<< &6]" with subtitle "&f玩家 &6&l%player% &f已達到等級 &6&l100 &f等" for 8 seconds
- if {玩家資料.%player%::玩家等級} is 119:
- send all players title "&6[ &e>> &e&l全服廣播祝賀 &e<< &6]" with subtitle "&f玩家 &6&l%player% &f已達到等級 &a&l120 &f等" for 8 seconds
- set {玩家資料.%player%::目前經驗值} to round( {玩家資料.%player%::目前經驗值} ) - {玩家資料.%player%::最大經驗值}
- set {玩家資料.%player%::最大經驗值} to round( {_clv} * ({玩家資料.%player%::最大經驗值}))
- if {玩家資料.%player%::目前經驗值} is smaller than 0:
- set {玩家資料.%player%::目前經驗值} to 0
- if {玩家資料.%player%::玩家等級} is more than {_幾轉}:
- if {玩家資料.%player%::目前經驗值} is more than {玩家資料.%player%::最大經驗值}:
- set {玩家資料.%player%::目前經驗值} to {玩家資料.%player%::最大經驗值}
- stop
- if {玩家資料.%player%::目前經驗值} is {玩家資料.%player%::最大經驗值}:
- stop
- set {玩家資料.%player%::玩家等級} to {玩家資料.%player%::玩家等級} + 1
- if {玩家資料.%player%::玩家等級} is more than 100:
- set {玩家資料.%player%::剩餘屬性點} to {玩家資料.%player%::剩餘屬性點} + 10
- else:
- set {玩家資料.%player%::剩餘屬性點} to {玩家資料.%player%::剩餘屬性點} + 5
- set {玩家資料.%player%::剩餘技能點} to {玩家資料.%player%::剩餘技能點} + 1
- if {玩家資料.%player%::目前經驗值} is smaller than {玩家資料.%player%::最大經驗值}:
- execute player command "show等級提升showupA5R8GD6VH4TR"
- send "&6等級 >> &e您的等級提升至 &6&l%{玩家資料.%player%::玩家等級}% 等 &e了!"
- on damage:
- attacker is a player
- if world of attacker is "miniwar":
- if victim is player:
- stop
- set victim's damage delay to 0 second
- command /debugmp:
- trigger:
- send "%{玩家資料.%player%::魔力值}%" to player
- send "%{玩家魔力值.%player%}%" to player
- on quit:
- delete {玩家魔力值.%player%}
- command /spelltest:
- trigger:
- if {玩家魔力值.%player%} is larger or equal to 20:
- send "&cBANG!" to player
- remove 20 from {玩家魔力值.%player%}
- set {_math} to 0.99 * {玩家魔力值.%player%} / {玩家資料.%player%::魔力值}
- if {_math} is more than or equal to 1:
- set {_math} to 0.99
- set level progress of the player to {_math}
- set player's level to {玩家魔力值.%player%}
- else:
- send "&4魔力不足!" to player
- stop
- on command:
- command is "show等級提升showupA5R8GD6VH4TR"
- cancel event
- send player title "&6[ &e>> &e&l恭喜 &e<< &6]" with subtitle "&f您的等級已提升至 &6&l%{玩家資料.%player%::玩家等級}% &f等!" for 4 seconds
- drawWings style 11, particle1 "totem", speed 0, XYZ 0, 0, 0, particle2 "lava", particle3 "fireworkspark", center player, id "%player%show", rainbowMode false, flapSpeed 1, flapRange 1, angle 120, height 3, space 0.4, visibleRange 30, tps 0, second 1
- set {_loop.%player%} to a random integer between 10 and 14
- loop {_loop.%player%} times:
- wait 2 tick
- add 1 to {_notesound.%player%}
- if {_notesound.%player%} > 3:
- set {_notesound.%player%} to 1
- if {_notesound.%player%} = 1:
- play "ENTITY_PLAYER_LEVELUP" to player with volume 1 and pitch 2
- if {_notesound.%player%} = 2:
- play "ENTITY_PLAYER_LEVELUP" to player with volume 1 and pitch 1
- if {_notesound.%player%} = 3:
- play "ENTITY_PLAYER_LEVELUP" to player with volume 1 and pitch 0
- wait 1.5 seconds
- stopeffect id "%player%show"
- wait 2 seconds
- if {玩家資料.%player%::玩家等級} is equal to 10:
- send player title "&6[ &e>> &6&l可進行一轉轉職任務 &e<< &6]" with subtitle "&f是時候提升你的實力了!請在霍斯威茲堡附近尋找教官NPC進行轉職任務!" for 4 seconds
- wait 6 seconds
- send player title "&6[ &e>> &6&l您有一個禮物可領取 &e<< &6]" with subtitle "&f請輸入/levelgift 10領取伺服器準備的小禮物!" for 4 seconds
- if {玩家資料.%player%::玩家等級} is equal to 30:
- send player title "&6[ &e>> &6&l可進行二轉轉職任務 &e<< &6]" with subtitle "&f是時候突破你的實力了!請在文靜大陸上尋找教官NPC進行轉職任務!" for 4 seconds
- wait 6 seconds
- send player title "&6[ &e>> &6&l您有一個禮物可領取 &e<< &6]" with subtitle "&f請輸入/levelgift 30領取伺服器準備的小禮物!" for 4 seconds
- if {玩家資料.%player%::玩家等級} is equal to 60:
- send player title "&6[ &e>> &6&l可進行三轉轉職任務 &e<< &6]" with subtitle "&f是時候激發你的實力了!請在文靜大陸上尋找教官NPC進行轉職任務!" for 4 seconds
- broadcast "&6祝賀 >> &e恭喜玩家 &c%player% &e達到 &c60 &e等!"
- on damage:
- if attacker is victim:
- cancel event
- stop
- #請看死亡復活
- command /lv [<text>]:
- trigger:
- set {_player} to player
- if arg-1 is set:
- set {_pass} to 0
- set {_player} to arg-1 parsed as offlineplayer
- if {_player} is online:
- set {_pass} to 1
- if file existance of "plugins/players/%arg-1%.yml" is false:
- set {_player} to player
- else:
- if {_pass} is 0:
- clear {_玩家資料.%{_player}%::*}
- set {_玩家資料.%{_player}%::玩家等級} to single value "玩家等級" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::目前經驗值} to single value "目前經驗值" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::最大經驗值} to single value "最大經驗值" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::剩餘屬性點} to single value "剩餘屬性點" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::剩餘技能點} to single value "剩餘技能點" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::力量} to single value "力量" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::智慧} to single value "智慧" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::敏捷} to single value "敏捷" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::幸運} to single value "幸運" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::最大血量} to single value "最大血量" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::魔力值} to single value "魔力值" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::防禦力} to single value "防禦力" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::物理攻擊力} to single value "物理攻擊力" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::魔法攻擊力} to single value "魔法攻擊力" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::血量恢復量} to single value "血量恢復量" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::魔量恢復量} to single value "魔量恢復量" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::爆擊率} to single value "爆擊率" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::爆擊傷害} to single value "爆擊傷害" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::無視防禦} to single value "無視防禦" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::總傷害} to single value "總傷害" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::移動速度} to single value "移動速度" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::跳躍力} to single value "跳躍力" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::血量吸收量} to single value "血量吸收量" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::魔量吸收量} to single value "魔量吸收量" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::經驗卷倍率} to single value "經驗卷倍率" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::經驗卷時間} to single value "經驗卷時間" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::高級會員時間} to single value "高級會員時間" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::伴侶} to single value "伴侶" get of "plugins/players/%{_player}%.yml"
- loop {_玩家資料.%{_player}%::*}:
- set {_pass} to 0
- if loop-index is "高級會員時間":
- if loop-value is "永久":
- set {_pass} to 1
- if {_pass} is 0:
- set {_玩家資料.%{_player}%::%loop-index%} to {_玩家資料.%{_player}%::%loop-index%} parsed as integer
- set {_玩家資料.%{_player}%::玩家職業} to single value "玩家職業" get of "plugins/players/%{_player}%.yml"
- set {_玩家資料.%{_player}%::高級會員} to single value "高級會員" get of "plugins/players/%{_player}%.yml"
- if {_玩家資料.%{_player}%::高級會員} isn't "無":
- set {_高級會員} to "&c&lV&e&lI&9&lP"
- if {_玩家資料.%{_player}%::高級會員時間} isn't "永久":
- set {_GG} to floor({_玩家資料.%{_player}%::高級會員時間} / 60)
- if {_GG} is equal to 0:
- set {_GG} to "(%{_玩家資料.%{_player}%::高級會員時間}%分鐘)"
- else if {_GG} is more than or equal to 1:
- set {_GG} to "(%floor({_玩家資料.%{_player}%::高級會員時間} / 60)%小時)"
- else:
- set {_GG} to "(%floor({_玩家資料.%{_player}%::高級會員時間} / 60 / 24)%天)"
- else:
- set {_GG} to "(永久)"
- else:
- set {_高級會員} to "&f無"
- set {_GG} to ""
- send "&6●=--------=《&c&l%{_player}% &4角色資料&6》=--------=●"
- send "&e名稱: &9%{_player}% &e高級會員: &9%{_GG}%%{_高級會員}%"
- send "&e職業: &b%{_玩家資料.%{_player}%::玩家職業}% &e配偶: &d%{_玩家資料.%{_player}%::伴侶}%"
- send "&e等級: &6%{_玩家資料.%{_player}%::玩家等級}% &8&3(&a%round({_玩家資料.%{_player}%::目前經驗值})%&3/&a%{_玩家資料.%{_player}%::最大經驗值}%&3)"
- set {_check} to {_玩家資料.%{_player}%::最大血量}
- add ({_玩家資料.%{_player}%::力量} * 5) to {_check}
- add ({_玩家資料.%{_player}%::智慧} * 3) to {_check}
- add ({_玩家資料.%{_player}%::敏捷} * 4) to {_check}
- add ({_玩家資料.%{_player}%::幸運} * 3) to {_check}
- send "&e生命值: &c%{_check}% &e魔力值: &6%{_玩家資料.%{_player}%::魔力值}%"
- send "&e力量: &f[ &6%{_玩家資料.%{_player}%::力量}% &f] &e智慧: &f[ &b%{_玩家資料.%{_player}%::智慧}% &f] "
- send "&e敏捷: &f[ &a%{_玩家資料.%{_player}%::敏捷}% &f] &e幸運: &f[ &2%{_玩家資料.%{_player}%::幸運}% &f] "
- send "&6●=--------=&c----------------------------&6=--------=●"
- send "&e防禦力: &6%{_玩家資料.%{_player}%::防禦力}% "
- set {_STRATK} to {_玩家資料.%{_player}%::力量} * 0.5
- set {_DEXATK} to {_玩家資料.%{_player}%::敏捷} * 0.6
- set {_INTATK} to {_玩家資料.%{_player}%::智慧} * 0.6
- set {_LUKATK} to {_玩家資料.%{_player}%::幸運} * 0.7
- set {_PHYSICDMG} to {_玩家資料.%{_player}%::物理攻擊力}
- set {_MAGICDMG} to {_玩家資料.%{_player}%::魔法攻擊力}
- add {_STRATK} + {_DEXATK} + {_LUKATK} to {_PHYSICDMG}
- add {_INTATK} to {_MAGICDMG}
- send "&e物理攻擊力: &c%{_PHYSICDMG}% &e魔法攻擊力: &b%{_MAGICDMG}% "
- send "&e血量恢復量: &c%{_玩家資料.%{_player}%::血量恢復量}% &e魔量恢復量: &b%{_玩家資料.%{_player}%::魔量恢復量}%"
- send "&e血量吸收量: &c%{_玩家資料.%{_player}%::血量吸收量}% &e魔量吸收量: &b%{_玩家資料.%{_player}%::魔量吸收量}% "
- send "&e爆擊率: &2%{_玩家資料.%{_player}%::爆擊率}%%% &e爆擊傷害: &2%{_玩家資料.%{_player}%::爆擊傷害}%%% "
- send "&e無視防禦: &5%{_玩家資料.%{_player}%::無視防禦}%%% &e總傷害: &5%{_玩家資料.%{_player}%::總傷害}%%% "
- send "&e移動速度: &a%{_玩家資料.%{_player}%::移動速度}%%% &e跳躍力: &a%{_玩家資料.%{_player}%::跳躍力}%%% "
- send "&6●=--------=&c----------------------------&6=--------=●"
- stop
- if {玩家資料.%{_player}%::高級會員} isn't "無":
- set {_高級會員} to "&c&lV&e&lI&9&lP"
- if {玩家資料.%{_player}%::高級會員時間} isn't "永久":
- set {_GG} to floor({玩家資料.%{_player}%::高級會員時間} / 60)
- if {_GG} is equal to 0:
- set {_GG} to "(%{玩家資料.%{_player}%::高級會員時間}%分鐘)"
- else if {_GG} is more than or equal to 1:
- set {_GG} to "(%floor({玩家資料.%{_player}%::高級會員時間} / 60)%小時)"
- else:
- set {_GG} to "(%floor({玩家資料.%{_player}%::高級會員時間} / 60 / 24)%天)"
- else:
- set {_GG} to "(永久)"
- else:
- set {_高級會員} to "&f無"
- set {_GG} to ""
- send "&6●=--------=《&c&l%{_player}% &4角色資料&6》=--------=●"
- send "&e名稱: &9%{_player}% &e高級會員: &9%{_GG}%%{_高級會員}%"
- send "&e職業: &b%{玩家資料.%{_player}%::玩家職業}% &e配偶: &d%{玩家資料.%{_player}%::伴侶}%"
- send "&e等級: &6%{玩家資料.%{_player}%::玩家等級}% &8&3(&a%round({玩家資料.%{_player}%::目前經驗值})%&3/&a%{玩家資料.%{_player}%::最大經驗值}%&3)"
- 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}
- send "&e生命值: &c%round({_check})% &e魔力值: &6%{玩家資料.%{_player}%::魔力值}%"
- send "&e力量: &f[ &6%{玩家資料.%{_player}%::力量}% &f] &e智慧: &f[ &b%{玩家資料.%{_player}%::智慧}% &f] "
- send "&e敏捷: &f[ &a%{玩家資料.%{_player}%::敏捷}% &f] &e幸運: &f[ &2%{玩家資料.%{_player}%::幸運}% &f] "
- if {_player} is executor:
- send "&e剩餘屬性點: &f%{玩家資料.%{_player}%::剩餘屬性點}%"
- send "&e剩餘技能點: &f%{玩家資料.%{_player}%::剩餘技能點}%"
- send "&6●=--------=&c----------------------------&6=--------=●"
- send "&e防禦力: &6%{玩家資料.%{_player}%::防禦力}% "
- 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}%::魔法攻擊力}
- set {_CRIT} 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}
- add round({玩家資料.%{_player}%::幸運}/20) to {_CRIT}
- send "&e物理攻擊力: &c%round({_PHYSICDMG})% &e魔法攻擊力: &b%round({_MAGICDMG})% "
- send "&e血量恢復量: &c%{玩家資料.%{_player}%::血量恢復量}% &e魔量恢復量: &b%{玩家資料.%{_player}%::魔量恢復量}%"
- send "&e血量吸收量: &c%{玩家資料.%{_player}%::血量吸收量}% &e魔量吸收量: &b%{玩家資料.%{_player}%::魔量吸收量}%"
- send "&e爆擊率: &6%{_CRIT}%&6%% &e爆擊傷害: &6%{玩家資料.%{_player}%::爆擊傷害}%&6%%"
- send "&e無視防禦: &d%{玩家資料.%{_player}%::無視防禦}%&d%% &e總傷害: &d%{玩家資料.%{_player}%::總傷害}%&d%%"
- send "&e移動速度: &a%{玩家資料.%{_player}%::移動速度}%&a%% &e跳躍力: &a%{玩家資料.%{_player}%::跳躍力}%&a%%"
- send "&6●=--------=&c----------------------------&6=--------=●"
Advertisement
Add Comment
Please, Sign In to add comment