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

Принятый ответ

Вопрос, как заставить юнитов (нейтрально-враждебных), идти и нападать на здание, а не тупо бегать туда сюда.
xgm.guru/p/wc3/131468/comments?postid=245288 читаем эти вопросы
Или же как заставить юнитов игрока, использовать способности
Дать ИИ компьютера либо писать свой.
`
ОЖИДАНИЕ РЕКЛАМЫ...
4
19
5 лет назад
4
Похожие вопросы:

ответ
Работай с real (числа с запятой) вместо регионов, занеси в бд или проверяй условиями нужные координаты и выбирай.
Точка не будет утекать, если хранить одну точку в глобальной переменной и для мгновенных операций перемещать ее и использовать дальше по назначению.
  1. В шапку над триггерами вставляешь этот код:
function RegionInit takes nothing returns nothing
//17/11/2016
    set udg_GL = Location(0.0, 0.0)
    set udg_RegionNumber = GetRandomInt(1, 4) // выбрать количество регионов
    set udg_RegionX1 = GetRectMinX(udg_Region[udg_RegionNumber])
    set udg_RegionY1 = GetRectMinY(udg_Region[udg_RegionNumber])
    set udg_RegionX2 = GetRectMaxX(udg_Region[udg_RegionNumber])
    set udg_RegionY2 = GetRectMaxY(udg_Region[udg_RegionNumber])
endfunction

  1. Создаешь глобальные переменные типа:
    • точка с названием GL
    • регион массив с названием Region
    • целочисленная с названием RegionNumber - для хранения номера выбранного региона
    • реальное число с названиями RegionX1, RegionX2, RegionY1, RegionY1 - для хранения координат выбранного региона
После действий на картинке в инициализацию вставляешь кастом скрипт:
call RegionInit()

  1. Перед каждым созданием юнита вставляешь кастом скрипт:
call MoveLocation(udg_GL, GetRandomReal(udg_RegionX1, udg_RegionX2), GetRandomReal(udg_RegionY1, udg_RegionY2))
В окне действия с созданием юнита используешь свою переменную GL
ответ
Лови карту.
ответ
Steal nerves:
циклом (данного юнита от 1-6 слотов, на jass от нумерация слотов начинается так 0-5) пробегаешься по каждому слоту и проверяешь тип, кол-во зарядов. я на гуи что-то не нашел эту команду UnitItemInSlot
native UnitItemInSlot takes unit whichUnit, integer itemSlot returns item
кол-во итемов
ищем в каждом слоте один и тот же тип предмета. Этот код считывает кол-во итемов занимаемые в слотах
local integer id = ''//id-предмета, забудь указать в кавычках ид
local integer i=0 //для цикла
local integer c=0 //кол-во предметов
local unit u = //нужно не забыть указать юнита
//внизу начинается цикл, его блок 
loop //начало цикла
    exitwhen i > 5 //условие выхода из цикла
    if GetItemTypeId(UnitItemInSlot(u,i)) == '' then //если тип в слоте равен ....
        set c = c + 1
    endif
    set i = i + 1
endloop //конец цикла
кол-во предметов данного типа с N зарядами
local integer id = '' //id-предмета, забудь указать в кавычках ид
local integer i=0 //для цикла
local integer c=0 //кол-во предметов
local unit u = //нужно не забыть указать юнита
loop
    exitwhen i > 5

    if GetItemTypeId(UnitItemInSlot(u,i)) == id or GetItemCharges(UnitItemInSlot(u,i)) == 5 then //если тип в слоте такой, и и у этого итема зарядов равно 5
        set c = c + 1
    endif
    set i = i + 1
endloop
set u = null
ответ
добавляешь обоих
блокируешь улучшенного при старте карты всем игрокам
лучший и простейший вариант
ответ
без мемхака - нет

3
27
5 лет назад
3
Вопрос, как заставить юнитов (нейтрально-враждебных), идти и нападать на здание, а не тупо бегать туда сюда.
xgm.guru/p/wc3/131468/comments?postid=245288 читаем эти вопросы
Или же как заставить юнитов игрока, использовать способности
Дать ИИ компьютера либо писать свой.
Принятый ответ
0
15
0
PrincePhoenix:
Вопрос, как заставить юнитов (нейтрально-враждебных), идти и нападать на здание, а не тупо бегать туда сюда.
xgm.guru/p/wc3/131468/comments?postid=245288 читаем эти вопросы
стоит дать показатель 99999?
3
27
5 лет назад
3
БезликийСектант, лучше не использовать нейтралов вообще, они багнутые в приказах. А для игрока да.
0
15
0
PrincePhoenix:
Вопрос, как заставить юнитов (нейтрально-враждебных), идти и нападать на здание, а не тупо бегать туда сюда.
xgm.guru/p/wc3/131468/comments?postid=245288 читаем эти вопросы
Или же как заставить юнитов игрока, использовать способности
Дать ИИ компьютера либо писать свой.
Спасибо, помогло, а ты знаешь как там в триггерах, проделать работу, чтобы после всех этих волн, пошёл таймер и пошли другие волны? Или всё также, действие (ждать) и потом снова волны и так далее.
Дать ИИ компьютера либо писать свой.
Я хз как это делаете, использую пока что нейтралов.
3
27
5 лет назад
Отредактирован Феникс
3
БезликийСектант, используй переменные для отряда и когда юнит из отряда умирает, проверяешь все ли юниты умерли, если да, то запускаешь следующий ивент/волну
0
15
0
Дать ИИ компьютера либо писать свой.
А ты знаешь как дать ИИ 12 игроку? А то действительно проблемы с нейтрально-враждебными, они то просто спят, то бегают непонятно куда.
0
27
5 лет назад
0
БезликийСектант, поставить в свойствах игрока - Управляет: Компьютер
0
7
5 лет назад
0
Еще можно отслеживать по пищи.
0
15
0
bOrissko:
Еще можно отслеживать по пищи.
Что именно?
0
7
5 лет назад
0
У тебя как раз игрок 12 атакует, раз пищи стало ноль, значит все сдохли, го таймер и вторую волну.
1
7
5 лет назад
1
bOrissko:
У тебя как раз игрок 12 атакует, раз пищи стало ноль, значит все сдохли, го таймер и вторую волну.
А если ,например, на другой линии остались крипы?
1
7
5 лет назад
Отредактирован bOrissko
1
Mechanicus:
А если ,например, на другой линии остались крипы?
Все зависит от ваших целей, нужен постоянный поток как в доте, кляпайте каждые N секунд крипов. Этот способ хорош для карт на выживания или защиты.
1
7
5 лет назад
1
bOrissko
Понятно.
3
32
5 лет назад
3
100500 раз уже говорилось, нейтралы не годятся для таких целей как враги бегущие по линии. Для этого отлично подходят слоты обычных игроков от 0 до 11, а вот 12 игрок и выше - не пригодны для этого, т.к имеют встроенный ИИ, отключить который как либо низя, никто так и не нашел способов это сделать.
Все нейтралы являются читорами, они видят сквозь туман войны.
Если у вас совсем не осталось слотов, то чтобы юзать нейтралов придется написать немало кода, почти собственный ИИ.
2
7
5 лет назад
2
quq_CCCP:
100500 раз уже говорилось, нейтралы не годятся для таких целей как враги бегущие по линии. Для этого отлично подходят слоты обычных игроков от 0 до 11, а вот 12 игрок и выше - не пригодны для этого.
А 12 игрок это и есть нейтрально-враждебный? Просто все игроки считаются от 1 до 12, а не от 0 до 11.
3
32
5 лет назад
3
Mechanicus, игроки считаются от нуля, 0-11 игроки люди, какраз 12 штук. два игрока доп нейтрала и последний нейтрал пассивный, итого в игре всего 16 слотов, из которых людям доступны только 12, если речь идет о 1.26 или ниже патчах.
0
7
5 лет назад
0
quq_CCCP:
Mechanicus, игроки считаются от нуля, 0-11 игроки люди, какраз 12 штук. два игрока доп нейтрала и последний нейтрал пассивный, итого в игре всего 16 слотов, из которых людям доступны только 12, если речь идет о 1.26 или ниже патчах.
Я не знал об этом, спасибо что рассказал.
0
15
5 лет назад
Отредактирован БезликийСектант
0
Вот тут 1 волна, 11 игрок, и я хз, может ли он юзать способности или нет, но сама волна идёт и нападает 3 раза, каждые 23 сек. xgm.guru/files/100/226403/comments/420092/moyo.png
Загруженные файлы
0
32
5 лет назад
0
БезликийСектант, как насчет не показывать такие сомнительные решения с вейтами и утечками, достаточно было упомянуть карту ExtrimeCandyWar 2004.
0
26
5 лет назад
0
БезликийСектант:
Вот тут 1 волна, 11 игрок, и я хз, может ли он юзать способности или нет, но сама волна идёт и нападает 3 раза, каждые 23 сек. xgm.guru/files/100/226403/comments/420092/moyo.png
Если способностями зомби не пользуются, то можно триггерно их выполнение задать. А если надо выпускать следующую партию зомби после гибели предыдущих, а не просто каждые 24 секунды, то есть действие Wait For Condition, где можешь задать условие для дальнейшего выполнения триггера.
Загруженные файлы
0
32
5 лет назад
0
кстати никогда не проверял, а что внутри Wait For Condition? там таймер сидит или что? никогда не конвертил её, какая-то она оч сомнительная
0
32
5 лет назад
0
Bergi_Bear, да обычный вейт с циклом, не то с екзектом, все это делает с помощью таймера намного проще и изящнее даже на гуи.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.