XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
NETRAT

offline
Опыт: 83,712
Активность:
Spellbook. Добавление абилы
Что-то я совсем не фтыкаю, или фтыкаю не совсем - есть ли способ добавить абилу в спеллбук во время исполнения скрипта? Или сьимитировать добавление.
Старый 01.12.2005, 17:06
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Способы:
Цитата:
Как временно запретить у юнита или спеллбука какую-либо способность или магию?

Сделайте в редакторе объектов custom-юнита на основе летающей овцы. Поставьте ему любую малозаметную модель, минимальный масштаб, уберите все галочки в поле Targeted As, добавьте способность Locust (Москиты) (в старых версиях редактора она называется Unknown - ALoc), а также установите Collision Size равным нулю. Теперь зайдите в редактор умений и выберите нужное вам умение. После этого поставьте галочку "Techtree - Check dependencies" и добавьте только что сделанного вами юнита в поле "Techtree - Requirements" способности.

Теперь эта способность у игрока будет неактивна до тех пор, пока у него не появится ваш custom-юнит. Создайте этого юнита на карте, после создания спрячьте (Unit - Hide Unit), а во время игры триггером в нужный момент меняйте этому юниту владельца. Когда способность должны быть доступна игроку, отдавайте триггером юнита этому игроку (через Unit - Change Owner). Когда способность должна быть отключена, отдавайте юнита нейтральному игроку (Neutral Passive).

2 способ:
Используйте триггрную команды Игрок -> Enable/disable ability. Запрещая абилу для какого-то игрока, мы одновременно добиваемся того, что абила исчезает из спелбука. При разрешении абилы игроку – абила появляется обратно.

3 способ (работает не во всех версиях игры):
Вместо 1 спелбука с 10 способностями, герою можно к примеру дать 10 способностей типа спелбук, внутри каждой из которых 1 абила. Если все спелбуки созданы на основе спелбука с одним и тем же ID, они сольются в один и тот же спелбук. Такого рода спелбуки можно наполнять и опустошать по ходу игры используя действия unit add ability, unit remove ability – добавляя или убирая абилы спелбуков.

Как сделать возможным повышение уровня абил внутри спелбука?

Абилы в спелбуке – не геройские, но и у негеройских абил можно создать несколько уровней. В самом начале все абилы в спелбуке будут первого уровня. Но этот уровень можно повысить триггерным действием Unit set level of ability. Просто укажите название абилы из спелбука и ее новый уровень.

Как сделать, чтобы способности в спелбуке выдавались не одна за другой, а в определенном порядке?

Расположение абил в спелбуке зависит от их порядка в спелбуке:
[1] [2] [3] [4]
[5] [6] [7] [8]
[9] [10] [11] [x]
К примеру, вам нужно, чтобы в спелбуке были 2 абилы, располагающиеся в позициях 1 и 5. Можно на место 2, 3 и 4 вставить абилу с пустой черной иконкой и пустым описанием. Но есть способ проще.
Вместо 2, 3 и 4 абилы вставьте в спелбук способность «Оплести рудник» или любую другую пустышку. Затем триггерным действием Игрок -> Enable/disable ability запретите эту способность игроку. Тогда вместо них в спелбуке будут пустоты.
Старый 01.12.2005, 17:28
NETRAT

offline
Опыт: 83,712
Активность:
Sergey
1) Эта блокировка с пассивными абилами работает через раз
2) Функция проверки блокировки абилы есть - где?
3) Блокировка всех абил для игрока - не то что мне нужно - у меня же Multiinstance

Третий способ надо обдумать...

Жаль что абиле нельзя дать уровень 0
Старый 01.12.2005, 17:55
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Все три способа нормально работают.
  1. Скорее всего что-то неправильно делаешь.
  2. Есть, но она работает для всех юнитов игрока. Она находится не в категрии Юниты, а в категории Игрок (Player)
  3. Блокируется ТОЛЬКО указанная абила, но у всех юнитов игрока. Это ничуть не мешает мультиинстансу, при условии, что у каждого игрока только 1 юнит может владеть данной способностью.
Старый 01.12.2005, 18:08
NETRAT

offline
Опыт: 83,712
Активность:
По поводу летающей овцы - тоже не подходит под Multiinstance

Sergey благодарю, ты мне очень помог, третий способ прошел с одним "но" - абилы спеллбука, которые добавляются к юниту склеивают заклинания внутри книг, однако кнопка абилы все таки добавляется - то есть получаем несколько абил с одинаковыми спеллбуками, чтобы этого избежать, следует запрещать(скрывать) все абилы спеллбука, кроме первой

NETRAT добавил:
советую исправить фак

1. Я точно ничего не путаю - абила от айтема на основе сферы огня - сама по себе при запрещении не запрещается, а если добавить трушот ауру, то запрещается - баг точно есть, но он достаточно тонкий
2. Теперь не столь важно, мне нужен был Жасс эквивалент
3. Ну какой же это мультиинстанс

В-общем вопрос снят, то, что мне нужно было, я узнал, спасибо
Старый 01.12.2005, 20:55
BART1661

offline
Опыт: 808
Активность:
Посмотри эту карту.
Может поможет.
Старый 24.03.2006, 03:06
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 22:15.