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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Взаимодействие триггерных спеллов (Нужен совет)
Взаимодействие триггерных спеллов
FatalBladeДата: Понедельник, 13 Июня 2011, 15:03:58 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Как бы хорошо не работали триггерные спеллы, это всётаки Варкрафт, а не Heroes. Стратегия в реальном времени. Некоторые триггерно настроенные скиллы работают странно когда герои используют их друг на друга.
Например у меня есть скилл Ледяная Стрела, и есть скилл Электрическая Стрела. Оба сделаны на основе Storm Bolt. Первый скилл станит и отбрасывает назад, второй скилл замораживает противника на месте. Когда оба героя используют их друг на друга, получается какая то хрень.
А если есть 2 мили героя, у которых 2 разных, но по мути одинаковых скилла, отбрасывающих назад, то почему то скилы то срабатывают, но никто не отбрасывается назад.
Или есть скилл Телекинез, когда герой поднимает юнита в воздух, и отпускает. Тот падает на землю теряя жизни при ударе об землю, станя всех юнитов вокруг. Так вот когда на кастующего героя используют какой то скилл в то время как он кастует Телекинез, то цель которую он поднимает остаётся наверху, в воздухе...

Я нашёл решение. Во время использования триггерного спелла, юнит который этот скилл кастует становится неуязвимым (Make Unit Invulnerable). Но и этот вариант не идеален. Теперь бывает такое что например в случае с 2мя мили героями, когда оба кастуют 2 станящих и отбрасывающих скилла друг на друга, никакой скилл не срабатывает, и они продолжают драться.
Или бывает такое что герой не успел кастануть Ледяную стрелу, так как его застанили, но на цели всёравно появляется бафф Ледяная Стрела, хотя и юнит не замедлен.

Мне нужен совет как максимально уменьшить число таких недоразумений в карте. Жду ваших идей.


 

SirNikolasДата: Понедельник, 13 Июня 2011, 15:07:14 | Сообщение # 2
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (FatalBlade)
Например, у меня есть скилл Ледяная Стрела и есть скилл Электрическая Стрела. Оба сделаны на основе Storm Bolt.
Так нельзя делать. В крайнем случае, второй нужно на creepstormbolt creepthunderbolt ("Бросить камень").
Quote (FatalBlade)
Мне нужен совет, как максимально уменьшить число таких недоразумений в карте. Жду ваших идей.
Делать заклинания мультиприменяемыми.




Сообщение отредактировал SirNikolas - Понедельник, 13 Июня 2011, 15:13:33
 

JohnsonKeyДата: Понедельник, 13 Июня 2011, 15:11:22 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 1
Репутация: 225
Блокировки:
FatalBlade, эм, насколько я понял из описания проблемы, ты делаешь заклинания триггерами, и, скорее всего, используешь глобальные переменные. В данном случае ясно, чего они у тебя не срабатывают, надо делать на джассе с локальными переменными. Хотя мб что-то другое конечно.
Quote (SirNikolas)
Так нельзя делать. В крайнем случае, второй нужно на creepstormbolt ("Бросить камень").

Эти два скилла же у разных героев, в чём проблема? :о




Сообщение отредактировал JohnsonKey - Понедельник, 13 Июня 2011, 15:14:17
 

SirNikolasДата: Понедельник, 13 Июня 2011, 15:12:46 | Сообщение # 4
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (JohnsonKey)
Ну, эти два скилла же у разных героев, в чём проблема?
Да? По описанию я понял, что это два заклинания с одной основой у одного героя.


 

JohnsonKeyДата: Понедельник, 13 Июня 2011, 15:14:05 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 1
Репутация: 225
Блокировки:
Quote (FatalBlade)
Когда оба героя используют их друг на друга, получается какая то хрень.

Если у обоих героев реально оба скилла, тогда да, нельзя так. А если один у одного, а другой у другого, тогда реально проблема в глобальных переменных.


 

FatalBladeДата: Понедельник, 13 Июня 2011, 15:38:05 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SirNikolas)
Да? По описанию я понял, что это два заклинания с одной основой у одного героя.

Нет. Это два скилла на одной основе у РАЗНЫХ героев. Например у одного Bash, у другого Strike. оба скилла на основе Storm Bolt.

Quote (JohnsonKey)
Если у обоих героев реально оба скилла, тогда да, нельзя так.

У одного 1, у другого другой. Но оба скилла - thunbderbolt

Quote (SirNikolas)
Так нельзя делать. В крайнем случае, второй нужно на creepstormbolt creepthunderbolt ("Бросить камень").

Так это же не у одного героя 1 и тот же скилл. Это 2 разных героя. И 2 разных скилла, с одним и тем же ID.

