Добрый день. Меня интересует пара вопросов.
В чём разница между Player(12), Player(13) и Player(14)?
(Это нейтральные игроки: агрессивный, жертва и экстра. Player(15) - нейтрально-пассивный, он меня не интересует.)
Если приказать триггерно юнитам под управлением этих игроков идти в каком-то направлении, то скоро (через 5 секунд) они развернутся и пойдут назад, даже если они не дошли до указанной точки. Эта проблема решается через игровые константы выставлением в графе Creeps - Guard Return Time большего времени.
Юниты поступят также, если им кто-нибудь во время выполнения приказа нанесёт урон. Решить эту проблему можно через триггер, который срабатывает при получении урона и отдаёт команду двигаться дальше. Но если юнит часто получает урон, то из-за триггера юнит начнёт притормаживать, что мне не нравится. Есть ли какой-то другой способ заставить юнитов под управлением Player(12), Player(13) и Player(14) продолжать двигаться, даже если они получают урон?

Жертвой игрок может стать, потеряв все строения в Melee. Он враждебен всем, но сам не атакует.
Враждебный - обычные нейтралы.
Резерв - игрок, изначально нейтральный, скорее всего нужен для манипуляций с передачей контроля над юнитами.
Все эти игроки находятся под управлением компьютера, так что нормально управлять ими не получится.
(Ну и ты там везде на единичку окарался. Все номера ровно на 1 больше.)
`
ОЖИДАНИЕ РЕКЛАМЫ...
16
Жертвой игрок может стать, потеряв все строения в Melee. Он враждебен всем, но сам не атакует.
Враждебный - обычные нейтралы.
Резерв - игрок, изначально нейтральный, скорее всего нужен для манипуляций с передачей контроля над юнитами.
Все эти игроки находятся под управлением компьютера, так что нормально управлять ими не получится.
(Ну и ты там везде на единичку окарался. Все номера ровно на 1 больше.)
Принятый ответ
28
(Ну и ты там везде на единичку окарался. Все номера ровно на 1 больше.)
Номера игроков начинаются с 0.
PT153:
Это тут тоже сработает?
Не сработало. :(
17
я с этой проблемой борюсь с помощью игрока Player(11)-то есть игрок 12,но его как бы в игре не выделяю то есть свойства игрока\игроки там где управляет ставлю на нет и теперь юниты при приказе в точку идут и не возврщаються обратно
а у этих 12-14 есть своя точка сбора куда они все ровно стремиться будут
32
PT153, Нет на всех нейтралов расшарен один единый ИИ, без костылей этот вопрос не решить. Можно попробовать отобрать контроль у нейтралов, ну а так же сделать как сделал фрог, SetUnitPosition( u, GetUnitX(u), GetUnitY(u)) и тут же приказ идти куда надо, так раз в 2\3 сек.
28
quq_CCCP, вариант фрога не решает проблему притормаживания юнита
PT153, проблема полностью не решается
можно поменять расстояние на которое они могут отходить от guard position но это не панацея
возможно мемхак чтото может но не факт
20
quq_CCCP, вариант фрога не решает проблему притормаживания юнита
Как вариант - давайте нейтралам на время возвращения постоянную невидимость с отсутствием поиска целей.
32
Diaboliko, всерано, они пойдут на пофиг в место спауна, ии будет кликать идти на б дурью...
22
сменить игрок на 1 и дать приказ потом вернуть нетрал и воля бегает от приказа 1 игрока и не отменяет +)
28
ledoed:
я с этой проблемой борюсь с помощью игрока Player(11)-то есть игрок 12,но его как бы в игре не выделяю то есть свойства игрока\игроки там где управляет ставлю на нет и теперь юниты при приказе в точку идут и не возврщаються обратно
а у этих 12-14 есть своя точка сбора куда они все ровно стремиться будут
Так и было сначала, но мне захотелось, чтобы был 12-й игрок-человек.
quq_CCCP:
Можно попробовать отобрать контроль у нейтралов
Я пробовал поставить SetPlayerController на NONE, это не дало результата.
JyHgle:
сменить игрок на 1 и дать приказ потом вернуть нетрал и воля бегает от приказа 1 игрока и не отменяет +)
Попробую, спасибо.
Юниты ничего не делают, если сначала отдать приказ, а после поменять владельца на нейтрала.
PT153:
владельца на нейтрала.
Даже если на любого владельца.
9
Вроде бы должно работать,если вставишь в карту то что выделил красным
Загруженные файлы
28
Вроде бы должно работать,если вставишь в карту то что выделил красным
Разве это отключит ИИ крипов?
32
PT153, ты не понял, про отобрать контроль - сделать нейтралом самому себе, в параметрах союзов.
9
PT153:
Вроде бы должно работать,если вставишь в карту то что выделил красным
Разве это отключит ИИ крипов?
Проверь
28
про отобрать контроль - сделать нейтралом самому себе, в параметрах союзов.
Так?
call SetPlayerAlliance(Player(12),Player(12),ALLIANCE_PASSIVE,true)
28
Ну да, параметры альянса перепробуй
Что-то не выходит. Делал так, где p=Player(12).
call SetPlayerAllianceStateAllyBJ(p,p,false)
call SetPlayerAllianceStateVisionBJ(p,p,false)
call SetPlayerAllianceStateControlBJ(p,p,false)
call SetPlayerAllianceStateFullControlBJ(p,p,false)
16
quq_CCCP:
PT153, ты не понял, про отобрать контроль - сделать нейтралом самому себе, в параметрах союзов.
Нельзя сделать игрока нейтральным самому себе. По крайней мере, у меня это не получалось, и контроль сохранялся.
22
Если действие разворачивается в карте жанра TD, то можно оглушать юнитов станом в 0 секунд (бесконечность) и двигать их триггерно по маршруту используя SetUnitX, SetUnitY.
Вполне сносно.
Если данный мазохизм понравился, то не юзай паузу. Это говно
12
В игровых константах можно сделать время возвращения и радиус преследования на 999999. Тогда все нейтралы будут идти к цели до полного исполнения приказа. Но это может обернуться бесконечным преследованием обидчиков.
И пропустить того кто будет держать толпу на хвосте. Также юниты не реагируют на башни при преследовании. Можно попробовать вариант с приоритетами.
Моддеры склейте потом этот коммент с верхним, а то я не понял как комменты дополнять собственные.
28
Моддеры склейте потом этот коммент с верхним, а то я не понял как комменты дополнять собственные.
они автоматом склеиваются
Чтобы оставить комментарий, пожалуйста, войдите на сайт.