創作內容

2 GP

【MapleLog】SkillAPI 創造技能與職業的超強RPG插件~~

作者:請嘗試閉嘴好嗎│2018-03-09 21:51:24│巴幣:4│人氣:8076
第一次介紹可能有錯字或解釋錯誤、排版怪怪、版規問題請告訴我,我會盡快修正
------------------------------------------------------------------------
插件名稱:  SkillAPI
插件原文:  免費版 付費版 (免費版就很強大了)
插件版本:  免費版 1.7~1.11 付費版 1.7~1.12
插件前置:  MCCore
請先按右上角的打開圖片
Wynncraft的伺服就是用此插件做的~

-----------------------------------------------------------------------
內部配置:

-----------------------------------------------------------------------
介紹:
dynamic: 職業、技能的存放位置
img: 都是圖片(似乎是地圖上會顯示的東西)
players: 玩家資料存取
attributes: 能力值設定(此文件要在config設定後會出現)
commands: 指令設定
config: 重要設定
groups:  職業群組設定
language: 語言檔(改成中文可使用UTF-8<檔首無BOM>)
schemes: 地圖設置,如字體(不會用....)
-----------------------------------------------------------------------
config設定:(盡量解釋.....)
此config是我設定過後的並非預設

Accounts:
  main-class-group: 'class'   
  one-per-class: 'false'      <-----插件目前禁用,就忽略吧
  max-accounts: '3'      <-----最多帳號限制
  perm-accounts:
  - 'skillapi.account.admin:10'     <-----擁有此權限的人最大可有10個帳號

Targeting:
  monsters-enemy: 'false'   <-----把所有怪物視作敵人(裝MYpet之類的就別開)
  passive-ally: 'false'    <-----把不主動打你的怪物視作盟友(EX:殭屍豬)
  player-ally: 'false'   <-----把玩家視作盟友

Saving:    
  auto-save: 'false'    <-----是否自動儲存
  minutes: '30'      <-----每儲存時間
  sql-database: 'false'   <-----不清楚沒碰過SQL

  sql-details:
    host: 'localhost'
    port: '54321'
    database: 'plugins'
    username: 'username'
    password: 'password'

Classes:

  modify-health: 'true'
  classless-hp: '20'    <-----一般人初始血量
  show-auto-skills: 'true'
  attributes-enabled: 'true'   <-----是否要開啟屬性點系統?(打true會生成attributes文件)
  attributes-downgrade: 'false'    <-----是否可返回屬性點(遊戲中右鍵圖示返回)

  level-up-skill: 'lvlup'     <-----升級會觸發技能

Mana:
  enabled: 'true'     <-----是否開啟魔力
  freq: '3'    <-----每次回復魔力要花幾秒

Skills:
  allow-downgrade: 'true'     <-----是否可返回技能點(遊戲中右鍵圖示返回)
  show-messages: 'true'     <-----發動技能是否會顯示消息
  message-radius: '20'     <-----顯示消息範圍
  knockback-no-damage: 'false'     <-----應該是類似雪球之類的被打到會不會擊退
  block-filter:     <-----使用技能觸發改變地貌會忽略的東東,打*是包含該值的東西
  - 'chest'
  - 'ender chest'
  - 'trapped chest'
  - 'redstone*'
  - 'wall sign'
  - 'sign post'

