1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- params[
- ["_vic",objNull,[player]],
- ["_drone_class","",["string"]],
- ["_position_to_attach",[0,0,0],[[]],3]
- ];
- if (!canSuspend) exitWith {};
- if (isNull _vic) exitWith {};
- if (_drone_class isEqualTo '') exitWith {};
- _disable_sim_time=60;
- _time_of_select=time;
-
- waitUntil {
- sleep 0.25;
- ((simulationEnabled _vic) || ((time-_time_of_select)>_disable_sim_time))
- };
- if((time-_time_of_select)>_disable_sim_time) exitWith {};
-
-
- if (!isServer) exitWith {};
-
- sleep 2;
-
- if(!(alive _vic)) exitWith{};
-
- _vic allowDamage false;
- _created_attached_drone = _drone_class createVehicle (getPosASL _vic);
- _created_attached_drone attachTo [_vic,_position_to_attach];
- _created_attached_drone allowDamage false;
- createVehicleCrew _created_attached_drone;
- _created_attached_drone hideObjectGlobal true;
- _current_attached=_vic getVariable ["rd501_attached_gun_object",[]];
- _current_attached pushback _created_attached_drone;
- _vic setVariable ["rd501_attached_gun_object",_current_attached ,true];
- _vic addMPEventHandler ["MPKilled",
- {
- params ["_vic", "_killer", "_instigator", "_useEffects"];
- _attached_objectes=attachedObjects _vic;
-
-
- {
- detach _x;
- deleteVehicle _x;
- } forEach _attached_objectes;
- _vic setVariable ["rd501_attached_gun_object",[],true];
- }];
- _vic addEventHandler ["Killed",
- {
- params ["_vic", "_killer", "_instigator", "_useEffects"];
- _attached_objectes=attachedObjects _vic;
-
-
- {
- detach _x;
- deleteVehicle _x;
- } forEach _attached_objectes;
- _vic setVariable ["rd501_attached_gun_object",[],true];
-
- }];
-
- [_vic] spawn {
- params["_vic_spawn"];
-
- sleep 2;
-
- if(!(alive _vic_spawn)) exitWith{ };
-
- _vic_spawn allowDamage true;
-
-
- _attached_objectes=attachedObjects _vic_spawn;
-
- {
- _x allowDamage true;
- } forEach _attached_objectes;
-
- };
|