Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. systemChat "Game Init";
  2.  
  3. if (!isServer) exitWith {};
  4.  
  5. private ["_dummy","_dummyClassName","_carrierPartPos"];
  6.  
  7. _carrierParts = [
  8. ["OPTRE_engine_left","EngL",0],
  9. ["OPTRE_engine_right","EngR",0],
  10. ["OPTRE_tail","Tail",0],
  11. ["OPTRE_center","Centre",0],
  12. ["OPTRE_center_nose","NoseCentre",0],
  13. ["OPTRE_nose","Nose",0],
  14. ["OPTRE_bridge","bridge",0],
  15. ["OPTRE_hangar_lift","lift",0],
  16. ["OPTRE_slipdrive","slipdrive",180],
  17. ["OPTRE_airlock_door","airlock1",90],
  18. ["OPTRE_airlock_door","airlock2",90],
  19. ["OPTRE_Corvette_archer_system","archer1",0],
  20. ["OPTRE_Corvette_archer_system","archer2",180],
  21. ["OPTRE_Corvette_M910_Turret","pointdefense1",180]
  22. ];
  23.  
  24. _shipBase = param [0, objNull];
  25.  
  26. {deleteVehicle _x; } forEach (_shipBase getVariable ["OPTRE_DrakeParts",[]]);
  27.  
  28. _shipBasePos = getposATL _shipBase;
  29. _carrierDir = getdir _shipBase;
  30. _carrierPos = getposATL _shipBase;
  31.  
  32. //private _carrierPitchBank = _shipBase call bis_fnc_getPitchBank;
  33. //_carrierPitchBank params [["_carrierPitch",0],["_carrierBank",0]]; // Does not work due to engines carrier must be flat.
  34.  
  35. _parts = [];
  36. {
  37. private ["_crewArray"];
  38.  
  39. _dummy = createVehicle [(_x select 0), [0,0,0], [], _carrierDir, "CAN_COLLIDE"];
  40. _crewArray = [ _dummy , (createGroup West) ] call BIS_fnc_spawnCrew;
  41. _dummy setDir (_carrierDir + (_x select 2));
  42.  
  43. _carrierPartPos = _shipBase modelToWorldWorld (_shipBase selectionPosition (_x select 1));
  44. _dummy setPosWorld _carrierPartPos;
  45.  
  46. //[_dummy, _carrierPitch, _carrierBank] call bis_fnc_setPitchBank; // Does not work due to engines carrier must be flat.
  47.  
  48. _parts pushBack _dummy;
  49. if (count _crewArray > 0) then {_parts = _parts + _crewArray;};
  50.  
  51. } foreach _carrierParts;
  52.  
  53. for "_i" from 0 to 32 do {
  54. private ["_memPointName"];
  55. if (_i < 10) then { // Numbers Bellow 10 need a 0 added to the name.
  56. _memPointName = format ["Component0%1",_i];
  57. } else { // Numbers above 9 do not.
  58. _memPointName = format ["Component%1",_i];
  59. };
  60.  
  61. _dummy = createVehicle ["OPTRE_hallway_door_a", [0,0,0], [], _carrierDir, "CAN_COLLIDE"];
  62. _dummy setDir _carrierDir;
  63.  
  64. _carrierPartPos = _shipBase modelToWorldWorld (_shipBase selectionPosition _memPointName);
  65. _dummy setPosWorld _carrierPartPos;
  66.  
  67. _parts pushBack _dummy;
  68.  
  69. };
  70.  
  71. for "_i" from 0 to 25 do { // call all the 90 doors Door_90d_X 0-X
  72.  
  73. _memPointName = format ["Door_90d_%1",_i];
  74.  
  75. _dummy = createVehicle ["OPTRE_hallway_door_a", [0,0,0], [], _carrierDir, "CAN_COLLIDE"];
  76. _dummy setDir (_carrierDir + 90);
  77.  
  78. _carrierPartPos = _shipBase modelToWorldWorld (_shipBase selectionPosition _memPointName);
  79. _dummy setPosWorld _carrierPartPos;
  80.  
  81. _parts pushBack _dummy;
  82.  
  83. };
  84.  
  85. _shipBase setVariable ["OPTRE_DrakeParts", _parts, true];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement