Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
Тоха

Как прикрутить патрули\миссии к Arma 3 Breaking Point

Заинтересовал меня этот мод, вторую ночь из-за него не сплю). Суть вопроса в заголовке. Возможно ли прикрутить ботов, желательно патрули да и мисси тоже. Чтоб с минимальной болью. Хотел взять перебрать ботов от Exile, но понял, что переоценил себя. Кто может подсказать как лучше сделать? Рассматриваю еще как вариант создание миссий через редактор армы, но как патрулей запихнуть, примерно понимаю как рандомизировать и прописать вейпоинты, но что то подсказывает опять переоцениваю себя. 

p/s пока рылся в серверной части натыкался на файлы отвечающие за спавн юнитов и отрядов

@BreakingPointServer\Addons\breakingpoint_server\functions\AI\fn_spawnAI.sqf

@BreakingPointServer\Addons\breakingpoint_server\functions\AI\fn_spawnAISquad.sqf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

UP? Можно хотя бы направление мне указать куда копать? Как понимаю алгоритм спавна ботов описан уже, остается дело за малым, вызывать метод отвечающий за спав с необходимыми параметрами. А где можно инициализировать вызов? Или дайте почитать матчасть, ток покажите, пожалуйста. Не дайте пропасть энтузиасту.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах



  • 0

Вообщем пока уткнулся в непонятное. На серверной стороне как я выше писал есть скрипты для спавна AI @BreakingPointServer\Addons\breakingpoint_server\functions\AI\fn_spawnAISquad.sqf.

params ["_factionName","_factionID","_position","_combatMode","_positions"];

["spawnAISquad: %1",_this] call BP_fnc_debugConsoleFormat;

_group = createGroup east;
_unit1 = [_group,format ["BP_%1_Assault1_F",_factionName],_position,_factionID] call BP_fnc_spawnAI;
_unit2 = [_group,format ["BP_%1_Assault2_F",_factionName],_position,_factionID] call BP_fnc_spawnAI;
_unit3 = [_group,format ["BP_%1_Sniper1_F",_factionName],_position,_factionID] call BP_fnc_spawnAI;
_unit4 = [_group,format ["BP_%1_Sniper2_F",_factionName],_position,_factionID] call BP_fnc_spawnAI;
_unit5 = [_group,format ["BP_%1_Sniper2_F",_factionName],_position,_factionID] call BP_fnc_spawnAI;
_units = [_unit1,_unit2,_unit3,_unit4,_unit5];
_group setCombatMode _combatMode;

{
	_x setVariable ["respawn",[]];
	_x setVariable ["roaming",true];
	_x allowFleeing 0;
} count _units;

switch (_factionName) do
{
	case "Ranger":
	{
		{
			_waypoint = _group addWaypoint [_x,_forEachIndex];
			_waypoint setWaypointType "MOVE";
			_waypoint setWaypointTimeout [5,10,15];
			_waypoint setWaypointSpeed "FAST";
			_waypoint setWaypointCombatMode "RED";
			_waypoint setWaypointBehaviour "AWARE";
		} forEach _positions;
		
		_waypoint = _group addWaypoint [(_positions select 0),(count waypoints _group)];
		_waypoint setWaypointType "CYCLE";
		_waypoint setWaypointTimeout [5,10,15];
		_waypoint setWaypointSpeed "FAST";
		_waypoint setWaypointCombatMode "RED";
		_waypoint setWaypointBehaviour "AWARE";
	};
	case "Nomad":
	{
		{
			_waypoint = _group addWaypoint [_x,_forEachIndex];
			_waypoint setWaypointType "MOVE";
			_waypoint setWaypointTimeout [5,10,15];
			_waypoint setWaypointSpeed "FAST";
			_waypoint setWaypointCombatMode "RED";
			_waypoint setWaypointBehaviour "AWARE";
		} forEach _positions;
		
		_waypoint = _group addWaypoint [(_positions select 0),(count waypoints _group)];
		_waypoint setWaypointType "CYCLE";
		_waypoint setWaypointTimeout [5,10,15];
		_waypoint setWaypointSpeed "FAST";
		_waypoint setWaypointCombatMode "RED";
		_waypoint setWaypointBehaviour "AWARE";
	};
	case "Outlaw":
	{
		{
			_waypoint = _group addWaypoint [_x,_forEachIndex];
			_waypoint setWaypointType "MOVE";
			_waypoint setWaypointTimeout [5,10,15];
			_waypoint setWaypointSpeed "FAST";
			_waypoint setWaypointCombatMode "RED";
			_waypoint setWaypointBehaviour "AWARE";
		} forEach _positions;
		
		_waypoint = _group addWaypoint [(_positions select 0),(count waypoints _group)];
		_waypoint setWaypointType "CYCLE";
		_waypoint setWaypointTimeout [5,10,15];
		_waypoint setWaypointSpeed "FAST";
		_waypoint setWaypointCombatMode "RED";
		_waypoint setWaypointBehaviour "AWARE";
	};
};

