XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
K0lenval

offline
Опыт: 404
Активность:
Перемещение Юнита
Прошу помочь в написании трига, рассчитанного на перемещение случайного юнита из группы юнитов в определенную область при условии, что он жив и на счету его владельца не менее 250золота. И если условиям данный юнит не удовлетворяет, найти такого из группы.

Отредактировано K0lenval, 10.10.2012 в 13:15.
Старый 10.10.2012, 12:55
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
а что сложного?
ну гуи?
ну кароче выбираешь случайного юнита заносишь его в переменную затем поворачиваешь его на нужный угол.. а затем
другим триггером двигаешь со смещением по точкам. (полярное смещение) этого юнита
лицом к точке.
Старый 10.10.2012, 13:13
Diethiswayer
Silenced by Diethiswayer
offline
Опыт: 717
Активность:
*Для того, чтобы определить золото и жив ли юнит и кинуть в группу с юнитами соответствующую твоему условию*
Действия:
Отряд - Pick every unit in map area and do actions -
Конструкция if then else multiple functions -
Условия:
Bolean compasion - picked unit i alive = да
*Тут точно непомню* Player compasion - Player (owner of unit) property gold меньше или равно 250
Действия:
Отряд - add unit to MYGROUP
*Действие, которое переместит случайного юнита*
Действия:
Set variable MYUNIT(название переменной типа юнит) = random unit from unit group MYGROUP(название переменной типа группа).
Боевая единица - Move MYUNIT (instant) to region (созданный тобой на карте игровой регион)
Старый 10.10.2012, 13:15
K0lenval

offline
Опыт: 404
Активность:
Да, забыл написать: если условиям данный юнит не удовлетворяет, найти такого из группы. В общем перемещение 1 юнита обязательно, если хотя бы один из группы удовлетворяет условиям.
Старый 10.10.2012, 13:21
Diethiswayer
Silenced by Diethiswayer
offline
Опыт: 717
Активность:
Смысл в том, чтобы пикать рандомного юнита из группы в которой все юниты удовлетворяют условиям (группа MYGROUP).
События:
Pereodic event - every 1 second.
Условия: пусто.
Действия:
Конструкция if then else multiple functions -
Условия:
Bolean compasion - picked unit i alive = да
Player compasion - Player (owner of unit) property gold меньше или равно 250
Действия:
Отряд - add unit to MYGROUP *В группе все юниты соответствуют твоему условию*
*Двигаем случайный юнит из группы*
Set variable MYUNIT(название переменной типа юнит) = random unit from unit group MYGROUP(название переменной типа группа).
Боевая единица - Move MYUNIT (instant) to region (созданный тобой на карте игровой регион)
*Убираем всех юнитов из группы, поскольку к началу следующего цикла все может измениться*
Group - remove all units from unit group MYGROUP
Старый 10.10.2012, 13:35
K0lenval

