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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Несколько вопросов.
3JIODEйДата: Суббота, 26 Июня 2010, 12:59:51 | Сообщение # 1
6 уровень
Группа: Заблокированные
Сообщений: 198
Награды: 0
Репутация: 47
Блокировки:
Помогите, если сможете.
1).Как в триггере поставить условие что атакующий юнит стоит позади атакованного?
2).Как при каждой атаке отодвигать цель атаки на 5 едениц. При применении спеллов получилось, а вот при каждой атаке не выходит=( почему?
3).Как выбрать в радиусе 500 от кастера юнитов не союзников кастера?

Добавлено (26-06-2010, 12:59)
---------------------------------------------
4).Если у юнита есть способность москиты то его не выбрать через редактор триггеров действием выбрать отряд?


Грац меня с шестым взломом администрации
 

The_ExecutorДата: Суббота, 26 Июня 2010, 13:14:01 | Сообщение # 2
3 уровень
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 19
Блокировки:
Quote (3JIODEй)
1).Как в триггере поставить условие что атакующий юнит стоит позади атакованного?

А-ля урон Рикимару (Сатира (SA) ) из Доты. Он же делает со спины.
Точное положение позади - (фейсинг атакованного - 180). Значит, проверяешь:

Real Comparision.
(Angle Between Points - (угол между позицией юнита 1 и позицией атакованного) больше или равно 160) and (Angle Between Points - (угол между позицией юнита 1 и позицией атакованного) меньше или равно 200)

Этим ты проверишь положение юнита :)

Quote (3JIODEй)
2).Как при каждой атаке отодвигать цель атаки на 5 едениц. При применении спеллов получилось, а вот при каждой атаке не выходит=( почему?

На 5 единиц по углу между атакованным и атакующим?

Quote (3JIODEй)
3).Как выбрать в радиусе 500 от кастера юнитов не союзников кастера?

Очень просто.

Отряд - Pick every unit in range 500 from Position of (Triggering Unit) matching (Matching Unit is an enemy of Owner of(Triggering Unit)) равно Да and do...

Quote (3JIODEй)
4).Если у юнита есть способность москиты то его не выбрать через редактор триггеров действием выбрать отряд?

Выбрать. Но можно выбросить)
 

3JIODEйДата: Суббота, 26 Июня 2010, 21:48:26 | Сообщение # 3
6 уровень
Группа: Заблокированные
Сообщений: 198
Награды: 0
Репутация: 47
Блокировки:
Quote (The_Executor)
На 5 единиц по углу между атакованным и атакующим?

да, типо минотавр бьёт и все рядом отлетают на против минотавра


Грац меня с шестым взломом администрации
 

The_ExecutorДата: Суббота, 26 Июня 2010, 22:06:51 | Сообщение # 4
3 уровень
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 19
Блокировки:
3JIODEй,
Событие - Юнит атакован
Действия - Move Unit instantly to Position of Triggering Unit offset by 5 facing Angle between Position of Attacking Unit and Position of Triggering Unit degrees.
 

3JIODEйДата: Воскресенье, 27 Июня 2010, 04:46:00 | Сообщение # 5
6 уровень
Группа: Заблокированные
Сообщений: 198
Награды: 0
Репутация: 47
Блокировки:
Quote (The_Executor)
Real Comparision. (Angle Between Points - (угол между позицией юнита 1 и позицией атакованного) больше или равно 160) and (Angle Between Points - (угол между позицией юнита 1 и позицией атакованного) меньше или равно 200)

Quote (The_Executor)
Действия - Move Unit instantly to Position of Triggering Unit offset by 5 facing Angle between Position of Attacking Unit and Position of Triggering Unit degrees.

Спасибо) с углами я не очень шарю...


Грац меня с шестым взломом администрации
 

FkoFFДата: Воскресенье, 27 Июня 2010, 05:33:52 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (The_Executor)
Matching Unit is an enemy of Owner of(Triggering Unit))

