Модератор форума: Slon |
Форум РЕДАКТОР - ArmA 2 Скрипты "Respawn" и Скрипт генерирущий ботов (Создание ботов солдат на ходу) |
"Respawn" и Скрипт генерирущий ботов |
› Среда
› 16.03.2016
› 19:32
› Сообщение #
Последняя цифра это высота.
как поставить ботов в здания http://arma.at.ua/forum/46-5592-1 все команды тебе придётся писать в файлах |
› Четверг
› 17.03.2016
› 08:22
› Сообщение #
спасибо, ну а как же с респом игроков, как для него высоту сделать?
Труд есть дело чести, дело славы, дело доблести и геройства!
|
› Четверг
› 17.03.2016
› 08:53
› Сообщение #
как поставить ботов в здания http://arma.at.ua/forum/46-5592-1 что касается остальных вопросов, то в этой теме всё есть, просмотри её с начала. |
› Пятница
› 18.03.2016
› 08:20
› Сообщение #
Цитата как поставить ботов в здания http://arma.at.ua/forum/46-5592-1 не совсем понятно, как связать это и респ в сетевой миссии. можно поподробнее? значит, в сетевой миссии есть 2 респа, они на карте ставятся с помощью маркеров. чтобы было понятнее, абстрагируемся. вот допустим респ красных - маркер с названием "Respawn_East". если поместить его, скажем так, даже не в здании, не принципиально, а просто на том месте где на карте некий объект, у которого высота больше 0. это может быть скажем, какая-нибудь плита, ангар, мост, навес, крыша и т.д. (речь идет не о Черноруссии а о пользовательских картах) тогда игроки, возрождающиеся на респе, окажутся на поверхности этого объекта. вопрос в том, как сделать, чтобы они респились на земле ПОД этим объектом, не на высоте этого объекта, а на поверхности земли, на высоте 0. предполагаю ответ - а зачем тебе это надо, ставь респ на свободном месте. а если его надо поставить в условиях плотной застройки где свободного места мало? там какое-нибудь здание это единственное защищенное место
Труд есть дело чести, дело славы, дело доблести и геройства!
|
› Пятница
› 18.03.2016
› 09:45
› Сообщение #
Маркер респа остаётся один, возрадившийся игрок с него Телепортируется в другое место. Координаты места надо готовить зарание.
Самый простой способ определения координат места: сделай радиотриггер - строка активации hint str getPosASL Player; CopyToClipboard str getPosASL Player; получиш строку в виде "[12121, 23234,5]" Просто встань на нужное место, активируй радио и получиш координаты, переключаешся на текстовый редактор, и нажав Ctrl+C вставляеш полученные координаты в файл Телепортом может быть триггер, тип - логика игры условие alive Player Активация Player setPosASL [Твои координаты] |
› Пятница
› 08.05.2020
› 14:42
› Сообщение #
Понимаю, что давно было, но сейчас возник доп. вопрос)
Все работает, игрок при респе или возрождении телепортируется в точку с заданными координатами и высотой. А как сделать это, для игроков разных фракций? Если делаем сетевую миссию, в ней 2 фракции. И тогда получится, что игроки обоих фракций будут респиться в одном месте) А как сделать, чтобы - Player East setPosASL [Одни координаты] Player West setPosASL [Другие координаты] Что-то типа того) То есть, чтобы респы у них были в разных местах
Труд есть дело чести, дело славы, дело доблести и геройства!
|
› Пятница
› 08.05.2020
› 17:26
› Сообщение #
Во первых, респ на Базе , возрождает игроков на маркерах у каждой стороны свой.
https://community.bistudio.com/wiki/Description.ext#respawn имена маркеров respawn_West respawn_East respawn_Resistance .... Но можно это сделать триггером. Два триггера - один для стороны синих, второй для стороны красных. условие alive Player активация Player setPosASL [координаты] |
› Пятница
› 08.05.2020
› 18:14
› Сообщение #
Я так и подумал, что два триггера нужно, но как игра распознает, какой триггер к какой стороне относится? )
Труд есть дело чести, дело славы, дело доблести и геройства!
|
› Пятница
› 08.05.2020
› 19:18
› Сообщение #
ой. пардон, напутал. Это работает только с thisList.
Триггера хватит и одного, тип - Логика игры условие alive Player активация если только две стороны то так Player setPosASL ( if (PlayerSide == East) then {[координаты Красных]} else {[Координаты синих]} ) если три стороны, то вместо if лучше использовать Switch |
› Суббота
› 09.05.2020
› 12:06
› Сообщение #
Спасибо, работает! Теперь можно делать респы разных фракций хоть на разных этажах одного здания)
Добавлено (09.05.2020, 13:44)
Труд есть дело чести, дело славы, дело доблести и геройства!
|
› Суббота
› 09.05.2020
› 15:47
› Сообщение #
Всей группе не установишь. В команде создания ботов createunit
есть параметр для создания бота точно в указанном месте. _pos = [getPosATL this select 0, getPosATL this select 1, 0.1]; _un = _gr12 createunit ["GUE_Soldier_2", _pos, [], 10, "CAN_COLLIDE"] |
› Суббота
› 09.05.2020
› 18:11
› Сообщение #
А я решил эту задачу так. Собственно что было нужно, сделать такой алгоритм появления группы, из трех чел. фракции независимых, чтобы они появлялись в зоне триггера, который наложен на здание, и подходы к нему, когда в триггер заходят красные. При этом чтобы они появились в здании, на уровне первого этажа, а не на крыше его. И далее задать маршрут, чтобы вышли из здания и вступили в бой.
Вот как это получилось. В триггере (активация) - {_x createUnit [getMarkerPos "mk31", Gr31, "this setPosATL [getMarkerPos 'mk31' select 0, getMarkerPos 'mk31' select 1, 0.1];"]} forEach Vzvod31; В ините юнита который в здании - this setPos getMarkerPos "mk31"; Gr31 = Group this; Vzvod31 = ["GUE_Soldier_1", "GUE_Soldier_2", "GUE_Soldier_MG"]; deleteVehicle this И создается маркер под названием mk31 тоже в здании. Может, это можно еще проще сделать. И вот когда красные проходят мимо здания, и заходят в триггер, из него выбегают эти боевики) Добавлено (11.05.2020, 12:13) Прикрепления:
4653433.jpg
(11.6 Kb)
Труд есть дело чести, дело славы, дело доблести и геройства!
|
› Понедельник
› 11.05.2020
› 17:27
› Сообщение #
Для группы - Gr31 пишем
{deleteVehicle _x} forEach (units Gr31); ну и удалить саму группу deleteGroup Gr31; |
| |||
Чат сайта |