Шанс на появление способности
|
|
vadik1337 | Дата: Среда, 16 Июля 2014, 09:24:11 | Сообщение # 1 |
4 уровень
Группа: Проверенные
Сообщений: 85
Награды: 0
Репутация: 19
Блокировки:
| Всем привет, возник такой вопрос можно ли сделать такую способность что когда герой атакует врага у героя есть (10)(15)(20)(25)% шанс на то что появится рандомная способность желательно в виде триггера так как я не очень ас в этом
|
|
|
|
Наклз | Дата: Среда, 16 Июля 2014, 11:42:26 | Сообщение # 2 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Да, но список этих "рандомных" способностей ты должен будешь сам составить. Так же ещё, как эта способность должна пропасть? После использования или по времени?Добавлено (16 Июля 2014, 11:42:26) --------------------------------------------- Вообщем решил сделать так что бы пропадали по времени, а не по использованию, т.к. если сделать по времени - то появляется возможность добавлять ауры. Вот пример TestSpell.w3x; Вот пример с ограничением на одну способность одновременно TestOnly1.w3x, ну то есть вы не можете "захватить" вторую способность, пока не пропала первая. Сделано на GUI. Некоторые спросят почему такая странная "структура условий", мне кажется добавлять условие для каждого нового уровня способности в "иначе" сделает код менее "тяжёлым" для компьютера, т.к. если срабатывает 1 условие, от стальные даже не проверяются, т.к. не может же юнита быть 2 одинаковые способности с разными уровнями.
И да простят меня боги редактирования за использования вейта, но мне показалось что лучше так, чем использовать таймера и отдать им нишу Custom Value.
|
|
|
|
Gera342 | Дата: Среда, 16 Июля 2014, 11:54:18 | Сообщение # 3 |
3 уровень
Группа: Пользователи
Сообщений: 60
Награды: 0
Репутация: 6
Блокировки:
| Да, можно. Вот пример. Событие: Юнит атакован. Условие: Атакующий юнит (твой герой) Если случайное число в диапазоне от 0 до 100 меньше или равно равно (5+(5*(уровень скилла))) Действие: Функция (если/то/иначе) Если случайное число в диапазоне между 1 и 3 равно 1 То Добавить добавить юниту (герою) способность Смертельный удар. Иначе: Если случайное число в диапазоне между 1 и 3 равно 2 То Добавить добавить юниту (герою) способность Сильный удар. Иначе: Если случайное число в диапазоне между 1 и 3 равно 3 То Добавить добавить юниту (герою) способность Аура Смерти.
|
|
|
|
SirNikolas | Дата: Среда, 16 Июля 2014, 12:02:42 | Сообщение # 4 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата Gera342 ( ) Функция (если/то/иначе) Если случайное число в диапазоне между 1 и 3 равно 1 То Добавить добавить юниту (герою) способность Смертельный удар. Иначе: Если случайное число в диапазоне между 1 и 3 равно 2 То Добавить добавить юниту (герою) способность Сильный удар. Иначе: Если случайное число в диапазоне между 1 и 3 равно 3 То Добавить добавить юниту (герою) способность Аура Смерти. В итоге Смертельный удар будет выпадать с вероятностью 33%, Сильный удар - 11%, Аура смерти - 3.6%. Остальные 52.4% не будет выпадать ничего. Ах да, все это множится на вероятность 5+(5*(уровень скилла)), что сводит шанс выпадения практически в ноль.
|
|
|
|
vadik1337 | Дата: Среда, 16 Июля 2014, 22:55:19 | Сообщение # 5 |
4 уровень
Группа: Проверенные
Сообщений: 85
Награды: 0
Репутация: 19
Блокировки:
| возник вопрос а в условие нельзя добавить что у героя должна быть пассивка(Пример Рандомный Скилл) чтобы выпадали скиллы ну типа так для красоты
Сообщение отредактировал vadik1337 - Среда, 16 Июля 2014, 22:55:32 |
|
|
|
Extremator | Дата: Среда, 16 Июля 2014, 23:17:31 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| если уровень скилла "Аура Фигня" у юнита (твой юнит) больше 0 то
// это можно забить при старте карты set Spell[1] = крит set Spell[2] = аура регена set Spell[3] = блок
set I = случайное число от 1 до 3 дать юниту скил spell[I]
|
|
|
|
Наклз | Дата: Четверг, 17 Июля 2014, 08:37:37 | Сообщение # 7 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Цитата vadik1337 ( ) возник вопрос а в условие нельзя добавить что у героя должна быть пассивка(Пример Рандомный Скилл) чтобы выпадали скиллы ну типа так для красоты Ты издеваешься? Я же тебе карту-пример дал...
|
|
|
|
vadik1337 | Дата: Пятница, 18 Июля 2014, 03:15:20 | Сообщение # 8 |
4 уровень
Группа: Проверенные
Сообщений: 85
Награды: 0
Репутация: 19
Блокировки:
| Цитата Наклз ( ) Ты издеваешься? Я же тебе карту-пример дал.. да спасибо за пример он очень помог, но у меня возник вопрос а разве в custom script local integer будет работать если карта запускается в сети? просто где то прочитал что local лучше не использовать для карты в сети
|
|
|
|
Extremator | Дата: Пятница, 18 Июля 2014, 03:24:19 | Сообщение # 9 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Цитата vadik1337 ( ) просто где то прочитал что local лучше не использовать для карты в сети скорее всего ты просто не понял суть того о чём шла речь...
|
|
|
|
vadik1337 | Дата: Пятница, 18 Июля 2014, 15:10:48 | Сообщение # 10 |
4 уровень
Группа: Проверенные
Сообщений: 85
Награды: 0
Репутация: 19
Блокировки:
| Цитата Extremator ( ) скорее всего ты просто не понял суть того о чём шла речь... возможноДобавлено (18 Июля 2014, 15:10:48) --------------------------------------------- Спасибо всем, скилл сделал:3
|
|
|
|
SirNikolas | Дата: Суббота, 19 Июля 2014, 14:19:04 | Сообщение # 11 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата Extremator ( ) скорее всего, ты просто не понял суть того, о чём шла речь. Скорее всего, речь шла о неправильном использовании GetLocalPlayer, которое чревато вылетом игроков при сетевой игре.
|
|
|
|