offline
Опыт: 404
Активность:
Diethiswayer
В примере, что вы предложили, меня заинтересовало - а кто такой выбранный юнит и когда система вара выберет именно того, кого нужно. Быть может она одного и того же выбирает.
Короче, пример не рабочий. :(

Отредактировано K0lenval, 10.10.2012 в 14:57.
Старый 10.10.2012, 14:39
Diethiswayer
Silenced by Diethiswayer
offline
Опыт: 717
Активность:
Одного и того же она не выберет. Там прописано set veriable = random unit - это означает случайный юнит из группы юнитов. Сделай триггер и сделай тест десять раз, чтобы убедиться.
НО: УБЕДИСЬ, ЧТО У ТЕБЯ В РЕДАКТОРЕ СТОИТ ИМЕННО СЛУЧАЙНЫЙ РАЗБРОС ЧИСЕЛ! Там есть пункт вроде в параметрах карты называется фиксированный случайный разброс, его надо ОТКЛЮЧИТЬ, убрать галку.
Старый 10.10.2012, 15:02
K0lenval

offline
Опыт: 404
Активность:
Вот моя наработка, прошу написать, если в ней что-то неправильно.
Прикрепленные файлы
Тип файла: w3x example.w3x (18.0 Кбайт, 3 просмотров )
Старый 10.10.2012, 15:12
ДжекВоробей
Изучаю Jass ~ 1%
offline
Опыт: 8,302
Активность:
K0lenval, мне кажется надо не remove all a remove last add unit to group.
Старый 10.10.2012, 15:16
K0lenval

offline
Опыт: 404
Активность:
ДжекВоробей
нет, не помогло
Старый 10.10.2012, 15:27
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,477
Активность:
K0lenval,
Вот моя наработка, прошу написать, если в ней что-то неправильно.
начнем с того что это полнейший шлак...Объяснять долго
Возрадуйся
Sladkoegka добавил:
ДжекВоробей, K0lenval, У него там даже действий с группой нет-пустые проверки...
Прикрепленные файлы
Тип файла: w3x example.w3x (17.9 Кбайт, 9 просмотров )
Старый 10.10.2012, 15:30
K0lenval

offline
Опыт: 404
Активность:
Sladkoegka
Прекрасно работает :), спасибо, сейчас внедрю в свою мапу и отпишусь.

Цитата:
Сообщение от Sladkoegka
ladkoegka добавил:
ДжекВоробей, K0lenval, У него там даже действий с группой нет-пустые проверки...

Согласен.
Старый 10.10.2012, 15:39
K0lenval

offline
Опыт: 404
Активность:
[b]Sladkoegka[/b]
Изменил твою версию под свои нужды - работает не корректно. Перемещаются почему-то только 2 случайных юнита.
Миниатюры
Кликните на картинку для увеличения
Название:  text.png
Просмотров: 24
Размер:  51.7 Кбайт  
Прикрепленные файлы
Тип файла: w3x example.w3x (18.9 Кбайт, 2 просмотров )
Старый 10.10.2012, 21:29
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,477
Активность:
K0lenval, О боги что за понос триггеры!!!Скажи что тебе нужно и я тебе по-человечески сделаю.
Sladkoegka добавил:
K0lenval, 5 глобалок на 1 простейший тригер-ты наркоман?
Старый 10.10.2012, 21:51
K0lenval

offline
Опыт: 404
Активность:
Нужно переместить случайного юнита из группы юнитов в определенную область при условии, что он жив и на счету его владельца не менее 250золота. И если условиям данный юнит не удовлетворяет, найти такого из группы.
Sladkoegka добавил:
K0lenval, 5 глобалок на 1 простейший тригер-ты наркоман?
: ) Я тож думал, что он простейший, а вот ни как не получается.

Отредактировано K0lenval, 10.10.2012 в 22:15.
Старый 10.10.2012, 22:03
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,477
Активность:
K0lenval, Я же уже дал функцию-закидывай в группу(локальную)всех глобальных юнитов и потом через FirstOfGroup().Мне даже лень такой пример делать(((
Старый 10.10.2012, 22:26
K0lenval

offline
Опыт: 404
Активность:
Я видел твой способ, но у тебя по порядку все перемещаются. А мне надо чтоб случайный.
С добавлением юнитов в группу проблем нет, но как только я хочу переместить случайного юнита из группы происходит такая лажа как написал выше.
Старый 10.10.2012, 22:33
KPOKODIL
В разработке
offline
Опыт: 10,262
Активность:
Есть такая фун - ция Random N units from units group (как то так , ибо пишу по памяти), а так же есть функция Pick every unit in region matching conditions
Если их использовать , то можно вытащить 1 случайного берта из группы с задаными требованиями .
Старый 11.10.2012, 07:49
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
K0lenval, а как разница случайно или циклом? ведь переместиться только тот у каго было больше 250 золота..
Старый 11.10.2012, 08:00
KPOKODIL
В разработке
offline
Опыт: 10,262
Активность:
Cosonic5, ты хоть понимаешь что золото находится у игрока а не юнита ?
Старый 11.10.2012, 08:20
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 17:54.