DmCreator
offline
Опыт:
3,205Активность: |
Триггерный стан
Как триггерно застанить юнита на нужноее мне время? И не через дамми-каст! Я что-то слышал про код команды (аля move, stop, attack, etc.), которая вводит юнита в стан - если такой существует, то что это за код и как с ним работать? |
02.09.2009, 16:41 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Myth
The Temple
offline
Опыт:
19,141Активность: |
DmCreator, может просто поставить юнита на паузу, добавив спец.эфект?
Боевая единица - Пауза <unit> и Создать специальный эфект на юните |
02.09.2009, 16:50 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DmCreator
offline
Опыт:
3,205Активность: |
а как время регулировать? хотя... в моей карте можно привязать юнита к юниту... создать дамми, связать с юнитом, паузить юнита, добавить expiration timer дамми и когда дамми отмирает разпаузить юнита... это нормальный вариант? |
02.09.2009, 16:53 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Myth
The Temple
offline
Опыт:
19,141Активность: |
DmCreator, можно сделать через локалку) также надо будет проверять, что если юнит помер, то также снять стан. |
02.09.2009, 16:55 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DmCreator
offline
Опыт:
3,205Активность: |
как через локалку? с вейтом чтоль?
проверку легко сделать |
02.09.2009, 16:58 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
Myth, отвратительный способ, если у тебя больше одного такого спелла на карте. Допустим, один спелл станит на 3 секунды, а другой на 15. И вот, в одного и того же юнита влетают два этих спелла подряд. Сначала паузит трёхсекундный, затем пятнадцатисекундный. В итоге, через три секунды после первого пауза снята, второй, получается, улетел в пустоту.
DmCreator, гораздо лучше так всё же создавать даммика с "Молотом бурь". |
02.09.2009, 17:02 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Myth
The Temple
offline
Опыт:
19,141Активность: |
DmCreator, что-то типа этого:
local unit u
пауза <unit> set u = <unit> ждать <time> продолжить <unit> set u = null Myth добавил:
время на стан можно высчитывать через дополнительные действия, учитывая все наложения-переналожения! конечно это только лишняя морока! DmCreator, действительно, дамми всегда рулили) |
02.09.2009, 17:07 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DmCreator
offline
Опыт:
3,205Активность: |
FREEZE_ball, смерть! станы же не суммируются, а создавать для всех абилок дополнительные абилки с лвлами и думать над ними - это и есть смерть
ЗЫ:
в карте я магию писал какбы с нуля - сделал свой "генератор" снарядов для магии (там и целевые и волновые и т.п.) и свой обработчик их - это всё для того, чтобы магия зависела от характеристик героя и чтобы нормально делать предметы на увеличение/уменьшение spd, весь урон триггерно наносится, вот хочется ещё и станы ЗЫЫ:
в обработчике я могу проверять, что если уже был "стан" , то он убирается(т.е. его эффект, дамми и т.д.) и добавляется новый - и всё будет хорошо (обработчик я граммотно написал)
Myth, я не просил решения для отказывания от дамми, мне с ними и проще будет и удобней |
02.09.2009, 17:11 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
DmCreator, ну, если есть дополнительные просчёты, тогда всё нормально, можно и через паузу. Хотя я бы всё равно рекомендовал создавать даммика, с ним проще и удобнее, и меньше переменных и проверок.
Цитата:
Не суммируются, но удаляются движком, что в-общем-то, быстрее. |
|
02.09.2009, 17:15 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DmCreator
offline
Опыт:
3,205Активность: |
быстрее чего? быстрее чем писать код =) мне-то нужно много станов с разной длительностью - это дольше чем писать код а что ещё страшней - длительность стана от чего-нибудь зависящая! |
02.09.2009, 17:20 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
laViper
offline
Опыт:
10,883Активность: |
Ты бы скинул примеры спеллов которые хочешь воплотить, может в некоторых случаях лучше и удобнее сделать дамми с небольшой градацией длительности стуна - например с 0,5 до 3 с шагом в 0,5. Какой смысл писать кучу кода, когда спелл уже сделан Близардом? А то сделаешь спелл а разницу между стуном в 2,787474 секунды и в 2,801243 секунды ты врятли почувствуешь. |
02.09.2009, 18:56 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DmCreator
offline
Опыт:
3,205Активность: |
laViper, тут стан зависить будет и от хар-ок и от лвлов и от предметов, да мне и проще через так делать
DmCreator добавил: вообщем эту тему закрывайте, нового мне больше не скажут, да и не надо Отредактировано DmCreator, 02.09.2009 в 21:32. |
02.09.2009, 19:25 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
laViper
offline
Опыт:
10,883Активность: |
Хм, ну все равно стун должен длится не более 10 секунд - иначе ето имба, если еще и пвп. Если в пве то тоже, странный моб, которого надо бить по 10 секунд. Если ето босс то стан против боссов ето скучно и легко. Шаг ну 0,5 или 0,25 секунды если сделать, ты немногое потеряешь - это всего 20 уровней у спела. И использовать у дамми юнита хоть на масс, хоть на 1 цель. |
02.09.2009, 21:44 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DmCreator
offline
Опыт:
3,205Активность: |
laViper, поверь, станы против боссов будут в три раза короче минимум, да и 10-ти секундных тоже не будет
я сделаю ограничение на макс. длительность стана, либо отрегулирую зависимости (либо и то и то) про 20-уровневый спелл - ты просто не видел всю мою систему, там очень легко будет прописать стан (я его уже начал писать)
да и вообще, когда я выложу на форум проэкт, то систему кину в наработки - увидишь, поёмешь =)
в любом случае, спасибо за советы, я их всегда ценю
DmCreator добавил: laViper, xgm.ru/forum/showthread.php?p=659713#post659713 вот - часть системы (но эта для магических снарядов) |
02.09.2009, 23:50 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZregerZ
Мы - лёд!
offline
Опыт:
7,029Активность: |
лол в 1.24 патче SCV неработает
|
03.09.2009, 19:11 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
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 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DmCreator
offline
Опыт:
3,205Активность: |
занят, но я могу к юниту переменную привязать, так может и проще будет, но только если станов будет мало |
04.09.2009, 18:56 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
laViper
offline
Опыт:
10,883Активность: |
Кажется знаю, как обойтись без этого. Я конечно может еще не совсем правильно разобрался в работе SCV, но как я понял прикол в том RB дает нам уникальный номер юнита (нам пока только они важны), и по этому номеру мы записываем и вынимаем информацию из кеша для этого юнита. А теперь главный прикол - почему бы нам в наш CV самим не задать каждому юниту уникальный номер (из псевдослучайной последовательности такая как например простая последовательность 1,2,3,4..) потом в кеш заносить в соответствующую категорию (номер нашего бойца), под например Label "стан" целочисленное значение времени оглушения. Если в 24 версии отобрали RB, дак мы сами пропишем юнитам порядковые номера. И для юнита сможем хранить сколько угодно значений, и даже ссылки на юнитов. |
04.09.2009, 22:20 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DmCreator
offline
Опыт:
3,205Активность: |
laViper, чувак, забудь про SCV - "это миф, чтобы пудрить мозги чебурашкам"(с)
и про RB забудь - после 1.24 это тоже миф! теперь я прочитал твой пост целиком: ты туда и кеш хочешь вплести? Оо
вместо него создаются массивы длинной 1 элемент а вот это то, о чём я тебе и говорил много раз мог бы соизволить и тему посмотреть: посмотри, как там сделано! |
04.09.2009, 22:34 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
laViper
offline
Опыт:
10,883Активность: |
Кеш удобнее массива, поскольку его можно считать динамичесим массивом. Из него легко достать и легко записать значение. Массивы в любом случае ограничены заданым размером, а если их создавать то все равно это более сложно. Так что кеш пока самое просто решение. Про SCV рано забывать - это идея, а реализация значения не имеет. |
04.09.2009, 22:57 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|