Home   Help Search Login Register  

Author Topic: "cant get there" and disembark refusal  (Read 2684 times)

0 Members and 1 Guest are viewing this topic.

ROBINO

  • Guest
"cant get there" and disembark refusal
« on: 13 Feb 2005, 21:44:54 »
I'm working on a dynamic chopper control script which already works beautifuly in single player - however - I'm stumbling across some problems in multiplayer.

When hosting the game and letting a friend take charge of a group of AI soldiers - they seem to be badly behaved when boarding and disembarking from (undamaged!) choppers.

Firstly, when ordered to "get in" chopper "ride in back" they all say "cant get there" - then they proceed to move to chopper and get in successfully.

Then when ordered to disembark from the chopper they say nothing and do not disembark - they become stuck.

I have narrowed problem down to occuring only when a clientside player is made group leader of the AI - when I (server) host the game and take group leader, the AI bbehave normally.

What is going on ?

I have seen this problem replicated in other missions run from dedicated servers (where no player is the server) and has serious implications for the multiplayer community.

Can this problem be solved ? ???

Offline Planck

  • Honoured
  • Former Staff
  • ****
  • I'm never wrong ....I'm just not always right !
Re:"cant get there" and disembark refusal
« Reply #1 on: 14 Feb 2005, 03:51:36 »
Possibly they need to be assigned as cargo before being told to get in the chopper.

unitname assignascargo chopper1
unitname moveincargo chopper1

They would probably also need to be unassigned from the chopper when the time comes to disembark.

unassignvehicle unitname

Try it out anyway.


Planck
« Last Edit: 14 Feb 2005, 03:54:02 by Planck »
I know a little about a lot, and a lot about a little.

Offline nominesine

  • Former Staff
  • ****
  • I'm NOT back!
    • The IKB Forum
Re:"cant get there" and disembark refusal
« Reply #2 on: 14 Feb 2005, 09:42:17 »
Place a game logic on the map. Name it "server". Don't ask me why, but it seems to help in my MP-missions. I've had the same problems, with AI soldiers refusing to disembark.
OFPEC | Intel Depot
RETARDED Ooops... Retired!

Offline Terox

  • Former Staff
  • ****
  • Follow the Sappers!
    • zeus-community.net
Re:"cant get there" and disembark refusal
« Reply #3 on: 14 Feb 2005, 22:03:55 »
gamelogics are ONLY local to the server

therefore if you name the gamelogic, lets say, call it "Mylogic"

and use the command line

?(Local Mylogic):

you have a way of allowing a line of code, or a complete script to be set to run on the server only

add a
! to the command line and you can then control where that pic e of code is run even further


the standard name used for this game logic, is "server"

?(local server):
or
?!(local server):

some other useful switches are

?(local player):
? ! local player):
« Last Edit: 14 Feb 2005, 22:10:03 by Terox »
Zeus ARMA2 server IP = 77.74.193.124 :2302
Teamspeak IP = 77.74.193.123

Rocko Bonaparte

  • Guest
Re:"cant get there" and disembark refusal
« Reply #4 on: 20 Feb 2005, 10:04:47 »
In a CSAR mission I have been developing, a helicopter must hook up with a downed squad at a location indetermine before the mission begins.  That reduces the amount of stuff I can do.  I ran into a similar problem with units refusing to board a chopper.  I've found that putting the squad into "safe" combat status makes them more willing to enter the helicopter.

ROBINO

  • Guest
Re:"cant get there" and disembark refusal
« Reply #5 on: 23 Feb 2005, 21:46:03 »
thanks for the input guys

Rocko seems to be on the right track because the problem i am encountering is not really script related and hopefully not require a script solution.

Remember I encounter it when leading and AI group off a server (so i am a client) and order them to "get in" a chopper which is manned, landed, engineoff and undamaged.

It is just my threory that the problem could be an inherent bug in OFP.  I will certainly try adjusting the combatmode to "SAFE" but any other input or quick fix anyone could find is more than welcome.

 :-\

ROBINO

  • Guest
Re:"cant get there" and disembark refusal
« Reply #6 on: 23 Feb 2005, 21:49:04 »
Just to reiterate...

my Server gamelogic is already implemented - no improvement

i am familiar with unassigncargo command but these soldiers are receiving a command in-game from their group leader - unassign should happen automatically

Rocko Bonaparte

  • Guest
Re:"cant get there" and disembark refusal
« Reply #7 on: 03 Mar 2005, 07:22:32 »
ROBINO, check something in your own mission and get back to me on it.  Does it seem the refusals happen most on hilly terrain?  I know the AI hates to board the helicopter in my own mission when it's casually sliding down a hill.  This is even if the engine is off.

Rocko Bonaparte

  • Guest
Re:"cant get there" and disembark refusal
« Reply #8 on: 08 Mar 2005, 07:44:54 »
I was playing with this a little myself, and have come to the theory that lag has something to do with it.  If the helicopter is moving, ground AI will complain when ordered to board it.  The helicopter may be stationary on the pilot's computer, but lag causes it to jitter on the ground.  On other machines, this means the helicopter is actually still moving.

In my testing, the AI troops still board the helicopter, although they do complain.  This happened when I was piloting off one computer while ordering the squad aboard another.

Offline Roni

  • Members
  • *
  • Play the Game !