лучше Matching unit is ally of triggering unit != yes
в противном случае не будет действовать на нейтралов.


 

H_A_PKДата: Воскресенье, 27 Июня 2010, 19:46:30 | Сообщение # 7
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Цитата:Real Comparision.
(Angle Between Points - (угол между позицией юнита 1 и позицией атакованного) больше или равно 160) and (Angle Between Points - (угол между позицией юнита 1 и позицией атакованного) меньше или равно 200)

ты вкурсе Что ты проверяешь углы относительно точек , а не отношение между углами? и что если атака будет на 170 углу от точки атокованого, даже если он стоит лицом к нему хд.


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

3JIODEйДата: Понедельник, 28 Июня 2010, 12:43:47 | Сообщение # 8
6 уровень
Группа: Заблокированные
Сообщений: 198
Награды: 0
Репутация: 47
Блокировки:
FkoFF, H_A_PK.
Можете по русски)))

Добавлено (28-06-2010, 10:14)
---------------------------------------------
5).Вот есть скилл звуковая волна, мне как-нибудь нужно сделать так, чтобы все юниты что поподают под неё отталкивались, я думаю над тем чтобы при юзании создавать дамми от которого отталкиваются юниты... но это долго и сложно.

Добавлено (28-06-2010, 12:43)
---------------------------------------------

Quote (The_Executor)
Real Comparision. (Angle Between Points - (угол между позицией юнита 1 и позицией атакованного) больше или равно 160) and (Angle Between Points - (угол между позицией юнита 1 и позицией атакованного) меньше или равно 200)

ну блин, это не так работает как мне нужно было=( даже не знаю как сказать... если слишком близко к атакуемому подойти то она не пашет с зада.


Грац меня с шестым взломом администрации
 

H_A_PKДата: Понедельник, 28 Июня 2010, 12:51:10 | Сообщение # 9
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
я тебе сразу сказал угу=)
Лично я просто центирую область сзади юнита и проверяю её


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

3JIODEйДата: Понедельник, 28 Июня 2010, 13:38:43 | Сообщение # 10
6 уровень
Группа: Заблокированные
Сообщений: 198
Награды: 0
Репутация: 47
Блокировки:
Quote (H_A_PK)
Лично я просто центирую область сзади юнита и проверяю её

ну блин... я геометрию в школе не учил :D скажи как))

Добавлено (28-06-2010, 13:38)
---------------------------------------------
ладно не надо, я сам разобрался.

Quote (3JIODEй)
5).Вот есть скилл звуковая волна, мне как-нибудь нужно сделать так, чтобы все юниты что поподают под неё отталкивались, я думаю над тем чтобы при юзании создавать дамми от которого отталкиваются юниты... но это долго и сложно.

вот это бы решить)


Грац меня с шестым взломом администрации
 

H_A_PKДата: Понедельник, 28 Июня 2010, 14:46:08 | Сообщение # 11
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
тебе это долго объяснять =)
каждые 0.01 от дамми отталкивай =) всего то
 

[DUОS]Дата: Понедельник, 28 Июня 2010, 14:54:00 | Сообщение # 12
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (H_A_PK)
0.01

Метра? xDDD
Quote (H_A_PK)
от дамми

А чё такое дамми? о__О
:)
Он имел в виду периодическое событие :)


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

3JIODEйДата: Понедельник, 28 Июня 2010, 15:09:38 | Сообщение # 13
6 уровень
Группа: Заблокированные
Сообщений: 198
Награды: 0
Репутация: 47
Блокировки:
[DUОS], H_A_PK я имеюю ввиду есть ли полегче способ сделать такой эффект?, есть корова, она использует звуковую волну, как сделать чтобы от этой волны отталкивались воины?

Добавлено (28-06-2010, 15:09)
---------------------------------------------
6).Откройте (кому-интересно и не лень) юнита минотавр, там в характеристиках есть классификация, в игре под именем минотавр написано еще "минотавр"(это из-за классификации), только маленькими буквами, как сделать чтобы было написано такими же маленькими буквами под именем минотавр то что мне нужно?


