Jump to content
Sentri

None autonomous autonomous UAVs

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.

Share this post


Link to post
Share on other sites

Maybe an idea would be to suspend the UAV a tiny bit above the ground so it cant get any ideas and go rogue. Once it is done the UAV will be put down on the ground and you can use it again.

 

Just an idea.....

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

As I worte even with autonomous mode off that happens.

And sometimes Im not in the base to do that.

 

This also happens to the UCAV and I can't stop it from jumping off the Carrier into the Water

Share this post


Link to post
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 :).

Share this post


Link to post
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...

}

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

As far as I think now to do this we need to (addAction) within a function that will be (remoteExec)

and preferble has the UAV Operator as target.

Share this post


Link to post
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;

        };

    };

};

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Forum Statistics

    9,529
    Total Topics
    61,188
    Total Posts
×
×
  • Create New...