SkillTree

Матеріал з РПГ.укр
Перейти до: навігація, пошук
Приклад екрану дерева навичок, доданого плагіном SkillTree

SkillTreeплагін для RPG Maker MV та MZ, який додає дерево навичок, створений Унаґі Оторо (unagi ootoro).

Завантажити його можна на сторінці Github: https://github.com/unagiootoro/RPGMZ/blob/master/SkillTree.js

Для роботи плагіну також необхідно встановити як плагін файл конфігурації, приклад якого можна завантажити на сторінці Github: https://github.com/unagiootoro/RPGMZ/blob/master/SkillTreeConfig_en.js

Розширення[ ]

Деякі функції винесено в окремі плагіни:

Конфігурація[ ]

Дерева навичок для героя/героїні[ ]

Кожному/кожній герою/героїні, який/яка буде в партії, необхідно вказати дерева навичок:

skillTreeTypes: [
    {
        actorId: 1,
        types: [
            ["Food", "Їжа", "Навички приготування їжі"],
            ["People", "Люди", "Навички спілкування з людьми"],
            ["Magic", "Магія", "Магічні навички"],
        ]
    }, 
    {
        actorId: 4,
        types: [
            ["Food", "Їжа", "Навички приготування їжі"],
            ["People", "Люди", "Навички спілкування з людьми"],
            ["Magic light", "Магія", "Магічні навички"],        
        ]
    },
],

actorId — номер героя/героїні в базі даних

types — дерева навичок у форматі: ["ідентифікатор дерева", "назва дерева", "опис дерева"].

Мапа дерева навичок[ ]

Можна вказати мапу, з якої брати місцеположення навичок на мапі, але не обов’язково:

skillTreeMapId: { 
    "Magic light": 11,
},

Мапа вказується у форматі "ідентифікатор дерева": номер мапи.

Місцеположення навичок береться з місцеположення подій на вказаній мапі.

Приклад мапи дерева навичок для плагіну SkillTree.png

У нотатці події необхідно вказати ідентифікатор навички у дереві.

Налаштування події на мапі дерева навичок для плагіну SkillTree.png

Зв’язки будуть створені автоматично, за конфігурацією дерева навичок.

Приклад екрану дерева навичок, доданого плагіном SkillTree і налаштованого через мапу.png

Навички для дерев навичок[ ]

У списку skillTreeInfo мають бути всі навички, які будуть хоча б у одному з дерев:

 skillTreeInfo: [
    ["Magic one", 4, 1, ["icon"]],
    ["Magic all", 5, 1, ["icon"]],
    ["Fire one", 6, 1, ["icon"]],
    ["Fire all", 7, 1, ["icon"]],
    ["Water one", 8, 1, ["icon"]],
    ["Water all", 9, 1, ["icon"]],
    ["Lightning one", 10, 1, ["icon"]],
    ["Lightning all", 11, 1, ["icon"]],
    ["Lighter", 12, 1, ["icon"]],
    ["Light one", 13, 1, ["icon"]],
    ["Light all", 14, 1, ["icon"]],
    ["Heal self", 15, 1, ["icon"]],
    ["Heal one", 16, 1, ["icon"]],
    ["Clear one", 17, 1, ["icon", 84]],
    ["Revive", 18, 1, ["img", "SkillTree_Revival"]],
    ["Heal all", 19, 1, ["icon"]],
    ["Clear all", 20, 1, ["icon", 84]],
],

Навички вказуються у форматі ["ідентифікатор у дереві", номер у базі даних, ціна, ["тип зображення", зображення]]

Типи зображення:

  • icon — іконка,
  • img — зображення з папки img/pictures,

Якщо тип зображення "icon", замість тексту «зображення» можна вказати номер іконки. Якщо номер іконки відсутній, буде використано іконку навички з бази даних.

Якщо тип зображення "img", замість тексту «зображення» необхідно вказати назву зображення.

