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

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

Ответ
 
AiDSeller
За здоровый образ жизни
offline
Опыт: 6,094
Активность:
Временный спецэффект
Вопрос таков: можно ли создать спецэффект, который со временем сам бы удалялся? Просто если некоторые не удалить, то они будут играть до бесконечности (Впрочем, даже если не проигрывается, то всё равно думаю что он никуда не исчез). Отслеживать каждый спецэффект через переменную немного напряжно. Так вот, можно ли каким-то образом сделать наподобие таймера истечения как у юнитов? Заранее спасибо. Работаю на GUI, War3, v.1.23.
Старый 27.03.2011, 05:13
granderpro

offline
Опыт: 12,165
Активность:
ну тут без переменной никак , заноси в переменную запускай таймер и по истечении ремувай спецеффект
Старый 27.03.2011, 05:40
Extremator

offline
Опыт: 39,512
Активность:
Есть другой вориант, он канешно чуть прибавляет работы, но при этом даёт ещё несколько полезных функций для работы)))

Создай дамми с файлом модели нужного тебе спецэффекта...
Ставишь дамми на нужно место и даёшь ему таймер жизни...
+можно регулировать окрас/размеры/наклоны такого спецэффекта)))
Старый 27.03.2011, 10:20
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Extremator, а если этот эффект нужен на юните????
AiDSeller, если тебе надо чтобы спецэффект проигрался один раз, то осле добавления сразу удаляй его. Я тоже сперва думал что это бред пока не попробовал. Если же надо больше чем 1 раз, то тут нужно писать код. Для этого создаешь 3 массивные переменные.
effects_e - эффект
effects_time - реал
effects_lifetime - реал
effects_count - целое (не массив)
дальше создаешь переодический триггер (лучше таймер) и там делаешь такой код
Код:
Цикл от А = 0 до Б = effects_count
 set effects_time[A] = effects_time[A] + период таймера
 Если effects_time[A] >= effects_lifetime[A] То
  Удалить спецэффект (effects_e[A])
 Конец Условия
Конец цикла

а когда создаешь делаешь так
Код:
set effects_count = effects_count + 1
Добавить спецэффект
set effects_e[effects_count] = последне созданый
set effects_lifetime[effects_count] = 15

Вот и все. Но имхо это будет глючно на гуи, в vjass можно сделать проще и более быстрее будет работать
Старый 27.03.2011, 10:33
Extremator

offline
Опыт: 39,512
Активность:
Цитата:
Сообщение от alexprey
а если этот эффект нужен на юните????
Ну тогда дать пустышку от брони на арт с прикреплённым эффектом и отобрать через X времени...или по истечению времени... не?
Старый 27.03.2011, 10:44
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
а в чём разница в удалении абилы и эффекта тогда?
Старый 27.03.2011, 10:47
Extremator

offline
Опыт: 39,512
Активность:
16GB, спецэффект можно наложить на юнита 2 раза (а это может быть не желатьно...хотя и наоборот), и если спецэффек не запомнен в переменную, то его нельзя будет удалить (простым способом (на гуях))... А абилку всегда можно отбрать у юнита который ей владеть не должен... даже если он получил её случайно...ну там в случаи бага или ещё чего такого...
Старый 27.03.2011, 10:51
AiDSeller
За здоровый образ жизни
offline
Опыт: 6,094
Активность:
alexprey, твой код не подходит, удалить триггер я и сам могу. Мне хотелось чтобы вручную его не надо было удалять, чтобы удалялся сам ;)
Старый 27.03.2011, 11:27
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
AiDSeller, он сам удаляется... Явно ты не понимаешь в ГУИ =)
Таймер просто проверяет в цикле, если время превысило время жизин то он его ремувит САМММММ!!!!!
Старый 27.03.2011, 11:31
AiDSeller
За здоровый образ жизни
offline
Опыт: 6,094
Активность:
alexprey:
Явно ты не понимаешь в ГУИ =)
Да ладно?
Я тебе про другое, то что удаляется я уже вижу. Но это, опять-таки, переменные и массивы. Мне же нужен был способ как с юнитами: создал, установил таймер истечения и не паришься.
Старый 27.03.2011, 13:28
Ответ

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

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

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

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



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