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

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

Закрытая тема
 
Danial

offline
Опыт: 1,342
Активность:
Как определить точку-цель использованного предмета?
В общем вопрос такой: Некий юнит использует предмет «Невидимые стражи (предмет)». И имеется переменная типа location, в которую нужно записать точку, в которую этот юнит ставит невидимый страж. Как это можно сделать?
Старый 04.10.2012, 00:01
pAxsIs

offline
Опыт: 2,389
Активность:
Щас валика нету, но так примерно могу сказать.
Событие: юнит строит невидимого стража
Действие: записать в локацию точку где был построен последний невидимый страж.
Как то так, самое главное суть.
Я ответил на твой вопрос?
Старый 04.10.2012, 02:39
Danial

offline
Опыт: 1,342
Активность:
Нет… Есть событие «Боевая единица применяет способность» и «Боевая единица использует предмет». Оба этих события запускают триггер во время использование варда…
Если выбрать первое событие, то можно было бы использовать триггер, как на скрине 1. Но проблема в том, что если юнит использует другой предмет или способность, то точка-цель этой способности (предмета) так же записывается в переменную Loc.
Если использовать событие «Боевая единица использует предмет» (как на скрине 2), то можно с помощью условия сравнения предметов заставить триггер реагировать только на нужный предмет, но в переменную Loc почему-то не будет записана искомая точка.
Куда не плюнь, всюду клин.
Миниатюры
Кликните на картинку для увеличения
Название:  1.JPG
Просмотров: 18
Размер:  19.6 Кбайт  Кликните на картинку для увеличения
Название:  2.JPG
Просмотров: 21
Размер:  23.1 Кбайт  
Старый 04.10.2012, 04:10
Diaboliko
Silenced by Diaboliko
offline
Опыт: 16,108
Активность:
Не помню чтоб было условие об использовании предмета на точке, например.
Применение предмета равносильно применению его способности(ну в нашем случае), так что ставь условие на примененную способность и извлекай требуемую локацию.
Старый 04.10.2012, 04:41
asesmo
Я I Jag Ich Jeg Ja Minä!
offline
Опыт: 8,073
Активность:
((код jass
local location l = GetSpellTargetLoc()
именно так
))
Старый 04.10.2012, 05:45
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,477
Активность:
Danial, Когда мы используем предмет,мы используем его способность,которую можно проверить через условие.....
Старый 04.10.2012, 06:26
Ancient
Щпаовапа
offline
Опыт: 38,370
Активность:
Используй
Событие - применяет способность
с проверками на способность
Применяемая способность = (твоя способность)
Старый 04.10.2012, 08:40
MpW

offline
Опыт: 50,041
Активность:
Есть еще вариант с призывом
Если у тебя это варварская способность - благодаря которой происходит вызов
Event
Юнит призывает юнита
Condition
Тип (Призванный) == .....
Призывающий == герой
Action
GetUnitPosition(Призванный)
GetUnitX(Призванный)
GetUnitY(Призванный)
Steal nerves добавил:
с предметом тоже можно отследить ту точку. ВООБЩЕ ПРОЩЕ вариант с применяет способность
Старый 04.10.2012, 12:33
asesmo
Я I Jag Ich Jeg Ja Minä!
offline
Опыт: 8,073
Активность:
Danial:
И имеется переменная типа location, в которую нужно записать точку, в которую этот юнит ставит невидимый страж. Как это можно сделать?
Каждый предмет имеет заклинание. В условиях - сравнение рав кода спелла. В действиях - сет вериейбл "переменная точки = цель точка спелла".
Старый 04.10.2012, 12:37
Danial

offline
Опыт: 1,342
Активность:
Господа, в каком месте я ошибся? Я выяснил, что код способности «Невидимый страж (предмет)» это Alsw (см. скрин 1).
Далее я делаю триггер как на скрине 2 сверху, конвертирую его в текст и меняю код сравниваемой способности на Alsw (скрин 2 снизу).
В результате триггер не реагирует на этот предмет (скрин 3).
Если же исключить условие, то триггер будет реагировать на все применяемые способности и предметы, что так же не желательно (скрин 4).
Миниатюры
Кликните на картинку для увеличения
Название:  скрин 1.JPG
Просмотров: 15
Размер:  146.8 Кбайт  Кликните на картинку для увеличения
Название:  скрин 2.JPG
Просмотров: 20
Размер:  136.7 Кбайт  Кликните на картинку для увеличения
Название:  скрин 3.JPG
Просмотров: 23
Размер:  138.3 Кбайт  Кликните на картинку для увеличения
Название:  скрин 4.JPG
Просмотров: 29
Размер:  137.6 Кбайт  
Прикрепленные файлы
Тип файла: w3x test.w3x (12.8 Кбайт, 2 просмотров )
Старый 04.10.2012, 14:05
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,595
Активность:
Danial, мда, GetSpellTargetX(), GetSpellTargetY(), Реакция на событие юнит приводит способность в действие, условие применённая способность == Дух Целитель (предмет)...
quq_CCCP добавил:
Danial, так же можно проверять по приказу...
Старый 04.10.2012, 14:24
Danial

offline
Опыт: 1,342
Активность:
Ребята, сделайте, пожалуйста, кто-нибудь так, чтобы спецэффект появлялся только в точке, куда был поставлен вард (карта в 10 пункте), потому что я уже совсем перестал понимать, что вы пишите.
Старый 04.10.2012, 15:25
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,595
Активность:
Danial, пойди поспи, утром будеш разбираться...
Старый 04.10.2012, 15:40
9thNerZul
forum/warcraft3
offline
Опыт: 4,869
Активность:
Danial, держи:)
Прикрепленные файлы
Тип файла: w3x SentryForDan.w3x (16.3 Кбайт, 5 просмотров )
Старый 04.10.2012, 20:22
Danial

offline
Опыт: 1,342
Активность:
Спасибо, 9thNerZul. И я таки понял, где была моя ошибка. Код способности «Невидимый страж (предмет)» это Aisw, а не ALsw как писал я. ыЫыЫыЫыЫ :)
Старый 04.10.2012, 21:30
9thNerZul
forum/warcraft3
offline
Опыт: 4,869
Активность:
Danial, есть невидимый страж, как способность юнита и отдельно как способность предмета:)
Старый 05.10.2012, 22:56
Закрытая тема

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

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

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

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



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