mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
36 lines
1.0 KiB
Plaintext
36 lines
1.0 KiB
Plaintext
|
/* ace_sys_cargo | (c) 2010,2011 by rocko */
|
||
|
|
||
|
//#define DEBUG_MODE_FULL
|
||
|
#include "script_component.hpp"
|
||
|
|
||
|
PARAMS_1(_target);
|
||
|
_volume = [_target] call FUNC(volume);
|
||
|
_weight = [_target,_volume] call FUNC(weight);
|
||
|
|
||
|
_push_direction = getDir player;
|
||
|
|
||
|
_acceleration = 0.02 * _weight;
|
||
|
|
||
|
_vel = velocity _target;
|
||
|
_pos = getPos _target;
|
||
|
|
||
|
TRACE_5("",_volume,_weight,_push_direction,_acceleration,_vel);
|
||
|
|
||
|
_new_vel = [(_vel select 0)+(sin _push_direction*_acceleration),(_vel select 1)+(cos _push_direction*_acceleration),_vel select 2];
|
||
|
TRACE_1("",_new_vel);
|
||
|
|
||
|
if (_target isKindOf "Static") then {
|
||
|
_new_pos = [(_pos select 0)+(sin _push_direction*(_acceleration/2)),(_pos select 1)+(cos _push_direction*(_acceleration/2)),_pos select 2];
|
||
|
_target setPos _new_pos;
|
||
|
_target setPosATL _new_pos;
|
||
|
} else {
|
||
|
[QGVAR(setvel), [_target,_new_vel]] call ACE_fnc_receiverOnlyEvent;
|
||
|
};
|
||
|
_target spawn {
|
||
|
_target = _this;
|
||
|
sleep 4;
|
||
|
[QGVAR(setvel), [_target,[0,0,0]]] call ACE_fnc_receiverOnlyEvent;
|
||
|
//_pos = getPos _target;
|
||
|
//_target setPos _pos;
|
||
|
};
|