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

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

Ответ
 
DmCreator

offline
Опыт: 3,205
Активность:
Триггерный стан
Как триггерно застанить юнита на нужноее мне время? И не через дамми-каст! Я что-то слышал про код команды (аля move, stop, attack, etc.), которая вводит юнита в стан - если такой существует, то что это за код и как с ним работать?
Старый 02.09.2009, 16:41
Myth
The Temple
offline
Опыт: 19,141
Активность:
DmCreator, может просто поставить юнита на паузу, добавив спец.эфект?

Боевая единица - Пауза <unit>
и Создать специальный эфект на юните
Старый 02.09.2009, 16:50
DmCreator

offline
Опыт: 3,205
Активность:
а как время регулировать?
хотя... в моей карте можно привязать юнита к юниту...
создать дамми, связать с юнитом, паузить юнита, добавить expiration timer дамми и когда дамми отмирает разпаузить юнита...
это нормальный вариант?
Старый 02.09.2009, 16:53
Myth
The Temple
offline
Опыт: 19,141
Активность:
DmCreator, можно сделать через локалку)
также надо будет проверять, что если юнит помер, то также снять стан.
Старый 02.09.2009, 16:55
DmCreator

offline
Опыт: 3,205
Активность:
как через локалку? с вейтом чтоль?
проверку легко сделать
Старый 02.09.2009, 16:58
FREEZE_ball
Cataclysm => жара
offline
Опыт: 15,247
Активность:
Myth, отвратительный способ, если у тебя больше одного такого спелла на карте. Допустим, один спелл станит на 3 секунды, а другой на 15. И вот, в одного и того же юнита влетают два этих спелла подряд. Сначала паузит трёхсекундный, затем пятнадцатисекундный. В итоге, через три секунды после первого пауза снята, второй, получается, улетел в пустоту.

DmCreator, гораздо лучше так всё же создавать даммика с "Молотом бурь".
Старый 02.09.2009, 17:02
Myth
The Temple
offline
Опыт: 19,141
Активность:
DmCreator, что-то типа этого:
local unit u
пауза <unit>
set u = <unit>
ждать <time>
продолжить <unit>
set u = null
Myth добавил:
FREEZE_ball, способ, согласен, не лучший!
но речь шла об отсутсвии дамиков)
Myth добавил:
время на стан можно высчитывать через дополнительные действия, учитывая все наложения-переналожения! конечно это только лишняя морока!

DmCreator, действительно, дамми всегда рулили)
Старый 02.09.2009, 17:07
DmCreator

offline
Опыт: 3,205
Активность:
FREEZE_ball, смерть! станы же не суммируются, а создавать для всех абилок дополнительные абилки с лвлами и думать над ними - это и есть смерть
ЗЫ:
в карте я магию писал какбы с нуля - сделал свой "генератор" снарядов для магии (там и целевые и волновые и т.п.) и свой обработчик их - это всё для того, чтобы магия зависела от характеристик героя и чтобы нормально делать предметы на увеличение/уменьшение spd, весь урон триггерно наносится, вот хочется ещё и станы
ЗЫЫ:
отвратительный способ, если у тебя больше одного такого спелла на карте. Допустим, один спелл > станит на 3 секунды, а другой на 15. И вот, в одного и того же юнита влетают два этих спелла
подряд. Сначала паузит трёхсекундный, затем пятнадцатисекундный. В итоге, через три секунды > после первого пауза снята, второй, получается, улетел в пустоту.
в обработчике я могу проверять, что если уже был "стан" , то он убирается(т.е. его эффект, дамми и т.д.) и добавляется новый - и всё будет хорошо (обработчик я граммотно написал)
Myth, я не просил решения для отказывания от дамми, мне с ними и проще будет и удобней
Старый 02.09.2009, 17:11
FREEZE_ball
Cataclysm => жара
offline
Опыт: 15,247
Активность:
DmCreator, ну, если есть дополнительные просчёты, тогда всё нормально, можно и через паузу. Хотя я бы всё равно рекомендовал создавать даммика, с ним проще и удобнее, и меньше переменных и проверок.

Цитата:
FREEZE_ball, смерть! станы же не суммируются, а создавать для всех абилок дополнительные абилки с лвлами и думать над ними - это и есть смерть

Не суммируются, но удаляются движком, что в-общем-то, быстрее.
Старый 02.09.2009, 17:15
DmCreator

offline
Опыт: 3,205
Активность:
Не суммируются, но удаляются движком, что в-общем-то, быстрее
быстрее чего? быстрее чем писать код =)
мне-то нужно много станов с разной длительностью - это дольше чем писать код
а что ещё страшней - длительность стана от чего-нибудь зависящая!
Старый 02.09.2009, 17:20
laViper

offline
Опыт: 10,883
Активность:
Ты бы скинул примеры спеллов которые хочешь воплотить, может в некоторых случаях лучше и удобнее сделать дамми с небольшой градацией длительности стуна - например с 0,5 до 3 с шагом в 0,5. Какой смысл писать кучу кода, когда спелл уже сделан Близардом? А то сделаешь спелл а разницу между стуном в 2,787474 секунды и в 2,801243 секунды ты врятли почувствуешь.
Старый 02.09.2009, 18:56
DmCreator

offline
Опыт: 3,205
Активность:
laViper, тут стан зависить будет и от хар-ок и от лвлов и от предметов, да мне и проще через так делать
DmCreator добавил:
вообщем эту тему закрывайте, нового мне больше не скажут, да и не надо

Отредактировано DmCreator, 02.09.2009 в 21:32.
Старый 02.09.2009, 19:25
laViper

offline
Опыт: 10,883
Активность:
Хм, ну все равно стун должен длится не более 10 секунд - иначе ето имба, если еще и пвп. Если в пве то тоже, странный моб, которого надо бить по 10 секунд. Если ето босс то стан против боссов ето скучно и легко.
Шаг ну 0,5 или 0,25 секунды если сделать, ты немногое потеряешь - это всего 20 уровней у спела. И использовать у дамми юнита хоть на масс, хоть на 1 цель.
Старый 02.09.2009, 21:44
DmCreator

offline
Опыт: 3,205
Активность:
laViper, поверь, станы против боссов будут в три раза короче минимум, да и 10-ти секундных тоже не будет
я сделаю ограничение на макс. длительность стана, либо отрегулирую зависимости (либо и то и то)
про 20-уровневый спелл - ты просто не видел всю мою систему, там очень легко будет прописать стан (я его уже начал писать)
да и вообще, когда я выложу на форум проэкт, то систему кину в наработки - увидишь, поёмешь =)
в любом случае, спасибо за советы, я их всегда ценю
DmCreator добавил:
laViper, xgm.ru/forum/showthread.php?p=659713#post659713
вот - часть системы (но эта для магических снарядов)
Старый 02.09.2009, 23:50
ZregerZ
Мы - лёд!
offline
Опыт: 7,029
Активность:
лол в 1.24 патче SCV неработает
Старый 03.09.2009, 19:11
laViper

offline
Опыт: 10,883
Активность:
Не совсем. Можно на 24 реализовать используя простой CV.(если он у тебя ничем не занят)
Тригер 1
при касте абилки любой которая должна оглушать
-создать дами юнита возле цели заклинания
-скастовать дами юнитом стан на 9999 секунд на цель
-убрать дами юнита
-записать в CV цели (оглушенной) вычисленное количество времени стана (100 например при 1 секунде стана, 456 если 4,56 секунды стана)
[Уточнение записывать Max(Прошлое значение,Новое значение)]
Тригер 2
каждые 0,01 секунд
-уменьшать CV у всех юнитов на 1 (если значение CV больше 0)
-проверить если 0 то снять бафф стана
[не забудь оптимизацию]
Записываем максимум тк если цель была оглушена на 5 секунд, а сразу следующий стан на 1 секунды, то он должен простоять все равно первые 5 секунд. Если у тебя масс стан то просто делай через Pick и оглушай нужное кол-во народу.
Старый 04.09.2009, 12:06
DmCreator

offline
Опыт: 3,205
Активность:
если он у тебя ничем не занят
занят, но я могу к юниту переменную привязать, так может и проще будет, но только если станов будет мало
Старый 04.09.2009, 18:56
laViper

offline
Опыт: 10,883
Активность:
Кажется знаю, как обойтись без этого.
Я конечно может еще не совсем правильно разобрался в работе SCV, но как я понял прикол в том RB дает нам уникальный номер юнита (нам пока только они важны), и по этому номеру мы записываем и вынимаем информацию из кеша для этого юнита. А теперь главный прикол - почему бы нам в наш CV самим не задать каждому юниту уникальный номер (из псевдослучайной последовательности такая как например простая последовательность 1,2,3,4..) потом в кеш заносить в соответствующую категорию (номер нашего бойца), под например Label "стан" целочисленное значение времени оглушения. Если в 24 версии отобрали RB, дак мы сами пропишем юнитам порядковые номера. И для юнита сможем хранить сколько угодно значений, и даже ссылки на юнитов.
Старый 04.09.2009, 22:20
DmCreator

offline
Опыт: 3,205
Активность:
laViper, чувак, забудь про SCV - "это миф, чтобы пудрить мозги чебурашкам"(с)
и про RB забудь - после 1.24 это тоже миф!
теперь я прочитал твой пост целиком: ты туда и кеш хочешь вплести? Оо
вместо него создаются массивы длинной 1 элемент
дак мы сами пропишем юнитам порядковые номера. И для юнита сможем хранить сколько угодно значений, и даже ссылки на юнитов.
а вот это то, о чём я тебе и говорил много раз
мог бы соизволить и тему посмотреть:
посмотри, как там сделано!
Старый 04.09.2009, 22:34
laViper

offline
Опыт: 10,883
Активность:
Кеш удобнее массива, поскольку его можно считать динамичесим массивом. Из него легко достать и легко записать значение. Массивы в любом случае ограничены заданым размером, а если их создавать то все равно это более сложно. Так что кеш пока самое просто решение. Про SCV рано забывать - это идея, а реализация значения не имеет.
Старый 04.09.2009, 22:57
Ответ

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

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

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

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



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