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

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

Закрытая тема
 
Soul reAver
Мертвый вампир
offline
Опыт: 1,542
Активность:
Вот этого алгоритм и скажи, я в смысле такого действия нет. Скажи что хоть делать будешь, а то сейчас только пустые слова.
Старый 09.06.2006, 19:41
felix_ff

offline
Опыт: 757
Активность:
инвиз ты никак не сделаешь... это 100% дело в том что: ты должен придумать как сделать так что бы герой не отображался у других игроков. действие call HideUnitHide неподходит.. так как вообще скрывает юнита.. то что ты написал про фейд фильтр делает его темней и только! НО: не скрывает юнита от других игроков
на джассе это сделать нельзя... возможно что близзы располагают "полной" версией редактора в котором есть данные функции.. но в обычном ВЕ таковых нету..
Евазион ты тоже не сделаешь... ивазион тупо делается через событие Юнит-Получает урон после чего мы прибавляем к здоровью того юнита число типа реал равное полученному дамагу.
Но оно (событие) выполняется только тогда когда юнит получит урон.. а как было описсано выше если у юнита будет жизнь меньше либо равная урону то юнит сдохнет...
а действием Call SetUnitState(u, UNIT_STATE_LIFE, x) ты не оживишь данного юнита.. так что увертку ты тоже не сделаешь на джассе...
если ты думаешь что на джассе можно все то ты глубоко ошибаешься в этом. мои аргументы понятны?
точека :)
Старый 09.06.2006, 19:42
Soul reAver
Мертвый вампир
offline
Опыт: 1,542
Активность:
Сенькс феликс. Надеюсь теперь все понятно? Про инвиз еще NETRAT говорил
Старый 09.06.2006, 19:47
Celebrate

offline
Опыт: 849
Активность:
Цитата:
Евазион ты тоже не сделаешь... ивазион тупо делается через событие Юнит-Получает урон после чего мы прибавляем к здоровью того юнита число типа реал равное полученному дамагу.
Но оно (событие) выполняется только тогда когда юнит получит урон.. а как было описсано выше если у юнита будет жизнь меньше либо равная урону то юнит сдохнет...


felix_ff ДА НЕ СДОХНЕТ ОН!!!
В соседней теме я код выкладывал! Ещё в какой-то теме даже карту-пример заливал!!!

Событие Unit Takes Damage срабатывает ЗА МГНОВЕНИЕ ДО ТОГО, КАК ЮНИТ ПОЛУЧИТ ПОВРЕЖДЕНИЕ!!!!!!!!!
Поэтому, когда мы добавляем юниту жизней при unit_takes_damage не наблюдается также и никаких скачков жизней у юнитов, про которые Doid любит говорить.

ЗЫ. Вот, перезаливаю триггерное ускользание. Прошу обратить внимание на то, что это только тест события UnitTakesDamage, а не полноценное ускользание, которое делается немного посложнее (см код в соседней теме).
Прикрепленные файлы
Тип файла: w3x triggerEvasionTest.w3x (15.0 Кбайт, 20 просмотров )
Старый 09.06.2006, 21:44
felix_ff

offline
Опыт: 757
Активность:
Celebrate смотри аттач.. ну и какого ты мне будешь доказывать что событие срабатывает до получения урона? :git: :)
Прикрепленные файлы
Тип файла: w3x triggerEvasionTest.w3x (13.1 Кбайт, 19 просмотров )
Старый 10.06.2006, 02:44
vlad_C0M
Босс DarkSkyTeam
offline
Опыт: 10,459
Активность:
felix_ff . Бред. Все можно сделать как на джас, так и на простых триггерах. (Вековая моя наработка двух годичной давности)
Старый 10.06.2006, 05:29
Chel5

offline
Опыт: 785
Активность:
Инвиз может и невозможно сделать, но Evasion возможно (см. вверх).
Старый 10.06.2006, 05:33
felix_ff

