Fandom

武装突袭 Wiki

DoFSM

简体 | 繁體

4,827个页面创建
于此维基上
添加新页面
评论0 Share

您使用了广告屏蔽软件!


Wikia通过广告运营为用户提供免费的服务。我们对用户通过嵌入广告屏蔽软件访问网站进行了使用调整。

如果您使用了广告屏蔽软件,将无法使用我们的服务。请您移除广告屏蔽软件,以确保页面正常加载。

  

点击图片可看到更多讯息

开始使用于

游戏:
Armed Assault
版本:
1.00

描述

描述:
Orders a unit to process command defined by FSM file (silently).

Unlike with execFSM where _this is passed to the FSM, the following parameters are passed when using doFSM/commandFSM:

_leader
leader of subgroup with this command
_destination
command destination/position
_target
command target
_units
list of all persons in subgroup

基本句法

句法:
unit doFSM [fsmName, position, target]
参数:
unit: Object or Array (for multiple units)

[fsmName, position, target]: Array

fsmName: String

position: Array

target: Object
返回值:
Nothing

范例

范例1:
_soldierOne doFSM ["move.fsm", position player, player];

额外资讯

多人游戏:
-
也可以看看:

FSMFSM_Editor_ManualcommandFSMcompletedFSMexecFSMgetFSMVariablesetFSMVariableunitReady

注意事项

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

Notes

Posted on August 4, 2010 - 16:09
Rübe
Do not doStop a unit in a FSM called with doFSM or commandFSM. Doing so nevertheless will halt your FSM, since no links are followed anymore (doing so in an end state should be fine though). Also this may crash your game in certain mysterious circumstances.

You may design your FSM so that they may be called with doFSM/commandFSM and execFSM likewise by checking if _units or _this is nil and then init the variables accordingly. Just remember that you should use the low level moveTo (together with moveToCompleted, moveToFailed) if do-/commandFSM'd, and doMove or commandMove (together with unitReady) if execFSM'd. A moveTo in an FSM started with execFSM won't do anything, likewise doMove in a FSM started with doFSM or commandFSM wont work either. Think about it for a minute and you will see why. (hint: a unit running a FSM called with doFSM or commandFSM will _never_ return true for (unitReady _unit))

Anyway, if you want to be able to call your FSM either way, a "ready" condition might look light this: (moveToCompleted _unit) || (moveToFailed _unit) || (unitReady _unit), assuming you have a moveTo or a doMove (depending on how the fsm is called) in the prior state.

Bottom Section

Posted on February 14, 2015 - 13:36 (UTC)
Katulobotomia
Adding to Rübe's note, doFSM can be checked if it has finished by unitReady as of 2015 and it will return true when your FSM has completed.

更多维基

随机维基