Несколько вопросов по триггерам
|
|
Shanaa | Дата: Пятница, 16 Декабря 2011, 19:50:37 | Сообщение # 1 |
1 уровень
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 3
Блокировки:
| И так, заранее извиняюсь за стену текста, но ББ коды не доступны. Каждый вопрос будет пронумерован. Если такой вопрос уже был, то давайте ссылку. Если пишите скрипт на jazz, то описывайте все переменные, которые вы используете ибо в jazz я абсолютный ноль. Начнем:
1. Как сделать такую систему: Значит есть типы оружия, возьмем в пример Луки и Мечи. Есть 2 типа персонажа, собственно говоря Лучница и Воин. Как сделать так, что когда Лучница подбирала Меч, то он автоматом выбрасывался и наоборот с Воином. Возможно ли сделать без указывания определённого типа предмета? Тоесть возможно ли распределить предметы по классам (лук, меч, кинжал, посох и т.д.), чтобы не указывать каждый предмет по отдельности?
2. Самый ОМГ ГЛУПЫЙ ВОПРОС (ответ наверное был дан over 100500 раз). Как сделать так, чтобы можно было качаться на нейтралах после 5-го?=)
3. При бое с боссом появиться три духа, которые будут идти к боссу. Нужно сделать такую систему: Когда у одного из духов ХП равняется 50%(или меньше), то остальные два становятся неуязвимыми. Сделано для того, чтобы как бы убить можно было только одного, а остальные дошли до босса. (Те кто играют в ВоВ и помнят Йорсаджа, поймут сразу же:))
4. Как сделать так, чтобы при входе в зону, в которую персонажу еще рано (например зона для героев 5-го уровня, а наш герой только 1-го) его плавно отодвигало назад. Помню карта была такая - The Black Road называется, вот там использовалась именно такая система. А то телепортация назад... кхм... выглядит неуклюже.
5. Как работать с Отрядами? Ща приведу пример того, что мне именно нужно: и так, мы с отрядом пехотинцев союзника компа пробиваемся сквозь войска плети, бла-бла-бла, пробились - тут появляется босс и ВСЕ юниты типа пехотинец в зоне Х должны помереть. Пробовал делать что-то вроде этого(написано не совсем точно, ибо ща не в эдиторе): Отряд - Pick every unit in Region X and do: Боевая единица - Kill (Matching Unit)
^ Не сработало. ^ Заранее благодарю за вашу помощь.
nyan:3
|
|
|
|
Arthur_666_ | Дата: Пятница, 16 Декабря 2011, 20:07:31 | Сообщение # 2 |
8 уровень
Группа: Проверенные
Сообщений: 632
Награды: 0
Репутация: 238
Блокировки:
| Quote (Shanaa) 2. Самый ОМГ ГЛУПЫЙ ВОПРОС (ответ наверное был дан over 100500 раз). Как сделать так, чтобы можно было качаться на нейтралах после 5-го?=) http://warcraft3ft.info/forum/22-33802-1
Beetops
|
|
|
|
Shanaa | Дата: Пятница, 16 Декабря 2011, 20:12:31 | Сообщение # 3 |
1 уровень
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 3
Блокировки:
| Arthur_666_, сяп
nyan:3
|
|
|
|
Romalei | Дата: Пятница, 16 Декабря 2011, 20:32:46 | Сообщение # 4 |
8 уровень
Группа: Проверенные
Сообщений: 651
Награды: 0
Репутация: 208
Блокировки:
| 1)Событие - Боевая единица - получает предмет Условие - (логическое сравнение) У (переключающий юнит) есть предмет типа (Меч) (Сравнение типов отрядов) переключающий юнит = Лучник Действие - Герой - выбросить (Переносимый героем предмет типа (лук)) у переключающий юнит 5)Отряд - pick every unit in Region (X) and do action If else then - if picking unit(или как там на англе выбранный юнит) = пехотинец then Боевая единица - kill (picking unit)
|
|
|
|
rsemscom | Дата: Пятница, 16 Декабря 2011, 20:46:55 | Сообщение # 5 |
2 уровень
Группа: Пользователи
Сообщений: 39
Награды: 0
Репутация: 0
Блокировки:
| Трмггер 1: С: Твой босс атакован У:- Д: -Cоздать духа -Присвоить его переменной у1 -Создать 2 духа -Присвоить его у2 -Создать 3 духа -Присвоить его у3 -Направить у1 к боссу Тоже самое для у2 и у3 -Wait(for condition) (Здоровье у1<=50%)или(Здоровье у2<=50%)или(Здоровье у3<=50%) Если здоровье у1<=50% ,то сделать у2,у3 неуязвимыми Потом тоже самое для у2 и у3 Триггер2: С:у1 дошёл или у2 или у3 У: Д: Бла-бла-бла Выключить триггер 1.
Мир - картинка , испорченная границами сознания.
|
|
|
|
Shanaa | Дата: Пятница, 16 Декабря 2011, 21:57:27 | Сообщение # 6 |
1 уровень
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 3
Блокировки:
| Quote (rsemscom) Wait(for condition) (Здоровье у1<=50%)или(Здоровье у2<=50%)или(Здоровье у3<=50%) Если здоровье у1<=50% ,то сделать у2,у3 неуязвимыми Точно! Спасибо, выручил. Quote (Romalei) Условие - (логическое сравнение) У (переключающий юнит) есть предмет типа (Меч) (Сравнение типов отрядов) переключающий юнит = Лучник Действие - Герой - выбросить (Переносимый героем предмет типа (лук)) у переключающий юнит Холи щи... у меня не русский эдитор (ну как бы наполовину чтоле, ну например событие будет: Боевая единица - A unit Умирает, поэтому я нифига не понял:))
nyan:3
|
|
|
|
Arthur_666_ | Дата: Пятница, 16 Декабря 2011, 22:56:07 | Сообщение # 7 |
8 уровень
Группа: Проверенные
Сообщений: 632
Награды: 0
Репутация: 238
Блокировки:
| Quote (Shanaa) Quote (Romalei) Условие - (Boolean comparison) У (Triggering unit) есть предмет типа (Меч) (Сравнение типов отрядов) переключающий юнит = Лучник Действие - Герой - выбросить (Переносимый героем предмет типа (лук)) у переключающий юнит
Холи щи... у меня не русский эдитор (ну как бы наполовину чтоле, ну например событие будет: Боевая единица - A unit Умирает, поэтому я нифига не понял:)) перевожу вроде как Условие - (логическое сравнение) Hero Has item of type (переключающий юнит) Has item of (Меч) (Unit-type comparison) triggering unit = Лучник Действие - Герой - Drop (Item carried by hero of type (лук)) у triggering unit
ну как то так
Beetops
|
|
|
|
Romalei | Дата: Пятница, 16 Декабря 2011, 23:04:08 | Сообщение # 8 |
8 уровень
Группа: Проверенные
Сообщений: 651
Награды: 0
Репутация: 208
Блокировки:
| Event - Unit - a subject receives condition - (logical equivalence) V (switching unit) is an object of type (Sword) (Comparison of unit types) switching unit = Archer action - Hero - throw (a portable object such as a hero (onion)) in the switching unit 5) Отряд - pick every unit in Region (X) and do action If else then - if picking unit (or whatever the Anglo selected unit) = infantryman then Боевая единица - kill (picking unit) - kill (picking unit) я в переводчик кидал...
|
|
|
|
Shanaa | Дата: Воскресенье, 18 Декабря 2011, 02:05:11 | Сообщение # 9 |
1 уровень
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 3
Блокировки:
| Quote (Romalei) Event - Unit - a subject receives condition - (logical equivalence) V (switching unit) is an object of type (Sword) (Comparison of unit types) switching unit = Archer action - Hero - throw (a portable object such as a hero (onion)) in the switching unit Переводчик выдал полный бред. С отрядом вроде разобрался. Спасибо Добавлено (18 Декабрь 2011, 02:05:11) --------------------------------------------- Romalei, может наработку сделаешь? Если не затруднит конечно.^^
nyan:3
|
|
|
|
Romalei | Дата: Воскресенье, 18 Декабря 2011, 02:15:23 | Сообщение # 10 |
8 уровень
Группа: Проверенные
Сообщений: 651
Награды: 0
Репутация: 208
Блокировки:
| да нет не затруднит) Добавлено (18 Декабрь 2011, 02:15:23) --------------------------------------------- http://rghost.ru/35299741
|
|
|
|
Shanaa | Дата: Понедельник, 19 Декабря 2011, 09:38:24 | Сообщение # 11 |
1 уровень
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 3
Блокировки:
| Romalei, спасибо огромное. Разобрался Остался один единственный вопрос: Quote (Shanaa) 4. Как сделать так, чтобы при входе в зону, в которую персонажу еще рано (например зона для героев 5-го уровня, а наш герой только 1-го) его плавно отодвигало назад. Помню карта была такая - The Black Road называется, вот там использовалась именно такая система. А то телепортация назад... кхм... выглядит неуклюже.
nyan:3
|
|
|
|
DzuNiK | Дата: Вторник, 20 Декабря 2011, 15:39:04 | Сообщение # 12 |
1 уровень
Группа: Пользователи
Сообщений: 19
Награды: 0
Репутация: 8
Блокировки:
| http://s017.radikal.ru/i421/1112/ff/0fd7875345dax.jpg Событие Отряд - Вошел в зону ASD Условие Сравнение чисел - Уровень входящий юнит меньше 5 Действие Боевая единица - Двигать входящий юнит мгновенно в ASD2
|
|
|
|
WarMasterDi | Дата: Вторник, 20 Декабря 2011, 15:51:31 | Сообщение # 13 |
5 уровень
Группа: Проверенные
Сообщений: 147
Награды: 0
Репутация: 103
Блокировки:
| Quote (DzuNiK) Двигать входящий юнит мгновенно в ASD2 Старичок, ему надо медленно)
|
|
|
|
DzuNiK | Дата: Вторник, 20 Декабря 2011, 15:59:39 | Сообщение # 14 |
1 уровень
Группа: Пользователи
Сообщений: 19
Награды: 0
Репутация: 8
Блокировки:
| А млин...извеняй не дочитал) Тогда... http://i068.radikal.ru/1112/b5/5a55ab1152cc.jpg http://i007.radikal.ru/1112/3e/81df4632d85f.jpg Триггер1 Событие Отряд - Вошел в зону ASD Условие Сравнение чисел - Уровень входящий юнит меньше 5 Действие Триггер - Включить триггер "Триггер2" Триггер2 Событие Время - Каждые 0.03 секунды игрового времени Действие Боевая единица - Двигать "Hero" мгновенно к "Hero" смещение на 0, -30
|
|
|
|
WarMasterDi | Дата: Вторник, 20 Декабря 2011, 16:22:51 | Сообщение # 15 |
5 уровень
Группа: Проверенные
Сообщений: 147
Награды: 0
Репутация: 103
Блокировки:
| Можно попробовать: 1 2 но это все: можно и не читать.
|
|
|
|
Romalei | Дата: Вторник, 20 Декабря 2011, 17:51:49 | Сообщение # 16 |
8 уровень
Группа: Проверенные
Сообщений: 651
Награды: 0
Репутация: 208
Блокировки:
| эмм немного не так, там надо входящего в переменную закидывать - это во первых, а во вторых это будет действовать только на 1 юнита, если сразу 2 зайдут то бред будет)
|
|
|
|
Shanaa | Дата: Пятница, 23 Декабря 2011, 04:25:02 | Сообщение # 17 |
1 уровень
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 3
Блокировки:
| Quote (DzuNiK) Триггер1 Событие Отряд - Вошел в зону ASD Условие Сравнение чисел - Уровень входящий юнит меньше 5 Действие Триггер - Включить триггер "Триггер2" Триггер2 Событие Время - Каждые 0.03 секунды игрового времени Действие Боевая единица - Двигать "Hero" мгновенно к "Hero" смещение на 0, -30 Молодчинка. То что нужно. Вот что получилось у меня (скрины триггеров) Триггер 1: http://puu.sh/biHZ Триггер 2: http://puu.sh/biIl Триггер 3: http://puu.sh/biIs
Извиняюсь за ап темы, просто захожу я не так часто (сессия гребаная х)) а отблагодарить человека очень хотелось.Добавлено (23 Декабрь 2011, 04:25:02) --------------------------------------------- Еще раз переработал триггер. Утечек теперь нет, ибо каждый юнит записывается в переменную и удаляется из неё по вхождению в зону отмены. Так же пропустил некоторые условия.
Вообщем еще раз всем спасибо!
nyan:3
|
|
|
|
Novice998 | Дата: Пятница, 23 Декабря 2011, 08:14:03 | Сообщение # 18 |
8 уровень
Группа: Проверенные
Сообщений: 693
Награды: 0
Репутация: 86
Блокировки:
| Shanaa, Quote (Shanaa) Утечек теперь нет, ибо каждый юнит записывается в переменную и удаляется из неё по вхождению в зону отмены. фига...Локалки уже делаем?Глобалками вообще нельзя так!
|
|
|
|
Ty3uK | Дата: Пятница, 23 Декабря 2011, 09:43:59 | Сообщение # 19 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Господи... Зачем обнулять глобалки? О.о локалки надо обнулять, потому что они висят в оперативке, а глобалки? О.о
|
|
|
|
Hexing | Дата: Пятница, 23 Декабря 2011, 11:27:54 | Сообщение # 20 |
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
| Ty3uK, глобалки тоже висят, только их из памяти нельзя удалить
|
|
|
|
Ty3uK | Дата: Пятница, 23 Декабря 2011, 11:29:31 | Сообщение # 21 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Они висят физически, но память занимают только те, которые используются в данный момент
|
|
|
|
Hexing | Дата: Пятница, 23 Декабря 2011, 12:28:13 | Сообщение # 22 |
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
| Quote (Ty3uK) Они висят физически ты когда мапу грузишь у тебя на стене цифры какието появляются? тогда ты прав
они висят одинаково, но я знаю из норм языков программирования(delphi) что глобалки отличаются само-инициализацией, более быстрой работой в то время локалки нужно инициализировать с другой стороны статические переменные работают быстрее и компактнее(простые адреса и не нужно контролировать стек) динамические - нужно муторно отслеживать память и т.п.
но не знаю как отнести это к интерплитационному языку jass
поэтому давайте не будем бросаться фразами, не зная реального порядка вещей
p.s. мб что попутал с типами переменных в дельфи, давно не практиковался
|
|
|
|