if (isServer) then {
	//Add Group to Respawn Group Queue
	0 = BP_AIRespawnGroups pushBack [_group,[_unit1,_unit2,_unit3,_unit4,_unit5],_factionName,_factionID,_position,_combatMode];

_group

Как я и догадывался боты предусмотрены. Только пешие. Но это не проблема. Проблема в следующем а именно в вызове функции спавна юнитов. Я эту функцию нигде не нашел BP_fnc_spawnAI, а судя по приставке BP - это часть мода... Вопрос может такое быть, что ее забыли добавить и если да, то как она должна выглядеть, что бы ее восстановить. Или я вообще не так все понимаю?! Прошу откликнуться по теме. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Serdce
      Данный скрипт, меняет процесс ремонта вашей техники, делая её более логичней, как было в А2.
      Для замены колеса, на нужно собственно само колесо, и тд. и тп. 
      Подробный список чего и для чего вы найдёте в файлах.
       
      Итак, преступим!
      Я не автор, я всего лишь перевожу.
      Первоисточник - https://github.com/aussie-battler/Exilemod-Super-Advanced-Repair-System-SARS
      По ссылке выше скачиваем архив, распаковываем в удобное место.
      Распаковываем ваше миссию "Exile.ваша карта"
      Из архива копируем папку "Custom" в папку вашей миссии "Exile.ваша карта"
      Открываем ваш description.ext  в нем мы ищем showHUD[] = 
      и полностью меняем на это - 
      Далее открываем ваш - initPLayerLocal.sqf
      В этом файле, сразу после строки - if (!hasInterface || isServer) exitWith {};
      Мы добавляем 
      //Bones Super Advanced Repair System (SARS)
      Bones_fnc_salvageAndRepairMenu = compileFinal preprocessFileLineNumbers "Custom\advancedRepair\Bones_fnc_salvageAndRepairMenu.sqf"; 
      Далее открываем ваш - config.cpp
      В нем мы ищем - class Car
      Внутри этого класса мы ищем
       
      И меняем на 
      Так же далее чуть ниже - class Air
      В нем мы также меняем это
      На это 
       
      Далее для если у вас есть Infistar!
      Распаковываем ваш инфистар и открываем его конфиг.
      В нём ищем     KCM = "true"; /* Just close ALL CommandingMenus */
      И меняем значение на false
      Чуть ниже в строке allowedCommandingMenus
      Мы добавляем  "#USER:ASL_Show_Repair_Options_Menu_Array"
      Ну вот и всё готово, всё сохранили и запаковали как было!
       
    • Автор: fedotovyasha
      Хочу немного изменить сообщения перед отправкой клиенту
    • Автор: fedotovyasha
      Пишу свой лаунчер на c#. Скачал клиент в котором был loader.exe. С ним работает норм, но я хочу без него запускать игру. Как это сделать? (Пиратка)
    • Автор: Miduznya
      Собственно как, как отключить battleye на сервере античит

      параметр BattlEye=0; не работает я так понял 
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.