Items:    <-----使用某些東西時是否會檢查物品內容
  lore-requirements: 'true'
  skill-requirements: 'false'     <-----是否開啟需要特定技能要求
  lore-attributes: 'false'     <-----是否開啟能力值要求
  drop-weapon: 'false'    <-----是否不符合內容的物品將其丟在地上(好噁心的設定)
  lore-class-text: 'Class Req: '    <-----這是限制職業要求(照此設定代表說此物品內容打上
                                                               Class Req: 雙刀手 就只能讓職業是雙刀手的人才能使
                                                                     用
  lore-skill-text: 'Requires {skill}: '    <-----這是限制技能要求(照此設定代表說此物品內容打
                                                                   上 Requires: 西瓜榴槤擊 就只能讓擁有西瓜榴槤擊
                                                                   技能的人才能使用
  lore-level-text: '等級: '   <-----這是限制等級要求(照此設定代表說此物品內容打上
                                                  等級:48763 就只能讓等級為48763等以上的人才能使用
  lore-exclude-text: 'Excluded Class: '     <-----除外職業!?(不懂)
  lore-attribute-text: '{attr} Req: '     <-----這是限制能力值要求(照此設定代表說此物品打上
                                                                   星爆 Req: 48763 就只能讓擁有星爆能力為48763
                                                                    以上的人使用
                                                               
  attribute-text: '{attr}: '    <-----似乎是使用此物品會增加能力值
  players-per-check: '1'     <-----每多少tick檢查使用物品是否符合各種數值要求(這設定會LAG)

GUI:
  old-health-bar: 'true'    <-----就是指不管血量加多少顯示出來就只有十顆心
  force-scaling: 'false'    <-----是否讓其他插件影響血量數值
  level-bar: 'none'    <-----讓經驗條顯示何種數值(none->無, mana->魔力, level->等級)
  food-bar: 'none'    <-----讓食物條顯示何種數值(none->無, mana->魔力, level->等級)
  use-action-bar: 'true'   <-----是否顯示行動條(就是指在經驗條上方顯示文字)

  action-bar-text: '&a&l▌&d&l♥等級{level}&a&l▌&4&l♥血量{health}/{maxHealth}&a&l▌&9&l♥魔力:{mana}/{maxMana}&a&l▌&e&l♥經驗值:{exp}/{expReq}&a&l▌&2&l♥剩餘能力點:{attr}&a&l▌&2&l♥剩餘技能點:{sp}&a&l▌'   <-----讓行動條顯示何種數值(自己設定的)

  #   {combo}       - 連擊數
  #   {class}       - 職業名稱
  #   {level}       - 等級
  #   {exp}         - 經驗值
  #   {expReq}      - 升級 ' 所 ' 需的經驗值
  #   {expLeft}     - 升級 ' 還 ' 需的經驗值
  #   {health}      - 血量
  #   {maxHealth}   - 最大血量
  #   {mana}        - 魔力
  #   {maxMana}     - 最大魔力
  #   {name}        - 名字
  #   {attr}        - 剩餘能力點
  #   {sp}          - 剩餘技能點
  title-enabled: 'true'    <-----是否使用稱號訊息?(感覺沒有作用)
  title-duration: '3'
  title-fade-in: '0.5'
  title-fade-out: '0.5'

#   level_up          - 等級上升
#   exp_gained          - 經驗獲得
  #   exp_lost          - 經驗損失
  #   status          - 效果(skillapi有自製效果)
  title-messages:
  - 'level_up'
  - 'exp_lost'


  scoreboard-enabled: 'false'    <-----是否開啟記分板(內容要到語言檔修改)
  show-class-name: 'true'    <-----是否顯示稱號
  show-class-level: 'true'    <-----是否顯示等級
  class-level-text: 'Level'     <-----顯示等級的文字
  map-tree-enabled: 'false'     <-----請不要使用(如果打true的話,在遊戲中打/class skill 會給你一張地圖,那張會用img資料夾上的圖示可以看技能,但當你手移到就會斷線,求大神解釋)

Click Combos:     <-----就是下方的Left和Right

  enabled: 'false'     <-----是否開啟組合鍵 (EX:左鍵+左鍵+右鍵時會觸發技能)
                                         請不要使用v3.101版本,那版本快捷欄壞掉了
  allow-custom: 'false'     <-----是否讓玩家自訂義組合(指令/class combos)
  use-click-left: 'true'     <-----是否開啟左鍵組合鍵
  use-click-right: 'true'     <-----是否開啟右鍵組合鍵
  use-click-shift: 'false'     <-----是否開啟shift組合鍵
  combo-size: '4'     <----- 組合鍵 最大數 (EX :4表示最多只能 left right right left ,3表示最多
                                           只能 left right right)
  click-time: '1.0'     <-----組合鍵 持續時間(先按左鍵,然後要在一秒內按下一個)
Skill Bar:
  enabled: 'true'     <-----是否開起快捷鍵

  show-cooldown: 'true'     <-----是否在快捷鍵上顯示冷卻時間(是以物品數量顯示)
  empty-icon:     <-----就是上面圖片的南瓜種子
    material: 'PUMPKIN_SEEDS'     <-----沒有技能時快捷鍵上的物品(預設是南瓜種子)
    data: '0'
    text: '&7無技能'     <-----南瓜種子上的名
  layout:     <-----預設玩家有幾個快捷鍵(玩家可以右鍵物品欄或快捷鍵增加或減少)
                            補充:玩家將滑鼠移到技能圖標上,再按下數字鍵將技能放到快捷鍵上
    1:
      skill: 'true'
      locked: 'false'
    2:
      skill: 'true'
      locked: 'false'
    3:
      skill: 'true'
      locked: 'false'
    4:
      skill: 'false'
      locked: 'false'
    5:
      skill: 'false'
      locked: 'false'
    6:
      skill: 'false'
      locked: 'false'
    7:
      skill: 'false'
      locked: 'false'
    8:
      skill: 'false'
      locked: 'false'
    9:
      skill: 'false'
      locked: 'false'

Experience:
  use-exp-orbs: 'true'     <-----是否使用經驗球來提升經驗
  block-mob-spawner: 'true'     <-----是否可以從生怪磚生出來的怪物上獲得經驗
  block-mob-egg: 'true'     <-----是否可以從(非插件)生怪蛋生出來的怪物中獲得經驗
  block-creative: 'true'     <-----是否可以再創造模式上獲得經驗
  exp-message-enabled: 'true'     <-----是否獲得經驗時顯示訊息
  level-message-enabled: 'true'     <-----是否升級時顯示訊息
  lose-exp-message: 'true'     <-----是否損失經驗時顯示訊息

  # The formula used for calculating required experience
  # The formula is: x*lvl*lvl + y*lvl + z
  formula:     <-----經驗公式(x*lvl*lvl+z)官方計算工具 PS:別用我的,我是亂打的
    x: '15'
    y: '-10'
    z: '-18'
  use-custom: 'false'     <-----是否用自己的經驗公式
  custom-formula: '3*(lvl+2)^2+1*lvl+10'     <-----自己設定經驗公式
  yields:     <-----打死怪物可以從他身上獲得的經驗PS:我是在Mythicmobs中設定的,在Drop
                            打上skillapi-exp <數字>
    blaze: '0'
    cavespider: '0'
    creeper: '0'
    elderguardian: '0'
    enderdragon: '0'
    enderman: '0'
    endermite: '0'
    ghast: '0'
    giant: '0'
    guardian: '0'
    irongolem: '0'
    magmacube: '0'
    pigzombie: '0'
    player: '0'
    shulker: '0'
    silverfish: '0'
    skeleton: '0'
    slime: '0'
    spider: '0'
    witch: '0'
    wither: '0'
    witherskeleton: '0'
    zombie: '0'
Logging:
  buff: '0'
  registration: '0'
  gui: '0'
  mana: '0'
  attribute-load: '0'

Worlds:
  enable: 'false'     <-----是否開啟world設定
  use-as-enabling: 'true'    <-----打true的話樓下列表表示哪些地圖可以使用skillapi
                                                     打false的話樓下列表表示哪些地圖不能使用skillapi
  worlds:
  - 'world'
-----------------------------------------------------------------------
attributes設定:
#   health           - 玩家的最大血量
#   mana             - 魔力
#   mana-regen       - 每固定時間玩家魔力回復多少
#   physical-damage  - 一般攻擊(非技能)
#   physical-defense -非技能攻擊造成的傷害
#   skill-damage     - 技能的傷害
#   skill-defense    - 受到技能的防禦
#   move-speed       - 移動速度
體力:
  display: '體力'
  max: '999'     <-----最大數
  icon: 'ink sack'     <-----GUI中的顯示物品
  icon-data: '1'
  icon-lore:     <-----GUI中的顯示物品的內容
  - '&6體力 &7(&2{amount}&7)'
  - ''
  - '&7增加體力與少許物理攻擊力'
  - '&7左鍵點選'
  global:
    condition:  {}
    mechanic:  {}
    target:  {}
  stats:
    health: 'a*0.5+v'     <-----公式(a=屬性點數,v=原本數值)
    physical-damage: 'a*0.1+v'
靈巧:
  display: '靈巧'
  max: '999'
  icon: 'ink sack'
  icon-data: '10'
  icon-lore:
  - '&6靈巧 &7(&2{amount}&7)'
  - ''
  - '&7增加攻擊範圍'
  - '&7左鍵點選'
  global:     <-----這是自訂義增加的值(EX:如果在編輯器中的Mechanic:Damage裡的Value
                             加,就是要在mechanic:下方打上Damage-Value:'公式')
    condition:  {}
    mechanic:  {}
    target:
      Cone-range: 'a*0.025+1*v'
      Linear-range: 'a*0.025+1*v'
      Location-range: 'a*0.025+1*v'
      Nearest-radius: 'a*0.025+1*v'
      Single-range: 'a*0.025+1*v'
-----------------------------------------------------------------------
groups設定:
class:
  default: 'none'     <-----默認群組
  permission: 'none'     <-----權限
  profess-reset: 'false'     <-----是否可重新選職業
  can-reset: 'false'     <-----是否可重置等級
  show-scoreboard: 'true'     <-----是否使用記分板
  exp-lost-on-death: 0.0     <-----當死亡時損失多少經驗
  starting-points: 3     <-----初始技能點
  points-per-level: 0.0     <-----每次升級增加多少技能點
  starting-attribs: 0     <-----初始能力值
  attribs-per-level: 5.0     <-----每次升級增加多少能力值
-----------------------------------------------------------------------
指令:
/class bind <技能> 綁定技能
/class cast <技能> 發動技能
/class clearbind 取消綁定所有技能
/class exp <player> <數字> 給某人經驗
/class info <player> 查看某玩家職業
/class level <player> <數字> 給予某玩家等級上升
/class list <player> 查看某玩家帳號
/class lore <字> 給手上物品增加內容
/class mana <player> <數字> 給予某玩家魔力
/class options 查看職業選項
/class points <player> <數字> 給予某玩家技能點
/class profess <職業> 選擇職業
/class reload 重整此插件
/class reset 重置自己職業
/class skill 開啟技能GUI
/class unbind 取消手上物品所綁定技能
/class forceaccount <player> <accountId> 切換某玩家帳號ID
/class forceattr <player> <attr> <數字> 給予某玩家某能力的數值
/class forcecast <player> <技能> <技能等級> 使某玩家使用某等級技能
/class forceprofess <player> <職業> 使某玩家轉職
/class forcereset <player> 使某玩家重置職業
/class bar 開啟/關閉快捷鍵
/class scheme <list> 不懂....
/class ap <player> <數字> 給予某玩家能力值
/class attr 開啟能力值GUI
/class acc <accountId> 切換帳號
/class combo <技能> <combo> 自訂義組合鍵
-----------------------------------------------------------------------
權限:
skillapi.basic 玩家的基本權限
skillapi.level /class level權限
skillapi.exp /class exp權限
skillapi.mana /class mana權限
skillapi.force 針對/class force.... 權限
skillapi.points /class points權限
skillapi.reload /class reload 權限
skillapi.class.<職業名> 玩家可選擇的職業權限
skillapi.skill.<技能名> 玩家擁有的技能權限
skillapi.class skillapi全部職業權限
-----------------------------------------------------------------------
編輯器簡易教學
這是編輯器裡面可以創造職業以及技能,下載後放到SkillAPI/dynamic/class(放職業的)或skill
(放技能的)

左邊是技能右邊是職業
-----------------------------------------------------------------------
職業:

Name 職業名
Prefix 稱號
Group 群組(SkillAPI中的groups.yml)
Mana Name 魔力名(使用技能所消耗)
Max Level 最大等級
Parent 前置職業
Permission 是否需要權限
Exp Source 從哪裡可以獲得經驗
Mob 怪物
Block Break 破壞方塊
Block Place 放置方塊
Craft 合成
Command 指令
Special 特殊(???)
Exp Bottle 經驗瓶
Smelt ????
Quest 任務(配合quest插件)

Health <1等時的血量> <每升等時增加多少>
Mana <1等時的魔力> <每升等時增加多少>
Mana  Regen 每週期時回魔增加多少(週期在config裡設定)
Skill Tree 技能樹樣式(官方給的圖是死檔GG)
Skills(one per line) 此職業有啥技能(每填寫一個技能後要換行)

應該就知道是什麼,就不介紹
-----------------------------------------------------------------------
技能:(這很難又很多所以簡單說一下)

Name 技能名
Type 類型(自訂義)
Max Level 技能最大等級
Skill Req 前置技能
Skill Req Level 前置技能等級
Permission 權限
Level Req 等級需要
Cost 每次升級要花費點數+號後面是每級增加多少
Cooldown 冷卻時間+號後面是每級增加多少
Mana 花費魔力+號後面是每級增加多少
Cast Message 發動時會出現訊息

Combo 組合鍵
Indicator 有2D和3D(????)
Icon 在GUI中的圖標
Icon Lore 圖標中的內容(內容可放變數)

幾乎每個效果都有個Icon Key這東西,格式為{attr:<Icon key>.<>}就以上圖為例要顯示在Damage Lore中的Multiplier的數字所以是打{attr:岩擊.Multiplier}在icon lore

改好後點這

接下來會到這,這裡有點像是Scratch


Details 回到剛剛那裏
Triggers 技能如何發動
Save 儲存下載
Delete 刪除(別亂點..)

點選Triggers
Cast 主動觸發,就是靠快捷鍵或綁定
Cleanup 不清楚....
Crouch 蹲下觸發
Death 死亡時觸發
Environment Damage 受到自然傷害(溺水、燃燒....)
Initialize 復活時觸發
Kill 擊殺時觸發
Land 落地時觸發
Launch 發射物品時觸發
Physical Damage 造成物理傷害時觸發
Skill Damage 造成技能傷害時觸發
Took Physical Damage 受到物理傷害時觸發
Took Skill Damage 造成技能傷害時觸發

先用Cast來示範點+Add Child增加技能目標

Area 區域(圓形)
Cone 錐形
Linear 線型
Location 位置坐標範圍(跟Area很像)
Nearest 最近目標
Offset 特定位置(可控制上下左右的)
Remember 當某技能所的記住的目標
Self 自己
Single 中間十字瞄準對象(8/3更正)

這裡是Condition(條件)
Armor 目標穿著指定裝備
Attribute 属性(判断目標的属性是否符合條件)
Biome 生態域
Block 目標腳下的方塊
Chance 機率
Class 職業
Class level 職業等級
Combat 進入戰鬥狀態
Direction 目標方向
Elevation 目標高度
Else 當上一個條件不符合時
Entity Type 目標生物種類
Fire 目標著火
Flag 目標標記(有標記效果的技能使用後)
Health 目標生命值
Inventory 對方背包物品(對怪物沒反應)
Item 判斷手上物品
Light 目標所在亮度
Mana 目標魔力
Name 目標名字
Offhand 檢察自己身上物品(1.9+)
Permission 自身權限
Potion 目標藥水效果
Skill level 技能等級
Slot 目標指定格子上的物品
Status 目標狀態
Time 伺服器時間
Tool 目標手持
Value 數值在某個數值內
Water 目標在水裡

-----------------------------------------------------------------------

Damage
這是大部分技能都會用這東西
Icon Key 上面有說過就不說
Counts as Cast 當這個效果成功發動時,就會消耗魔力和開始冷卻時間
Type 這是損傷計算類別
Value 數值+號是看技能等級每升級一次加多少
True Damage 此傷害無視任何護甲或插件

Damage Lore
這是另一種傷害方式也是很常用的,是靠物品上的內容來造成傷害
Icon Key 一樣
Counts as Cast 當這個效果成功發動時,就會消耗魔力和開始冷卻時間
Hand 手持或非手持
Regex <自訂義>:{value} 數字乘上倍數造成傷害(EX:下圖武器我設定成傷害:18就是指施放技能
                              時是18*倍數造成目標傷害)

Multiplier 倍數
True Damage 此傷害無視任何護甲或插件

Block
這東西是可以短暫的放置方塊(一種特效)
PS:如果改變的方塊上有植物的話,有機率會讓植物跳起來,用WorldGuard插件可解決此問題
Icon Key 一樣
Counts as Cast 當這個效果成功發動時,就會消耗魔力和開始冷卻時間
Shape 更換方塊形式(Cuboid 長方體 Sphere 領域,就是只半徑)
Type 類型 (Air 只更換空氣 Any 更換空氣和原本就有的方塊 Solid 至更換原本就有的方塊)
Block 方塊
Seconds 方塊替換時間
Forward Offset 向前(用負號表示向後)
Upward Offset 向上 (用負號表示向下)

Right offset 向右 (用負號表示向左)
Shape是Cuboid的情況會出現下面三個
Width(X) 這是長方體的長寬高
Height(Y)
Depth(Z)
Shape是Sphere的情況會出現下面一個
Radius 半徑
如有問題可以回覆詢問
-----------------------------------------------------------------------
支援插件:
Parties 官方製作的隊伍插件
Vault 權限
Quests 任務插件
BetonQuest 任務插件
SkRPG skript的附屬插件可以添加Skillapi的各種事件(粉好用,可惜載點已死)
Mythicmobs 怪物插件 ,可以從怪物上獲取Skillapi的經驗
Libs-Disguises 變裝插件,某些效果需要用它(此連結是收費版,但裡面可以下載免費版)
-----------------------------------------------------------------------
最後希望各位大大能幫我解惑上面不懂的,感恩

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=3914636
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 2 篇留言

夜火
研究了好一陣子 差不多惠了 感謝你

03-30 02:51

瑟瑪Sirma
感謝你製作了這一系列的教學。
今天我想提一個問題,請問,如何讓Offset使用粒子特效投擲物時,能夠瞄準生物?
現在這樣使用的話,Offset只能捕捉到施術者當下的視野角度來進行粒子特效投擲,
我想要製作成「砲塔」一樣的效果,但這點卻十分的困擾我……
還請貴人出手助力。

02-22 17:40

我要留言提醒:您尚未登入,請先登入再留言

2喜歡★maplelog 可決定是否刪除您的留言,請勿發表違反站規文字。

後一篇:【MapleLog】Sk...

追蹤私訊切換新版閱覽

作品資料夾

ShuLongQinHu大家
小屋更新彩色插圖~佛像x2 歡迎來看看看更多我要大聲說昨天06:42


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】