changes to vehicle spawn routines to address a few issuesl
This commit is contained in:
parent
2a6f6e6f3b
commit
8d8d082a17
@ -1,29 +0,0 @@
|
||||
/*
|
||||
Spawn a vehicle and protect it against cleanup by Epoch
|
||||
Returns the object (vehicle) created.
|
||||
By Ghostrider-DBD-
|
||||
Last modified 9-10-16
|
||||
*/
|
||||
|
||||
private["_veh"];
|
||||
params["_vehType","_pos"];
|
||||
//_vehType = _this select 0; // type of vehicle to be spawned
|
||||
//_pos = _this select 1; // position at which vehicle is to be spawned
|
||||
|
||||
//diag_log format["spawnVehicle.sqf: _this = %1",_this];
|
||||
_veh = createVehicle[_vehType, _pos, [], 0, "NONE"];
|
||||
uisleep 0.1;
|
||||
|
||||
private["_modType"];
|
||||
_modType = call blck_getModType;
|
||||
if (_modType isEqualTo "Epoch") then
|
||||
{
|
||||
_veh call EPOCH_server_vehicleInit;
|
||||
_veh call EPOCH_server_setVToken;
|
||||
};
|
||||
|
||||
_veh setVehicleLock "LOCKEDPLAYER";
|
||||
[_veh] spawn blck_fnc_vehicleMonitor;
|
||||
//[_vehToSpawn, blck_ModType] call blck_fnc_protectVehicle;
|
||||
_veh
|
||||
|
@ -2,7 +2,7 @@
|
||||
Spawn a vehicle and protect it against cleanup by Epoch
|
||||
Returns the object (vehicle) created.
|
||||
By Ghostrider-DBD-
|
||||
Last modified 9-10-16
|
||||
Last modified 10-24-16
|
||||
*/
|
||||
|
||||
private["_veh"];
|
||||
@ -30,7 +30,10 @@ _veh setVehicleLock "LOCKEDPLAYER";
|
||||
_veh addEventHandler ["GetIn",{ // forces player to be ejected if he/she tries to enter the vehicle
|
||||
private ["_theUnit"];
|
||||
_theUnit = _this select 2;
|
||||
if (isPlayer _theUnit) then
|
||||
{
|
||||
_theUnit action ["Eject", vehicle _theUnit];
|
||||
};
|
||||
}];
|
||||
|
||||
_veh
|
||||
|
@ -1,65 +0,0 @@
|
||||
//////////////////////////////////////
|
||||
// spawn a vehicle, fill it with AI, and give it waypoints around the perimeter of the mission area
|
||||
// Returns an array _units that contains a list of the units that were spawned and placed in the vehicle
|
||||
|
||||
/*
|
||||
By Ghostrider-DBD-
|
||||
Copyright 2016
|
||||
Last updated 8-14-16
|
||||
*/
|
||||
/*
|
||||
fn_setWaypoints =
|
||||
{
|
||||
private["_group","_center"];
|
||||
_group = _this select 0; // The group to which waypoints should be assigned
|
||||
_center = _this select 1; // center of the mission area
|
||||
|
||||
while {(count (waypoints _group)) > 0} do
|
||||
{
|
||||
deleteWaypoint ((waypoints _group) select 0);
|
||||
};
|
||||
[_center,50,100,_group] call blck_fnc_setupWaypoints;
|
||||
};
|
||||
*/
|
||||
private["_vehType","_safepos","_spawnedVehicle"];
|
||||
params["_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_maxDis",45],["_groupForVehiclePatrol",grpNull] ];
|
||||
//_pos = _this select 0; // Center of the mission area
|
||||
//_vehType = [_this,1,"I_G_Offroad_01_armed_F"] call BIS_fnc_param;
|
||||
//_minDis = [_this,2,30] call BIS_fnc_param; // minimum distance from the center of the mission for vehicle waypoints
|
||||
//_maxDis = [_this,3,45] call BIS_fnc_param; // maximum distance from the center of the mission for vehicle waypoints
|
||||
//_groupForVehiclePatrol = [_this,4,grpNull] call BIS_fnc_param; // The group with which to man the vehicle
|
||||
|
||||
//diag_log format["spawnVehiclePatrol:: _pos %1 _vehTypes %2",_pos,_vehType];
|
||||
//diag_log format["spawnVehiclePatrol:: _minDis %1 _maxDis %2 _groupForVehiclePatrol %3",_minDis,_maxDis,_groupForVehiclePatrol];
|
||||
|
||||
if (isNull _groupForVehiclePatrol) exitWith {};
|
||||
|
||||
_safepos = [_pos,0,25,0,0,20,0] call BIS_fnc_findSafePos;
|
||||
_spawnedVehicle = [_vehType,_safepos] call blck_fnc_spawnVehicle;
|
||||
//diag_log format["spawnVehiclePatrols:: vehicle spawned is %1 of typeof %2",_spawnedVehicle, typeOf _spawnedVehicle];
|
||||
_spawnedVehicle addEventHandler ["GetIn",{ // forces player to be ejected if he/she tries to enter the vehicle
|
||||
private ["_theUnit"];
|
||||
_theUnit = _this select 2;
|
||||
_theUnit action ["Eject", vehicle _theUnit];
|
||||
}];
|
||||
clearWeaponCargoGlobal _spawnedVehicle;
|
||||
clearMagazineCargoGlobal _spawnedVehicle;
|
||||
clearBackpackCargoGlobal _spawnedVehicle;
|
||||
clearItemCargoGlobal _spawnedVehicle;
|
||||
|
||||
private["_unitNumber"];
|
||||
_unitNumber = 0;
|
||||
|
||||
{
|
||||
switch (_unitNumber) do
|
||||
{
|
||||
case 0: {_x moveingunner _spawnedVehicle;};
|
||||
case 1: {_x moveindriver _spawnedVehicle;};
|
||||
default {_x moveInCargo _spawnedVehicle;};
|
||||
};
|
||||
_unitNumber = _unitNumber + 1;
|
||||
}forEach (units _groupForVehiclePatrol);
|
||||
|
||||
//diag_log format["spawnVehiclePatrols:: vehicle spawned was %1",_spawnedVehicle];
|
||||
|
||||
_spawnedVehicle
|
@ -5,7 +5,7 @@
|
||||
|
||||
By Ghostrider-DBD-
|
||||
Copyright 2016
|
||||
Last updated 8-14-16
|
||||
Last updated 10-24-16
|
||||
*/
|
||||
|
||||
private ["_unit","_units","_count","_group","_driver","_gunner","_cargo"];
|
||||
@ -15,7 +15,8 @@ _count = 0;
|
||||
|
||||
waitUntil { count crew _veh > 0};
|
||||
//diag_log format["vehicle Manned %1",_veh];
|
||||
while { (getDammage _veh < 1.0) && ({alive _x} count crew _veh > 0)} do
|
||||
uiSleep 60;
|
||||
while { (getDammage _veh > 0) && ({alive _x} count crew _veh > 0)} do
|
||||
{ //diag_log format["vehicleMonitor: vehicle crew consists of %1", crew _veh];
|
||||
//diag_log format["vehicleMonitor: number of crew alive is %1", {alive _x} count crew _veh];
|
||||
_veh setVehicleAmmo 1;
|
||||
@ -53,7 +54,7 @@ if (typeOf _veh in blck_staticWeapons) then // always destroy mounted weapons
|
||||
{
|
||||
private ["_v","_startTime"];
|
||||
//diag_log format["vehicleMonitor.sqf: _veh %1 is about to be killed",_veh];
|
||||
uiSleep 10;
|
||||
uiSleep 60;
|
||||
_veh setDamage 1;
|
||||
_startTime = diag_ticktime;
|
||||
waitUntil{sleep 5;(diag_tickTime - _startTime) > 120;}; // delete destroyed vehicles after 2 min
|
||||
|
Loading…
Reference in New Issue
Block a user