Модератор форума: Slon |
Форум РЕДАКТОР - ArmA 2 Скрипты "Respawn" и Скрипт генерирущий ботов (Создание ботов солдат на ходу) |
"Respawn" и Скрипт генерирущий ботов |
› Суббота
› 19.09.2009
› 21:04
› Сообщение #
Люди подскажите как заставить генеритца группу солдат. С одним солдатом всё ясно "SoldierWB" createUnit [getPos player, group player, "this AddWeapon ""binocular""", 0.7] в инете [] exec"название скрипта.sqs" его можно повтарить хоть сто раз и сто ботов будет но он должен по любому быть привязан к плееру или юниту ,вопрос как генерировать группу без всякой привязке к юнитам ?
|
› Суббота
› 19.09.2009
› 22:12
› Сообщение #
"SoldierWB" createUnit [getPos player, group player, "this AddWeapon ""binocular""", 0.7]
разберём по частям обязательны 3 параметра тип солдата - "SoldierWB" место появления - getPos player - иначе (определить место объекта) группа (отряд) - group player player - это имя бота которым управляет игрок есть несколько вариантов одним файлом создавать разные группы с разным составом в разных местах. приведу пример универсального варианта. в файле скриптом создаётся несколько групп и находися несколько списков для отрядов с разным составом - создание группы Gr0 = createGroup West; Gr1 = createGroup West; Gr2 = createGroup West; Gr3 = createGroup West; - список типов Vzvod0 = ["USMC_Soldier2","USMC_Soldier_GL","USMC_Soldier_SL","USMC_Soldier_TL"]; Vzvod1 = ["USMC_Soldier_AT","FR_Assault_GL","USMC_Soldier_AA","USMC_Soldier_Medic"]; определение места Mesto0 = getPos Dom; Mesto1 = getPos Player; Mesto2 = [1267, 3456]; Mesto3 = getMarkerPos "mk"; а теперь строка создающая ботов по заданным параметрам её можно разместит в тригере , поинте и ли в другом файле {_x createUnit [Mesto1, Gr0, "this AddWeapon ""binocular""", 0.7]} forEach Vzvod0 двойное, тройное колво в одну группу - {_x createUnit [Mesto2, Gr2, "this AddWeapon ""binocular""", 0.7]} forEach Vzvod0 + Vzvod0 + Vzvod1 |
› Воскресенье
› 20.09.2009
› 00:13
› Сообщение #
Единственное чего не понял ,как это {_x createUnit [Mesto1, Gr0, "this AddWeapon ""binocular""", 0.7]} forEach Vzvod0 в инете связать с []exec "скрипт.sqs" пробовал разделить команды ; писал до условия, вписывал в условие [] , разъясните по подробней , по моему мнению это условие для запуска скрипта но вылетает ошибка
|
› Воскресенье
› 20.09.2009
› 00:34
› Сообщение #
Файл с параметрами групп надо запустить в начале игры (если ему дать имя init.sqf запустится сам)
Со строкой его связывают глобальные переменные в которых сохранены оснавные параметры Gr0, Gr1, Gr3 итд - группа назначения меняя эти параметры в строке , изменяется место, группа и состав |
› Воскресенье
› 20.09.2009
› 09:41
› Сообщение #
Можно использовать уже существующие группы ботов установленых на карте
для этого, ставиш бота , рисуеш ему вэйпоинты. В инит боту пишеш (например) пополнять отряд будет тригер |
› Воскресенье
› 20.09.2009
› 10:44
› Сообщение #
Генерал-полковник
В увольнительной
korney9, вот лови миссию пример, созданную по скриптам Slon"а.
Прикрепления:
Primer_creat_so.7z
(0.9 Kb)
Всем читать http://arma.at.ua/load/pomogi_sajtu/52-1-0-2396
|
› Воскресенье
› 20.09.2009
› 13:00
› Сообщение #
Спасибо , понял в чём ошибка, всё заработало, и еще вопросик Vehicle в смысле технику в группе как сделать.
Ещё поковырял скрипт в файле инит Mesto1 = getPos Player; Из Man Class Vehicles нужно солдат указывать SoldierWMedic а не USMC_Soldier2 это же вроде из арма 2 Сообщение отредактировал korney9 - Воскресенье, 20.09.2009, 14:04
|
› Вторник
› 22.09.2009
› 18:03
› Сообщение #
Генерал-полковник
В увольнительной
Держи, я там конечно налепил, но вроде работает создается камаз, создается солдат в камазе и создается отряд в кузов, водитель командир. и сделан вэйпоинт , грузовик едит на объект wp.
(посмотришь как идет запуск, думаю тебе не составит труда перенести в аа1) П.С. тема была перенесена в раздел ArmA2, так как все выложенные примеры уже для нее. Прикрепления:
Primer_creat_so.7z
(1.3 Kb)
Всем читать http://arma.at.ua/load/pomogi_sajtu/52-1-0-2396
|
› Пятница
› 02.10.2009
› 14:22
› Сообщение #
А как изменить вид вейпоинта для создаваемых ботов (Найти и уничтожить)
|
› Пятница
› 02.10.2009
› 14:23
› Сообщение #
Все команды работы с поинтами тут
http://community.bistudio.com/wiki/Category:Command_Group:_Waypoints |
› Воскресенье
› 04.10.2009
› 14:10
› Сообщение #
Универсальная функа создающая вехиклы:
Code /* _funcCustomVehicle Создает указанную технику Синтаксис: [ string vehicleType, string special, position position, side or group or object group, array of string crewSlots, array of soldiers unitList ] call funcCreateVehicle vehicleType -- тип создаваемой техники special -- возможные значения: "NONE" (или ""), "FLY" position -- позиция в которой создается техника group -- группа которой будет принадлежать экипаж созданной техники, если указан юнит -- экипаж будет принадлежать его группе, если указана сторона -- будет создана новая группа с указанной строной, если укзано другое значение (например 0 или "" или "default" или не указано), для экипажа будет создана новая группа принадлежащая стороне специфичной для данной техники crewSlots -- комплектация экипажа, массив содержащий некоторые из следующих значений: "commander", "driver", "gunner", "cargo". (создавать (если не задан пятый параметр) и помещать в технику: командира, водителя/пилота, пулеметчика/пулеметчиков, пассажиров) unitList -- если задан -- юниты экипажа будут браться по очереди из данного списка */ #define arg(X) (_this select (X)) #define argIf(X) if(count _this > (X)) #define argIfType(X,T) if(argIf(X)then{typeName arg(X) == (T)}else{false}) #define argSafe(X) argIf(X)then{arg(X)} #define argSafeType(X,T) argIfType(X,T)then{arg(X)} #define argOr(X,V) (argSafe(X)else{V}) #define inc(N) (call { N = N + 1; N }) #define dec(N) (call { N = N - 1; N }) _funcCustomVehicle = { private [ "_vehicleType", "_position", "_group", "_crewSlots", "_getNextUnit", "_unitList", "_unitIndex", "_crewType", "_vehicle", "_moveIn" ]; _vehicleType = arg(0); _position = arg(2); _group = argOr(3, 0) call { switch ( typeName _this ) do { case "GROUP" : { _this }; case "OBJECT" : { group _this }; case "SIDE" : { createGroup createCenter _this }; default { createGroup createCenter ( [ east, west, resistance, civilian, nil, enemy, friendly, nil ] select getNumber ( configFile >> "CfgVehicles" >> _vehicleType >> "side" ) ) } } }; _crewSlots = argSafeType(4, "array")else{ ["commander", "driver", "gunner", "cargo"] }; _getNextUnit = argIf(5)then{ _unitList = arg(5); _unitIndex = -1; { if(inc(_unitIndex) < count _unitList)then{ _unitList select _unitIndex } } } else { _crewType = getText( configFile >> "CfgVehicles" >> _vehicleType >> "crew" ); { _crewType createUnit [_position, _group, "", .7]; units _group select ((count units _group)-1) } }; _vehicle = createVehicle [_vehicleType, _position, [], 0, arg(1)]; { _moveIn = (switch (toLower(_x)) do { case "commander" : {{ _this moveInCommander _vehicle }}; case "driver" : {{ _this moveInDriver _vehicle }}; case "gunner" : {{ _this moveInTurret [_vehicle, [_pos]] }}; case "cargo" : {{ _this moveInCargo _vehicle }}; default { diag_log "error in funcCustomVehicle, cargo type mismatch"; {} } }); for "_pos" from 0 to (_vehicle emptyPositions _x) - 1 do { call _getNextUnit call _moveIn } } foreach _crewSlots; _vehicle }; Humvee = [ "HMMWV_MK19", "", getpos player, east, ["driver", "cargo", "gunner"] //units player ] call _funcCustomVehicle; |
› Понедельник
› 11.01.2010
› 18:35
› Сообщение #
Юниты сторон OPFOR и Rebels респаунят на одних точках спавна. В чем проблема?
P.S.Админы удалите схожую тему из раздела Редактор АрмА1, извиняюсь не там создал сперва.
«-Прибыли на...
-Вот НА и прибыли.» |
› Понедельник
› 11.01.2010
› 20:59
› Сообщение #
Вот существующие стороны -
class CfgFactionClasses { |
› Четверг
› 21.01.2010
› 19:54
› Сообщение #
Доброго всем времени суток. Прошу помощи у вашего сообщества. В арму играю достаточно давно, но в скриптах, их написании, куда и что прописывать я полный ноль. В голову пришла идея. Возможно ли сделать так, чтобы во время игры в мультиплеере (в миссии которуя я делаю) убитые игроки появлялись либо в том же месте где их убили, или же рядом с командиром отряда (мной) через 10-20 секунд, еще и с тем вооружением, с которым они были убиты? Если кто-то может помочь, объясните пожалуйста все с ноля и поподробнее. Что и куда писать и так далее.
|
› Четверг
› 21.01.2010
› 20:47
› Сообщение #
На маркер респа поставь тригер
в строку активация капируй Player setPos (getPos (leader group Player)) как только ктото окажется в зоне, перебросит к лидеру |
| |||
Чат сайта |