senatus
тихий и скромный...
offline
Опыт:
7,023Активность: |
handle...
В открытой версии доты видел использование игрового "буфера" через тип данных handle. Насколько я понял, этим реализовано что-то вроде создания переменных во время игры, доступных в различных функциях. Вроде глобальных. Но так и не понял принцип работы. Для внесения в буфер переменная используется строка. Зачем? Это выполняет роль идентификатора? Или что это вообще? Прошу объяснить знающих, пожалуйста.
Второй вопрос. Перерыл мпку архивы и так и не нашел, в каком файле(файлах) находятся выполнения стандартных спеллов. Хотелось бы код посмотреть. |
07.02.2008, 17:52 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
senatus, первый вопрос непонятен, приведи пример кода. Начет второго - код спелов заключен в коде самой игры, и его не как не посмотреть (по крайней мере пока близзард не отдаст исходники).
|
07.02.2008, 17:54 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
S
offline
Опыт:
43,833Активность: |
Цитата:
Некоторые спеллы зашиты в движок игры напрочь (иллюзия, огненное лассо), некоторые можно воспроизвести джассово... как уже сказал exploder без исходников мало что светит. |
|
07.02.2008, 18:00 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
senatus
тихий и скромный...
offline
Опыт:
7,023Активность: |
exploder опен доты сейчас с собой нету. Не могу отыскать, что бы скачать.
так. а на счет вшитых спеллов. Поню последний патч, где были добавлены тинкер, повелитель зверей и абилки к ним. Ну, превратиться в кибер-гоблина и стадо ящериц, к примеру. Так вот, вместе с патчем и экзешник изменился? Разве так. я думал где-то в архиве есть файлик, который содержит описание спеллов на джасе... Sasha ясно. Жаль. У меня проблема возникла следующая: Просто написал уже немало спеллов на джасе и в одном проэкте возникла нужда в спелле, который снимает баффы. Очищение, скажем. Так вот. Для каста используются дамми-спеллы. Кислотная бомба, к примеру. Очищение снимает бафф, а эффект остается один фиг на время, которое написано на джассе. Можно опять же с помощью джасса убрать эффекты. Но отслеживать это... как?.. Да и другие приемы, может быть, я бы усмотрел в выполнении стандартных спеллов... |
07.02.2008, 18:05 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Лось
offline
Опыт:
7,223Активность: |
senatus это же обычный RB+cache. Если не знаеш что это, найди в наработках сайта систему SCV.
|
07.02.2008, 18:15 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
да и статьи по джассу почитай, там все это есть |
07.02.2008, 18:22 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
senatus, бафф с юнита можно свесить функцией RemoveAbility(unit, baffID).
|
07.02.2008, 18:35 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
senatus
тихий и скромный...
offline
Опыт:
7,023Активность: |
exploder я в курсе. Бафф удаляется и очищением хорошо. Мне эффект снять надо.
Лось rb = Return bug? про game cache я понял. Но у него были написаны вручную функции, которые с ним работали. Вот я и удивился. Поэтому я и не понял, зачем это, если есть глобальные функции? |
08.02.2008, 12:10 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
при сработке спела проверять баф тригерно? |
08.02.2008, 13:14 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
senatus
тихий и скромный...
offline
Опыт:
7,023Активность: |
ADOLF
Смотрите. Есть абилка (назовем ее xx) , обслуживающаяся триггером при срабатывании. Она увеличивает максимальное здоровье персонажа на определенное время. Затем снимает его. При сработке какого спелла вы имеете ввиду? Очищения? Допустим, я словлю триггером время его вызова. Проверю, было ли кинуто очищение на юнита, у которого временно повышено здоровье. Сниму триггерно его здоровье. А потом здоровье еще и снимется триггером, обслуживающим xx. Какой выход? Поддерживать xx двумя функциями? Вторая будет снимать спелл? В таком случае, первая будет вызывать вторую. Проблема опять останется |
08.02.2008, 13:24 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
при касте увелечения жизни создаем таймер, аттачем на него юнита, и каждые .5 сек прверяем наличие бафа, если его нет удаляем абилу на увелечение жизни
либо при касте развеивания проверять баф и ремовать абилу, смотри сам как лучше |
08.02.2008, 13:35 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
senatus
тихий и скромный...
offline
Опыт:
7,023Активность: |
Цитата:
Да. Он отремувится развеиванием. А потом еще и отремувится триггером с событием ,5 еще раз... А может глобальную логическую переменную, которая будет означать, отремувился ли уже бафф очищением, и не ремувить триггерно еще раз, если в переменной хранится true... Вот поэтому-то я и хотел глянуть на исполнение стандарнтых спеллов. Что бы рассмотреть все условия и заранее избежать глюков. п.с. нам же не известно, будет ли рассеивание кастоваться, либо нет. А абилка на увеличение жизни накладывается на несколько секунд. и обязательно должна ремувиться. |
|
08.02.2008, 13:39 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
Цитата:
а зачем тригер с событием? ну я же и говорил, наверное лучше вариант с таймером... Цитата:
бтв, два паралеьных каста и идем курыть=/ |
||
08.02.2008, 13:56 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
senatus
тихий и скромный...
offline
Опыт:
7,023Активность: |
ADOLF Да... а курить вредно.
Поэто втф и дупликэйт моды отключены. Но это так... между прочим. А всю прелесть периодического триггера теперь понял. Идея хорошая, но не будет ли это карту больше нагружать? Боюсь спеллов с подобным устройством у меня не мало будет. |
08.02.2008, 13:59 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
нет, если есть группа объектов которые надо периодически чекить то лучше делать линейный пробег по массиву оных объектов, нежели чем каждому вешать таймер |
08.02.2008, 14:11 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
омг=/ я вообще считаю спелы которые не растчитаны на паралеьный каст кг/ам по своей натуре
периодический триг - зло, таймер добро
есть перевод експлодера, там описан кафновариант с кешем, вобщем это основа поможет понять принцип аттача на таймер) |
08.02.2008, 14:11 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
senatus
тихий и скромный...
offline
Опыт:
7,023Активность: |
ADOLF, FellGuard
Все дело в том, что, как я уже сказал, абилки именно и не расчитаны на парллельный каст, ибо у героев находятся. Приходится успокаивать себя с тем, что это причина. Сам не люблю, когда они не кастуются параллельно, но заморачиваться не стоит. Так что? Лучше вешать таймер на юнита? Так будет менее нагружено и решит проблему? |
08.02.2008, 15:44 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
Цитата:
мда, делать одинаково по времени разработки=/ опять же, наверное тогда легче запускать таймер с прверкой наличия бафа. зы и всетаки прочти перевод про создания простого стомп спела, там понятно написанно очень, фор думмиес^^ |
|
08.02.2008, 15:52 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
senatus
тихий и скромный...
offline
Опыт:
7,023Активность: |
Прочту. Ибо думмис, как я вижу, по отношению к некоторым.
А вот Цитата:
|
|
08.02.2008, 15:56 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
Код:
ADOLF добавил: мой код, т.е. как бы сделал это я тут вобщем юзаются системы, но короче, место ХАТ_СетИнт юзать сцв (крап конешно) и ДТМ модуль не использовать, а аттачить напряму АшДваАй (юнит) я даже незнаю поможет ли мой пример, но иначе писать просто уже не умею, но в принципе как видишь написание спела заняло около 2 минут =) (писал по памяти, могут быть ашипки) ADOLF добавил: exploder, кста ава жжот, только ща разглядел, можешь сделать что то аналогичное про доту и моск?) |
08.02.2008, 16:10 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|