Re:"cant get there" and disembark refusal
« Reply #9 on: 09 Mar 2005, 05:27:55 »
FWIW - I played one of the standard missions (at least I think it's a standard mission - can't tell with all the addons and missions I keep throwing in my OFP folders !) involving a helicopter and had a similar problem.

In the mission I had to fly to a certain point on the south of Everon and drop off a squad, then on my way back I have to pick up some wounded and drop them at the hospital at St Phillipe.

I couldn't work the first part of the mission until I decided to not land, but instead hover at 2m above the ground.  It takes practice to avoid moving forward or back (autohover on helps, but is not perfect), but once I got the thing stationary they jumped out no problem.

Of course this is only useful if you're playing the chopper pilot . . .  :P



roni

ROBINO

  • Guest
Re:"cant get there" and disembark refusal
« Reply #10 on: 23 Mar 2005, 12:31:56 »
i think i have found what is causing this problem

it happens not just with choppers but with all vehicles commanded by an AI group leader of a different group to the player - when a player controlled AI is ordered to GET IN - while playing multiplayer as a client.

Just to clarify:

- you must be a client playing the multiplayer map of a server (obviously)

- you must be in control of some Ai troops

- the vehicle you order them to GET IN (ride in back) must be crewed but part of a different group

Try following these conditions yourself and see if the they GET IN without complaining and can GET OUT also (without ejecting!)
You may think that this problem is specific to my computer - this is not so as I have tested it myself a few times and others have told me they have seen similar problems.  You will not encounter this problem in singleplayer or if the vehicle to GET IN or crewed by AI members of your own group.

Am I right ?  Feedback is welcome.
« Last Edit: 23 Mar 2005, 12:32:52 by ROBINO »

Offline Killswitch

  • Members
  • *
  • Peace, cheese and ArmA
Re:"cant get there" and disembark refusal
« Reply #11 on: 23 Mar 2005, 14:33:11 »
To some extent, the following has alredy been said. I'm just rephrasing it so as to increase the understanding and recognition of the problems:

Summary
The problems with AI:s and vehicle mounting/disembarkation in MP is one of the most annoying bugs of OFP. Here's the deal:

You can't order your guys to disembark from a vehicle unless that vehicle is local to your computer. What does that mean? For a MP mission on a dedicated server it means that the trouble appears when the vehicle is either driven by an AI or another player.

In other words - if another player or another AI (not under your control) is the driver of a vehicle and you have your guys in cargo in said vehicle - you're boned.


"Solutions" to the disembarkation problem in MP

If it's another player, tell him to hover the heli just above ground or drive the truck slowly forward. Then, you can order your AI:s to EJECT instead of telling them to disembark.

If the vehicle is driven by an AI and has decided to land or stop...tough luck :-) In these cases, that driver frequently catches a "stray" bullet from some of the players in irritation, thereby fixing the problem. That trick is unavailable if you are riding in the back of a BMP, for example... D-oh!


Embarkation and "CAN'T GET THERE"

Oh how we love this...NOT.  When you order your guys in, they tell you they can't. The trick here, however is to just wait it out - often, they will eventually get in the vehicle anyway.



Scripting "EJECT" and "GETOUT"/"GET OUT" actions
There is but one rule here and it has no ifs, buts or exceptions:

The action command should be issued on the machine where the affected unit is local and only there.


local? What's "local"?
The term comes from the OFP script command local. Please look it up in the command reference and acquaint yourself with it. Every unit in a MP game is "local" to one of the participating computers (server and clients). Being local to a machine means that computer controls it. For example:
  • the soldier you control is local to your computer, obviously.
  • Any AI:s under your command are also local to your computer.
  • AI:s not controlled by any players will be local to the server
  • A vehicle is local to the machine where the driver of that vehicle is local.
  • If you host a MP game, you act as both a client and a server.
  • Therefore, your squad and all other AI:s except the ones controlled by other players are local to your machine.
  • On the other hand if you play on a dedicated server, all non-player AI:s are local to the server, of course.
I hope that helps to shine more light on this highly annoying issue. There are tricks to work around it though:

* One can add a "Disembark my guys" action to certain vehicles or the player so you can force-disembark your guys from any vehicle.

* Make sure automated insertion/ejection scripts run on all machines. Then, before issuing an action, check if the affected unit is local. Take this example, showing part of an ejection script:
Code: [Select]
_units=units SomeGroup
_c=count _units
_i=0
#loop
~0.5
_dude=_units select _i
?local _dude: _dude action ["EJECT",vehicle _dude]
_i=_i+1
? _i<_c : goto "loop"
Due to the brokenness of OFP, proper MP programming involves lots of trickery, one of which is usage of the local command.
« Last Edit: 23 Mar 2005, 14:50:59 by Killswitch »

Offline Roni

  • Members
  • *
  • Play the Game !
Re:"cant get there" and disembark refusal
« Reply #12 on: 23 Mar 2005, 22:51:47 »
Fantastic !!     :thumbsup:

Can someone turn that last post in to a tute ?   :cheers:

Wll put that man !



roni

ROBINO

  • Guest
Re:"cant get there" and disembark refusal
« Reply #13 on: 29 Mar 2005, 21:07:16 »
Superb feedback Killswitch

Just as I though the problem is a bug in OFP.  Only findable by testing a hell of a lot and proving by testing even more.

I'm not surprised it took me so long to find someone with such an understanding of the limitations of the game as great as Killswtich... these pple are rare.

Thnx for the post KS - perhaps AVON LADY could put it on his site or maybe here on OFPEC if u could find a place for it.