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

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

Ответ
 
Шева

offline
Опыт: 1,174
Активность:
Добавления скила вкнигу
Подскажите плиз возможно ли как то добавлять скил в книгу заклинаний не делая новую книгу, ну допустим у меня есть 10 скилов, и 1 книга заклинаний, и каждый лвл мне надо добавить скил в книгу, как можна это сделать не заменяя книгу на другую уже не с 1 а с 2 скилами? и возможно ли проследит какие скилы уже там есть а каких нету, чтобы сделать как условие мол такой то скил у героя уже добавлен или что то в этом роде
Старый 10.06.2008, 00:33
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
Внеси все абилки в спелбук, и вначале (к примеру при инициализации карты) триггерно запрети их использование: Игрок - Заблокировать <одна из твоих абилок> фор каст, ну а потом тоже триггерно по очереди разрешаешь их использование:
С - Юнит повышает уровень
Д - Игрок - Разблокировать <одна из твоих абилок> фор каст. Это самый оптимальный вариант.
Старый 10.06.2008, 00:48
Шева

offline
Опыт: 1,174
Активность:
а можно както отследить разблокирована ли абилка или не? чтобы засунуть это в условие трига, это бы упростила мне жизнь)) да и карта пахала бы лучше а то 144 переменных в массиве делать как то не хо)))
Старый 10.06.2008, 00:54
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
И есчо: желательно при разрешении одной из абилок в условиях проверять уровень героя со спелбуком:
У - Тригеринг юнит has а item of type <Спелбук>; Level оф Тригеринг юнит равно <х>

Flareon добавил:
Цитата:
Сообщение от Шева
а можно както отследить разблокирована ли абилка или нет

Это еще зачем??
Старый 10.06.2008, 01:02
Шева

offline
Опыт: 1,174
Активность:
Ну просто у меня такая ситуация, у меня идет обучение скилов через диалог, и просто если ты уже выучил этот скил мне надо чтобы кнопка пропала... но желательно без переменных.... с переменными то я знаю как сделать, было бы их дето 10 хорошо я бы сделал и забыл, а тут просто количество не хилое)) и я боюсь что это норм повлияет на вес и работоспособность карты...
Старый 10.06.2008, 01:04
Malcolm
the jester
offline
Опыт: 2,894
Активность:
булевые переменные не сильно карту завесят
Старый 10.06.2008, 01:13
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
Ну вобщем можно... это... а скилы у тебя учатся при повышении уровня или как-нить подругому?
Старый 10.06.2008, 01:13
akkolt

offline
Опыт: 13,826
Активность:
Ну попробуй так:
Код:
function Trig_Skill_Conditions takes nothing returns boolean
    if ( not ( EVENT_UNIT_HERO_SKILL() == 'Твой скилл' ) ) then
        return false
    endif
    return true
endfunction

Ну или как-то так.
Извини, редактора под рукой нет, а вообще там-ж вроде в условиях есть леарнд херо скилл? или я ошибаюсь?
Старый 10.06.2008, 01:20
Шева

offline
Опыт: 1,174
Активность:
Там на скоко я помню есть токо применяемый скил..... и скилы будут лиш 1 лвл так что это немного упрощает все....но их будет по 36 и героя....
Старый 10.06.2008, 01:25
akkolt

offline
Опыт: 13,826
Активность:
Цитата:
булевые переменные не сильно карту завесят

Зато моск автору они завесят пополное нехачу, ибо геморно очень. Ну хотя это уже автору решать...

akkolt добавил:
А я подумал, зачем создавать 100 массивов, и проверять: есть ли в этом массиве герой, когда можно создать один, и проверять, в каком номере массива хранится скил (предварительно их туда нужно впихнуть). и усё! и никакого гемора нет =D

akkolt добавил:
Ещё можно вот так:
Код:
function GetAbilityName takes integer abilcode returns string
    return GetObjectName(abilcode)
endfunction

А потом в действии убирать из диалога (abilitycode)
Старый 10.06.2008, 01:33
Шева

offline
Опыт: 1,174
Активность:
Думаешь я бы не сделал так если бы это было для 1 игрока?)) дело в том что оно для 8 игроков, и получается в зависимости от того кто игрок инициатор у меня решает добавлять те или иные кнопки или не))) так что с 1 переменной не покатит а вот про код кастом скрипта поподробнее все растолкуй плиз))
Старый 10.06.2008, 01:37
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
Оо, у мну в моске блеснула идея! Короч, при изучении абилы, т.е. при отображении диалога к каждой кнопке применяй условие if level оф абилити <001> фор твой герой меньше 1 then Диалог - <трам-пара-рам> else <нифика у вас не выйдет>
Старый 10.06.2008, 01:38
ScorpioT1000
Работаем
online
Опыт: отключен
Бд скиллов можно еще..
Старый 10.06.2008, 01:39
Шева

offline
Опыт: 1,174
Активность:
Flareon а это реально мысля)))) Завтра проверю и отпишусь о результате)) а пока всем бб
Старый 10.06.2008, 01:41
akkolt

offline
Опыт: 13,826
Активность:
Ну что тут мона сказать? Триггерно достаётся код абилы юнита, потом он ретурнится, и его мона применять в действии, убирая этот код оттудова (из диалога)
А с массивом я тя не понял, сдесь же кол-во игроков не имеет значения, мы просто проверяем, в какой ячейке юнита хранится скилл.
Или ты хошь для каждого юнита свои скиллы покупать?
Старый 10.06.2008, 01:44
Шева

offline
Опыт: 1,174
Активность:
НЕ для этого у меня свой магазин для каждого типа))) а так типа....))) ну мне нравится идея с лвл вить если он не прокачан лвл его 0?)) делаю просто сравнение чисел типа уровень абилки для херо номер игрока иниц рано 0 равно да и все)) и вроди никакого гемороя
Старый 10.06.2008, 01:52
akkolt

offline
Опыт: 13,826
Активность:
Я предполагаю следующий вопрос автора будет: "почему не получается, я хоть прокачиваю, хоть нет, а лвл в тригах всёравно 0, что делать?"
Сразу отвечу на него. Я когда одному из форумян почти такую-же наработку делал, столкнулся с такой-же проблемой.
Решение: просто измени поле в РО пропустить требования уровня. Поставь чё хошь, тока не ноль. Т.К. в константах число хоть и записано, с тригами его близы не связали, вот триги и прибавляют к 0 ещё один ноль, и в итоге получается ноль (типа герой хоть качает абилу, хоть нет, а она всёравно 0)
Если честно очень хочется знать, столкнётся ли автор с этой проблемой. Автор, если сталкнёшься, напиши.
Старый 10.06.2008, 02:22
CDJ
Unity 3D engine user
offline
Опыт: 5,954
Активность:
Цитата:
Сообщение от ScorpioT1000
Бд скиллов можно еще..

А ето как? :)
Старый 10.06.2008, 02:26
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
Цитата:
Сообщение от akkolt
просто измени поле в РО пропустить требования уровня. Поставь чё хошь, тока не ноль. Т.К. в константах число хоть и записано, с тригами его близы не связали, вот триги и прибавляют к 0 ещё один ноль, и в итоге получается ноль

это только для воинских и предметных абилок, в геройских и так везде стоит 1!
Старый 10.06.2008, 11:34
Шева

offline
Опыт: 1,174
Активность:
Ну короче я щя попробую сделать в тестике и отпишусь что получилось))

Шева добавил:
Хоть убей но не могу найти заблокировать абилку юниту...... плюс абилка то в книге заклинаний, а с лвл тоже 1 плоховато он стоит 1 и ниже нельзя, но тут то мона найти выход, сделать скил на 2 лвл и сделать их абсолютно идентичными, и все вот и решение это проблы, но тогда остаёться еще 1 проблема как мне заблокировать скил? и не кажется ли вам туповато? что вы начинаете играть а у вас уже все скилы открыты?.... лучше бы если было бы какое то действие хоть в кастом скрипт добавить абилку в книгу, не создавая новую)) лана жду ваших мнений
Старый 10.06.2008, 12:05
Ответ

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

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

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

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



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