Удалить юнита вовремя...
|
|
Novice998 | Дата: Воскресенье, 18 Декабря 2011, 18:20:03 | Сообщение # 1 |
8 уровень
Группа: Проверенные
Сообщений: 693
Награды: 0
Репутация: 86
Блокировки:
| Мне нужно,когда юнит подходит к кому-нибудь на расстояние, ну скажем 20 его удалить.Так вот как отловитьQuote (Novice998) когда юнит подходит к кому-нибудь на расстояние? GUI
Сообщение отредактировал Novice998 - Воскресенье, 18 Декабря 2011, 18:23:36 |
|
|
|
rsemscom | Дата: Воскресенье, 18 Декабря 2011, 18:41:41 | Сообщение # 2 |
2 уровень
Группа: Пользователи
Сообщений: 39
Награды: 0
Репутация: 0
Блокировки:
| Триггерно можно С:Время - Periodic Event (Every 0.5 sec) У:Integer Comsation=>(Number of units(Units in Palyable Area mutching (Distance between (Position of(Matching unit)) and (Position of(Твой юнит)))) > 0 Д:Remove( твой unit)
Как-то так...
Если не понятно напишу ровно
Мир - картинка , испорченная границами сознания.
|
|
|
|
Hexing | Дата: Воскресенье, 18 Декабря 2011, 18:41:42 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
| Боевая еденица - A unit comes within 256.00 of Unit подробнее: Событие - Боевая еденица - Unit within range
|
|
|
|
rsemscom | Дата: Воскресенье, 18 Декабря 2011, 18:44:04 | Сообщение # 4 |
2 уровень
Группа: Пользователи
Сообщений: 39
Награды: 0
Репутация: 0
Блокировки:
| О_0 Второй вариант лучше , извиняюсь...
Мир - картинка , испорченная границами сознания.
|
|
|
|
Novice998 | Дата: Воскресенье, 18 Декабря 2011, 20:18:44 | Сообщение # 5 |
8 уровень
Группа: Проверенные
Сообщений: 693
Награды: 0
Репутация: 86
Блокировки:
| Hexing, неа...а как выбрать нужного юнита?
|
|
|
|
Romalei | Дата: Воскресенье, 18 Декабря 2011, 20:27:30 | Сообщение # 6 |
8 уровень
Группа: Проверенные
Сообщений: 651
Награды: 0
Репутация: 208
Блокировки:
| попробуй в условие добавить (type of triggering unit) = твой юнит (или как-то так у меня прост рус триггеры)
|
|
|
|
Novice998 | Дата: Воскресенье, 18 Декабря 2011, 20:28:34 | Сообщение # 7 |
8 уровень
Группа: Проверенные
Сообщений: 693
Награды: 0
Репутация: 86
Блокировки:
| Romalei, дак в какое условие? Quote (Hexing) Боевая еденица - A unit comes within 256.00 of Unit Требует указания точного юнита Quote (Romalei) (type of triggering unit) = твой юнит (или как-то так у меня прост рус триггеры) напиши на рус тригах...пойму
Сообщение отредактировал Novice998 - Воскресенье, 18 Декабря 2011, 20:29:32 |
|
|
|
Romalei | Дата: Воскресенье, 18 Декабря 2011, 20:58:39 | Сообщение # 8 |
8 уровень
Группа: Проверенные
Сообщений: 651
Награды: 0
Репутация: 208
Блокировки:
| тип юнит (переключающий юнит) = твой юнит
|
|
|
|
Novice998 | Дата: Воскресенье, 18 Декабря 2011, 21:12:36 | Сообщение # 9 |
8 уровень
Группа: Проверенные
Сообщений: 693
Награды: 0
Репутация: 86
Блокировки:
| Romalei, но как отловить,что рандомный юнит?А не именно определённый? Quote (Hexing) Событие - Боевая еденица - Unit within range Эта функция требует указания на одного единственного юнита Тоесть переменную туда не поставишь
Сообщение отредактировал Novice998 - Воскресенье, 18 Декабря 2011, 21:13:07 |
|
|
|
Romalei | Дата: Воскресенье, 18 Декабря 2011, 21:22:31 | Сообщение # 10 |
8 уровень
Группа: Проверенные
Сообщений: 651
Награды: 0
Репутация: 208
Блокировки:
| могу предложить только такой вариант: С - каждые 0.02сек У - Д - Отряд - выбрать каждого юнита в диапозоне 200 (позиция твоего юнита) и совершить действие If then else Если Тип (выбранный юнит) = твой юнит То Боевая единица - удалить (выбранный юнит) из игры Иначе
|
|
|
|
Novice998 | Дата: Понедельник, 19 Декабря 2011, 00:10:09 | Сообщение # 11 |
8 уровень
Группа: Проверенные
Сообщений: 693
Награды: 0
Репутация: 86
Блокировки:
| Ни у кого нет других предложений?
Сообщение отредактировал Novice998 - Понедельник, 19 Декабря 2011, 00:10:43 |
|
|
|
ZanaraZ | Дата: Понедельник, 19 Декабря 2011, 09:02:41 | Сообщение # 12 |
5 уровень
Группа: Проверенные
Сообщений: 120
Награды: 0
Репутация: 28
Блокировки:
| Если нужен выбор конкретного юнита то делаем так
С. Каждые 0.01 секунду У.Нету Д.Отряд - выбрать каждого юнита в Условии сопоставления диапазонов 120 (т.к 20 это малый диапазон) (позиция твоего юнита) сопоставляемого (Логическое сравнение (Совпадающий юнит жив) равно (да)) и (Сравнения типов отряда (Совпадающий юнит) равно (твой конкретный тип юнита)) --------Цикл действий Боевая единица - удалить (выбранный юнит) из игры
вроде так
Набрался мозгов, теперь буду себя сдерживать
Сообщение отредактировал ZanaraZ - Понедельник, 19 Декабря 2011, 09:04:43 |
|
|
|
Ty3uK | Дата: Понедельник, 19 Декабря 2011, 09:55:34 | Сообщение # 13 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Каждую .04 секунды, .01 не тру. Да и такой отлов на гуи муишным не сделаешь
|
|
|
|
Novice998 | Дата: Понедельник, 19 Декабря 2011, 11:09:09 | Сообщение # 14 |
8 уровень
Группа: Проверенные
Сообщений: 693
Награды: 0
Репутация: 86
Блокировки:
| Ty3uK, тоесть лучше никак?
|
|
|
|
Ty3uK | Дата: Понедельник, 19 Декабря 2011, 13:43:10 | Сообщение # 15 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Лучше никак. Или юзай периодический триггер на .04, но это не будет муи, или юзай периодический таймер на .04 на жассе, тогда будет муи
|
|
|
|
tRu^S | Дата: Понедельник, 19 Декабря 2011, 13:48:38 | Сообщение # 16 |
8 уровень
Группа: Проверенные
Сообщений: 614
Награды: 0
Репутация: 138
Блокировки:
| Quote (Romalei) могу предложить только такой вариант: С - каждые 0.02сек У - Д - Отряд - выбрать каждого юнита в диапозоне 200 (позиция твоего юнита) и совершить действие If then else Если Тип (выбранный юнит) = твой юнит То Боевая единица - удалить (выбранный юнит) из игры Иначе Чем тебе ненравиться очень адекватно для GUI
|
|
|
|
Ty3uK | Дата: Понедельник, 19 Декабря 2011, 15:28:23 | Сообщение # 17 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Гуи = говножасс, а для жасса (а вообще, для игры в целом) неадекватно юзать такое, как таймер на .01 тогда, когда это не надо. Факт. Хотя бы .04, но в вашем случае и .25 за глаза будет
|
|
|
|
SirNikolas | Дата: Понедельник, 19 Декабря 2011, 15:39:47 | Сообщение # 18 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Hexing) Боевая еденица - Unit within range На одном сайте читал, что эта функция иногда глючит, особенно если пытаются привязывать события во время игры. Как-то не особо верится, но все же. Так что лучше периодически перебирать всех юнитов вокруг нужного. Как сказал Ty3uK, с периодом побольше.
Сообщение отредактировал SirNikolas - Понедельник, 19 Декабря 2011, 15:44:12 |
|
|
|
Hexing | Дата: Понедельник, 19 Декабря 2011, 18:45:21 | Сообщение # 19 |
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
| Ty3uK, не следует объяснять такие вещи неопытным гуишникам это придёт со временем - когда их мапа будет жутко лагать они сами начнут разбираться Quote (SirNikolas) На одном сайте читал, что эта функция иногда глючит, особенно если пытаются привязывать события во время игры. Как-то не особо верится, но все же. Так что лучше периодически перебирать всех юнитов вокруг нужного. Как сказал Ty3uK, с периодом побольше. тогда уж пикать в группу всех рядомстоящих с юнитом к которому нельзя подходить или дать ему иммолейт на 500к дмг и при смерти чекать расстояние и ремувить если рядом(необяз.) а можно ауру(не знаю есть ли ивент на получение эффекта ауры) но имхо пикать всех по таймеру не тру
|
|
|
|