offline
Опыт: 757
Активность:
vlad_C0M оО ты делал инвиз?... мона эту наработку сюда. :?
Старый 10.06.2006, 11:00
Soul reAver
Мертвый вампир
offline
Опыт: 1,542
Активность:
Странно, поставил сорке из карты в посте Селебрэйта 1хп, ее тут же убили, не работает:(
Старый 10.06.2006, 11:07
Celebrate

offline
Опыт: 849
Активность:
felix_ff антиресное кино! Ты выложил мою же карту, только убрал с неё всх юнитов и добавил Блуд МАга.
Так вот, evasion не работает только с блуд магом и только на твоей карте!!! У тебя наверно варкрафт кривой.

Celebrate добавил:
Soul reAver всмысле поставил 1хп, а не 4, как у меня стояло?
Старый 10.06.2006, 11:10
Soul reAver
Мертвый вампир
offline
Опыт: 1,542
Активность:
Жизни у сорки по дефолту стояли (200 по-моему) я поставил максимум жизней на 1хп и ее убили!
В стандартных абилах уворот, щит маны даже при таких условиях все живы-здоровы.
Старый 10.06.2006, 11:13
Chel5

offline
Опыт: 785
Активность:
Ну сдлеайте кто-нибудь инвиз на джассе.
Старый 10.06.2006, 11:23
Celebrate

offline
Опыт: 849
Активность:
Soul reAver МАКСИМУМ ЖИЗНЕЙ?
А ну тогда понятно. Мой триггер - всего лишь проверка события UnitTakesDamage, а не полноценный уворот. Его ищем в соседней теме.

Chel5 хз как его делать.
Старый 10.06.2006, 11:26
Soul reAver
Мертвый вампир
offline
Опыт: 1,542
Активность:
Это невозможно!!!!!!
МБ для одиночной игры, но для сетевой это вызовет десинк!!!!!!!!!!!!!
Старый 10.06.2006, 11:27
Chel5

offline
Опыт: 785
Активность:
Может кто-нибдуь влезет в движок игры и ваще посмотрит как там сделан этот скилл.
Старый 10.06.2006, 11:32
Celebrate

offline
Опыт: 849
Активность:
Chel5 если бы было возможно залезть в движок игры... то это было бы здорово.
Старый 10.06.2006, 11:38
Chel5

offline
Опыт: 785
Активность:
Ну я знаю, что просто так в движок залезть нельзя. А если не просто так..?
Старый 10.06.2006, 11:40
felix_ff

offline
Опыт: 757
Активность:
а если не просто так то ты должен знать язык машин... если ты разлишишь что написсаное типа: 101101011101100011011001101100101001

будет функцией то молодца.. лезь в движок.. скомпилированный код насколько я знаю практически невозможно вернуть к читаемому...

Celebrate: да я убрал всех юнитов...потому как собсна это не имеет значения.. погляди на урон мага... он наносит 1500 дамага. у сорки здоровье равно 1 ... она дохнет полюбому... следовательно событие реагирует не за малый период до нанесения урона а как только юнит его получит. хотя может я и не прав.. но с примера по крайней мере наглядно видно. (может ты спутал события юнит атакован с юнит получает урон?)
Старый 10.06.2006, 11:49
Chel5

offline
Опыт: 785
Активность:
А какая разница между Unit takes damage и Unit is attacking?
Старый 10.06.2006, 12:03
Celebrate

offline
Опыт: 849
Активность:
felix_ff тогда ясно; и правда я не посмотрел

Функция Call SetUnitState(u, UNIT_STATE_LIFE, x) не может выставить юниту кол-во жизней, больше максимального. Поэтому сорка и дохнет. Ей невозможно добавить жизней больше 300, удар в 1500 она не переживёт.

Вся суть идеи в том, что за мгновение до того, как юнит получит повреждение, мы прибавим ему ровно столько жизней, сколько будет отнято. Поэтому даже с 1-ой жизнью сорка не дохнет (если бы событие UnitTakesDamage срабатывало бы после того, как юнит получит повреждение, то сорка бы дохла с одного удара любого юнита, а у меня её целая толпа месит, и ничего не происходит) если мы наносим повреждение, ниже её максимального количества жизней.

Если повреждение больше, то тут всё гораздо сложнее. См. код Ether Shield-а который я выкладывал в теме про триггерный уворот. Собсна уворот идёт в функциях Evasion1 & Evasion2 & ES_taction.

Chel5 unit takes damage срабатывает за мгновение до того, как юнит получит повреждение (пример: снаряд катапульты долетел до цели и взорвался, но цель ещё не получила повреждение).

unit is attacked - срабатывает, когда атака только началачь (пример: снаряд вылетает из катапульты в направлении цели).
Старый 10.06.2006, 12:40
Закрытая тема

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

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

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

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



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