武装突袭 Wiki
Advertisement
Introduced with Operation Flashpoint version 1.00
  

点击图片可看到更多讯息

开始使用于

游戏:
Operation Flashpoint
版本:
1.00

描述

描述:
Check if the unit is ready. Unit is busy when it is given some command like move, until the command is finished.

基本句法

句法:
Boolean = unitReady unitName
参数:
unitName: Object
返回值:
Boolean

范例

范例1:
_it = unitReady _soldierOne;

额外资讯

多人游戏:
-
也可以看看:
See also needed

注意事项

此处撰写句法皆为可行用法. 可到官网[1]专页回报错误. 你可以使用讨论页面或是论坛来进行讨论.
新增注意事项 | 如何新增?

Notes

Posted on August 26, 2010
Rübe
Keep in mind that a) dead units are unitReady and b) that it takes a while until it get's known to group members that a unit is not alive anymore, which leads to c) the current leader of a group might be actually dead (until another group member takes command).
Why this is important? I'll give you an example: if you're using unitReady as a condition inside one of your fsm to advance whatever the fsm/group is doing, you really might wanna check that this unit is actually still alive. Otherwise you might end up with really fast and nasty loops in your fsm, eventually accompanied by a stream of radio commands that will last until finally a living leader is in command again.. and that could take a while... nasty, I tell you :)
Rübe
Regarding vehicles, there is only one single unit (from the vehicle crew) whose unitReady-status is affected by giving that vehicle (or that unit) commands. While it's the driver unit for a truck, it is the gunner unit for a mg-jeep or the commander for a tank. Generally it's always the unit "in control" of the vehicle. (because it's only that unit, that is seen as "full unit" to the "outside world". Only he can be adressed with commands.)
In consequence you can't just send vehicles around and check if they've arrived with something like: waitUntil{(unitReady (driver _vehicle))}; // don't do this! Because it's not guaranteed, that the driver is in command of the vehicle and only that unit will have it's unitReady status affected.
So in conclusion, if you need to check if a vehicle is ready, try something like this:
_vehicleReady = {
    private ["_veh", "_ready"];
    _veh = _this;
    _ready = true;
    {
        if (!(isNull _x)) then
        {
            _ready = _ready && (unitReady _x);
        };
    } forEach [
        (commander _veh),
        (gunner _veh),
        (driver _veh)
    ];
    _ready
};


Bottom Section

Posted on November 21, 2015 - 22:40 (UTC)
Kastenbier
To check readiness of a vehicle, don't check it's crew, driver, gunner, commander, etc., but the vehicle itself, e.g.: unitReady (vehicle driver _YourVehicle);
Only tested 11/21/2015 by me with A2 1.63.131129 and A3 1.52.132676 but possibly true since 1964. :P
Advertisement