Сейчас 02:16:54 Суббота, 4 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Урон за ману (НЕ включая урон со скилов)
Урон за ману
FatalBladeДата: Суббота, 09 Апреля 2011, 22:59:20 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
У меня работает система урона за ману, через Unit - Takes Damage. При нанесении любого урона, у юнита отнимается мана. Так вот, даже когда юнит использует скилл который наносит урон, у меня отнимается мана и за скилл, и за урон. Ну ладно, это ещё мелочь. Сама проблема в том, что триггер реагирует на любой тип урона. Когда у героя есть скилл который наносит определённый урон в секунду, а скилл действует 20 секунд, то у героя отнимается мана каждую секунду!

Как от этого избавиться? Я хочу что бы мана отнималась только если нанесён урон с обычного удара, а не со скила.

З.Ы. Помогите плз это очень важно.


 

shift2501Дата: Воскресенье, 10 Апреля 2011, 00:16:24 | Сообщение # 2
4 уровень
Группа: Проверенные
Сообщений: 91
Награды: 0
Репутация: 11
Блокировки:
FatalBlade, вроде же есть скил специальный в warcraft'е.


Сделать юзербар как у меня не просите!
Делаю флеш шапки и баннеры на заказ
 

FatalBladeДата: Воскресенье, 10 Апреля 2011, 00:42:08 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (shift2501)
FatalBlade, вроде же есть скил специальный в warcraft'е.

Какой скилл? Мне не скилл нужен, а триггер, который будет отнимать ману только в том случае если нанесённый урон - НЕ скилл.


 

BoecДата: Воскресенье, 10 Апреля 2011, 04:15:37 | Сообщение # 4
3 уровень
Группа: Пользователи
Сообщений: 71
Награды: 0
Репутация: 8
Блокировки:
Если тебе нужно, чтобы твой скилл не отнимал ману (а только увеличивал урон), то в РО есть строка: Затраты :мана (ее значение изменить на 0)

Добавлено (10-04-2011, 04:10)
---------------------------------------------
Да, кстати, если такая система на всех игроков, то все же лучше убрать ману,затрачиваемую на скилл...

Добавлено (10-04-2011, 04:15)
---------------------------------------------
Если проблема в другом, то тогда :
Событие:
Юнит атакован (a unit atacked);
Условие:
У атакующего юнита стоит скилл, увеличивающий урон;
Действие:
Добавить маны в количестве урона наносимого скиллом


Восстановленных орков гладиаторов можно скачать по ссылке:
http://cs-2d.ucoz.com/load/0-0-0-18-20

Как сказал один человек: Делай авы сам!

 

FatalBladeДата: Воскресенье, 10 Апреля 2011, 04:38:36 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Boec)
Если тебе нужно, чтобы твой скилл не отнимал ману (а только увеличивал урон), то в РО есть строка: Затраты :мана (ее значение изменить на 0)

<_<

Quote (Boec)
Добавить маны в количестве урона наносимого скиллом

У меня не всё так просто :) Связать урон скилов, урон выстрелов и затрату маны на то или другое связать одной формулой невозможно. :)

Quote (Boec)
Да, кстати, если такая система на всех игроков, то все же лучше убрать ману,затрачиваемую на скилл...

Мне нужно не что бы на скилы вообще не тратилась мана, а что бы тратилось столько сколько написано в РО, не более того. Дело в том что как я уже писал выше, у меня Событие - Наносит Урон, а это и урон от ударов и урон от скилов. И на 1 скилл которой наносит урон в секунду в течение какого то времени, сливается почти вся мана героя, потому что мана уходит каждую секунду.


 

FkoFFДата: Воскресенье, 10 Апреля 2011, 04:42:26 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
FatalBlade, отлавливай событие "юнит атакован", после чего через хэш давай пометку герою что он может нанести урон; тут проблема конфликта с посекундным уроном, но вообще это в целом возможно

 

FatalBladeДата: Воскресенье, 10 Апреля 2011, 04:44:57 | Сообщение # 7
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Кстати.
Я уже нашёл выход из ситуации, небольшая хитрость. Всем магам (то есть тем у кого каждый выстрел тратит ману), я дал пассивку пустышку. Когда маг активирует какой нибудь ДОТ (Damage Over Time), то есть скилл наносящий урон в секунду за определённое время, эта пассивка удаляется. После окончания эффекта скила пассивка опять появляется.

В моём случае это помогло, но это далеко не идеальный вариант. Если у кого нибудь есть предложения получше, прошу написать.


 

BoecДата: Воскресенье, 10 Апреля 2011, 05:03:58 | Сообщение # 8
3 уровень
Группа: Пользователи
Сообщений: 71
Награды: 0
Репутация: 8
Блокировки:
Есть еще разумный вариант...
Затрата маны только определенного количества за атаку.


Восстановленных орков гладиаторов можно скачать по ссылке:
http://cs-2d.ucoz.com/load/0-0-0-18-20

Как сказал один человек: Делай авы сам!

 

FkoFFДата: Воскресенье, 10 Апреля 2011, 06:24:11 | Сообщение # 9
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
FatalBlade, ну вообще полностью реализовать это как ты хочешь возможно только при полной замене обычной атаки на триггерную

 

FatalBladeДата: Воскресенье, 10 Апреля 2011, 09:23:55 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Boec)
Затрата маны только определенного количества за атаку.

Всмысле? Может ты имел ввиду за определённое количество урона - снимать ману?

Quote (FkoFF)
FatalBlade, ну вообще полностью реализовать это как ты хочешь возможно только при полной замене обычной атаки на триггерную

Это уже гемор :) Особенно в АОС, где у меня 40 лвлов, куча предметов, баффов и аур которые постоянно будут менять урон и скорость атаки :)


 

FkoFFДата: Воскресенье, 10 Апреля 2011, 09:33:52 | Сообщение # 11
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
FatalBlade, ну, если на гуи - то, офк, гемор, а на джассе достаточно обойтись парочкой БД, которые в любом случае пригодятся еще не в одной гениальной задумке.

 

rixt7956Дата: Воскресенье, 10 Апреля 2011, 10:33:49 | Сообщение # 12
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
можно и не заменять атаку.
Создаешь событие юнит атакован, и создаешь локальный триггер для атакованого юнита с событием получает урон, через хэш вешаешь на хэндл триггера атакуещего юнита, ну и при срабатывание локального триггера проверяешь что источник повреждения равен выгружаемый юнит, отнимаешь ману у выгружаемого, чистишь триггер в хэш таблице, и удаляешь триггер.


Сообщение отредактировал rixt7956 - Воскресенье, 10 Апреля 2011, 10:36:48
 

lawsonДата: Воскресенье, 10 Апреля 2011, 13:00:50 | Сообщение # 13
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (rixt7956)
Создаешь событие юнит атакован, и создаешь локальный триггер для атакованого юнита с событием получает урон

А зачем загружать в хеш можно потом просто GetTriggerUnit() в триггере юниту нанесен урон.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Воскресенье, 10 Апреля 2011, 13:01:00
 

rixt7956Дата: Воскресенье, 10 Апреля 2011, 14:28:57 | Сообщение # 14
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
вот сделал наработку
http://rghost.ru/5151793


Сообщение отредактировал rixt7956 - Воскресенье, 10 Апреля 2011, 14:31:14
 

FatalBladeДата: Воскресенье, 17 Апреля 2011, 20:13:51 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Спс всем. Я нашёл свой способ, но он конечно очень геморный. У меня при приминении DOT скилов у магов, дамаг наносит не скилл, а созданный Dummy.

Quote (lawson)
GetTriggerUnit()

Что это?

Quote (rixt7956)
вот сделал наработку

Как я понял тут мана зависит от нанесённого урона? Спс. Пригодится.


 

rixt7956Дата: Воскресенье, 17 Апреля 2011, 21:29:21 | Сообщение # 16
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
там что бы атаковать нужна манна, и если ее не хватает то юнит не атакует.
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Урон за ману (НЕ включая урон со скилов)
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz