Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Author: Phil
- Steam: https://steamcommunity.com/id/xshiragamix/
- Description:
- Random flyby
- Note:
- If you using custom code, you need to delete the crew and vehicle by yourself !
- Parameter(s):
- 0 Optional: Classname of the vehicle or Array of Classnems, crew will be created automaticly
- Recommend to only use planes or helis
- 1 Optional: Custom center, Type object
- 3 Custom code passed as array [{1},{2}]
- 1) Code on start waypoint
- Access the vehicle with _vehicle = param[0];
- 2) Code on end waypoint
- Access the vehicle with _vehicle = param[0];
- To only use waypoint end code use [{},{code}]
- ----------------------------------->
- Examples:
- o) Basic
- []execVM "fox_ambientFlyby.sqf";
- o) Advanced
- [
- ["C_Heli_Light_01_civil_F","B_Plane_CAS_01_F","O_T_VTOL_02_infantry_F"],
- false,
- [
- {
- _smoke = "SmokeShellGreen" createVehicle [0,0,0];
- _smoke attachTo[_this select 0,[0,0,0]];
- },
- {
- {deleteVehicle _x;} forEach crew (_this select 0);deleteVehicle (_this select 0);
- }
- ]
- ]execVM "fox_ambientFlyby.sqf";
- ----------------------------------->
- You can copy pasta the code below directly in the 3den debug window to test it.
- */
- _vehicleClass = param[0,["C_Plane_Civil_01_F","C_Heli_Light_01_civil_F"]];
- _objectCenter = param[1,false];
- _customCode = param[2,[{},{}]];
- //if Array is passed select a random one
- if(( typeName _vehicleClass ) isEqualTo "ARRAY") then{
- _vehicleClass = _vehicleClass call BIS_fnc_selectRandom;
- };
- _center = getArray(configfile >> "CfgWorlds" >> worldname >> "centerPosition");
- _mBottomLeft = [0 - 1000,0 - 1000,0];
- _mTopLeft = [0 - 1000,( (_center select 0) * 2) - 1000,0];
- _mTopRight = [ ( (_center select 0) * 2 ) + 1000,( (_center select 1) * 2 ) + 1000,0];
- _mBottomRight = [( (_center select 0) * 2 ) + 1000,0 - 1000,0];
- _pos1 = [_mBottomLeft,_mTopLeft] call BIS_fnc_selectRandom;
- _pos2 = [_center] call BIS_fnc_selectRandom;
- _pos3 = [_mTopRight,_mBottomRight] call BIS_fnc_selectRandom;
- _startPos = [_pos1,_pos3] call BIS_fnc_selectRandom;
- _endPos = [_pos1,_pos3] - [_startPos];
- _veh = createVehicle [_vehicleClass,_startPos, [], 0, "FLY"];
- createVehicleCrew _veh;
- _centerRandom = _center getPos [((_center select 0) / 2) * sqrt random 1, random 360];
- _wp1 = (group _veh) addWaypoint [_startPos, 0];
- if(( typeName _objectCenter ) isEqualTo "OBJECT")then{
- _wp2 = (group _veh) addWaypoint [getPos _objectCenter, 0];
- }else{
- _wp2 = (group _veh) addWaypoint [_centerRandom, 0];
- };
- _wp3 = (group _veh) addWaypoint [_endPos select 0, 0];
- //Default code for waypoints
- _waypointStartCode = _customCode param[0,{}];
- _waypointEndCode = _customCode param[1,{{deleteVehicle _x;} forEach crew (_this select 0);deleteVehicle (_this select 0);}];
- if( ( typeName _waypointStartCode ) isEqualTo "CODE")then{
- _wp1 setWaypointStatements ["true", format["[vehicle this] call %1",_waypointStartCode]];
- };
- if( ( typeName _waypointEndCode ) isEqualTo "CODE")then{
- _wp3 setWaypointStatements ["true", format["[vehicle this] call %1",_waypointEndCode]];
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement