Хочу сделать чтобы если пехотинец оказался слишком далеко от своего здания "дом", допустим на расстоянии 5000+, то он сразу умирал. Дайте какой-нибудь гайд или наработку с похожей штукой, где есть работа с областями относительно юнита.

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

чем-то напоминает завод тинкера. там тоже есть такая фишка. только спавнит автоматически =(
вот
Завод 'ANfy'/ Мини-завод 'ANsy'/'ANs1'/'ANs2'/'ANs3' - пассивка с иконкой, каждый раз создает новых маленьких заводных гоблинов. Интервал порождения - время, через которое создается новый гоблин. Есть "радиус подчинения" - если гоблин отойдет дальше этого радиуса от завода, то погибнет. Это очень похоже на призыв, там таймер жизни нацепляют, наносится дополнительный урон, как вызванным существам, от магических заклинаний. Но не ловится событием "юнит призвал боевую единицу", зато можно ловить по событию "юнит вошел в область". Неплохо сочетается со способностью "сбор" 'ARal', "Сборный пункт" - указываешь флаг в точку, где будет скапливаться все войско (как только появится рядом, он побежит к точке сбора).
Чтоб спавнил на постоянно основе, задайте длительность = 0. А чтоб спавнил в нужный момент, добавляйте абилку, и после спавна сразу же удаляйте абилку (иначе дофига наспавнит, так как абилка автоматом спавнит).
только вот вам нужно триггерно, но вам уже все расписали.
вот простой пример 2. тут заранее добавляем в группу. у каждого дома должна быть создана своя группа, в которую добавляешь. короче если вы строите дом, нужно создавать группу. Если дом умирает, группу удаляете. И счетчик надо делать, чтоб запоминать скока.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
4
16
6 лет назад
Отредактирован Naadir
4
Каждые 0,03 секунды проверяешь расстояние между "Пехотинец" и "Дом". Если нужно -- для всех пехотинцев на карте.
И если оно больше 5000 -- убиваешь.
Всё очень просто. Исследуй редактор триггеров.
3
28
6 лет назад
3
JASS или GUI?
Есть вот что:
constant native IsUnitInRange takes unit whichUnit, unit otherUnit, real distance returns boolean
constant native IsUnitInRangeXY takes unit whichUnit, real x, real y, real distance returns boolean
constant native IsUnitInRangeLoc takes unit whichUnit, location whichLocation, real distance returns boolean
0
4
6 лет назад
0
Naadir:
Каждые 0,03 секунды проверяешь расстояние между "Пехотинец" и "Дом". Если нужно -- для всех пехотинцев на карте.
И если оно больше 5000 -- убиваешь.
Всё очень просто. Исследуй редактор триггеров.
Этим и занимаюсь, только не понимаю как находить нужные мне триггеры, например как и в чем и где проверять это всё
PT153:
JASS или GUI?
Есть вот что:
constant native IsUnitInRange takes unit whichUnit, unit otherUnit, real distance returns boolean
constant native IsUnitInRangeXY takes unit whichUnit, real x, real y, real distance returns boolean
constant native IsUnitInRangeLoc takes unit whichUnit, location whichLocation, real distance returns boolean
jass пока слишком сложно, сначала обычные триггеры понять надо :d
0
18
6 лет назад
Отредактирован Hodor
0
Naadir:
Каждые 0,03 секунды проверяешь расстояние между "Пехотинец" и "Дом". Если нужно -- для всех пехотинцев на карте.
И если оно больше 5000 -- убиваешь.
Всё очень просто. Исследуй редактор триггеров.
Зачем лишняя нагрузка?
Делаешь область с нужным размером и ловишь ивент на лив из неё. Никто же не будет ходить и проверять какая там область, квадратная или круглая, тем более на таком расстоянии.
0
4
6 лет назад
0
UrsaBoss:
Naadir:
Каждые 0,03 секунды проверяешь расстояние между "Пехотинец" и "Дом". Если нужно -- для всех пехотинцев на карте.
И если оно больше 5000 -- убиваешь.
Всё очень просто. Исследуй редактор триггеров.
Зачем лишняя нагрузка?
Делаешь область с нужным размером и ловишь ивент на лив из неё. Никто же не будет ходить и проверять какая там область, квадратная или круглая, тем более на таком расстоянии.
не, ты не понял, мне нужно проверять область относительно юнита, потому что этот дом может быть построен где угодно, и этот дом может быть вообще юнитом с ногами
1
21
6 лет назад
1
Если воинов может быть несколько и каждый привязан к определенному зданию, то можно заносить их в двусвязный список и через таймер циклом проходить по каждой сохранённой ячейке. Лучше использовать структуру, так как там есть уже готовые на халяву функции create() и destroy().
0
12
6 лет назад
0
Смотри. Такая идея.
  1. Вариант.
Событие: каждые 0.03 секунды.
Условие: -
Действие: Выбрать всех юнитов типа (х) на расстоянии 5000+ от (нужного тебе юнита) и убить их.
2). Вариант.
Событие: каждые 0.03 секунды.
Условие: -
Действие: Выбрать всех юнитов типа (х)
Если расстояние между (х) и (нужным юнитом) больше 5000
Убить выбранного юнита.
4
27
6 лет назад
Отредактирован MpW
4
чем-то напоминает завод тинкера. там тоже есть такая фишка. только спавнит автоматически =(
вот
Завод 'ANfy'/ Мини-завод 'ANsy'/'ANs1'/'ANs2'/'ANs3' - пассивка с иконкой, каждый раз создает новых маленьких заводных гоблинов. Интервал порождения - время, через которое создается новый гоблин. Есть "радиус подчинения" - если гоблин отойдет дальше этого радиуса от завода, то погибнет. Это очень похоже на призыв, там таймер жизни нацепляют, наносится дополнительный урон, как вызванным существам, от магических заклинаний. Но не ловится событием "юнит призвал боевую единицу", зато можно ловить по событию "юнит вошел в область". Неплохо сочетается со способностью "сбор" 'ARal', "Сборный пункт" - указываешь флаг в точку, где будет скапливаться все войско (как только появится рядом, он побежит к точке сбора).
Чтоб спавнил на постоянно основе, задайте длительность = 0. А чтоб спавнил в нужный момент, добавляйте абилку, и после спавна сразу же удаляйте абилку (иначе дофига наспавнит, так как абилка автоматом спавнит).
только вот вам нужно триггерно, но вам уже все расписали.
вот простой пример 2. тут заранее добавляем в группу. у каждого дома должна быть создана своя группа, в которую добавляешь. короче если вы строите дом, нужно создавать группу. Если дом умирает, группу удаляете. И счетчик надо делать, чтоб запоминать скока.
Загруженные файлы
Принятый ответ
0
4
6 лет назад
0
Steal nerves:
чем-то напоминает завод тинкера. там тоже есть такая фишка. только спавнит автоматически =(
вот
Завод 'ANfy'/ Мини-завод 'ANsy'/'ANs1'/'ANs2'/'ANs3' - пассивка с иконкой, каждый раз создает новых маленьких заводных гоблинов. Интервал порождения - время, через которое создается новый гоблин. Есть "радиус подчинения" - если гоблин отойдет дальше этого радиуса от завода, то погибнет. Это очень похоже на призыв, там таймер жизни нацепляют, наносится дополнительный урон, как вызванным существам, от магических заклинаний. Но не ловится событием "юнит призвал боевую единицу", зато можно ловить по событию "юнит вошел в область". Неплохо сочетается со способностью "сбор" 'ARal', "Сборный пункт" - указываешь флаг в точку, где будет скапливаться все войско (как только появится рядом, он побежит к точке сбора).
Чтоб спавнил на постоянно основе, задайте длительность = 0. А чтоб спавнил в нужный момент, добавляйте абилку, и после спавна сразу же удаляйте абилку (иначе дофига наспавнит, так как абилка автоматом спавнит).
только вот вам нужно триггерно, но вам уже все расписали.
вот простой пример 2. тут заранее добавляем в группу. у каждого дома должна быть создана своя группа, в которую добавляешь. короче если вы строите дом, нужно создавать группу. Если дом умирает, группу удаляете. И счетчик надо делать, чтоб запоминать скока.
Спасибо, то что нужно! Но я всех обманул, мне это нужно было сделать не для пехотинца и для его дома, а для некроманта и его скелетов, бугага
Чтобы оставить комментарий, пожалуйста, войдите на сайт.