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

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

Ответ
 
Laikon
Жаркие времена..
offline
Опыт: 16,636
Активность:
Юнит получает повреждение
В общем проблема. Мне нужно сделать так чтобы вызваный юнит наносил повреждения атакуя врагов в зависимости от статов героя. Но проблема в том что не могу понять как отследить это. Возможно это можно сделать и на гуи, но я что то не нашел как. Используя событие - юнит атакован урон наносится вне зависимости нанес ли удар юнит или нет. Вобщем подскажите правильное решение проблемы или киньте ссыль на похожий код чтобы я сам разобрался.
Старый 28.02.2012, 00:07
Klop
Папа римский
offline
Опыт: 13,006
Активность:
Старый 28.02.2012, 00:10
Laikon
Жаркие времена..
offline
Опыт: 16,636
Активность:
Что то не получается, как я не пытался. Может есть какие то другие способы. Я просто в джассе очень плохо разбираюсь. Дальше хэш таблиц и локалок не заходил. Или может кто нибудь обьяснит мне как это сделать? Работу триггера то я разобрал, только действие один хрен срабатывает при атаке не зависимо от того нанес ли юнит урон или нет.
Старый 29.02.2012, 02:46
Klop
Папа римский
offline
Опыт: 13,006
Активность:
Laikon, самое время выучить)
есть событие юнит получает урон,но там юнит используется с переменной
либо при создании юнита который наносит заноси в переменную и делай событие
Старый 29.02.2012, 04:26
Laikon
Жаркие времена..
offline
Опыт: 16,636
Активность:
А как отследить какой именно юнит нанес урон? У меня есть одна задумка с кэш таблицой, но с отслеживанием у меня проблемка.
Старый 29.02.2012, 04:47
prog

offline
Опыт: 32,865
Активность:
разбиваем задачу на составляющие
  1. отследить вызов юнита
  2. закрепить за вызванным юнитом связь с хозяином или значения статов хозяина на момент вызова
  3. изменить атаку вызванного юнита в соответствии со статами хозяина. или использовать систему отслеживания урона (есть готовые) и наносить дополнительный урон.
Вывод - был выбран не самый оптимальный вариант решения проблемы - меняй атаку вызванного, а не наноси доп.урон - это намного проще. Еще ткнул бы носом на универсальную систему изменения характеристик юнита, но ссылку где-то потерял.
Старый 29.02.2012, 06:33
Klop
Папа римский
offline
Опыт: 13,006
Активность:
Laikon:
А как отследить какой именно юнит нанес урон?
GetEventDamageSource() юнит который наносит повреждения
GetEventDamage() нанесённый урон
GetTriggerUnit() который получает урон
это при событие EVENT_UNIT_DAMAGED
Старый 29.02.2012, 15:35
Laikon
Жаркие времена..
offline
Опыт: 16,636
Активность:
Было бы здорово если бы кто нибудь подсказал ссылку на систему изменения урона юнита. Это действительно было бы гораздо проще.
Старый 29.02.2012, 19:29
prog

offline
Опыт: 32,865
Активность:
Поищи тут - Doc несколько раз давал ссылку на мощную систему изменения всего подряд. А по поводу изменения именно урона так вообще этот вопрос задается чуть ли на каждую неделю.
Старый 29.02.2012, 20:59
MpW

offline
Опыт: 49,815
Активность:
Laikon, есть способ проще вот
Старый 01.03.2012, 00:20
Ответ

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

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

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

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



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