Перейти к содержимому


Фотография

Активация вейпоинта после смерти членов группы через скрипт.


Лучший Ответ Ibragim , 24 January 2021 - 08:11

Ошибка из-за команды private перед глобальной переменной. Private предназначена только для локальных.

0 spawn 
	{	
		private _truck = "rhsusf_M1078A1P2_WD_fmtv_usarmy" createVehicle ([4977.44,10878.4,0]);
		private _blockgroup = ["CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Medic_OEFCP", "CUP_B_US_Soldier_MG_OEFCP", "CUP_B_US_Soldier_ACOG_OEFCP", "CUP_B_US_Soldier_TL_OEFCP", "CUP_B_US_Soldier_GL_OEFCP"];
		blockGroup = [[4974.74,10859.6,0], west, _blockgroup] call BIS_fnc_spawnGroup;
		private _leader = leader blockGroup;
		private _unitsCargo = units blockGroup - [_leader];
		_leader moveInDriver _truck;
		{_x moveInCargo _truck} forEach _unitsCargo;
		blockGroup move [4881.97,11691.8,0];
		waitUntil {
		sleep 1;
		(_truck distance [4881.97,11691.8,0]) < 10
		};
		{
		[_x] allowGetIn false;
		_x spawn {
		_this allowDamage false;
		waitUntil {isNull objectParent _this};
		_this allowDamage true;
		};
		_x action ["Eject", vehicle _x];
		} forEach units blockGroup;
		private _wp = blockGroup addWaypoint [[4808.72,11783.7,0], 0];
		_wp setWaypointType "SAD";
		_wp setWaypointSpeed "FULL";
		_wp setWaypointCombatMode "RED";
	};

0 spawn 
	{
		private _truck2 = "rhsusf_M1078A1P2_WD_fmtv_usarmy" createVehicle ([4977.44,10878.4,0]);
		private _blockgroup2 = ["CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Medic_OEFCP", "CUP_B_US_Soldier_MG_OEFCP", "CUP_B_US_Soldier_ACOG_OEFCP", "CUP_B_US_Soldier_TL_OEFCP", "CUP_B_US_Soldier_GL_OEFCP"];
		blockGroup2 = [[4974.74,10859.6,0], west, _blockgroup2] call BIS_fnc_spawnGroup;
		private _leader2 = leader blockGroup2;
		private _unitsCargo = units blockGroup2 - [_leader2];
		_leader2 moveInDriver _truck2;
		{_x moveInCargo _truck2} forEach _unitsCargo;
		blockGroup2 move [4881.97,11691.8,0];
		waitUntil {
		sleep 1;
		(_truck2 distance [4881.97,11691.8,0]) < 10
		};
		{
		[_x] allowGetIn false;
		_x spawn {
		_this allowDamage false;
		waitUntil {isNull objectParent _this};
		_this allowDamage true;
		};
		_x action ["Eject", vehicle _x];
		} forEach units blockGroup2;
		private _wp = blockGroup2 addWaypoint [[4808.72,11783.7,0], 0];
		_wp setWaypointType "SAD";
		_wp setWaypointSpeed "FULL";
		_wp setWaypointCombatMode "RED";
	};
Перейти к сообщению


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 OFFLINE   Fixjunior

Fixjunior

    Ефрейтор

  • Пользователи
  • 60 сообщений

Отправлено 23 January 2021 - 19:09

Мне нужно сделать так, чтобы после смерти всех членов группы противника, у моей группы активировался новый вейпоинт.

Имя моей группы - "group_1", имя группы противника - "_blockgroup".


  • 0

#2 OFFLINE   Ibragim

Ibragim

    Сержант

  • Пользователи
  • 161 сообщений

Отправлено 24 January 2021 - 01:15

Мне нужно сделать так, чтобы после смерти всех членов группы противника, у моей группы активировался новый вейпоинт.

Имя моей группы - "group_1", имя группы противника - "_blockgroup".

Если этот вэйпоинт заранее выставлен в редакторе, то:
1 - переименуй группу врага из локальной переменной в глобальную. Назови группу без "_".
2 - поставь триггер --> ПКМ на него --> Соединить --> Задать активацию точки --> соедини с предыдущим вэйпоинтом. 
3 - в поле триггера Условие пропиши:

({alive _x} count (units blockgroup) == 0);

Сообщение отредактировал Ibragim: 24 January 2021 - 01:16

  • 0

#3 OFFLINE   Fixjunior

Fixjunior

    Ефрейтор

  • Пользователи
  • 60 сообщений

Отправлено 24 January 2021 - 01:19

 

