[TUTORIAL] Flug/Fahrzeug Händler mit 3D Ansicht und eigenen Skins.
-
- Altis Life
-
nflug -
28. August 2016 um 22:41
Das neue Nodezone befindet sich in der finalen Entwicklungsphase. Mit dem geplanten Start wird das bisherige Forum auf Read Only umgestellt und künftig als Archiv erhalten bleiben.
Alle Informationen zur neuen Plattform, zur Accountübernahme und zum weiteren Ablauf findest du hier: Zum aktuellen Nodezone Beitrag
-
-
Musst noch in beiden Datein die Position abändern:
vehicleShop3DInitPreview:
Spoiler anzeigen
/**
* Bibliothèque de fonctions permettant la visualisation 3D d'objets
*
* Copyright (C) 2014 Team ~R3F~
*
* This program is free software under the terms of the GNU General Public License version 3.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <@@c4d007c2b07654d56ab632a6d069304b4f4dec38@@>.
*//*
File: fn_vehicleShopInit3DPreview.sqf
Modified By: NiiRoZzDescription:
Called when a player open the vehicle shop and setup cam and the while for rotate around the vehicle
*/
// Creating a camera.
life_preview_3D_vehicle_cam = "camera" camCreate [DEINE,KAMERA,POSITION];
life_preview_3D_vehicle_cam cameraEffect ["Internal", "BACK"];
life_preview_3D_vehicle_cam camSetFocus [-1, -1];
showCinemaBorder false;
life_preview_3D_vehicle_cam camCommit 0;life_preview_3D_vehicle_object = objNull;
// Thread execution performing a continuous rotation of the camera around the view object.
0 spawn
{
// Until we left the visualization.
for "_i" from 0 to 1 step 0 do {
if (isNull life_preview_3D_vehicle_cam) exitWith {};
private ["_object","_distanceCam","_azimuthCam"];// Waiting for a view object.
waitUntil {!isNull life_preview_3D_vehicle_object};_object = life_preview_3D_vehicle_object;
if(_object isKindOf "Ship") then {
if(getPos life_preview_3D_vehicle_cam != [DEINE,KAMERA,POSITIONFÜRDIEBOOTE]) then {
life_preview_3D_vehicle_cam camSetPos [DEINE,KAMERA,POSITIONFÜRDIEBOOTE];
};
};_distanceCam = 2.25 * (
[boundingBoxReal _object select 0 select 0, boundingBoxReal _object select 0 select 2]
distance
[boundingBoxReal _object select 1 select 0, boundingBoxReal _object select 1 select 2]
);
_azimuthCam = 0;life_preview_3D_vehicle_cam camSetTarget _object;
life_preview_3D_vehicle_cam camSetPos (_object modelToWorld [_distanceCam * sin _azimuthCam, _distanceCam * cos _azimuthCam, _distanceCam * 0.33]);
life_preview_3D_vehicle_cam camCommit 0;// Rotation around the object.
for "_i" from 0 to 1 step 0 do {
if (!(life_preview_3D_vehicle_object isEqualTo _object)) exitWith {};
_azimuthCam = _azimuthCam + 1.00;life_preview_3D_vehicle_cam camSetPos (_object modelToWorld [_distanceCam * sin _azimuthCam, _distanceCam * cos _azimuthCam, _distanceCam * 0.33]);
life_preview_3D_vehicle_cam camCommit 0.05;sleep 0.05;
};
};
};vehicleShop3DPreview
Spoiler anzeigen
/**
* Bibliothèque de fonctions permettant la visualisation 3D d'objets
*
* Copyright (C) 2014 Team ~R3F~
*
* This program is free software under the terms of the GNU General Public License version 3.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <@@efa05bd5061dea4349d51d345f83a84c81508cc4@@>.
*//*
File: fn_vehicleShop3DPreview.sqf
Modified By: NiiRoZzDescription:
Called when a new selection is made in the list box and
displays the new vehicle selected.
*/private ["_classView","_object","_id"];
if (isNil "life_preview_3D_vehicle_cam") then
{
[] call life_fnc_vehicleShopInit3DPreview;
};_classView = _this select 0;
// Ignore non instantiable objects.
if (_classView != "" && {isClass (configFile >> "CfgVehicles" >> _classView) && {getNumber (configFile >> "CfgVehicles" >> _classView >> "scope") > 0}}) then
{
// Skip if object view is the same as previous.
if (isNull life_preview_3D_vehicle_object
{_classView != typeOf life_preview_3D_vehicle_object}) then
{
if (!isNull life_preview_3D_vehicle_object) then {detach life_preview_3D_vehicle_object; deleteVehicle life_preview_3D_vehicle_object;};
// Create and place the object in the sky
if (!life_pos_exist) then {
if(_classView isKindOf "Ship") then {
life_pos_attach = [DEINE, SCHIFFS, POSITION];
} else {
life_pos_attach = [DEINE, ANDERE, POSITION];
};
life_pos_exist = true;
life_preview_light = "#lightpoint" createVehicle life_pos_attach;
life_preview_light setLightBrightness 0.5;
life_preview_light setLightColor [1,1,1];
life_preview_light setLightAmbient [1,1,1];
};
_object = _classView createVehicle life_pos_attach;
_id = owner player;
[_object] remoteExecCall ["life_fnc_hideObj",-_id];
[life_preview_light] remoteExecCall ["life_fnc_hideObj",-_id];
[_object] call life_fnc_clearVehicleAmmo;
_object attachTo [life_attachment_point, life_pos_attach];_object hideObject false;
life_preview_light hideObject false;_object allowDamage false;
life_preview_3D_vehicle_object = _object;
};
}; -
Werden dann endlich die Autos an gezeigt? Benutze die 3.1.4.8
-
Das ist für Stizle nicht für dich