Зауваження. Ширина та висота зображення мають бути не менше ширини та висоти іконки у дереві навичок відповідно, інакше зображення показано не буде. Якщо ширина та/чи висота буде більше ширини та/чи висоти іконки у дереві навичок відповідно, зображення буде обрізаним.

Дерева навичок[ ]

Дерева навичок вказуються у skillTreeDerivative

skillTreeDerivative: {
    "Magic": [
        ["Magic one", ["Magic all"]],
        ["Magic one", ["Fire one"]],
        ["Magic one", ["Water one"]],
        ["Magic one", ["Lightning one"]],
        ["Magic all", ["Fire all"]],
        ["Magic all", ["Water all"]],
        ["Magic all", ["Lightning all"]],
        ["Fire one", ["Fire all"]],
        ["Fire all"],
        ["Water one", ["Water all"]],
        ["Water all"],
        ["Lightning one", ["Lightning all"]],
        ["Lightning all"],
        ["Heal self", ["Heal one"]],
        ["Heal self", ["Clear one"]],
        ["Heal one", ["Revive"]],
        ["Heal one", ["Heal all"]],
        ["Clear one", ["Clear all"]],
        ["Revive"],
        ["Heal all"],
        ["Clear all"]
    ],
},

Замість "Magic" можна вказати інший ідентифікатор дерева.

Зв’язки вказуються у форматі ["ідентифікатор навички у дереві", ["ідентифікатор нащадка у дереві"]].

Якщо у навички немає нащадків, необхідно вказати це у форматі ["ідентифікатор навички у дереві"].

Очки навичок за рівень[ ]

levelUpGainSp: [
    {
        classId: 1,
        default: 5,
        2: 3,
        3: 4,
    },
]

сlassId — номер класу, default — кількість очків навичок за будь-який рівень, крім вказаних нижче, 2 — кількість очків навичок за 2 рівень, 3 — кількість очків навичок за 3 рівень.

Очки навичок за битву[ ]

Щоб після перемоги над противником/противницею герої/героїні отримали навичок, необхідно у нотатках противника/противниках вказати тег:

<battleEndGainSp: 1>,

де 1 – кількість очків навичок за противника/противницю.

Відкрити екран дерева навичок[ ]

Щоб відкрити екран дерева навичок для героя/героїні, необхідно викликати скрипт:

skt_open(1),

де 1 — номер героя/героїня.

Очки навичок через скрипт[ ]

Щоб герой/героїня отримав/отримала очки навичок без збільшення рівня чи битви, необхідно викликати скрипт:

skt_gainSp(1, 2),

де 1 — номер героя/героїні, 2 — кількість очків навичок.

Забути всі вивчені навички та повернути очки навичок[ ]

Щоб герой/героїня забув/забула всі навички, вивчені через меню дерева навичок, необхідно викликати скрипт:

skt_skillReset(1),

де 1 — номер героя/героїні.

Доступ до дерева навичок[ ]

Щоб дерево навичок стало недоступним для героя/героїні, необхідно викликати скрипт:

skt_disableType(1, "Magic"),

де 1 — номер героя/героїні, Magic — ідентифікатор дерева навичок.

Щоб дерево навичок стало доступним для героя/героїні, необхідно викликати скрипт:

skt_enableType(1, "Magic"),

де 1 — номер героя/героїні, Magic — ідентифікатор дерева навичок.

Зауваження. Якщо у файлі конфігурації це дерево не вказано для героя/героїні, воно не стане доступним.

Заміна одного дерева навичок іншим[ ]

Для успішної заміни одного дерева навичок іншим, необхідно в конфігурації героя/героїні вказати обидва дерева, але одне з них зробити недоступним на початку гри.

Щоб замінити дерево навичок іншим, необхідно викликати скрипт:

skt_migrationType(1, "Magic", "Magic light", true),

де 1 — номер героя/героїні, Magic — ідентифікатор дерева, яке треба замінити, Magic light — ідентифікатор дерева, на яке треба замінити, true — чи забути всі вивчені навички з цього дерева.

Якщо останній параметр має значення true, тоді герой/героїня забуде всі навички, які були у заміненому дереві, і отримає витрачені очки навичок назад.

Якщо останній параметр має значення false, тоді герой/героїня забуде лише навички, яких немає у новому дереві, а кількість очків навичок не зміниться.

Параметри[ ]

SPName

Назва для очків навичок (SP), за які вивчаються навички з дерева.

MaxSp

Максимальна кількість очків навичок.

EnabledSkillTreeSwitchId

Від якого перемикача залежить доступ до дерева навичок.

EnableGetSpWhenBattleEnd

Чи отримають герої/героїні очки навичок за битви.

EnableGetSpWhenLevelUp

Чи отримають герої/героїні очки навичок за збільшення рівня.

ViewMode

Режим відображення дерева навичок:

  • wide — дерево зліва направо,
  • long — дерево зверху вниз.

Тільки в RPG Maker MZ: Enable MZ Layout

Як будуть розміщені вікна на екрані дерева навичок.

Якщо вибрати варіант УВІМ(анг. ON, ​рос. ВКЛ), текст допомоги буде знизу, а дерево навичок — зліва.

Екран дерева навичок, доданий плагіном SkillTree, при Enable MZ Layout зі значенням УВІМ.png

Якщо вибрати варіант ВИМК(анг. OFF, ​рос. ВЫКЛ), текст допомоги буде зверху, а дерево навичок — справа.

Екран дерева навичок, доданий плагіном SkillTree, при Enable MZ Layout зі значенням ВИМК.png

IconWidth

Ширина іконки у дереві навичок.

Зауваження. Якщо цей параметр більше, ніж ширина іконки в мейкері, іконки показуватися не будуть

IconHeight

Висота іконки у дереві навичок.

Зауваження. Якщо цей параметр більше, ніж висота іконки в мейкері, іконки показуватися не будуть

IconSpaceWidth

Відстань між іконками навичок у дереві по горизонталі.

IconSpaceHeight

Відстань між іконка навичок у дереві по вертикалі.

ViewLineWidth

Товщина ліній у дереві.

ViewLineColorBase

Колір ліній у дереві, якщо батьківська навичка не вивчена.

ViewLineColorLearned

Колір ліній у дереві, якщо батьківська навичка вивчена.

ViewBeginXOffset

Відступ зліва до дерева навичок.

ViewBeginYOffset

Відступ зверху до дерева навичок.

ViewCursorOfs

Відстань між краєм курсору та краєм іконки/зображення навички.

ViewRectColor

Колір контуру навколо іконки/зображення вивченої навички.

ViewRectOfs

Відстань між контуром та краєм іконки/зображення вивченої навички.

LearnSkillSeFileName

Звуковий ефект вивчення навички.

LearnSkillSeVolume

Гучність звукового ефекту вивчення навички.

LearnSkillSePitch

Темп звукового ефекту вивчення навички.

LearnSkillSePan

Панорамування звукового ефекту вивчення навички.

MenuSkillTreeText

Назва пункту меню для виклику екрану дерева навичок.

NeedSpText

Текст для необхідної кількості очків навичок.

OpenedNodeText

Текст для вивченої навички.

NodeOpenConfirmationText

Текст для питання про підтвердження вивчення навички.

NodeOpenYesText

Текст для підтвердження вивчення навички.

NodeOpenNoText

Текст для скасування вивчення навички.

BattleEndGetSpText

Текст для отримання очків навичок після битви.

LevelUpGetSpText

Текст для отримання очків навичок після збільшення рівня.

Ліцензія[ ]

Цей плагін розповсюджується за ліцензією MIT (ліцензія в репозиторії плагінів unagi ootoro).

Подібні скрипти[ ]

Для RPG Maker VX Ace є такі скрипти, що дозволяють створити дерева навичок:

Посилання[ ]