Мне нужно сделать так, чтобы после смерти всех членов группы противника, у моей группы активировался новый вейпоинт.

Имя моей группы - "group_1", имя группы противника - "_blockgroup".

Если этот вэйпоинт заранее выставлен в редакторе, то:
1 - переименуй группу врага из локальной переменной в глобальную. Назови группу без "_".
2 - поставь триггер --> ПКМ на него --> Соединить --> Задать активацию точки --> соедини с предыдущим вэйпоинтом. 
3 - в поле триггера Условие пропиши:

({alive _x} count (units blockgroup) == 0);

Проблема в том, что вейпоинты тоже заданы через скрипт. Так не получится.


  • 0

#4 OFFLINE   Ibragim

Ibragim

    Сержант

  • Пользователи
  • 161 сообщений

Отправлено 24 January 2021 - 01:23

 

 

Мне нужно сделать так, чтобы после смерти всех членов группы противника, у моей группы активировался новый вейпоинт.

Имя моей группы - "group_1", имя группы противника - "_blockgroup".

Если этот вэйпоинт заранее выставлен в редакторе, то:
1 - переименуй группу врага из локальной переменной в глобальную. Назови группу без "_".
2 - поставь триггер --> ПКМ на него --> Соединить --> Задать активацию точки --> соедини с предыдущим вэйпоинтом. 
3 - в поле триггера Условие пропиши:

({alive _x} count (units blockgroup) == 0);

Проблема в том, что вейпоинты тоже заданы через скрипт. Так не получится.

Тогда к предыдущему вэйпоинту добавь строку:

<имя вейпоинта> setWaypointStatements ["({alive _x} count (units blockgroup) == 0)", ""];

  • 0

#5 OFFLINE   Fixjunior

Fixjunior

    Ефрейтор

  • Пользователи
  • 60 сообщений

Отправлено 24 January 2021 - 01:58

Переименовал (убрал нижнее подчеркивание), дописал к вейпоинту, выдает ошибку. 

_wp1 = group heli addWaypoint [getPos helipad1, 0];
_wp1 setWaypointType "TR UNLOAD";
_wp1 setWaypointBehaviour "AWARE"; 
(units group_1) findIf { _x in heli } == -1;
_wp2 = group_1 addWaypoint [[4860.95,11814.7,0], 0];
_wp2 setWaypointType "SAD";
_wp2 setWaypointBehaviour "AWARE";
_wp2 setWaypointStatements ["({alive _x} count (units blockgroup) == 0)" and ({alive _x} count (units blockgroup2) == 0), ""];
_wp3 = group heli addWaypoint [[2735.03,12429.2,171.079], 0];
_wp3 setWaypointType "MOVE";
_wp4 = group heli2 addWaypoint [getPos helipad2, 0];
_wp4 setWaypointType "TR UNLOAD";
_wp4 setWaypointBehaviour "AWARE";
(units group_2) findIf { _x in heli2 } == -1;
_wp5 = group_2 addWaypoint [[4860.95,11814.7,0], 0];
_wp5 setWaypointType "SAD";
_wp5 setWaypointBehaviour "AWARE";
_wp5 setWaypointStatements ["({alive _x} count (units blockgroup) == 0)" and ({alive _x} count (units blockgroup2) == 0), ""];
_wp6 = group heli2 addWaypoint [[3521.27,14028.2,150.401], 0];
_wp6 setWaypointType "MOVE";

Дико извиняюсь, нашел свою ошибку, я проставил кавычки в середине строки. Поставил их на нужное место, все работает. Большое спасибо за ответ.


  • 0

#6 OFFLINE   Fixjunior

Fixjunior

    Ефрейтор

  • Пользователи
  • 60 сообщений

Отправлено 24 January 2021 - 02:11

 

 

 

Мне нужно сделать так, чтобы после смерти всех членов группы противника, у моей группы активировался новый вейпоинт.

Имя моей группы - "group_1", имя группы противника - "_blockgroup".

Если этот вэйпоинт заранее выставлен в редакторе, то:
1 - переименуй группу врага из локальной переменной в глобальную. Назови группу без "_".
2 - поставь триггер --> ПКМ на него --> Соединить --> Задать активацию точки --> соедини с предыдущим вэйпоинтом. 
3 - в поле триггера Условие пропиши:

({alive _x} count (units blockgroup) == 0);

Проблема в том, что вейпоинты тоже заданы через скрипт. Так не получится.

Тогда к предыдущему вэйпоинту добавь строку:

<имя вейпоинта> setWaypointStatements ["({alive _x} count (units blockgroup) == 0)", ""];

Все-таки выдает ошибку, но теперь уже в другом скрипте, который спаунит ботов.

0 spawn {
private _truck = "rhsusf_M1078A1P2_WD_fmtv_usarmy" createVehicle ([4977.44,10878.4,0]);
private blockgroup = ["CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Medic_OEFCP", "CUP_B_US_Soldier_MG_OEFCP", "CUP_B_US_Soldier_ACOG_OEFCP", "CUP_B_US_Soldier_TL_OEFCP", "CUP_B_US_Soldier_GL_OEFCP"];
private blockGroup = [[4974.74,10859.6,0], west, blockgroup] call BIS_fnc_spawnGroup;
private _leader = leader blockGroup;
private _unitsCargo = units blockGroup - [_leader];
_leader moveInDriver _truck;
{_x moveInCargo _truck} forEach _unitsCargo;
blockGroup move [4881.97,11691.8,0];
waitUntil {
sleep 1;
(_truck distance [4881.97,11691.8,0]) < 10
};
{
[_x] allowGetIn false;
_x spawn {
_this allowDamage false;
waitUntil {isNull objectParent _this};
_this allowDamage true;
};
_x action ["Eject", vehicle _x];
} forEach units blockGroup;
private _wp = blockGroup addWaypoint [[4808.72,11783.7,0], 0];
_wp setWaypointType "SAD";
_wp setWaypointSpeed "FULL";
_wp setWaypointCombatMode "RED";
};
0 spawn {
private _truck2 = "rhsusf_M1078A1P2_WD_fmtv_usarmy" createVehicle ([4977.44,10878.4,0]);
private blockgroup2 = ["CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Medic_OEFCP", "CUP_B_US_Soldier_MG_OEFCP", "CUP_B_US_Soldier_ACOG_OEFCP", "CUP_B_US_Soldier_TL_OEFCP", "CUP_B_US_Soldier_GL_OEFCP"];
private blockGroup2 = [[4974.74,10859.6,0], west, blockgroup2] call BIS_fnc_spawnGroup;
private _leader2 = leader blockGroup2;
private _unitsCargo = units blockGroup2 - [_leader2];
_leader2 moveInDriver _truck2;
{_x moveInCargo _truck2} forEach _unitsCargo;
blockGroup2 move [4881.97,11691.8,0];
waitUntil {
sleep 1;
(_truck2 distance [4881.97,11691.8,0]) < 10
};
{
[_x] allowGetIn false;
_x spawn {
_this allowDamage false;
waitUntil {isNull objectParent _this};
_this allowDamage true;
};
_x action ["Eject", vehicle _x];
} forEach units blockGroup2;
private _wp = blockGroup2 addWaypoint [[4808.72,11783.7,0], 0];
_wp setWaypointType "SAD";
_wp setWaypointSpeed "FULL";
_wp setWaypointCombatMode "RED";
};

  • 0

#7 OFFLINE   Ibragim

Ibragim

    Сержант

  • Пользователи
  • 161 сообщений

Отправлено 24 January 2021 - 08:11   Лучший Ответ

Ошибка из-за команды private перед глобальной переменной. Private предназначена только для локальных.

0 spawn 
	{	
		private _truck = "rhsusf_M1078A1P2_WD_fmtv_usarmy" createVehicle ([4977.44,10878.4,0]);
		private _blockgroup = ["CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Medic_OEFCP", "CUP_B_US_Soldier_MG_OEFCP", "CUP_B_US_Soldier_ACOG_OEFCP", "CUP_B_US_Soldier_TL_OEFCP", "CUP_B_US_Soldier_GL_OEFCP"];
		blockGroup = [[4974.74,10859.6,0], west, _blockgroup] call BIS_fnc_spawnGroup;
		private _leader = leader blockGroup;
		private _unitsCargo = units blockGroup - [_leader];
		_leader moveInDriver _truck;
		{_x moveInCargo _truck} forEach _unitsCargo;
		blockGroup move [4881.97,11691.8,0];
		waitUntil {
		sleep 1;
		(_truck distance [4881.97,11691.8,0]) < 10
		};
		{
		[_x] allowGetIn false;
		_x spawn {
		_this allowDamage false;
		waitUntil {isNull objectParent _this};
		_this allowDamage true;
		};
		_x action ["Eject", vehicle _x];
		} forEach units blockGroup;
		private _wp = blockGroup addWaypoint [[4808.72,11783.7,0], 0];
		_wp setWaypointType "SAD";
		_wp setWaypointSpeed "FULL";
		_wp setWaypointCombatMode "RED";
	};

0 spawn 
	{
		private _truck2 = "rhsusf_M1078A1P2_WD_fmtv_usarmy" createVehicle ([4977.44,10878.4,0]);
		private _blockgroup2 = ["CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Medic_OEFCP", "CUP_B_US_Soldier_MG_OEFCP", "CUP_B_US_Soldier_ACOG_OEFCP", "CUP_B_US_Soldier_TL_OEFCP", "CUP_B_US_Soldier_GL_OEFCP"];
		blockGroup2 = [[4974.74,10859.6,0], west, _blockgroup2] call BIS_fnc_spawnGroup;
		private _leader2 = leader blockGroup2;
		private _unitsCargo = units blockGroup2 - [_leader2];
		_leader2 moveInDriver _truck2;
		{_x moveInCargo _truck2} forEach _unitsCargo;
		blockGroup2 move [4881.97,11691.8,0];
		waitUntil {
		sleep 1;
		(_truck2 distance [4881.97,11691.8,0]) < 10
		};
		{
		[_x] allowGetIn false;
		_x spawn {
		_this allowDamage false;
		waitUntil {isNull objectParent _this};
		_this allowDamage true;
		};
		_x action ["Eject", vehicle _x];
		} forEach units blockGroup2;
		private _wp = blockGroup2 addWaypoint [[4808.72,11783.7,0], 0];
		_wp setWaypointType "SAD";
		_wp setWaypointSpeed "FULL";
		_wp setWaypointCombatMode "RED";
	};

  • 0

#8 OFFLINE   Fixjunior

Fixjunior

    Ефрейтор

  • Пользователи
  • 60 сообщений

Отправлено 24 January 2021 - 20:08

 

Ошибка из-за команды private перед глобальной переменной. Private предназначена только для локальных.

0 spawn 
	{	
		private _truck = "rhsusf_M1078A1P2_WD_fmtv_usarmy" createVehicle ([4977.44,10878.4,0]);
		private _blockgroup = ["CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Medic_OEFCP", "CUP_B_US_Soldier_MG_OEFCP", "CUP_B_US_Soldier_ACOG_OEFCP", "CUP_B_US_Soldier_TL_OEFCP", "CUP_B_US_Soldier_GL_OEFCP"];
		blockGroup = [[4974.74,10859.6,0], west, _blockgroup] call BIS_fnc_spawnGroup;
		private _leader = leader blockGroup;
		private _unitsCargo = units blockGroup - [_leader];
		_leader moveInDriver _truck;
		{_x moveInCargo _truck} forEach _unitsCargo;
		blockGroup move [4881.97,11691.8,0];
		waitUntil {
		sleep 1;
		(_truck distance [4881.97,11691.8,0]) < 10
		};
		{
		[_x] allowGetIn false;
		_x spawn {
		_this allowDamage false;
		waitUntil {isNull objectParent _this};
		_this allowDamage true;
		};
		_x action ["Eject", vehicle _x];
		} forEach units blockGroup;
		private _wp = blockGroup addWaypoint [[4808.72,11783.7,0], 0];
		_wp setWaypointType "SAD";
		_wp setWaypointSpeed "FULL";
		_wp setWaypointCombatMode "RED";
	};

0 spawn 
	{
		private _truck2 = "rhsusf_M1078A1P2_WD_fmtv_usarmy" createVehicle ([4977.44,10878.4,0]);
		private _blockgroup2 = ["CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Soldier_OEFCP", "CUP_B_US_Medic_OEFCP", "CUP_B_US_Soldier_MG_OEFCP", "CUP_B_US_Soldier_ACOG_OEFCP", "CUP_B_US_Soldier_TL_OEFCP", "CUP_B_US_Soldier_GL_OEFCP"];
		blockGroup2 = [[4974.74,10859.6,0], west, _blockgroup2] call BIS_fnc_spawnGroup;
		private _leader2 = leader blockGroup2;
		private _unitsCargo = units blockGroup2 - [_leader2];
		_leader2 moveInDriver _truck2;
		{_x moveInCargo _truck2} forEach _unitsCargo;
		blockGroup2 move [4881.97,11691.8,0];
		waitUntil {
		sleep 1;
		(_truck2 distance [4881.97,11691.8,0]) < 10
		};
		{
		[_x] allowGetIn false;
		_x spawn {
		_this allowDamage false;
		waitUntil {isNull objectParent _this};
		_this allowDamage true;
		};
		_x action ["Eject", vehicle _x];
		} forEach units blockGroup2;
		private _wp = blockGroup2 addWaypoint [[4808.72,11783.7,0], 0];
		_wp setWaypointType "SAD";
		_wp setWaypointSpeed "FULL";
		_wp setWaypointCombatMode "RED";
	};

Понял, спасибо, работает.


  • 0




Яндекс.Метрика