Сейчас 18:05:26 Понедельник, 29 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Промежуток времени. (Сложная система...)
Промежуток времени.
eretik-gamesДата: Среда, 10 Августа 2011, 19:39:18 | Сообщение # 1
6 уровень
Группа: Проверенные
Сообщений: 190
Награды: 0
Репутация: 53
Блокировки:
Чтож, думаю все помнят стандартную пассивную способность у Разрушителя "Демоническая сила" ?
Так вот, если с этой пассивкой побаловаться то можно заметить кое какие её особенности, а точнее:
Урон распространяемый по противникам в определённой области равен не тому проценту урона распространяемый по остальным который получает атакованный юнит, а процент от урона который указан в характеристиках атакующего юнита...
У этой пассивки конечно есть ещё особенности, но эта тема посвящена не ей, а моей попытке исправить эту особенность, заставить пассивку распространять урон исключительно только в зависимости от процента урона полученного атакованным от атакующего на которого этот триггер действует.
Казалось бы мне удалось осуществить эту идейку, но я сталкнулся с одной, жутко неприятной особенности связанной с промежутком времени между срабатыванием условия об том что юнит атакован и тем моментом когда у атакованной единицы отнимается здоровье. Из за этого промежутка по области распространяется урон = проценту урона нанесенного атакованной единице и урона по области распространённый другим(других) воином(воинов) что не есть хорошо...
Однако система работает идеально когда атакующих не более одного, но появляются глюки когда их несколько...
Вот ссылка на наработку.

Добавлено (10-08-2011, 19:39)
---------------------------------------------
Сам промежуток примерно равен 0.38 сек...

 

FkoFFДата: Среда, 10 Августа 2011, 21:21:01 | Сообщение # 2
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
эээ, зачем промежутки? даешь всем юнитам, которые могут обладать этой способностью орб пассивку, в триггере, отвечающем за получение юнитом урона добавляешь строку, мол,
if GetUnitAbilityLevel(damagedunit,attackorbbuff) > 0 then
твои действия на распространение урона всем остальным юнитам согласно определенному сценарию.

Проблемы что с этим связанны:

Не будет работать лайфстил (урон наносимый триггерно не личится обычным лайфстилом)
Не будут работать всяческого рода мультишоты и прочее, основанное на модификации атаки юнита.
Не будут работать другие орб эффекты.

Что это дает:

Возможность посторить правильный UnitAttacked, и вытекающие отсюда нестандартные орб эффекты и тысяча прочих возможностей. Например критический лайфлич, или, допустим, мана лич? ) Так что пользуйся. )


 

FaionДата: Среда, 10 Августа 2011, 21:23:52 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Спасибо что шрифт сделал побольше, а то мы тут все слепые, не видим. ;)

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

eretik-gamesДата: Среда, 10 Августа 2011, 23:29:32 | Сообщение # 4
6 уровень
Группа: Проверенные
Сообщений: 190
Награды: 0
Репутация: 53
Блокировки:
Faion, просто не люблю мелкий шрифт + от более крупного шрифта меньше нагрузка на глаза...

Добавлено (10-08-2011, 23:29)
---------------------------------------------

Quote (FkoFF)
if GetUnitAbilityLevel(damagedunit,attackorbbuff) > 0 then

Как бы было здорово если бы это было по русски...


Сообщение отредактировал eretik-games - Среда, 10 Августа 2011, 22:08:45
 

[DS]Дата: Среда, 10 Августа 2011, 23:41:27 | Сообщение # 5
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
Если Уровень Способности Юнита(получающий урон юнит, способность) больше 0 то

 

FkoFFДата: Четверг, 11 Августа 2011, 00:06:07 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (eretik-games)
Как бы было здорово если бы это было по русски...

это джасс... -_-
В противном случае реализация обещает быть убогой. Ах да, это проверка на наличие баффа. У баффа уровень либо 1 либо 0 (не зависимо от того, сколько реальных уровней у способности).


 

DenialsanДата: Четверг, 11 Августа 2011, 00:08:02 | Сообщение # 7
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки:
Quote (eretik-games)
Faion, просто не люблю мелкий шрифт + от более крупного шрифта меньше нагрузка на глаза...

поддерживаю.
 

eretik-gamesДата: Четверг, 11 Августа 2011, 09:28:23 | Сообщение # 8
6 уровень
Группа: Проверенные
Сообщений: 190
Награды: 0
Репутация: 53
Блокировки:
Quote (FkoFF)
В противном случае реализация обещает быть убогой.

Я пока что не вижу разницы меж джасом и триггерами, мне доводилось видеть многострострочное исполнение системы складывания предметов в заряды, хотя тот же триггер исполнялся всего одним событием, 3 условиями и 2 действиями...
Quote (FkoFF)
Ах да, это проверка на наличие баффа. У баффа уровень либо 1 либо 0 (не зависимо от того, сколько реальных уровней у способности).

Ну это я уже понял когда мне написали перевод той строки...
Но это не то что мне нужно, но всё же спасибо, ведь размышления над твоим словами привели меня к несколько другому решению, благодаря которому мне удалось уменьшить промежутов в БОЛЕЕ ЧЕМ 2 РАЗА!!!
Теперь промежуток составляет всего 0.17 сек!!!
Оказывается есть ещё один промежуток... Оказывается чтобы переменная получила какое нибудь значение ей нужно от 0.01 сек до где то примерно 0.2 сек, причём чем меньше это значение тем больше вероятность того что она не получит никакого значения за установленный вами промежуток времени.
FkoFF Вот тот триггер отвечающий за всю пассивку.
Знаю что это "убого", но с такой системой уже можно сделать мультишоты и прочее, основанное на модификации атаки юнита и т.д. нужно просто эту систему доработать чем как раз я и займусь когда максимально уменьшу промежуток времени с полным исключением всех глюков...
Изображение большое, так что просто пройдите по ссылке http://s1.ipicture.ru/uploads/20110811/WNisxgiQ.png


Сообщение отредактировал eretik-games - Четверг, 11 Августа 2011, 09:37:51
 

[DS]Дата: Четверг, 11 Августа 2011, 11:16:48 | Сообщение # 9
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
и зачем ты ставишь вейты при присвоений переменных?

Добавлено (11-08-2011, 11:16)
---------------------------------------------
и зачем ты ставишь вейты при присвоений переменных?


 

eretik-gamesДата: Четверг, 11 Августа 2011, 11:37:15 | Сообщение # 10
6 уровень
Группа: Проверенные
Сообщений: 190
Награды: 0
Репутация: 53
Блокировки:
Quote (|DS|)
и зачем ты ставишь вейты при присвоений переменных?

Впрочем вейты по 0.01 сек не нужны, но они и не мешают. А так я даже не знаю зачем их поставил :p
 

[DS]Дата: Четверг, 11 Августа 2011, 11:37:54 | Сообщение # 11
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
ну так убери

 

eretik-gamesДата: Четверг, 11 Августа 2011, 11:52:51 | Сообщение # 12
6 уровень
Группа: Проверенные
Сообщений: 190
Награды: 0
Репутация: 53
Блокировки:
Quote (|DS|)
ну так убери

уже...

Добавлено (11-08-2011, 11:52)
---------------------------------------------
Хотя... С ними система более гладко работает...

 

[DS]Дата: Четверг, 11 Августа 2011, 11:53:41 | Сообщение # 13
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
Хм... Вижу ты про вейты не знаешь...

 

eretik-gamesДата: Четверг, 11 Августа 2011, 12:12:14 | Сообщение # 14
6 уровень
Группа: Проверенные
Сообщений: 190
Награды: 0
Репутация: 53
Блокировки:
Quote (|DS|)
Хм... Вижу ты про вейты не знаешь...

У меня есть триггер который каждые 0.3 сек показывает мне значение числовых переменных, благодаря ему я отлаживаю все свои "сложные" и некоторые простенькие системы...
И просматривая числа которые мне показывал этот триггер с вейтами и без них я убедился что с ними система работает более гладко...
А вообще, может быть расскажешь о них?
 

[DS]Дата: Четверг, 11 Августа 2011, 12:15:49 | Сообщение # 15
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
Ну, например, они могут запорить триггер, так, что действия после вейта не будет выполнятся.
Эт то, что я вспомнил.


 

eretik-gamesДата: Четверг, 11 Августа 2011, 12:20:50 | Сообщение # 16
6 уровень
Группа: Проверенные
Сообщений: 190
Награды: 0
Репутация: 53
Блокировки:
Quote (|DS|)
например, они могут запорить триггер, так, что действия после вейта не будет выполнятся.

Хмм... У меня такого ещё ни разу не было, но всё равно запомню, а вось и пригодится...
 

[DS]Дата: Четверг, 11 Августа 2011, 12:48:07 | Сообщение # 17
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
поверь будет

 

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

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