Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 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

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

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

Share this post


Link to post
Share on other sites



  • 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 - это часть мода... Вопрос может такое быть, что ее забыли добавить и если да, то как она должна выглядеть, что бы ее восстановить. Или я вообще не так все понимаю?! Прошу откликнуться по теме. 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By 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"
      Ну вот и всё готово, всё сохранили и запаковали как было!
       
    • By fedotovyasha
      Хочу немного изменить сообщения перед отправкой клиенту
    • By fedotovyasha
      Пишу свой лаунчер на c#. Скачал клиент в котором был loader.exe. С ним работает норм, но я хочу без него запускать игру. Как это сделать? (Пиратка)
    • By Miduznya
      Собственно как, как отключить battleye на сервере античит

      параметр BattlEye=0; не работает я так понял 
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.