Jump to content

infiSTAR

Member
  • Posts

    11
  • Joined

  • Last visited

Posts posted by infiSTAR

  1. Maybe this works (just made it up real quick, have not tested it)

     

    https://pastebin.com/73pjvXPw

    /* This function goes somewhere serverside, should be set before the server_monitor starts */
    fnc_UnstuckVeh =
    {
    	private['_car','_curPos','_oldCarPos','_engineTime','_newPos'];
    	_car = _this;
    	if(isEngineOn _car)then
    	{
    		if(crew _car isEqualTo [])then
    		{
    			_curPos = position _car;
    			_oldCarPos = _car getVariable['carPos',[0,0,0]];
    			if(str _oldCarPos != '[0,0,0]')then
    			{
    				if(_curPos distance _oldCarPos < 2)then
    				{
    					_engineTime  = _car getVariable['engineTime',-1];
    					if(_engineTime < 0)then
    					{
    						_car setVariable['engineTime',time];
    					};
    					if(time - _engineTime > 10)then
    					{
    						_car setVariable['engineTime',-1];
    						
    						_car setVectorUp [0,0,1];
    						_newPos = [_curPos,1,100,1,true] call EPOCH_fnc_findSafePos;
    						_car setPosATL _newPos;
    					};
    				};
    			};
    			_car setVariable['carPos',_curPos];
    		}
    		else
    		{
    			_car setVariable['carPos',[0,0,0]];
    		};
    	}
    	else
    	{
    		_car setVariable['carPos',[0,0,0]];
    	};
    };
    
    
    /*
    	Mod the file 'server_monitor.fsm'
    	path: 'a3_epoch_server\system\server_monitor.fsm'
    */
            class Save_Vehicles
            {
              priority = 4.000000;
              to="Process";
              precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
              condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _delayTimeSaveVeh) > 1)"/*%FSM</CONDITION""">*/;
              action=/*%FSM<ACTION""">*/"_delayTimeSaveVeh = diag_tickTime;" \n
               "if !(EPOCH_saveVehQueue isEqualTo []) then {" \n
               "	_saveVehicle = EPOCH_saveVehQueue deleteAt 0;" \n
               "	if !(isNull _saveVehicle) then {" \n
               "		_saveVehicle call EPOCH_server_save_vehicle;" \n
               "		if(!isNil ""fnc_UnstuckVeh"")then{_saveVehicle call fnc_UnstuckVeh};" \n
               "	};" \n
               "};" \n
               "if !(EPOCH_saveStorQueue isEqualTo []) then {" \n
               "	_saveStorage = EPOCH_saveStorQueue deleteAt 0;" \n
               "	if !(isNull _saveStorage) then {" \n
               "		_saveStorage call EPOCH_server_save_storage;" \n
               "	};" \n
               "};"/*%FSM</ACTION""">*/;
            }; 

×
×
  • Create New...