Untitled
unknown
javascript
5 months ago
48 kB
2
Indexable
var button; var storedData; var skillTree = { Knight: { branches: [ { id: 1, name: "Начальные ветки", type: "choice", branches: [ { id: 11, name: "Верхняя ветка", skills: [ { id: 11, name: "ХП", x: 200, y: 210, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: true, next: [13] }, { id: 13, name: "УРОН", x: 180, y: 200, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 52, offsetY: 0, unlocked: false, next: [15] }, { id: 15, name: "УРОН", x: 160, y: 200, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 52, offsetY: 0, unlocked: false, next: [18] }, { id: 18, name: "ХП", x: 140, y: 210, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 12, name: "Нижняя ветка", skills: [ { id: 12, name: "БРОНЯ", x: 200, y: 230, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 26, offsetY: 0, unlocked: true, next: [14] }, { id: 14, name: "ХП", x: 180, y: 240, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [16] }, { id: 16, name: "ХП", x: 160, y: 240, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [17] }, { id: 17, name: "БРОНЯ", x: 140, y: 230, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 26, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 2, name: "Уникальный навык", type: "unique", skill: { id: 100, name: "Уникальный навык", x: 100, y: 208, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 30, unlocked: false, next: [3] }, }, { id: 3, name: "Новые ветки", type: "choice", branches: [ { id: 31, name: "Верхняя", skills: [ { id: 110, name: "Навык 1", x: 85, y: 210, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0,unlocked: false, next: [111] }, { id: 111, name: "Навык 2", x: 65, y: 200, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0,unlocked: false, next: [112] }, { id: 112, name: "Навык 2", x: 45, y: 200, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0,unlocked: false, next: [113] }, { id: 113, name: "Навык 2", x: 25, y: 210, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0,unlocked: false, next: [] }, ], }, { id: 32, name: "Нижняя ветка", skills: [ { id: 114, name: "Навык 1", x: 85, y: 230, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [115] }, { id: 115, name: "Навык 2", x: 65, y: 240, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 104, offsetY: 0, unlocked: false, next: [116] }, { id: 116, name: "Навык 2", x: 45, y: 240, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 104, offsetY: 0, unlocked: false, next: [117] }, { id: 117, name: "Навык 2", x: 25, y: 230, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 52, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 4, name: "Финальный уникальный навык", type: "unique", skill: { id: 101, name: "Финальный уникальный навык", x: -15, y: 208, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 75, offsetY: 30, unlocked: false, next: [5] }, }, { id: 5, name: "Финальные ветки", type: "choice", branches: [ { id: 51, name: "Верхняя ветка", skills: [ { id: 118, name: "Навык 1", x: -35, y: 210, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 52, offsetY: 0, unlocked: false, next: [118] }, { id: 120, name: "Навык 2", x: -55, y: 200, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 52, name: "Нижняя ветка", skills: [ { id: 119, name: "Навык 1", x: -35, y: 230, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [121] }, { id: 121, name: "Навык 2", x: -55, y: 240, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], // gui.addTexturedButton(119,"",-35,230,12,12,"minecraft:textures/gui/passives.png",0,0); //хп }, ], }, ], }, Thief: { branches: [ { id: 1, name: "Начальные ветки", type: "choice", branches: [ { id: 11, name: "Верхняя ветка", skills: [ { id: 21, name: "Скорость", x: 215, y: 250, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: true, next: [23] }, { id: 23, name: "Контрудар", x: 203, y: 260, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 104, offsetY: 0, unlocked: false, next: [24] }, { id: 24, name: "Вампиризм", x: 190, y: 270, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 130, offsetY: 0, unlocked: false, next: [25] }, { id: 25, name: "ХП", x: 190, y: 285, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 12, name: "Нижняя ветка", skills: [ { id: 22, name: "БРОНЯ", x: 230, y: 260, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: true, next: [26] }, { id: 26, name: "ХП", x: 230, y: 275, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [27] }, { id: 27, name: "ХП", x: 230, y: 290, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [28] }, { id: 28, name: "БРОНЯ", x: 215, y: 300, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 2, name: "Уникальный навык", type: "unique", skill: { id: 200, name: "Ловкость пальцев", x: 178, y: 300, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 148, offsetY: 30, unlocked: false, next: [3] }, }, { id: 3, name: "Новые ветки", type: "choice", branches: [ { id: 31, name: "Верхняя", skills: [ { id: 29, name: "Навык 1", x: 165, y: 325, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0,unlocked: false, next: [211] }, { id: 211, name: "Навык 2", x: 152, y: 335, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0,unlocked: false, next: [212] }, { id: 212, name: "Навык 2", x: 138, y: 345, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0,unlocked: false, next: [213] }, { id: 213, name: "Навык 2", x: 138, y: 360, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0,unlocked: false, next: [] }, ], }, { id: 32, name: "Нижняя ветка", skills: [ { id: 210, name: "Навык 1", x: 190, y: 340, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [214] }, { id: 214, name: "Навык 2", x: 190, y: 355, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [215] }, { id: 215, name: "Навык 2", x: 190, y: 370, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 130, offsetY: 0, unlocked: false, next: [216] }, { id: 216, name: "Навык 2", x: 175, y: 380, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 104, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 4, name: "Финальный уникальный навык", type: "unique", skill: { id: 201, name: "Безмерное богатство", x: 135, y: 375, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 104, unlocked: false, next: [5] }, }, { id: 5, name: "Финальные ветки", type: "choice", branches: [ { id: 51, name: "Верхняя ветка", skills: [ { id: 217, name: "Навык 1", x: 122, y: 400, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 130, offsetY: 0, unlocked: false, next: [218] }, { id: 218, name: "Навык 2", x: 108, y: 412, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 52, name: "Нижняя ветка", skills: [ { id: 219, name: "Навык 1", x: 147, y: 415, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [220] }, { id: 220, name: "Навык 2", x: 147, y: 430, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], // gui.addTexturedButton(119,"",-35,230,12,12,"minecraft:textures/gui/passives.png",0,0); //хп }, ], }, ], }, Barbarian: { branches: [ { id: 1, name: "Начальные ветки", type: "choice", branches: [ { id: 11, name: "Верхняя ветка", skills: [ { id: 31, name: "Скорость", x: 280, y: 210, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: true, next: [33] }, { id: 33, name: "Контрудар", x: 300, y: 200, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 156, offsetY: 0, unlocked: false, next: [35] }, { id: 35, name: "Вампиризм", x: 320, y: 200, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [37] }, { id: 37, name: "ХП", x: 340, y: 210, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 156, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 12, name: "Нижняя ветка", skills: [ { id: 32, name: "БРОНЯ", x: 280, y: 230, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: true, next: [34] }, { id: 34, name: "ХП", x: 300, y: 240, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 232, offsetY: 0, unlocked: false, next: [36] }, { id: 36, name: "ХП", x: 320, y: 240, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [38] }, { id: 38, name: "БРОНЯ", x: 340, y: 230, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 232, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 2, name: "Уникальный навык", type: "unique", skill: { id: 300, name: "Прилив крови", x: 355, y: 208, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 148, offsetY: 104, unlocked: false, next: [3] }, }, { id: 3, name: "Новые ветки", type: "choice", branches: [ { id: 31, name: "Верхняя", skills: [ { id: 39, name: "Навык 1", x: 395, y: 210, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0,unlocked: false, next: [316] }, { id: 316, name: "Навык 2", x: 415, y: 200, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0,unlocked: false, next: [310] }, { id: 310, name: "Навык 2", x: 435, y: 200, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 232, offsetY: 0,unlocked: false, next: [311] }, { id: 311, name: "Навык 2", x: 455, y: 210, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 232, offsetY: 0,unlocked: false, next: [] }, ], }, { id: 32, name: "Нижняя ветка", skills: [ { id: 312, name: "Навык 1", x: 395, y: 230, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [313] }, { id: 313, name: "Навык 2", x: 415, y: 240, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [314] }, { id: 314, name: "Навык 2", x: 435, y: 240, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 156, offsetY: 0, unlocked: false, next: [315] }, { id: 315, name: "Навык 2", x: 455, y: 230, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 156, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 4, name: "Финальный уникальный навык", type: "unique", skill: { id: 301, name: "Кровожадный молот", x: 470, y: 208, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 75, offsetY: 104, unlocked: false, next: [5] }, }, { id: 5, name: "Финальные ветки", type: "choice", branches: [ { id: 51, name: "Верхняя ветка", skills: [ { id: 317, name: "Навык 1", x: 510, y: 210, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 156, offsetY: 0, unlocked: false, next: [318] }, { id: 318, name: "Навык 2", x: 530, y: 200, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 52, name: "Нижняя ветка", skills: [ { id: 319, name: "Навык 1", x: 510, y: 230, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 232, offsetY: 0, unlocked: false, next: [320] }, { id: 320, name: "Навык 2", x: 530, y: 240, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], // gui.addTexturedButton(119,"",-35,230,12,12,"minecraft:textures/gui/passives.png",0,0); //хп }, ], }, ], }, Hunter: { branches: [ { id: 1, name: "Начальные ветки", type: "choice", branches: [ { id: 11, name: "Верхняя ветка", skills: [ { id: 41, name: "Скорость", x: 230, y: 180, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: true, next: [42] }, { id: 42, name: "Контрудар", x: 230, y: 165, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [43] }, { id: 43, name: "Вампиризм", x: 230, y: 150, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [44] }, { id: 44, name: "ХП", x: 215, y: 140, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 12, name: "Нижняя ветка", skills: [ { id: 45, name: "БРОНЯ", x: 215, y: 192, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: true, next: [46] }, { id: 46, name: "ХП", x: 203, y: 182, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [47] }, { id: 47, name: "ХП", x: 190, y: 172, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 182, offsetY: 0, unlocked: false, next: [48] }, { id: 48, name: "БРОНЯ", x: 190, y: 158, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 182, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 2, name: "Уникальный навык", type: "unique", skill: { id: 400, name: "Зоопарк", x: 178, y: 120, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives2.png", offsetX: 148, offsetY: 0, unlocked: false, next: [3] }, }, { id: 3, name: "Новые ветки", type: "choice", branches: [ { id: 31, name: "Верхняя", skills: [ { id: 49, name: "Навык 1", x: 190, y: 105, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 182, offsetY: 0,unlocked: false, next: [410] }, { id: 410, name: "Навык 2", x: 190, y: 90, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 182, offsetY: 0,unlocked: false, next: [411] }, { id: 411, name: "Навык 2", x: 190, y: 75, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0,unlocked: false, next: [412] }, { id: 412, name: "Навык 2", x: 175, y: 65, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0,unlocked: false, next: [] }, ], }, { id: 32, name: "Нижняя ветка", skills: [ { id: 413, name: "Навык 1", x: 165, y: 120, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [414] }, { id: 414, name: "Навык 2", x: 152, y: 110, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [415] }, { id: 415, name: "Навык 2", x: 138, y: 100, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [416] }, { id: 416, name: "Навык 2", x: 138, y: 85, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 4, name: "Финальный уникальный навык", type: "unique", skill: { id: 401, name: "Точный выстрел", x: 135, y: 47, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives2.png", offsetX: 0, offsetY: 74, unlocked: false, next: [5] }, }, { id: 5, name: "Финальные ветки", type: "choice", branches: [ { id: 51, name: "Верхняя ветка", skills: [ { id: 417, name: "Навык 1", x: 147, y: 30, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [418] }, { id: 418, name: "Навык 2", x: 147, y: 15, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 52, name: "Нижняя ветка", skills: [ { id: 419, name: "Навык 1", x: 122, y: 47, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 182, offsetY: 0, unlocked: false, next: [420] }, { id: 420, name: "Навык 2", x: 108, y: 37, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], // gui.addTexturedButton(119,"",-35,230,12,12,"minecraft:textures/gui/passives.png",0,0); //хп }, ], }, ], }, Assasin: { branches: [ { id: 1, name: "Начальные ветки", type: "choice", branches: [ { id: 11, name: "Верхняя ветка", skills: [ { id: 55, name: "Скорость", x: 265, y: 250, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: true, next: [56] }, { id: 56, name: "Контрудар", x: 277, y: 260, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [57] }, { id: 57, name: "Вампиризм", x: 290, y: 270, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [58] }, { id: 58, name: "ХП", x: 290, y: 285, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 12, name: "Нижняя ветка", skills: [ { id: 51, name: "БРОНЯ", x: 250, y: 260, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: true, next: [52] }, { id: 52, name: "ХП", x: 250, y: 275, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 104, offsetY: 0, unlocked: false, next: [53] }, { id: 53, name: "ХП", x: 250, y: 290, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 130, offsetY: 0, unlocked: false, next: [54] }, { id: 54, name: "БРОНЯ", x: 265, y: 300, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 2, name: "Уникальный навык", type: "unique", skill: { id: 500, name: "Подлый удар", x: 278, y: 300, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 178, unlocked: false, next: [3] }, }, { id: 3, name: "Новые ветки", type: "choice", branches: [ { id: 31, name: "Верхняя", skills: [ { id: 513, name: "Навык 1", x: 315, y: 325, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0,unlocked: false, next: [514] }, { id: 514, name: "Навык 2", x: 328, y: 335, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 104, offsetY: 0,unlocked: false, next: [515] }, { id: 515, name: "Навык 2", x: 341, y: 345, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 104, offsetY: 0,unlocked: false, next: [516] }, { id: 516, name: "Навык 2", x: 341, y: 360, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0,unlocked: false, next: [] }, ], }, { id: 32, name: "Нижняя ветка", skills: [ { id: 59, name: "Навык 1", x: 290, y: 340, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [510] }, { id: 510, name: "Навык 2", x: 290, y: 355, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [511] }, { id: 511, name: "Навык 2", x: 290, y: 370, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [512] }, { id: 512, name: "Навык 2", x: 305, y: 380, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 4, name: "Финальный уникальный навык", type: "unique", skill: { id: 501, name: "Тёмный убийца", x: 320, y: 375, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 74, offsetY: 178, unlocked: false, next: [5] }, }, { id: 5, name: "Финальные ветки", type: "choice", branches: [ { id: 51, name: "Верхняя ветка", skills: [ { id: 519, name: "Навык 1", x: 357, y: 400, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [520] }, { id: 520, name: "Навык 2", x: 371, y: 412, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 52, name: "Нижняя ветка", skills: [ { id: 517, name: "Навык 1", x: 333, y: 415, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 130, offsetY: 0, unlocked: false, next: [518] }, { id: 518, name: "Навык 2", x: 333, y: 430, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], // gui.addTexturedButton(119,"",-35,230,12,12,"minecraft:textures/gui/passives.png",0,0); //хп }, ], }, ], }, Ranger: { branches: [ { id: 1, name: "Начальные ветки", type: "choice", branches: [ { id: 11, name: "Верхняя ветка", skills: [ { id: 61, name: "Скорость", x: 250, y: 180, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: true, next: [62] }, { id: 62, name: "Контрудар", x: 250, y: 165, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [63] }, { id: 63, name: "Вампиризм", x: 250, y: 150, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [64] }, { id: 64, name: "ХП", x: 265, y: 140, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 12, name: "Нижняя ветка", skills: [ { id: 65, name: "БРОНЯ", x: 265, y: 192, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: true, next: [66] }, { id: 66, name: "ХП", x: 277, y: 182, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [67] }, { id: 67, name: "ХП", x: 290, y: 172, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 182, offsetY: 0, unlocked: false, next: [68] }, { id: 68, name: "БРОНЯ", x: 290, y: 158, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 182, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 2, name: "Уникальный навык", type: "unique", skill: { id: 600, name: "Слабое место", x: 278, y: 120, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives2.png", offsetX: 0, offsetY: 0, unlocked: false, next: [3] }, }, { id: 3, name: "Новые ветки", type: "choice", branches: [ { id: 31, name: "Верхняя", skills: [ { id: 69, name: "Навык 1", x: 290, y: 105, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 182, offsetY: 0,unlocked: false, next: [610] }, { id: 610, name: "Навык 2", x: 290, y: 90, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 182, offsetY: 0,unlocked: false, next: [611] }, { id: 611, name: "Навык 2", x: 290, y: 75, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0,unlocked: false, next: [612] }, { id: 612, name: "Навык 2", x: 305, y: 65, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0,unlocked: false, next: [] }, ], }, { id: 32, name: "Нижняя ветка", skills: [ { id: 613, name: "Навык 1", x: 315, y: 120, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [614] }, { id: 614, name: "Навык 2", x: 328, y: 110, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 0, offsetY: 0, unlocked: false, next: [615] }, { id: 615, name: "Навык 2", x: 341, y: 100, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [616] }, { id: 616, name: "Навык 2", x: 341, y: 85, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], }, ], }, { id: 4, name: "Финальный уникальный навык", type: "unique", skill: { id: 601, name: "Отравленные стрелы", x: 320, y: 47, width: 36, height: 36, nameTexture: "minecraft:textures/gui/passives2.png", offsetX: 74, offsetY: 0, unlocked: false, next: [5] }, }, { id: 5, name: "Финальные ветки", type: "choice", branches: [ { id: 51, name: "Верхняя ветка", skills: [ { id: 617, name: "Навык 1", x: 333, y: 30, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 78, offsetY: 0, unlocked: false, next: [618] }, { id: 618, name: "Навык 2", x: 333, y: 15, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], }, { id: 52, name: "Нижняя ветка", skills: [ { id: 619, name: "Навык 1", x: 357, y: 47, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 182, offsetY: 0, unlocked: false, next: [620] }, { id: 620, name: "Навык 2", x: 371, y: 37, width: 12, height: 12, nameTexture: "minecraft:textures/gui/passives.png", offsetX: 208, offsetY: 0, unlocked: false, next: [] }, ], // gui.addTexturedButton(119,"",-35,230,12,12,"minecraft:textures/gui/passives.png",0,0); //хп }, ], }, ], }, }; function drawing(event, player, storedData, selectClass, skillTree) { var gui = event.API.createCustomGui(0, 500, 500, false); gui.addButton(10, "Очистить", 400, 400); // Выбор классов if(selectClass >= 1 && selectClass <= 6) { var classNames = ["Воин", "Варвар", "Вор", "Ассасин", "Охотник", "Рейнджер"]; var classCoordinates = [220, 260, 230, 250, 230, 250]; var classOffsets = [220, 220, 240, 240, 200, 200]; var classIcons = [0, 78, 26, 52, 104, 130]; for(var i = 0; i < 6; i++) { if(selectClass != (i + 1)) { gui.addTexturedRect(i + 1, "minecraft:textures/gui/classes.png", classCoordinates[i], classOffsets[i], 12, 12, classIcons[i], 0); } else { gui.addTexturedButton(i + 1, "", classCoordinates[i], classOffsets[i], 12, 12, "minecraft:textures/gui/classes.png", classIcons[i] + 12, 0); } gui.getComponent(i + 1).setHoverText("§a" + classNames[i]); } } else { var classNames = ["Воин", "Варвар", "Вор", "Ассасин", "Охотник", "Рейнджер"]; var classCoordinates = [220, 260, 230, 250, 230, 250]; var classOffsets = [220, 220, 240, 240, 200, 200]; var classIcons = [0, 78, 26, 52, 104, 130]; for(var i = 0; i < 6; i++) { gui.addTexturedButton(i + 1, "", classCoordinates[i], classOffsets[i], 12, 12, "minecraft:textures/gui/classes.png", classIcons[i], 0); gui.getComponent(i + 1).setHoverText("§a" + classNames[i]); } } // Отрисовка дерева навыков drawSkillTree(skillTree, event, gui); player.showCustomGui(gui); } function drawSkillTree(skillTree, event, gui) { if (!skillTree) { event.player.message("Дерево навыков undefined"); return; } // Обрабатываем дерево навыков для каждого класса var classes = ['Knight', 'Thief', 'Barbarian', 'Hunter', 'Assasin', 'Ranger']; classes.forEach(function(className) { if (skillTree[className]) { for (var i = 0; i < skillTree[className].branches.length; i++) { var branch = skillTree[className].branches[i]; if (branch.type === "choice") { for (var j = 0; j < branch.branches.length; j++) { var subBranch = branch.branches[j]; for (var k = 0; k < subBranch.skills.length; k++) { var skill = subBranch.skills[k]; if (skill.unlocked) { // Добавляем доступные кнопки gui.addTexturedButton(skill.id, "", skill.x, skill.y, skill.width, skill.height, skill.nameTexture, skill.offsetX, skill.offsetY); } else { // Добавляем заблокированные кнопки как текстуры gui.addTexturedRect(skill.id, skill.nameTexture, skill.x, skill.y, skill.width, skill.height, skill.offsetX, skill.offsetY); } if (skill.next && skill.next.length > 0) { for (var l = 0; l < skill.next.length; l++) { var nextSkillId = skill.next[l]; var nextSkill = getSkillById(nextSkillId, skillTree, className); if (nextSkill && nextSkill.unlocked) { // Если следующий навык доступен, показываем кнопку gui.addTexturedButton(nextSkill.id, "", nextSkill.x, nextSkill.y, nextSkill.width, nextSkill.height, nextSkill.nameTexture, nextSkill.offsetX, nextSkill.offsetY); } } } } } } if (branch.type === "unique" && branch.skill) { var skill = branch.skill; if (skill.unlocked) { gui.addTexturedButton(skill.id, "", skill.x, skill.y, skill.width, skill.height, skill.nameTexture, skill.offsetX, skill.offsetY); } else { gui.addTexturedRect(skill.id, skill.nameTexture, skill.x, skill.y, skill.width, skill.height, skill.offsetX, skill.offsetY); } } } } }); } function getSkillById(skillId, skillTree, className) { if (!skillTree[className]) return null; for (var i = 0; i < skillTree[className].branches.length; i++) { var branch = skillTree[className].branches[i]; if (branch.type === "choice") { for (var j = 0; j < branch.branches.length; j++) { var subBranch = branch.branches[j]; for (var k = 0; k < subBranch.skills.length; k++) { var skill = subBranch.skills[k]; if (skill.id === skillId) return skill; } } } if (branch.type === "unique" && branch.skill.id === skillId) { return branch.skill; } } return null; } function keyPressed(event) { var player = event.player; var gui = event.gui; var key = event.key; var storedData = event.player.getStoreddata(); var selectClass = storedData.get("button"); if(key == "80") { drawing(event, player, storedData, selectClass, skillTree); } } function customGuiButton(event) { var player = event.player; var gui = event.gui; var button = gui.getComponent(event.buttonId).getID(); var storedData = player.getStoreddata(); storedData.put("button", button); var selectClass = storedData.get("button"); switch(button) { case 1: case 2: case 3: case 4: case 5: case 6: drawing(event, player, storedData, selectClass, skillTree); break; case 10: drawing(event, player, storedData, selectClass, skillTree); } event.player.message(selectClass); gui.update(player); } function init(event) { var storedData = event.player.getStoreddata(); var selectClass = storedData.get("button"); event.player.message(selectClass); }
Editor is loading...
Leave a Comment