Грац меня с шестым взломом администрации
 

H_A_PKДата: Понедельник, 28 Июня 2010, 15:22:52 | Сообщение # 14
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
цитата: [DUОS], H_A_PK я имеюю ввиду есть ли полегче способ сделать такой эффект?, есть корова, она использует звуковую волну, как сделать чтобы от этой волны отталкивались воины?

эээ, честно это на один цикл и один таймер =)


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

[DUОS]Дата: Понедельник, 28 Июня 2010, 15:23:22 | Сообщение # 15
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
3JIODEй,
6) Это Дополнительно -> Игровой интерфейс в самом низу есть там такие поля :)


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

H_A_PKДата: Понедельник, 28 Июня 2010, 15:23:32 | Сообщение # 16
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
перевед дуос xD

проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

3JIODEйДата: Понедельник, 28 Июня 2010, 22:17:14 | Сообщение # 17
6 уровень
Группа: Заблокированные
Сообщений: 198
Награды: 0
Репутация: 47
Блокировки:
[DUОS], ээ там 4 строчки.. мне надо мнооого)))

Добавлено (28-06-2010, 16:08)
---------------------------------------------
7).Есть скилл молот бурь, при использовании нужно сделать эффект отталкивания со стороны кастера
Х-------->y--------------y

Добавлено (28-06-2010, 22:17)
---------------------------------------------
Всё, 7 вопрос не нужно, я допёр. Тему закрыть.


Грац меня с шестым взломом администрации
 

XuMukДата: Понедельник, 28 Июня 2010, 23:30:15 | Сообщение # 18
10 уровень
Группа: Проверенные
Сообщений: 2350
Награды: 0
Репутация: 336
Блокировки:
Не надо закрывать, вдруг у тебя вопросы будут, а ты еще одну откроешь... <_<
 

FkoFFДата: Понедельник, 28 Июня 2010, 23:40:20 | Сообщение # 19
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
3JIODEй, надеюсь ты это не делаешь по принципу двигать юнита по полярный координатам "угол между герой 1 и цель 1"

если так то у тебя будет примерно 12 байт лишней информации за каждый запуск этого триггера. Информация эта никуда не денется если не использовать функцию правильно (на позиции каждого героя создается точка, угол между этими точками записывается в переменную. Создается третья точка - та, в которую сдвинется юнит, после чего все точки удаляются).
В противном случае, я уже сказал, будет захламление памяти, и через определенное время игра вылетит с крит.ошибкой.


 

H_A_PKДата: Вторник, 29 Июня 2010, 07:43:46 | Сообщение # 20
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Ом, она вылетит только после 9 часовой игры

проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

3JIODEйДата: Вторник, 29 Июня 2010, 15:13:09 | Сообщение # 21
6 уровень
Группа: Заблокированные
Сообщений: 198
Награды: 0
Репутация: 47
Блокировки:
FkoFF Хм, то есть ты имеешь ввиду записать в переменную точки в которые я хочу сдвинуть юнитов, далее сдвинуть их туда, потом удалить? Я блин, забыл как удалять точки.... вроде через личный сценарий:
call remove location udg_to4ka[1]
З.Ы. поправьте если неправильно сделал :)

Добавлено (29-06-2010, 15:13)
---------------------------------------------
8).Как приблизить камеру? ну я хочу чтоб мир казался больше, для этого нужно приблизить камеру))


Грац меня с шестым взломом администрации
 

XuMukДата: Вторник, 29 Июня 2010, 17:26:21 | Сообщение # 22
10 уровень
Группа: Проверенные
Сообщений: 2350
Награды: 0
Репутация: 336
Блокировки:
3JIODEй, Создавай камеру, приблизь камеру WE как нужно и нажми на панели камер "Перейти к виду" потом на эту камеру тригеррно делаешь ... Вообщем там легко разобраться...
 

FkoFFДата: Среда, 30 Июня 2010, 01:11:00 | Сообщение # 23
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (H_A_PK)
Ом, она вылетит только после 9 часовой игры

если такой триггер один, и работает редко - то возможно только после 9 часов, а обычно таких триггеров дофига и они работают на малом пероиде раз 200, и в таком случае карта зависнет через 20-40 минут.

3JIODEй, Объясняю популярно

Как двигают юнитов нубы?

Code
Move UNIT1 insantly to point with polar offset: Position of UNIT1 offset by 150, toward angle between position of UNIT1 and position of UNIT2 degrees.

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

Code
Move UNIT1 insantly to point with polar offset
, до этого места, вплоть до использования полярки - по сути проблем нет. Поехали далее.
Code
Position of UNIT1
- создает точку на позиции UNIT1, которая остается в памяти до конца игры, при этом, хочу заметить, в последствии нигде не используется и не фигурирует.
Code
offset by 150
- Тут тоже создастся точка, которая, опять же, будет использована лишь в данной функции и в последствии, не доступная, будет висеть в памяти.
Code
Angle between position of UNIT1 and position of UNIT2 degrees
: Создает сразу две точки (не зависимо от той, что была создана в начале триггера) и между ними просчитывает угол. В дальнейшем, они, как и водится - не доступны, и как и водится - висят в памяти.

В итоге, каждый раз при использовании такого рода полярок (это основная функция для кнокбаков и блинков от юнита к юниту) - создается аж 4 точки, которые вызывают огромное засорение памяти.
Теперь. Как правильно сделать это БЕЗ утечек, что бы было ровно и гладко.

Code
set udg_point[1] = position of UNIT1
set udg_point[2] = position of UNIT2
set udg_real[1] = angle between udg_point[1] and udg_point[2]
set udg_point[3] = point with polar offset: udg_point[1], offset by 150 toward udg_real[1] degrees
move UNTI1 insantly to udg_point[3]

Тут идет ифзен, на проверку собственно, растояния между udg_point[1] и udg_point[2], если мы делаем какой-либо блинк, проверка на наличие юнитов, которых по той же схеме надо разбрасывать в стороны, ну и в конце концов - разморозка UNIT1 по приближению к UNIT2 и, соответственно, нанесение всех уронов. Важно отметить что в ифзенах при использовании pick every unit in range, должен фигурировать не юнит, а опять же, нужная точка (в контексте примера это udg_point[3]).
Уже в самом финальном ифзене, но и вне его, в конце триггера должны быть следующие строчки:
Code
call RemoveLocation(udg_point[1])
call RemoveLocation(udg_point[2])
call RemoveLocation(udg_point[3])

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




Сообщение отредактировал FkoFF - Среда, 30 Июня 2010, 01:14:03
 

rep-30011Дата: Среда, 30 Июня 2010, 08:31:27 | Сообщение # 24
7 уровень
Группа: Проверенные
Сообщений: 300
Награды: 0
Репутация: 18
Блокировки:
Quote (FkoFF)
Quote (H_A_PK)
Ом, она вылетит только после 9 часовой игры

если такой триггер один, и работает редко - то возможно только после 9 часов, а обычно таких триггеров дофига и они работают на малом пероиде раз 200, и в таком случае карта зависнет через 20-40 минут.

Я делаю как ты говориш нубским способом просто перидвигаю полярно и я могу хоть 2 недели играть в эту карту и бесконечно тыкать на скил и у меня нечего не вылетает



ИНФА
Ланшафтинг - 10%
Декорирование - 5%
Джасс - 3%
Спелмейкер (создатель спелов) - 100%
Основные триггеры - 100%
Фантазия - 83%
 

3JIODEйДата: Среда, 30 Июня 2010, 10:00:19 | Сообщение # 25
6 уровень
Группа: Заблокированные
Сообщений: 198
Награды: 0
Репутация: 47
Блокировки:
FkoFF, Ох спасибо, ща кину скрин, на правильный триггер, а то боюсь накосячу чего-нибудь

Грац меня с шестым взломом администрации
 

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

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