Guest User

Untitled

a guest
Sep 9th, 2020
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. /*
  2. Author: Maverick Applications
  3. Desc: Altis Life Shipwreck
  4. */
  5.  
  6. //Do not touch below
  7. if (!isServer) exitWith {};
  8.  
  9. [] spawn {
  10. sleep 360;
  11.  
  12. private _positions = getArray(missionConfigFile >> "Maverick_Shipwrecks" >> "Positions");
  13. private _ship = objNull;
  14. private _ship2 = objNull;
  15. private _lastCreateTime = time - 360;
  16. private _radius = getNumber(missionConfigFile >> "Maverick_Shipwrecks" >> "Radius");
  17.  
  18. private _createNewWreck = {
  19. private _position = selectRandom _positions;
  20.  
  21. private _marker = createMarker [ "shipwreck", _position ];
  22. _marker setMarkerColor "ColorBlack";
  23. _marker setMarkerType "mil_warning";
  24. _marker setMarkerText "Epave";
  25.  
  26. private _markerZone = createMarker [ "shipwreckzone", _position ];
  27. _markerZone setMarkerColor "ColorGreen";
  28. _markerZone setMarkerType "Empty";
  29. _markerZone setMarkerShape "ELLIPSE";
  30. _markerZone setMarkerSize [ _radius, _radius ];
  31.  
  32. _ship = createVehicle ["Land_Wreck_Traw_F", _position, [], _radius, "None"];
  33. _ship allowDamage false;
  34. _ship setDamage 0;
  35. _ship enableSimulationGlobal false;
  36. _ship setVariable [ "wrecktime", time ];
  37.  
  38. private _loot = [];
  39.  
  40. {
  41. for "_i" from 1 to (_x select 1) do
  42. {
  43. _loot pushBack ( _x select 0 );
  44. };
  45. } forEach selectRandom(getArray(missionConfigFile >> "Maverick_Shipwrecks" >> "ShipLoot"));
  46.  
  47. _loot = ( _loot call BIS_fnc_arrayShuffle );
  48.  
  49. _ship setVariable [ "wreckloot", _loot, true ];
  50.  
  51. _ship2 = createVehicle [ "Land_Wreck_Traw2_F", ( getPos _ship ), [], 50, "None" ];
  52. _ship2 allowDamage false;
  53. _ship2 setDamage 0;
  54. _ship2 enableSimulationGlobal false;
  55. _ship2 setVariable [ "wrecktime", time ];
  56.  
  57. getText(missionConfigFile >> "Maverick_Shipwrecks" >> "SpawnMSG") remoteExecCall ["hint",[civilian,west]];
  58. ["alarm"] remoteExecCall ["playSound",[civilian,west]];
  59. };
  60.  
  61. private _deleteOldWreck = {
  62. if (!isNull _ship) then {
  63. getText(missionConfigFile >> "Maverick_Shipwrecks" >> "DeleteMSG") remoteExecCall ["hint",[civilian,west]];
  64. sleep 5;
  65. deleteVehicle _ship;
  66. deleteVehicle _ship2;
  67. deleteMarker "shipwreck";
  68. deleteMarker "shipwreckzone";
  69. };
  70. _ship = objNull;
  71. _ship2 = objNull;
  72. _lastCreateTime = time;
  73. };
  74.  
  75. for "_i" from 0 to 1 step 0 do {
  76. if (isNull _ship) then {
  77. if ((time - _lastCreateTime) >= (getNumber(missionConfigFile >> "Maverick_Shipwrecks" >> "ShipwreckInterval"))) then {
  78. call _deleteOldWreck;
  79. call _createNewWreck;
  80. _lastCreateTime = time + (getNumber(missionConfigFile >> "Maverick_Shipwrecks" >> "ShipwreckInterval"));
  81. };
  82. } else {
  83. if ((_ship getVariable ["wreckloot", []]) isEqualTo []) then {
  84. call _deleteOldWreck;
  85. };
  86. };
  87.  
  88. sleep 45;
  89. };
  90. };
Advertisement
Add Comment
Please, Sign In to add comment