Advertisement
Gr8Boi

ExileServer_object_vehicle_database_load.sqf

Oct 3rd, 2015
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.79 KB | None | 0 0
  1. /**
  2.  * Exile Mod
  3.  * www.exilemod.com
  4.  * © 2015 Exile Mod Team
  5.  *
  6.  * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
  7.  * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
  8.  */
  9.  
  10. private["_vehicleID","_data","_position","_vectorDirection","_vectorUp","_pinCode","_vehicleObject","_lock","_cargoContainers"];
  11. _vehicleID = _this;
  12. _data = format ["loadVehicle:%1", _vehicleID] call ExileServer_system_database_query_selectSingle;
  13. _position = [_data select 8, _data select 9, _data select 10];
  14. _vectorDirection = [_data select 11, _data select 12, _data select 13];
  15. _vectorUp = [_data select 14, _data select 15, _data select 16];
  16. _pinCode = _data select 20;
  17. _vehicleObject = [(_data select 1), _position, 0, true,_pinCode] call ExileServer_object_vehicle_createPersistentVehicle;
  18. _vehicleObject setVectorDirAndUp [_vectorDirection, _vectorUp];
  19. _vehicleObject setVariable ["ExileDatabaseID", _vehicleID];
  20. _vehicleObject setVariable ["ExileOwnerUID", (_data select 3)];
  21. _lock = (_data select 4);
  22. _vehicle_in_SZ = _position call ExileClient_util_world_isInTraderZone;
  23. if(_lock isEqualTo -1)then
  24. {
  25.     _vehicleObject setVehicleAmmo 0;
  26.     _vehicleObject setVariable ["ExileIsLocked",-1];
  27.     _vehicleObject lock 2;
  28.     _vehicleObject enableRopeAttach false;
  29.     if(_vehicle_in_SZ)then{
  30.         _vehicleObj = str _vehicleObject select [19];
  31.         _vehicleObj = _vehicleObj select [0,count _vehicleObj - 4];
  32.         diag_log format ["GR8 : Teleporting %1 ID: %2 owned by %3 (%4) @ %5 ###", _vehicleObj, _vehicleID, (_vehicleObject getVariable "ExileOwnerUID"), _pinCode, _position];
  33.         _vehicleObject setVariable ["ExileIsLocked",0];
  34.         _vehicleObject lock 0;
  35.         _vehicleObject enableRopeAttach true;
  36.         _safePos = [[23716.9,16270.4,0], 1.5, 20, 1, 0, 5, 0] call BIS_fnc_findSafePos;
  37.         _vehicleObject setposATL _safePos;
  38.     };
  39. }
  40. else
  41. {
  42.     _vehicleObject setVehicleAmmo 0;
  43.     _vehicleObject setVariable ["ExileIsLocked",0];
  44.     _vehicleObject lock 0;
  45. };
  46. _vehicleObject setFuel (_data select 5);
  47. _vehicleObject setDamage (_data select 6);
  48. {
  49.     _vehicleObject setHitPointDamage [_x select 0, _x select 1];
  50. }
  51. forEach (_data select 7);
  52. [_vehicleObject, (_data select 17)] call ExileServer_util_fill_fillItems;
  53. [_vehicleObject, (_data select 18)] call ExileServer_util_fill_fillMagazines;
  54. [_vehicleObject, (_data select 19)] call ExileServer_util_fill_fillWeapons;
  55. _cargoContainers = format ["loadVehicleContainer:%1", _vehicleID] call ExileServer_system_database_query_selectSingle;
  56. if !(_cargoContainers isEqualTo []) then
  57. {
  58.     [_vehicleObject, (_cargoContainers select 0)] call ExileServer_util_fill_fillContainers;
  59. };
  60. _vehicleObject enableSimulationGlobal false;
  61. _vehicleObject call ExileServer_system_simulationMonitor_addVehicle;
  62. _vehicleObject
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement