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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Кастуемый спел триггера
SunCreepДата: Четверг, 12 Мая 2011, 18:49:06 | Сообщение # 1
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Видел такие вопросы,но тогда не интересовался этим.Сейчас хочу сделать ульт Энигмы из доты.
То бишь,когда я применю скил и мой герой будет его кастовать,все юниты вокруг будут тянутся к центру и получать урон чем ближе к центру.
Вопросы таковы:
1)Как сделать чтоб если я перестал кастовать скил,триггер выключился.Може есть какое-то сравнение,кастует ли герой скил или что-то подобное.
2)Как удалять утечку с отрядом.В данном касте отряд будет выбран 700 раз(0.01=100 раз в сек. в течении 7 сек.) и это явно не очень хорошо))
3)Вообще я немного в затруднении как рассчитать урон между центром(в моём случае в центре будет кастер) и воздействуемым.Так чтоб урон был равен:20 за каждые 100 ед. где максимально возможный доп урон 200 при радиусе ульты в 1000.При этом урон в 1 без доп урона всегда 45.

Добавлено (12-05-2011, 18:49)
---------------------------------------------



Сообщение отредактировал SunCreep - Четверг, 12 Мая 2011, 18:46:23
 

[DS]Дата: Четверг, 12 Мая 2011, 18:52:38 | Сообщение # 2
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
1) Событие - Боевая Единица завершает способность.

Добавлено (12-05-2011, 18:52)
---------------------------------------------
Спелл канальный как у Кипера


 

SunCreepДата: Четверг, 12 Мая 2011, 18:56:29 | Сообщение # 3
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
[DS], Понимаешь ли...
Quote (SunCreep)
герой будет его кастовать

По товим словам
Quote (|DS|)
завершает способность.

Когда мой герой простоит 7 секунд просто так без анимации запуститься триггер,и следующие 7 сек вокруг него будет всё происходить.Мне надо нормально.

Добавлено (12-05-2011, 18:56)
---------------------------------------------
Хм,может я тебя не понял?

Quote (|DS|)
Спелл канальный как у Кипера

Что это означает?
 

[DS]Дата: Четверг, 12 Мая 2011, 19:05:55 | Сообщение # 4
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
DPS:
if ModuleInteger(i,10) == 0 then
UnitDamageTarget(u,GetEnumUnit(),damage,false,false,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, null)
endif

Добавлено (12-05-2011, 19:05)
---------------------------------------------
i = i+1

Каждые 0.01 сек.


 

SunCreepДата: Четверг, 12 Мая 2011, 19:09:33 | Сообщение # 5
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Я себе скоро подпись поставлю "Русские триггеры!"
 

[DS]Дата: Четверг, 12 Мая 2011, 19:11:17 | Сообщение # 6
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
это джасс
или можещь кустом скриптами
Кароче сделать?


 

Mep3aB4uKДата: Четверг, 12 Мая 2011, 19:11:25 | Сообщение # 7
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
Quote (SunCreep)
1)Как сделать чтоб если я перестал кастовать скил,триггер выключился.Може есть какое-то сравнение,кастует ли герой скил или что-то подобное.

Quote (|DS|)
1) Событие - Боевая Единица завершает способность.
Так завершить,а если у тебя уходит 7 сек. на начало каста, то делай событие-когда приводит способность в действие, а не начинает применять(то есть пока не начнется спел тригер не запустится)
2)Условием-Если юнит в отряде то ничего иначе добавить в отряд(пользуйся большим периодическим собитием, 0.3, 0,4 сек)
3)урон наносить дистанция от точки до юнита(проще геометрическим, но не знаю как), а так через условие, если дистанция меньше 200 то 200 урона, если больше то меньше


Сообщение отредактировал Mep3aB4uK - Четверг, 12 Мая 2011, 19:48:54
 

Dark_ZarichДата: Четверг, 12 Мая 2011, 19:17:01 | Сообщение # 8
9 уровень
Группа: Проверенные
Сообщений: 1022
Награды: 0
Репутация: 942
Блокировки:
Code
[u]Подчеркнутый текст[/u]

Code
[s]Зачеркнутый текст[/s]

Добавлено (12-05-2011, 19:17)
---------------------------------------------
Зачеркнутый текст
Подчеркнутый текст


MAL

Все тлен...
 

[DS]Дата: Четверг, 12 Мая 2011, 19:21:26 | Сообщение # 9
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
да кстате геморно делать 0.01 лучше 0.05 сек.

 

SunCreepДата: Четверг, 12 Мая 2011, 19:25:40 | Сообщение # 10
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Либо вы не понимаете,либо я тормоз...
 

Dark_ZarichДата: Четверг, 12 Мая 2011, 19:26:34 | Сообщение # 11
9 уровень
Группа: Проверенные
Сообщений: 1022
Награды: 0
Репутация: 942
Блокировки:
Code
[u]Подчеркнутый текст[/u]

Code
[s]Зачеркнутый текст[/s]

Зачеркнутый текст
Подчеркнутый текст


MAL

Все тлен...
 

[DS]Дата: Четверг, 12 Мая 2011, 19:29:04 | Сообщение # 12
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
скорее 2ое))

Добавлено (12-05-2011, 19:29)
---------------------------------------------
Dark_Zarich, че ты подчеркиваешь и зачеркиваешь?


 

FkoFFДата: Четверг, 12 Мая 2011, 19:39:51 | Сообщение # 13
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (SunCreep)
Либо вы не понимаете,либо я тормоз...

оссподи, отслеживай начало каста, запускай триггер, отслеживай окончание каста - запрещай исполнение сценария. В любом случае 2 триггера надо. На джасс вполне легко сделать муи.


 

