Jump to content

None autonomous autonomous UAVs


Sentri

Recommended Posts

So here we are again back on UAVs.

 

Rearming a UAV is simple but dosn't work properly everytime.

Rearming takes like 5 min and so as an UAV Operator I do other stuff while the UAV is rearming

and that's where it happens even with no orders and autonomous mode set on off the UAV decides to drive in the next

possible game object, so that when I reconnect to the UAV it is stuck.

 

59a166b45c84d_ArmA308_26.2017-12_49_00_01.thumb.png.8b92e44865c1613d2eec196861c2f836.png

 

The idea would be some kind of "lock" that makes it impossible for the UAV to move from the service point.

Something like the fuel gets set to 0 and if rearming is finished it dosn't get set to 1 (100% fuel level)

but the UAV gets an action(set fuel to 1 and deletes action after that), so that the UAV Operator has to use

that action to "unlock" the UAV.

Link to comment
Share on other sites

Vanilla arma has an option to toggle the autonomous mode of UAVs.  It can be found in the UAV terminal on the left hand side just under the gunner camera if i'm not mistaken.  This will prevent the UAVs from doing stupid things 90% of the time.  The other 10% arma will just be arma and the UAV will just do whatever the heck it feels like doing.
Yes not all UAV operators know and/or do this.  However if it's just at base you can easily take a hunter, prowler or even quad and push the UAV back from the tree.

Link to comment
Share on other sites

Well that's just arma for you.  The only thing we could do to fix that is either remove all of it's fuel or delete the crew and spawn new in when the UAV wants to actually is it.
If anyone has some lightweight code for that, send it to me.
But for now you'll just have to be careful.  

 

ps: the greyhawk service takes 262 seconds (approximately 4.5 minutes), the UCAV if serviced on the carrier, takes either the same time or 10 minutes.  I'm still not sure :).

Link to comment
Share on other sites

Here would be an code example.

 

ServicePadNow:

{

    // code...

    _objectToService setFuel 0;

    // code...

    _objectToService setFuel 1;

    // code...

}

 

MyIdeaForDeletingAndAddingFuel: 

{

    // code...

    _objectToService setFuel 0;

    // code...

    _objectToService addAction ["Set Fuel",
    {
        _object = _this select 0;
        _id = _this select 2;
        _object setFuel 1;
        _object removeAction _id;
    }];

    // code...

}

Link to comment
Share on other sites

Don't know which language that'd be but i can tell you that that code will not work.  Because addAction is local and not server side, meaning you cave the server and the server alone an action.  But the server itself can't use. 
On top of this i don't see anything that'd make it only available to the UAV operator.

Link to comment
Share on other sites

Sorry if I again made a mistake.

 

Service Script on sever remote execute a function on the UAV Operators machine. 

// code...

_objectToService setFuel 0;

// code...

[_objectToService] remoteExec ["fuelFunction", uavOp];

// code...

 

 

Function will be executed on the UAV Operators machine and will add the Action there.

fuelFunction = {
    _objectToService = _this select 0;
    _objectToService addAction ["Set Fuel",
    {
    
        _object = _this select 0;
        _id = _this select 2;
        _object setFuel 1;
        _object removeAction _id;
    }];
};

 

 

Config.cpp

class CfgRemoteExec

{

    class Functions

    {

        mode = 2;

        class fuelFunction

        {

            allowTargets = 1;

            jip = 0;

        };

    };

};

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Forum Statistics

    11.1k
    Total Topics
    66.4k
    Total Posts
×
×
  • Create New...