Schick dochmal deine jetzigen Datein @Team-Wings -
Klar warte
-
if (isNull life_preview_3D_vehicle_object
DAAAAAAAAAAAAAAAAAAAAAAAANKE
@Flyyying_nflugNur wieso ist dort ein Smiley ?
-
So hier die Datein:
Code
Alles anzeigen/** * Bibliothèque de fonctions permettant la visualisation 3D d'objets * * Copyright (C) 2014 Team ~R3F~ * * This program is free software under the terms of the GNU General Public License version 3. * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* File: fn_vehicleShopInit3DPreview.sqf Modified By: NiiRoZz Description: Called when a player open the vehicle shop and setup cam and the while for rotate around the vehicle */ // Creating a camera. life_preview_3D_vehicle_cam = "camera" camCreate [21708.67, 5972.299, 200]; life_preview_3D_vehicle_cam cameraEffect ["Internal", "BACK"]; life_preview_3D_vehicle_cam camSetFocus [-1, -1]; showCinemaBorder false; life_preview_3D_vehicle_cam camCommit 0; life_preview_3D_vehicle_object = objNull; // Thread execution performing a continuous rotation of the camera around the view object. 0 spawn { // Until we left the visualization. for "_i" from 0 to 1 step 0 do { if (isNull life_preview_3D_vehicle_cam) exitWith {}; private ["_object","_distanceCam","_azimuthCam"]; // Waiting for a view object. waitUntil {!isNull life_preview_3D_vehicle_object}; _object = life_preview_3D_vehicle_object; _distanceCam = 2.25 * ( [boundingBoxReal _object select 0 select 0, boundingBoxReal _object select 0 select 2] distance [boundingBoxReal _object select 1 select 0, boundingBoxReal _object select 1 select 2] ); _azimuthCam = 0; life_preview_3D_vehicle_cam camSetTarget _object; life_preview_3D_vehicle_cam camSetPos (_object modelToWorld [_distanceCam * sin _azimuthCam, _distanceCam * cos _azimuthCam, _distanceCam * 0.33]); life_preview_3D_vehicle_cam camCommit 0; // Rotation around the object. for "_i" from 0 to 1 step 0 do { if (!(life_preview_3D_vehicle_object isEqualTo _object)) exitWith {}; _azimuthCam = _azimuthCam + 1.00; life_preview_3D_vehicle_cam camSetPos (_object modelToWorld [_distanceCam * sin _azimuthCam, _distanceCam * cos _azimuthCam, _distanceCam * 0.33]); life_preview_3D_vehicle_cam camCommit 0.05; sleep 0.05; }; }; };Code
Alles anzeigen#include <macro.h> /* File: fn_vehicleShopLBChange.sqf Author: Bryan "Tonic" Boardwine Description: Called when a new selection is made in the list box and displays various bits of information about the vehicle. */ disableSerialization; private["_control","_index","_className","_basePrice","_vehicleInfo","_colorArray","_ctrl"]; _control = _this select 0; _index = _this select 1; //Fetch some information. _className = _control lbData _index; _vIndex = _control lbValue _index; _vehicleList = [life_veh_shop select 0] call life_fnc_vehicleListCfg; _basePrice = (_vehicleList select _vIndex) select 1; _vehicleInfo = [_className] call life_fnc_fetchVehInfo; _trunkSpace = [_className] call life_fnc_vehicleWeightCfg; [_className] call life_fnc_vehicleShop3DPreview; ctrlShow [2330,true]; (getControl(2300,2303)) ctrlSetStructuredText parseText format[ "Rental Price: <t color='#8cff9b'>$%1</t><br/>Ownership Price: <t color='#8cff9b'>$%2</t><br/>Max Speed: %3 km/h<br/>Horse Power: %4<br/>Passenger Seats: %5<br/>Trunk Capacity: %6<br/>Fuel Capacity: %7<br/>Armor Rating: %8", [_basePrice] call life_fnc_numberText, [round(_basePrice * 1.5)] call life_fnc_numberText, _vehicleInfo select 8, _vehicleInfo select 11, _vehicleInfo select 10, if(_trunkSpace == -1) then {"None"} else {_trunkSpace}, _vehicleInfo select 12, _vehicleInfo select 9 ]; _ctrl = getControl(2300,2304); lbClear _ctrl; _colorArray = [_className] call life_fnc_vehicleColorCfg; for "_i" from 0 to count(_colorArray)-1 do { if((_colorArray select _i) select 1 == (life_veh_shop select 2)) then { _temp = [_className,_i] call life_fnc_vehicleColorStr; _ctrl lbAdd format["%1",_temp]; _ctrl lbSetValue [(lbSize _ctrl)-1,_i]; }; }; if(_className in (__GETC__(life_vShop_rentalOnly))) then { ctrlEnable [2309,false]; } else { if(!(life_veh_shop select 3)) then { ctrlEnable [2309,true]; }; }; lbSetCurSel[2304,0]; if((lbSize _ctrl)-1 != -1) then { ctrlShow[2304,true]; } else { ctrlShow[2304,false]; }; true;Code
Alles anzeigen/* File: fn_vehicleShopMenu.sqf Author: Bryan "Tonic" Boardwine Description: Blah */ private["_shop","_sideCheck","_spawnPoints","_shopFlag","_disableBuy"]; _shop = [(_this select 3),0,"",[""]] call BIS_fnc_param; _sideCheck = [(_this select 3),1,sideUnknown,[civilian]] call BIS_fnc_param; _spawnPoints = [(_this select 3),2,"",["",[]]] call BIS_fnc_param; _shopFlag = [(_this select 3),3,"",[""]] call BIS_fnc_param; _disableBuy = [(_this select 3),5,false,[true]] call BIS_fnc_param; disableSerialization; //Long boring series of checks if(dialog) exitWith {}; if(_shop == "") exitWith {}; if(_sideCheck != sideUnknown && {playerSide != _sideCheck}) exitWith {hintSilent localize "STR_Shop_Veh_NotAllowed"}; if(!createDialog "Life_Vehicle_Shop_v2_3D") exitWith {}; life_veh_shop = [_shop,_spawnpoints,_shopFlag,_disableBuy]; //Store it so so other parts of the system can access it. ctrlSetText [2301,((_this select 3) select 4)]; if(_disableBuy) then { //Disable the buy button. ctrlEnable [2309,false]; }; //Fetch the shop config. _vehicleList = [_shop] call life_fnc_vehicleListCfg; _control = ((findDisplay 2300) displayCtrl 2302); lbClear _control; //Flush the list. ctrlShow [2330,false]; ctrlShow [2304,false]; //Loop through { _className = _x select 0; _basePrice = _x select 1; _vehicleInfo = [_className] call life_fnc_fetchVehInfo; _control lbAdd (_vehicleInfo select 3); _control lbSetPicture [(lbSize _control)-1,(_vehicleInfo select 2)]; _control lbSetData [(lbSize _control)-1,_className]; _control lbSetValue [(lbSize _control)-1,_ForEachIndex]; } foreach _vehicleList; [] call life_fnc_vehicleShopInit3DPreview; ((findDisplay 2300) displayCtrl 2302) lbSetCurSel 0;Falls du noch andere Dateien brauch sag einfach welche!

Mfg Pius von Team-Wings
-
Ehmm ich hab da keinen Smiley hier.
Hans nochma abgeändert kopier sie jetzt nochma -
und bei dir TeamWings fehlt eine Datei. Versuch mal die 200 Höhe bei deiner Position weg zu machen obs dann geht.
-
Habe jetzt überall die höhe 200 gemacht mal gucken ob es geht!

-
Nope habs geändert und es geht immer noch nicht!
-
Was genau geht bei dir nicht @Team-Wings
Bin mobil drin.. . -
Was genau geht bei dir nicht @Team-Wings
Bin mobil drin.. .Er sieht das Auto nicht ^^.
@Team-Wings
Entweder du enfernten überall mal die Höhe.
Oder du Versuchst noch _object enableSimulation false; in der vehicleMenu3DPreview unter dem hideObject hinzuzufügen -
Ich könnte ihm morgen früh helfen.. . Hab ausgerechnet heute mein lappi nicht dabei

-
Er sieht das Auto nicht ^^.
@Team-Wings
Entweder du enfernten überall mal die Höhe.
Oder du Versuchst noch _object enableSimulation false; in der vehicleMenu3DPreview unter dem hideObject hinzuzufügenNope geht immer noch nicht

-
Ich schick dir nachher mal alle Datein für deine Version die müssten dann gehen :P.
Aber jetzt muss ich erstmal zu Schule. -
Ok viel Spaß!

-
@Team-Wings
Bitte nochmal komplettes Tutorial durch gehen.
Dann anstatt die Datein im Tutorial diese hier im Anhang benutzen. -
Ok das mit den Booten klappt. Habe noch versucht das ganze für die Flugzeuge zu machen. Das klappt nicht, die Flugzeuge spawnen dort wo die Autos auch spawnen.
fn_vehicleShop3DPreviewCode
Alles anzeigen/** * Bibliothèque de fonctions permettant la visualisation 3D d'objets * * Copyright (C) 2014 Team ~R3F~ * * This program is free software under the terms of the GNU General Public License version 3. * You should have received a copy of the GNU General Public License * along with this program. If not, see <@@efa05bd5061dea4349d51d345f83a84c81508cc4@@>. */ /* File: fn_vehicleShop3DPreview.sqf Modified By: NiiRoZz Description: Called when a new selection is made in the list box and displays the new vehicle selected. */ private ["_classView","_object","_id"]; if (isNil "life_preview_3D_vehicle_cam") then { [] call life_fnc_vehicleShopInit3DPreview; }; _classView = _this select 0; // Ignore non instantiable objects. if (_classView != "" && {isClass (configFile >> "CfgVehicles" >> _classView) && {getNumber (configFile >> "CfgVehicles" >> _classView >> "scope") > 0}}) then { // Skip if object view is the same as previous. if (isNull life_preview_3D_vehicle_object || {_classView != typeOf life_preview_3D_vehicle_object}) then { if (!isNull life_preview_3D_vehicle_object) then {detach life_preview_3D_vehicle_object; deleteVehicle life_preview_3D_vehicle_object;}; // Create and place the object in the sky if (!life_pos_exist) then { if(_classView isKindOf "Ship") then { life_pos_attach = [12659.153,14504.985]; } else { if(_classView isKindOf "Plane") then { life_pos_attach = [11844.76,13084.747,0]; } else { life_pos_attach = [12196.492,2966.558,0]; } }; life_pos_exist = true; life_preview_light = "#lightpoint" createVehicle life_pos_attach; life_preview_light setLightBrightness 0.5; life_preview_light setLightColor [1,1,1]; life_preview_light setLightAmbient [1,1,1]; }; _object = _classView createVehicle life_pos_attach; _id = owner player; [_object] remoteExecCall ["life_fnc_hideObj",-_id]; [life_preview_light] remoteExecCall ["life_fnc_hideObj",-_id]; [_object] call life_fnc_clearVehicleAmmo; _object attachTo [life_attachment_point, life_pos_attach]; _object hideObject false; life_preview_light hideObject false; _object allowDamage false; life_preview_3D_vehicle_object = _object; }; };fn_vehicleShop3DInitPreview
Code
Alles anzeigen/** * Bibliothèque de fonctions permettant la visualisation 3D d'objets * * Copyright (C) 2014 Team ~R3F~ * * This program is free software under the terms of the GNU General Public License version 3. * You should have received a copy of the GNU General Public License * along with this program. If not, see <@@c4d007c2b07654d56ab632a6d069304b4f4dec38@@>. */ /* File: fn_vehicleShopInit3DPreview.sqf Modified By: NiiRoZz Description: Called when a player open the vehicle shop and setup cam and the while for rotate around the vehicle */ // Creating a camera. life_preview_3D_vehicle_cam = "camera" camCreate [12196.492,2966.558,0]; life_preview_3D_vehicle_cam cameraEffect ["Internal", "BACK"]; life_preview_3D_vehicle_cam camSetFocus [-1, -1]; showCinemaBorder false; life_preview_3D_vehicle_cam camCommit 0; life_preview_3D_vehicle_object = objNull; // Thread execution performing a continuous rotation of the camera around the view object. 0 spawn { // Until we left the visualization. for "_i" from 0 to 1 step 0 do { if (isNull life_preview_3D_vehicle_cam) exitWith {}; private ["_object","_distanceCam","_azimuthCam"]; // Waiting for a view object. waitUntil {!isNull life_preview_3D_vehicle_object}; _object = life_preview_3D_vehicle_object; if(_object isKindOf "Ship") then { if(getPos life_preview_3D_vehicle_cam != [12659.153,14504.985]) then { life_preview_3D_vehicle_cam camSetPos [12659.153,14504.985]; }; }; if(_object isKindOf "Plane") then { if(getPos life_preview_3D_vehicle_cam != [11844.76,13084.747,0]) then { life_preview_3D_vehicle_cam camSetPos [11844.76,13084.747,0]; }; }; _distanceCam = 2.25 * ( [boundingBoxReal _object select 0 select 0, boundingBoxReal _object select 0 select 2] distance [boundingBoxReal _object select 1 select 0, boundingBoxReal _object select 1 select 2] ); _azimuthCam = 0; life_preview_3D_vehicle_cam camSetTarget _object; life_preview_3D_vehicle_cam camSetPos (_object modelToWorld [_distanceCam * sin _azimuthCam, _distanceCam * cos _azimuthCam, _distanceCam * 0.33]); life_preview_3D_vehicle_cam camCommit 0; // Rotation around the object. for "_i" from 0 to 1 step 0 do { if (!(life_preview_3D_vehicle_object isEqualTo _object)) exitWith {}; _azimuthCam = _azimuthCam + 1.00; life_preview_3D_vehicle_cam camSetPos (_object modelToWorld [_distanceCam * sin _azimuthCam, _distanceCam * cos _azimuthCam, _distanceCam * 0.33]); life_preview_3D_vehicle_cam camCommit 0.05; sleep 0.05; }; }; }; -
Versuchs ma so Stizzle ^^:
vehicleShop3DInitPreview:
Spoiler anzeigen
/**
* Bibliothèque de fonctions permettant la visualisation 3D d'objets
*
* Copyright (C) 2014 Team ~R3F~
*
* This program is free software under the terms of the GNU General Public License version 3.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <@@c4d007c2b07654d56ab632a6d069304b4f4dec38@@>.
*/
/*
File: fn_vehicleShopInit3DPreview.sqf
Modified By: NiiRoZz
Description:
Called when a player open the vehicle shop and setup cam and the while for rotate around the vehicle
*/
// Creating a camera.
life_preview_3D_vehicle_cam = "camera" camCreate [12196.492,2966.558,0];
life_preview_3D_vehicle_cam cameraEffect ["Internal", "BACK"];
life_preview_3D_vehicle_cam camSetFocus [-1, -1];
showCinemaBorder false;
life_preview_3D_vehicle_cam camCommit 0;
life_preview_3D_vehicle_object = objNull;
// Thread execution performing a continuous rotation of the camera around the view object.
0 spawn
{
// Until we left the visualization.
for "_i" from 0 to 1 step 0 do {
if (isNull life_preview_3D_vehicle_cam) exitWith {};
private ["_object","_distanceCam","_azimuthCam"];
// Waiting for a view object.
waitUntil {!isNull life_preview_3D_vehicle_object};
_object = life_preview_3D_vehicle_object;if(_object isKindOf "Ship") then {
if(getPos life_preview_3D_vehicle_cam != [12659.153,14504.985]) then {
life_preview_3D_vehicle_cam camSetPos [12659.153,14504.985];
};
};if(_object isKindOf "Plane") then {
if(getPos life_preview_3D_vehicle_cam != [11844.76,13084.747,0]) then {
life_preview_3D_vehicle_cam camSetPos [11844.76,13084.747,0];
};
};_distanceCam = 2.25 * (
[boundingBoxReal _object select 0 select 0, boundingBoxReal _object select 0 select 2]
distance
[boundingBoxReal _object select 1 select 0, boundingBoxReal _object select 1 select 2]
);
_azimuthCam = 0;
life_preview_3D_vehicle_cam camSetTarget _object;
life_preview_3D_vehicle_cam camSetPos (_object modelToWorld [_distanceCam * sin _azimuthCam, _distanceCam * cos _azimuthCam, _distanceCam * 0.33]);
life_preview_3D_vehicle_cam camCommit 0;
// Rotation around the object.
for "_i" from 0 to 1 step 0 do {
if (!(life_preview_3D_vehicle_object isEqualTo _object)) exitWith {};
_azimuthCam = _azimuthCam + 1.00;
life_preview_3D_vehicle_cam camSetPos (_object modelToWorld [_distanceCam * sin _azimuthCam, _distanceCam * cos _azimuthCam, _distanceCam * 0.33]);
life_preview_3D_vehicle_cam camCommit 0.05;
sleep 0.05;
};
};
};vehicleShop3DPreview
Spoiler anzeigen
/**
* Bibliothèque de fonctions permettant la visualisation 3D d'objets
*
* Copyright (C) 2014 Team ~R3F~
*
* This program is free software under the terms of the GNU General Public License version 3.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <@@efa05bd5061dea4349d51d345f83a84c81508cc4@@>.
*/
/*
File: fn_vehicleShop3DPreview.sqf
Modified By: NiiRoZz
Description:
Called when a new selection is made in the list box and
displays the new vehicle selected.
*/
private ["_classView","_object","_id"];
if (isNil "life_preview_3D_vehicle_cam") then
{
[] call life_fnc_vehicleShopInit3DPreview;
};
_classView = _this select 0;
// Ignore non instantiable objects.
if (_classView != "" && {isClass (configFile >> "CfgVehicles" >> _classView) && {getNumber (configFile >> "CfgVehicles" >> _classView >> "scope") > 0}}) then
{
// Skip if object view is the same as previous.
if (isNull life_preview_3D_vehicle_object
{_classView != typeOf life_preview_3D_vehicle_object}) then
{
if (!isNull life_preview_3D_vehicle_object) then {detach life_preview_3D_vehicle_object; deleteVehicle life_preview_3D_vehicle_object;};
// Create and place the object in the skyif (!life_pos_exist) then {
if(_classView isKindOf "Ship" OR _classView isKindOf "Plane") then {
if(_classView isKindOf "Plane") then {
life_pos_attach = [11844.76,13084.747,0];
} else {
life_pos_attach = [12659.153,14504.985];
};} else {
life_pos_attach = [12196.492,2966.558,0];
};life_pos_exist = true;
life_preview_light = "#lightpoint" createVehicle life_pos_attach;
life_preview_light setLightBrightness 0.5;
life_preview_light setLightColor [1,1,1];
life_preview_light setLightAmbient [1,1,1];
};
_object = _classView createVehicle life_pos_attach;
_id = owner player;
[_object] remoteExecCall ["life_fnc_hideObj",-_id];
[life_preview_light] remoteExecCall ["life_fnc_hideObj",-_id];
[_object] call life_fnc_clearVehicleAmmo;
_object attachTo [life_attachment_point, life_pos_attach];
_object hideObject false;
life_preview_light hideObject false;
_object allowDamage false;
life_preview_3D_vehicle_object = _object;
};
}; -