SunCreepДата: Четверг, 12 Мая 2011, 19:42:10 | Сообщение # 14
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
FkoFF, дело в том,что я не понимаю как отследить окончание каста.Если я кастую скил,а меня станят.Как мне отследить это?Или я нарочно сбил его произношение.
 

Mep3aB4uKДата: Четверг, 12 Мая 2011, 19:46:53 | Сообщение # 15
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
Quote (|DS|)
1) Событие - Боевая Единица завершает способность.

вот так и сбивает(стан, или сам прервал)
 

SunCreepДата: Четверг, 12 Мая 2011, 20:09:33 | Сообщение # 16
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Mep3aB4uK, ага! Спасибо)) буду знать.Я просто думал что завершает это по причине времени.То бишь когда спел только вылетел это начал,когда летит,приводит,когда долетел завершает.
 

Mep3aB4uKДата: Четверг, 12 Мая 2011, 20:27:16 | Сообщение # 17
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
SunCreep, Так завершает если спел к-анальный :)
 

SunCreepДата: Пятница, 13 Мая 2011, 19:48:38 | Сообщение # 18
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Quote (Mep3aB4uK)
к-анальный

боюсь думать к чему он используется))

Добавлено (13-05-2011, 19:48)
---------------------------------------------
Как бы 2 вопрос всё ещё актуален.

Quote (SunCreep)
2)Как удалять утечку с отрядом.В данном касте отряд будет выбран 700 раз(0.01=100 раз в сек. в течении 7 сек.) и это явно не очень хорошо))

С 3 я уж сам разберусь.
 

FkoFFДата: Пятница, 13 Мая 2011, 19:55:32 | Сообщение # 19
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
2 - через груплуп

Code

local group g = CreateGroup()
local boolexpr b = Condition(function YourConditionFunc)
local unit f

call GroupEnumUnitsInRange(g,x,y,dist,b)

loop
exitwhen CountUnitsInGroup(g) <= 0  
set f = FirstOfGroup(g)
-твои действия для каждого юнита из группы
call GroupRemoveUnit(g,f)
endloop

call DestroyGroup(g)
set g=null
call DestroyBoolExpr(b)
set b=null

ни утечек, ни проблем с локальными переменными из триггера не будет.

Добавлено (13-05-2011, 19:55)
---------------------------------------------

Quote (SunCreep)
3)Вообще я немного в затруднении как рассчитать урон между центром(в моём случае в центре будет кастер) и воздействуемым.Так чтоб урон был равен:20 за каждые 100 ед. где максимально возможный доп урон 200 при радиусе ульты в 1000.При этом урон в 1 без доп урона всегда 45.

GetDist(x1,y1,x2,y2)\100 * 20


 

SunCreepДата: Пятница, 13 Мая 2011, 20:10:10 | Сообщение # 20
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Как это не странно,но ты меня загрузил.Так всегда))
Можно без создания локальных переменных?Просто убрать утечку,если она имеется.

Quote (FkoFF)
x1,y1,x2,y2

Это что?Число в расстоянии от позиции применяющего до позиции попавшего под действие?
 

FkoFFДата: Пятница, 13 Мая 2011, 20:15:37 | Сообщение # 21
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (SunCreep)
Как это не странно,но ты меня загрузил.Так всегда)) Можно без создания локальных переменных?Просто убрать утечку,если она имеется.

ну в любом случае будет утечка булэкспра.
Quote (SunCreep)
Это что?Число в расстоянии от позиции применяющего до позиции попавшего под действие?

x1,y1 - X и Y начала вектора, x2,y2 - конец вектора, собственно при определении длинны вектора не важно его направление, по этому не важно x1,y1 вначале или в конце, подобные функции (GetDist,GetAngle) можешь найти в "полезные джасс функции" или написать от руки, развернув BJ. проще говоря дистанцию делишь на 100 и умножаешь на двадцать. Еще проще - дистанцию умножаешь на 0.2 - за каждую единицу расстояния будет наносится 0.2 урона. Если хочешь что бы урон был "наоборот", то ставишь 200-дистанция*0.2 (скобки можно не ставить, умножение и деление делаются в первую очередь).


 

SunCreepДата: Пятница, 13 Мая 2011, 20:43:05 | Сообщение # 22
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Угу я понял.Но пара вопросов всё равно есть))
Quote (FkoFF)
loop exitwhen CountUnitsInGroup(g) <= 0  

Это пишется в CS?
 

FkoFFДата: Пятница, 13 Мая 2011, 21:40:12 | Сообщение # 23
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (SunCreep)
Это пишется в CS?

и не только это. а вообще рекоммендую конвертнуть триггер в текст и начинать кодить, для начала на бж. Рекоммендую скачать программу JassCraft.


 

SirNikolasДата: Суббота, 14 Мая 2011, 14:06:56 | Сообщение # 24
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (|DS|)
Событие - Боевая Единица завершает способность.
Это событие срабатывает не только при отмене, но и при нормальном завершении. Следует использовать "Прерывает применение способности".

Добавлено (14-05-2011, 14:06)
---------------------------------------------

Quote (FkoFF)
Рекоммендую скачать программу JassCraft.
Также рекомендую скачать JASS NewGen Pack.


 

SunCreepДата: Суббота, 14 Мая 2011, 14:08:21 | Сообщение # 25
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
SirNikolas, а какая разница?Я просто поставлю в триггере который закрывает способность событие
Quote (SirNikolas)
Событие - Боевая Единица завершает способность.

и всё.
 

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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