K0lenval
offline
Опыт:
404Активность: |
Перемещение Юнита
Прошу помочь в написании трига, рассчитанного на перемещение случайного юнита из группы юнитов в определенную область при условии, что он жив и на счету его владельца не менее 250золота. И если условиям данный юнит не удовлетворяет, найти такого из группы. Отредактировано K0lenval, 10.10.2012 в 13:15. |
10.10.2012, 12:55 | #1
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Cosonic5
Моймозггоритогнем
offline
Опыт:
13,584Активность: |
а что сложного?
ну гуи? ну кароче выбираешь случайного юнита заносишь его в переменную затем поворачиваешь его на нужный угол.. а затем другим триггером двигаешь со смещением по точкам. (полярное смещение) этого юнита лицом к точке. |
10.10.2012, 13:13 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
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 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
K0lenval
offline
Опыт:
404Активность: |
Да, забыл написать: если условиям данный юнит не удовлетворяет, найти такого из группы. В общем перемещение 1 юнита обязательно, если хотя бы один из группы удовлетворяет условиям. |
10.10.2012, 13:21 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
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 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
K0lenval
offline
Опыт:
404Активность: |
Diethiswayer
В примере, что вы предложили, меня заинтересовало - а кто такой выбранный юнит и когда система вара выберет именно того, кого нужно. Быть может она одного и того же выбирает. Короче, пример не рабочий. :( Отредактировано K0lenval, 10.10.2012 в 14:57. |
10.10.2012, 14:39 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Diethiswayer
Silenced by Diethiswayer
offline
Опыт:
717Активность: |
Одного и того же она не выберет. Там прописано set veriable = random unit - это означает случайный юнит из группы юнитов. Сделай триггер и сделай тест десять раз, чтобы убедиться. НО: УБЕДИСЬ, ЧТО У ТЕБЯ В РЕДАКТОРЕ СТОИТ ИМЕННО СЛУЧАЙНЫЙ РАЗБРОС ЧИСЕЛ! Там есть пункт вроде в параметрах карты называется фиксированный случайный разброс, его надо ОТКЛЮЧИТЬ, убрать галку. |
10.10.2012, 15:02 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
K0lenval
offline
Опыт:
404Активность: |
Вот моя наработка, прошу написать, если в ней что-то неправильно.
|
10.10.2012, 15:12 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ДжекВоробей
Изучаю Jass ~ 1%
offline
Опыт:
8,302Активность: |
K0lenval, мне кажется надо не remove all a remove last add unit to group. |
10.10.2012, 15:16 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
K0lenval
offline
Опыт:
404Активность: |
ДжекВоробей
нет, не помогло |
10.10.2012, 15:27 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sladkoegka
Забыл что хотел...
offline
Опыт:
7,437Активность: |
K0lenval,
начнем с того что это Возрадуйся Sladkoegka добавил: ДжекВоробей, K0lenval, У него там даже действий с группой нет-пустые проверки... |
10.10.2012, 15:30 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
K0lenval
offline
Опыт:
404Активность: |
Sladkoegka
Прекрасно работает :), спасибо, сейчас внедрю в свою мапу и отпишусь. Цитата:
Согласен. |
|
10.10.2012, 15:39 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
K0lenval
offline
Опыт:
404Активность: |
[b]Sladkoegka[/b]
Изменил твою версию под свои нужды - работает не корректно. Перемещаются почему-то только 2 случайных юнита. |
10.10.2012, 21:29 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sladkoegka
Забыл что хотел...
offline
Опыт:
7,437Активность: |
|
10.10.2012, 21:51 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
K0lenval
offline
Опыт:
404Активность: |
Нужно переместить случайного юнита из группы юнитов в определенную область при условии, что он жив и на счету его владельца не менее 250золота. И если условиям данный юнит не удовлетворяет, найти такого из группы.
: ) Я тож думал, что он простейший, а вот ни как не получается. Отредактировано K0lenval, 10.10.2012 в 22:15. |
10.10.2012, 22:03 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sladkoegka
Забыл что хотел...
offline
Опыт:
7,437Активность: |
K0lenval, Я же уже дал функцию-закидывай в группу(локальную)всех глобальных юнитов и потом через FirstOfGroup().Мне даже лень такой пример делать((( |
10.10.2012, 22:26 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
K0lenval
offline
Опыт:
404Активность: |
Я видел твой способ, но у тебя по порядку все перемещаются. А мне надо чтоб случайный. С добавлением юнитов в группу проблем нет, но как только я хочу переместить случайного юнита из группы происходит такая лажа как написал выше. |
10.10.2012, 22:33 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
KPOKODIL
В разработке
offline
Опыт:
10,262Активность: |
Есть такая фун - ция Random N units from units group (как то так , ибо пишу по памяти), а так же есть функция Pick every unit in region matching conditions Если их использовать , то можно вытащить 1 случайного берта из группы с задаными требованиями . |
11.10.2012, 07:49 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Cosonic5
Моймозггоритогнем
offline
Опыт:
13,584Активность: |
K0lenval, а как разница случайно или циклом? ведь переместиться только тот у каго было больше 250 золота.. |
11.10.2012, 08:00 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
KPOKODIL
В разработке
offline
Опыт:
10,262Активность: |
Cosonic5, ты хоть понимаешь что золото находится у игрока а не юнита ? |
11.10.2012, 08:20 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|