77 lines
3.3 KiB
Plaintext
77 lines
3.3 KiB
Plaintext
|
/*
|
||
|
Medical Outpost by lazyink (Full credit for code to TheSzerdi & TAW_Tonic)
|
||
|
Updated to new format by Vampire
|
||
|
*/
|
||
|
private ["_missName","_coords","_base","_base1","_base2","_base3","_veh1","_veh2","_vehicle","_vehicle1","_crate","_crate2"];
|
||
|
|
||
|
//Name of the Mission
|
||
|
_missName = "Medical Outpost";
|
||
|
|
||
|
//DZMSFindPos loops BIS_fnc_findSafePos until it gets a valid result
|
||
|
_coords = call DZMSFindPos;
|
||
|
|
||
|
[nil,nil,rTitleText,"Bandits have established a Medical Outpost!\nGo Secure their Medical Supplies!", "PLAIN",10] call RE;
|
||
|
|
||
|
//DZMSAddMinMarker is a simple script that adds a marker to the location
|
||
|
[_coords,_missName] ExecVM DZMSAddMinMarker;
|
||
|
|
||
|
//We create the scenery
|
||
|
_base = createVehicle ["US_WarfareBFieldhHospital_Base_EP1",[(_coords select 0) +2, (_coords select 1)+5,-0.3],[], 0, "CAN_COLLIDE"];
|
||
|
_base1 = createVehicle ["MASH_EP1",[(_coords select 0) - 24, (_coords select 1) - 5,0],[], 0, "CAN_COLLIDE"];
|
||
|
_base2 = createVehicle ["MASH_EP1",[(_coords select 0) - 17, (_coords select 1) - 5,0],[], 0, "CAN_COLLIDE"];
|
||
|
_base3 = createVehicle ["MASH_EP1",[(_coords select 0) - 10, (_coords select 1) - 5,0],[], 0, "CAN_COLLIDE"];
|
||
|
|
||
|
//DZMSProtectObj prevents it from disappearing
|
||
|
[_base] call DZMSProtectObj;
|
||
|
[_base1] call DZMSProtectObj;
|
||
|
[_base2] call DZMSProtectObj;
|
||
|
[_base3] call DZMSProtectObj;
|
||
|
|
||
|
//We create the vehicles
|
||
|
_veh1 = ["small"] call DZMSGetVeh;
|
||
|
_veh2 = ["small"] call DZMSGetVeh;
|
||
|
_vehicle = createVehicle [_veh1,[(_coords select 0) + 10, (_coords select 1) - 5,0],[], 0, "CAN_COLLIDE"];
|
||
|
_vehicle1 = createVehicle [_veh2,[(_coords select 0) + 15, (_coords select 1) - 5,0],[], 0, "CAN_COLLIDE"];
|
||
|
|
||
|
//DZMSSetupVehicle prevents the vehicle from disappearing and sets fuel and such
|
||
|
[_vehicle] call DZMSSetupVehicle;
|
||
|
[_vehicle1] call DZMSSetupVehicle;
|
||
|
|
||
|
//We create and fill the crates
|
||
|
_crate = createVehicle ["USVehicleBox",[(_coords select 0) - 3, _coords select 1,0],[], 0, "CAN_COLLIDE"];
|
||
|
|
||
|
//DZMSBoxFill fills the box, DZMSProtectObj prevents it from disappearing
|
||
|
[_crate,"medical"] ExecVM DZMSBoxSetup;
|
||
|
[_crate] call DZMSProtectObj;
|
||
|
|
||
|
_crate2 = createVehicle ["USLaunchersBox",[(_coords select 0) - 8, _coords select 1,0],[], 0, "CAN_COLLIDE"];
|
||
|
[_crate2,"weapons"] ExecVM DZMSBoxSetup;
|
||
|
[_crate2] call DZMSProtectObj;
|
||
|
|
||
|
//DZMSAISpawn spawns AI to the mission.
|
||
|
//Usage: [_coords, count, skillLevel, unitArray]
|
||
|
[[(_coords select 0) - 20, (_coords select 1) - 15,0],4,0,"DZMSUnitsMinor"] call DZMSAISpawn;
|
||
|
sleep 3;
|
||
|
[[(_coords select 0) + 10, (_coords select 1) + 15,0],4,0,"DZMSUnitsMinor"] call DZMSAISpawn;
|
||
|
sleep 3;
|
||
|
[[(_coords select 0) - 10, (_coords select 1) - 15,0],4,0,"DZMSUnitsMinor"] call DZMSAISpawn;
|
||
|
sleep 3;
|
||
|
[[(_coords select 0) + 20, (_coords select 1) + 15,0],4,0,"DZMSUnitsMinor"] call DZMSAISpawn;
|
||
|
sleep 3;
|
||
|
|
||
|
//Wait until the player is within 30 meters and also meets the kill req
|
||
|
[_coords,"DZMSUnitsMinor"] call DZMSWaitMissionComp;
|
||
|
|
||
|
//Call DZMSSaveVeh to attempt to save the vehicles to the database
|
||
|
//If saving is off, the script will exit.
|
||
|
[_vehicle] ExecVM DZMSSaveVeh;
|
||
|
[_vehicle1] ExecVM DZMSSaveVeh;
|
||
|
|
||
|
//Let everyone know the mission is over
|
||
|
[nil,nil,rTitleText,"The Medical Outpost is under Survivor Control!", "PLAIN",6] call RE;
|
||
|
diag_log text format["[DZMS]: Minor SM2 Medical Outpost Mission has Ended."];
|
||
|
deleteMarker "DZMSMinMarker";
|
||
|
deleteMarker "DZMSMinDot";
|
||
|
|
||
|
//Let the timer know the mission is over
|
||
|
DZMSMinDone = true;
|