Добавлено (13-06-2011, 15:38)
---------------------------------------------

Quote (JohnsonKey)
А если один у одного, а другой у другого, тогда реально проблема в глобальных переменных.

Тоесть?
У меня для каждого скилла свой триггер, со своими переменными, которые вызываются только в этом триггере, и нигде больше.
Например:
BashUnit, BashTarget
ChargeCaster, ChargeCasterPoint
SlamCaster, SlamPoint


 

JohnsonKeyДата: Понедельник, 13 Июня 2011, 15:43:40 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 1
Репутация: 225
Блокировки:
Quote (FatalBlade)
Тоесть?
У меня для каждого скилла свой триггер, со своими переменными, которые вызываются только в этом триггере, и нигде больше.
Например:
BashUnit, BashTarget
ChargeCaster, ChargeCasterPoint
SlamCaster, SlamPoint

Как выглядят события и условия обоих триггеров? Скорее всего и там, и там "юнит кастует тандерболт", так ведь?


 

FatalBladeДата: Понедельник, 13 Июня 2011, 15:53:09 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (JohnsonKey)
Как выглядят события и условия обоих триггеров? Скорее всего и там, и там "юнит кастует тандерболт", так ведь?

Не только

1) Events
Unit - A unit Begins casting an ability
Conditions
And - All (Conditions) are true
Conditions
(Ability being cast) Equal to Bash Barbarian
(Unit-type of (Casting unit)) Equal to Barbarian

2) Events
Unit - A unit Begins channeling an ability
Conditions
And - All (Conditions) are true
Conditions
(Ability being cast) Equal to Fatal Strike Izual
(Unit-type of (Casting unit)) Equal to Izual




Сообщение отредактировал FatalBlade - Понедельник, 13 Июня 2011, 15:54:53
 

JohnsonKeyДата: Понедельник, 13 Июня 2011, 15:56:44 | Сообщение # 9
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 1
Репутация: 225
Блокировки:
Хм, а ты уверен, что эти два события написаны в And'е, а не под ним? Вроде эти триггеры всё-таки должны отдельно работать. Если кинешь оба триггера в ЛС (скринами, например), мб смогу узнать, в чём дело.

 

FatalBladeДата: Понедельник, 13 Июня 2011, 16:12:48 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
В And'e. Я сделал Copy as Text так что как тут написано так у меня и стоит в триггерах. Все триггеры для абилок которые требуют цель в качестве юнита, в условиях у меня просматривают ещё и того кто кастует.

Quote (SirNikolas)
Делать заклинания мультиприменяемыми.

Это как?


 

JohnsonKeyДата: Понедельник, 13 Июня 2011, 16:26:47 | Сообщение # 11
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 1
Репутация: 225
Блокировки:
Хз, всё же думаю, ты где-то с переменной напутал или ещё что-то такое.

 

SirNikolasДата: Понедельник, 13 Июня 2011, 18:00:00 | Сообщение # 12
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (FatalBlade)
Conditions
And - All (Conditions) are true
Conditions
(Ability being cast) Equal to Bash Barbarian
(Unit-type of (Casting unit)) Equal to Barbarian
Quote (FatalBlade)
Conditions
And - All (Conditions) are true
Conditions
(Ability being cast) Equal to Fatal Strike Izual
(Unit-type of (Casting unit)) Equal to Izual
And можно (лучше) не писать. Все последовательно объявленные условия по умолчанию объединяются в And. Если не веришь, посмотри код после конвертирования.


 

FatalBladeДата: Понедельник, 13 Июня 2011, 18:29:56 | Сообщение # 13
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SirNikolas)
And можно (лучше) не писать. Все последовательно объявленные условия по умолчанию объединяются в And. Если не веришь, посмотри код после конвертирования.

Не понял. Типа можно просто написать
(Ability being cast) Equal to Fatal Strike Izual
(Unit-type of (Casting unit)) Equal to Izual
? И оно будет расцениваться как And?


 

SirNikolasДата: Понедельник, 13 Июня 2011, 18:36:26 | Сообщение # 14
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Да.

 

FatalBladeДата: Понедельник, 13 Июня 2011, 18:53:01 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Это только в Conditions так, или даже если я просто открываю IF/Then/Else?

И почему лучше не писать AND?


 

SirNikolasДата: Понедельник, 13 Июня 2011, 19:02:09 | Сообщение # 16
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
В любых условиях, и в If тоже.
Как видно, во втором случае добавляется лишняя функция.


 

FatalBladeДата: Понедельник, 13 Июня 2011, 19:14:33 | Сообщение # 17
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
ок

 

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

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