中国虚拟军事网(VME)- 专注于武装突袭等优秀虚拟军事游戏

 找回密码
 加入VME

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 8247|回复: 14

[教程] 《武装突袭》指令集

[复制链接]
发表于 2013-4-7 21:50:15 | 显示全部楼层 |阅读模式
本帖最后由 DanTong 于 2013-4-7 21:52 编辑

《OA》指令集

一、运算符
1、算术运算符
a + b  算术加运算。(a,b均为数值)
   例:_This=5+3;(_This返回为数值8)


a - b  算术减运算。(a,b均为数值或数组)
   例:_This=5-3;  (_This返回为数值2)
       _This=[9,8,5]-[9,8]; (_This返回为数组[5])


a * b  算术乘运算。(a,b均为数值)
   例:_This=5*3;(_This返回为数值15)


a / b  算术除运算。(a,b均为数值)
   例:_This=5/2;(_This返回为数值2.5)


-a   算术负数运算。(a为数值)
   例:_This=-5;(_This返回为数值-5)


a % b  算术余数运算。(a,b均为数值)
   例:_This=5%3;(_This返回为数值2)


a = b  算术等运算。(a,b可为任何值)
   例:_This="Welcome to VME world";
       _This=8;
       _This=True;


a ^ b  算术幂次方运算。(a,b均为数值)
   例:_This=5^3;(_This返回为数值125)



2、逻辑运算符
!a  逻辑非运算。(a为布尔值)
   例:_This=!(alive BYM);//当BYM挂掉时,返回值为TRUE,否则返回为FALSE;(_This返回为布尔值)


a!=b  逻辑非等运算。(a,b同时为数值、布尔值、数组、字符串、阵营、物体、位置等,运算返回值为布尔值)
   例:if(side BYM !=east) then  
          {
           BYM setdamage 0.5;
           }
       //如果BYM不是东方人,BYM设置为半死状态


a && b  逻辑与运算。(a,b同时为布尔值)
   例:_This=(Alive BYM) && (Alive LWM);(运算返回值为布尔值,当a,b两者都为True时,返回值才为True,否则都为False)


a == b  逻辑等运算。(a,b同时为数值、布尔值、数组、字符串、阵营、物体、位置等,运算返回值为布尔值)
   例:if (player == leader group player) then
          {
           hint "You are the leader of your group."
           }
       else {
           hint "Someone else is the boss"
           }
        //如果玩家是队长,则显示字符串"You are the leader of your group.",否则显示字符串"Someone else is the boss"


a > b  逻辑大于运算。(a,b均为数值,运算返回值为布尔值)
   例:if (fuel Truck1 > 0.5) then goto"WIN"
       //如果名叫Truck1的卡车的油箱里是半满以上状态(不含半满),程序跳转到标志点“WIN”处去执行。


a >= b  逻辑大于等于运算。(a,b均为数值,运算返回值为布尔值)
   例:if (_Count > 6) then goto"Loop"
       //如果数值_Count大于或等于6,程序跳转到标志点“Loop”处去执行。


a < b  逻辑小于运算。(a,b均为数值,运算返回值为布尔值)


a <= b  逻辑小于等于运算。(a,b均为数值,运算返回值为布尔值)


a or b  逻辑或运算。(a,b同时为布尔值)
   例:_This=(Alive BYM) or (Alive LWM);(运算返回值为布尔值,当a,b两者都为False时,返回值才为False,否则都为True)





本指令集是OA版本的,AA3新增内容以后再翻译。


谨以此指令集的翻译和注释向VME周年献礼,但不保证无限跳票,挖坑不管埋是我常做的事;也不保证正确,E文不好不是我的错,要怪就怪我的体育老师。

 楼主| 发表于 2013-4-13 13:22:10 | 显示全部楼层
四、C字头(上)

cadetMode  游戏难度命令
   用法:布尔值变量名 = cadetMode;//返回玩家选择的难度是新兵模式还是老兵模式,返回值为布尔值,True代表新兵(cadet)模式,False代表老兵(veteran)模式。
   例:? (cadetMode) : _AIsoldier setSkill 0.1;


call  赋值命令及函数调用命令
   用法:call {"字符串变量名 = 字符串"}
   例:call {"x = 3"}

   用法:call compile format ["序列变量名%1 = 数值或字符串或布尔值等",序列号];
   例:_n = 3;
       call compile format ["var%1 = 0",_n];//将变量var3赋值为0
      
   用法:返回参数变量名 = [调入参数数组] call 函数名;
   例:_fAdd = compile loadFile "add.sqf"
       _result = [1,2] call _fAdd;//调用函数"add.sqf",入参为[1,2],返参为_result


callExtension  扩展功能执行命令
   用法:扩展功能名 callExtension 扩展功能参数
   例:handle = "pipes" callExtension "openPipe(pipe)";


camCommand  摄影机执行类型命令
   用法:摄影机名 camCommand 执行的命令类型;摄影机类型为"camera" 或 "seagull"中的一种,执行的命令类型有"manual on"(手册开), "manual off"(手册关), "inertia on"(惯性开), "inertia off"(惯性关), "landed"(陆地) 和 "airborne"(空中),其中"inertia on"和"inertia off"只适用于"camera"类型,"landed"和 "airborne"只适用于"seagull"类型。这个命令不受延时命令的影响而立即执行。
   例:_camera camCommand "manual on"


camCommit  摄影机变化时段长度命令(用于OFP)
   用法:摄影机名 camCommit 时长;//摄影机镜头平滑切换变化的时长,如果时长为0,则变化为立即切换。
   例:; create a camera object
      _cam = "camera" camCreate [5600,4800,10];//在坐标[5600,4800,10]处产生一个摄影机
      _cam camSetTarget player;//摄影机对准玩家
      _cam cameraEffect ["internal", "BACK"];//摄影机效果为["internal", "BACK"]
      _cam camCommit 0;//生成

      ; smoothly move the camera to its new position in 6 seconds
      _cam camSetPos [5680,4720,20];//摄影机移动到坐标[5680,4720,20]处
      _cam camCommit 6;//移动时间长度为6秒(注意,摄影机在移动过程中一直对准玩家)
      @camCommitted _cam

     ; proceed


camCommitPrepared  同上,摄影机变化时段长度命令(用于AA)


camCommitted  摄影机变化是否完成命令
   用法:布尔值 = camCommitted 摄影机名;//返回摄影机的变化是否完成。
   例: @camCommitted _cam


camConstuctionSetParams  摄影机参数命令
   用法:摄影机名 camConstuctionSetParams [坐标, 半径, 最大离地高];
   例:_camera camConstuctionSetParams [getpos player, 50, 20]


camCreate  生成摄影机命令
   用法:摄影机名 = 摄影机类型 camCreate 坐标;//摄影机类型为"camera" 或 "seagull"中的一种
   例:_cam = "camera" camCreate (position player)


camDestroy  取消摄影机命令
   用法:camDestroy 摄影名
   例:camDestroy _cam;


cameraEffect  摄影机效果命令
   用法:摄影机名 cameraEffect [摄影机效果类型, 摄影机位置类型];//效果类型为"Internal"(内部), "External"(外部), "Fixed"(固定), "FixedWithZoom"(固定变焦) and "Terminate"(退出) 中的一种,摄影机位置类型为"TOP"(顶), "LEFT"(左), "RIGHT"(右), "FRONT"(前) and "BACK"(后)中的一种。
   例:_cam cameraEffect ["internal", "BACK"]


cameraEffectEnableHUD  摄影机效果是否允许用户界面命令
   用法:cameraEffectEnableHUD 布尔值变量
   例:cameraEffectEnableHUD true


cameraInterest  摄影机关注度命令
   用法:关注度 = cameraInterest 实体名;//关注度由命令setCameraInterest产生,或者为默认值
   例:_Interest = cameraInterest BYM;(PS,这个命令和setCameraInterest一样,本人在电脑里测试了半天,没发现有什么反应和用处。蛋痛的BI,活该被抓进监狱!!!)


cameraOn  摄影机连接载具命令
    用法:载具变量名 = cameraOn;//返回摄影机连接的载具名
    例:_Vehicle =  cameraOn


cameraView  摄影机视角命令
   用法:字符串变量名 = cameraView;//返回当前摄影机所用视角类型,返回值为:"INTERNAL" (第一人称视角),"EXTERNAL" (第三人称视角),"GUNNER" (炮手的瞄准镜视角),"GROUP" (车长视角)中的一种。
   例:if (cameraOn == _vehicle && cameraView == "External") then
       {
            _vehicle switchCamera "Internal";
        };


campaignConfigFile  战役定义文件命令
   用法:字符串变量名 = campaignConfigFile;//返回到描述文件description.ext中项目层次的根战役
   例:Config = campaignConfigFile


camPreload  摄影机预载时间命令
   用法:摄影机名 camPreload 时间;//时间单位为秒
   例:_cam camPreload 5


camPreloaded  摄影机预载是否完成命令
   用法:布尔变量名= camPreloaded 摄影机名;//返回True或False
   例: ?(camPreloaded _camera) : exit


camPrepareBank  摄影机偏转角度命令
   用法:摄影机名 camPrepareBank 偏转角度;//角度的单位为弧度
   例: _camera camPrepareBank -0.1


camPrepareDir  摄影机指向命令
   用法:摄影机名 camPrepareDir 水平角度;//角度单位为度
   例: _camera camPrepareDir 150


camPrepareDive  摄影机俯仰角度命令
   用法:摄影机名 camPrepareBank 俯仰角度;//角度的单位为弧度
   例: _camera camPrepareDive -0.1   


camPrepareFocus  摄影机物距命令
   用法:摄影机名 camPrepareFocus [物距,虚影与实体的距离];//用于镜头特效的,物距越短,物体越模糊。[物距,虚影与实体的距离]为[-1,1]时,将恢复到默认值;为[-1,-1]时将固定为前一个设置。
   例: _camera camPrepareFocus [50, 1]


camSetFov  摄影机视场命令
   用法:摄影机名 camSetFov 视场宽度值;//视场宽度值最小值为0.01,最大值为2,默认值为0.7,实际对应的视野宽度为ATAN(视场宽度值X2)。
   例:_cam camPrepareFOV 2;//超炫的鱼眼广角镜头哦!


camSetFovRange  摄影机自动变焦范围
   用法:摄影机名 camSetFovRange[视场宽度初始值,视场宽度终止值];//[视场宽度初始值,视场宽度终止值]默认为[0.7,0],本命令要与camCommit配合使用。
   例:_cam camSetFovRange [0.1,0.7]


camSetPos  摄影机位置命令
   用法:摄影机名 camSetPos 坐标[X,Y,Z];//本命令要与camCommit配合使用。
   例:_cam camSetPos [2300,1000,130]


camSetRelPos  摄影机相对位置命令
   用法:摄影机名 camSetRelPos 相对坐标偏移值[X,Y,Z];//本命令要与camSetTarget和camCommit配合使用。
   例:_cam camSetTarget BYM
       _cam camSetRelPos [0,10,8];//摄影机在BYM的位置的X+0,Y+10,Z+8位置处


camSetTarget  摄影机对焦点命令
   用法:摄影机名 camSetTarget 物体或坐标;//本命令要与camCommit配合使用。
   例:_camera camSetTarget LWM
       _camera camSetTarget [2540,1503,26]


camTarget  摄影机对准目标命令
   用法:物体变量名=camTarget 摄影机名;//返回摄影机对准的物体名
   例:_Object = camTarget _cam


camUseNVG  摄影机夜视效果
   用法:camUseNVG 布尔变量;//设为True时,为使用夜视仪效果;设为False时,为不使用夜视仪效果
   例:camUseNVG true


canFire  能否开火命令
   用法:布尔变量名=canFire 单元名;//判断单元能否开火,返回值为True,则能开火,返回值为False,则不能开火。
   例:?!(canFire _tank) : player sideChat "Tank disabled!"


canMove  能否移动命令
   用法:布尔变量名=canMove 单元名;//判断单元能否移动,返回值为True,则能移动,返回值为False,则不能移动。
   例:?!(canMove _tank) : player sideChat "He's nailed on the ground! Now hurry!"


canStand  能否站立命令
   用法:布尔变量名=canStand 单元名;//判断单元能否站立,返回值为True,则能站立,返回值为False,则不能站立。
   例:?!(canStand Francis?) : Francis? groupChat "My legs! They hit my legs!"


canUnloadInCombat  载员能否出去命令
   用法:布尔变量名=canUnloadInCombat 单元名;//判断单元在战斗中能否让载员出去,返回值为True,则能出去,返回值为False,则不能出去。
   例:if (canUnloadInCombat _BMP) then {...};


captive  是否被俘虏命令
   用法:布尔变量名=captive 单元名;//判断单元是否处于被俘虏状态。
   例:?!(captive _general) : _general setCaptive true


captiveNum  是否被俘虏命令
   用法:布尔变量名=captive 单元名;//判断单元是否处于被俘虏状态。如果单元是个车组,则判断车长是否处于被俘虏状态。
   例:_captivity = captiveNum _unit


case  逻辑分支命令
   用法:在switch do命令中使用


catch  异常处理命令
   用法:在Try命令中使用,用于处理脚本的异常情况


ceil  往上取整函数
   用法:数值变量名=ceil 实数
   例:_Number=ceil 5.25;//返回6
       _Number=ceil -5.25;//返回-5


cheatsEnabled  检查是否允许作弊命令
   用法:布尔变量名 = cheatsEnabled
   例:?cheatsEnabled:BYM setdamage 1;//如果有作弊,某人挂:)


checkAIFeature  AI智能特征检查命令
   用法:布尔变量名 = cheatsEnabled  AI智能特征;//AI智能特征只能是"AwareFormationSoft", "CombatFormationSoft"其中之一
 楼主| 发表于 2013-4-7 21:51:52 | 显示全部楼层
二、A字头(上)


abs  绝对值函数
   例:_Count=abs X;(X为数值,_Count返回为正的数值)


acctime  时间加速倍数
   例:_Acc=acctime;(_Acc为数值)


acos  反余弦函数
   例:_degrees=acos 0.5;(_degrees单位为度,返回为数值60)


action  动作执行命令
   用法:单元名字 action["动作名称",载具名称];或:单元名字 action "动作名称"
   例:BYM action["eject",Mi171];


actionkeys  动作菜单按钮清单命令
   用法:数组变量=actionkeys 自定义动作;返回一个在自定义动作中定义的dikcode按钮序列
   例:_array=actionkeys "ReloadMagazine"


actionkeysimages  动作菜单示意图清单命令
   用法:组合文本名=actionkeysimages 自定义动作;返回一个在自定义动作中定义的按钮图像或名称序列
   例:_Text=actionkeysimages "ReloadMagazine"


actionkeysnames  动作菜单按钮名清单命令
   用法:串名=actionkeysnames 自定义动作;返回一个在自定义动作中定义的按钮名称序列中最大的一个
   例:_list = actionKeysNames "ReloadMagazine"


actionkeysnamesarray  动作菜单按钮名清单命令
   用法:串名=actionkeysnamesarray 自定义动作;返回一个在自定义动作中定义的按钮名称序列
   例:_list = actionKeysNamesarray "ReloadMagazine"


activateaddons  插件激活命令
   用法:activateaddons[插件1,插件2,……];
   例:activateaddons["VME_PLA"]


activatekey  键激活命令
   用法:activatekey 键名;键名是用户自行定义的。激活后的键在未加密的进度或战役中可使用。
   例:activateKey "PLAiscoming_Mission04Key"


addaction  增加动作命令
   用法:动作序号 = 物体名称 addAction [标题, 脚本文件名, (参数, 优先权, 是否打开窗口, 选取动作后是否隐藏动作菜单, 快捷键, 条件, 模型中的定义部件, 执行半径, 3D编辑模式下是否可见执行半径, 3D编辑模式是否可见动作, 激活动作的开始条件, 编辑器里的显示文本, 编辑器里的提示文本)]
    其中:动作序号是数值,标题为字符串,参数为各种变量,优先权为数值,是否打开窗口为布尔值,选取动作后是否隐藏动作菜单为布尔值,快捷键为键名字符串,条件为字符串,模型中的定义部件为字符串(在MEMORY层里的定义点名称),执行半径为数值,3D编辑模式下是否可见执行半径为数值,3D编辑模式是否可见动作为数值,激活动作的开始条件为数值, 编辑器里的显示文本为字符串, 编辑器里的提示文本为字符串。
           3D编辑模式是否可见的数值选择:  1、可见; 2、驾驶员时可见; 4、位于载具内可见; 8、载具外可见; 16、不在外部摄影机可见; 32、不在内部摄影机可见; 64、不在炮手视角摄影机可见。
           激活动作的开始条件的数值选择:  1、单位是驾驶员或副驾驶员; 2、单位在目标内; 4、单位在目标外。
   例:BYM addAction ["Hello", "hello.sqs"]
       _Number=generator addAction ["Switch on generator", "activate_generator.sqs"]
       _Number=_vehicle addAction ["Test", "myTest.sqf", "", 1, true, true, "", "true", "display1", 2, 0.25, 9, 0, "<img image='\HSim\UI_H\data

\ui_action_autohover_ca.paa' size='1.8' shadow=0 />", "<br />My test tooltip"]


addbackpack  单兵增加背包命令
   用法:单位 addBackpack 背包名
   例:BYM addBackpack "TK_RPG_Backpack_EP1"


addbackpackcargo  载具增加背包命令
   用法:单位 addBackpackcargo [背包名,数量]
   例:EQ2012 addBackpackcargo ["US_Patrol_Pack_EP1",4];


addbackpackcargoglobal  联机模式下载具增加背包命令
   用法:单位 addBackpackcargoglobal [背包名,数量]
   例:EQ2012 addBackpackcargoglobal ["US_Patrol_Pack_EP1",4];


addcamshake  摄影机震动效果
   用法:addcamshake [震动功率,震动时间,震动频率]
   例:addCamShake [10, 1, 25]


addeditorobject  增加编辑器物体命令
   用法:map addEditorObject [type,[name1,value1,...],subtype class]


addEventHandler  增加事件指针命令
   用法:序号名称=物体 addEventHandler [特定事件, 触发脚本文件名]
   例:_Kill = BYM addEventHandler ["killed", {_this exec "BYMKilled.sqs"}];//BYM被击毙后触发执行脚本BYMKilled.sqs
       SU30MKK addEventHandler ["killed", "hint format['Killed by %1',_this select 1]"];//SU30MKK被击毙后显示字符串


addGroupIcon  增加群组图标命令
   用法:群组名 addGroupIcon 图标名
   例:groupLWM addGroupIcon ["b_inf",[offsetX,ofsetY]]


addLiveStats  增加实时分数统计命令(用于XBOX)
   用法:单位名 addLiveStats 分数
   例:LWM addLiveStats 10


addMagazine 单兵增加单个弹夹命令
   用法:单位名 addMagazine 弹夹名
   例:BYM addMagazine "M16"


addMagazine array  单兵增加多个弹夹命令
   用法:单位名 addMagazine [弹夹名,弹夹数量]
   例:BYM addMagazine ["30Rnd_556x45_STANAG", 15];


addMagazineCargo  载具增加多个弹夹命令
   用法:载具名 addMagazinecargo [弹夹名,弹夹数量]
   例:BJ2020 addMagazinecargo ["QBZ95Mag", 50];


addMagazineCargoGlobal  联机模式下载具增加多个弹夹命令
   用法:载具名 addMagazineCargoGlobal [弹夹名,弹夹数量]
   例:BJ2020 addMagazineCargoGlobal ["QBZ95Mag", 50];


addMagazinePool  弹药池增加多个弹夹命令
   用法:addMagazinePool[弹夹名,弹夹数量];在战役模式下使用,加入弹药池的弹夹可在下一关中使用。
   例:addMagazinePool ["QBB95Mag",20]


addMagazineTurret  载具炮塔增加弹药命令
   用法:载具名 addMagazineTurret [弹夹名, 炮塔代码]
   例:ZTZ99 addMagazineTurret ["Sabot125", [0]];0是主炮塔
       _tank addMagazineTurret ["7_62Mag",[0,-1]];_1是驾驶员机枪


addMenu  增加新菜单按钮命令
   用法:map addMenu [文本,优先权]


addMenuItem  增加新菜单条目命令
   用法:map addMenu [菜单或索引,文本,命令,优先权]


addMPEventHandler 增加联机模式下事件指针命令
   用法:单元名 addMPEventHandler [事件指针, {脚本}];
   例: _index = player addMPEventHandler ["mpkilled", {Null = _this execVM "playerkilled.sqf";}]; //_index为数值或空值


addPublicVariableEventHandler  增加通用变量指针命令
   用法:变量名 addPublicVariableEventHandler 变量值
   例:"publicThis" addPublicVariableEventHandler {hint ((_this select 0) + " has been updated to: " + str (_this select 1))}


addRating  增加估价命令
   用法:单位名 addRating 价值;//用于任务结束后评价玩家得分。
   例:BYM addRating 250


addResources  增加资源命令
   用法:单位名 addResources [resource1, resource2, ...];//用于组


addScore  增加分数命令
   用法:单位名 addScore 分数
   例:BYM addScore -15;//扣分了:)


addSwitchableUnit  增加切换单元命令
   用法:addSwitchableUnit 单位名
   例:addSwitchableUnit SULH


addTeamMember  增加组员命令
   用法:组名 addTeamMember 组员名
   例:_team addTeamMember _teamMember


addVehicle  增加载具命令
   用法:组名 addVehicle 载具名
   例:_group addVehicle _vehicle


addWaypoint  增加路点命令
   用法:路点名 = 组名 addWaypoint [路点中心坐标, 路点半径] 或 [路点中心坐标, 路点半径,索引]
   例:_wp1 = grp addWaypoint [position player, 0]


addWeapon  增加武器命令
   用法:单位名 addWeapon 武器名   //用于单兵
   例:BYM addWeapon "QBZ95"


addWeaponCargo  增加多个武器命令
   用法:单位名 addWeaponCargo [武器名,数量]  //用于载具
   例:EQ2012 addWeaponCargo ["QBZ95",50]


addWeaponCargoGlobal  联机模式下载具增加多个武器命令
   用法:单位名 addWeaponCargoGlobal [武器名,数量]  
   例:EQ2012 addWeaponCargoGlobal ["QBZ95",50]


addWeaponPool  弹药池增加多个武器命令
   用法:addWeaponPool[弹夹名,弹夹数量];在战役模式下使用,加入弹药池的武器可在下一关中使用。
   例:addWeaponePool ["QBB95",20]


agent  代理命令
   用法:agent 组员名


agents  多代理命令
   用法:agents
   例:{_x doWatch BYM} forEach agents;  //大家一起看BYM


aimedAtTarget  瞄准目标命令
   用法:载具名 aimedAtTarget [目标, 武器];//返回瞄准的好坏程度
   例: _aimingQuality = heli AimedAtTarget [target,"M197"];
         _aimingQuality = heli AimedAtTarget [target];


aimPos  瞄准位置命令
   用法:aimPos 物体名;//返回瞄准的位置
   例:aimPos player


airportSide  机场属性命令
   用法:airportSide ID;//ID为数值0,1,2,3
   例:airportSide 0


AISFinishHeal  医疗命令
   用法:AISFinishHeal [单位名,单位名,布尔值]
   例:AISFinishHeal [wounded,medic,true]


alive  存活判断命令
   用法:alive 单元名;//当单元存活,返回TRUE,否则返回FALSE
   例:?!(alive player) : exit; //玩家死,结束脚本。


allDead  死亡清单命令
   用法:allDead; //返回所有死亡的单元清单(含在载具内的)
   例:{ deleteVehicle _x } forEach allDead;  //消除所有死亡者的遗体。


allGroups  组清单命令
   用法:allGroups; //返回所有组清单
   例:{(leader _x) sideChat "Go ! Go ! Go !"} forEach allGroups; //所有组的领队界面显示“GO!GO!GO!”


allMissionObjects  任务物体清单命令
   用法:allGroups; //返回任务内指定类型所有物体清单
   例:_airObjects = allMissionObjects "Air";


allow3DMode  允许3D模式命令
   用法:map allow3DMode 布尔值;


allowCrewInImmobile  允许进入载具残骸命令
   用法:载具名 allowCrewInImmobile 布尔值;//如果是TRUE,可以进入履带或轮子被打坏的载具。
   例:_vehicle allowCrewInImmobile true;


allowDamage  允许伤害命令
   用法:物体名 allowDamage 布尔值;//如果是FALSE,好像就是不死之躯了
   例:player allowDamage false


allowDammage  允许伤害命令(同上)


allowFileOperations  允许文件执行命令
   用法:map allowFileOperations 布尔值


allowFleeing  允许逃跑命令
   用法:单元名或组名 allowFleeing 数值;//数值为0~1,0表示绝不逃跑,1表示一看见敌人就溜
   例:_group1 allowFleeing 1


allowGetIn  允许进入载具命令
   用法:单元名数组 allowGetIn 布尔值
   例:[BYM,LWM] allowGetin FALSE ;//不允许BYM和LWM搭乘任何载具


allUnits  所有单元清单命令
   用法:allUnits;//不含代理单元、死亡单元和等待复活的单元
   例:{_x setDamage 0.5; _x groupChat "Braaains"} forEach allUnits;


ammo  弹药数量命令
   用法:数量 = 单元名 ammo 武器名;//返回武器所挂弹夹内的弹药数
   例:_count = player ammo "M16"


and  逻辑与命令
   用法:见前面运算符
 楼主| 发表于 2013-4-7 21:53:38 | 显示全部楼层
二、A字头(下)


animate  物体部件动作命令
   用法:物体名 animate [动作名, 动作步骤];//动作名必须是在插件的CONFIG.CPP文件中定义的,动作步骤为数值,0代表动作周期的起点,1代表动作周期的终点,动作的周期时间同样在CONFIG.CPP文件中定义。
   例:_building animate ["Closedoor", 1]


animationPhase  物体部件动作阶段命令
   用法:数值变量名=物体名 animationPhase 动作名;//返回物体执行动作的阶段。
   例:_building animate ["maindoor",1]
       ~2
       _p = _building animationPhase "maindoor";//当动作"maindoor"周期为4秒时,_p返回数值为0.5。


animationState  物体部件动作状态命令
   用法:字符串变量名 = animationState 物体名;//返回物体当前执行的动作名。
   例:_state = animationState player


armoryPoints  军械库储存值命令
   用法:armoryPoints;//返回数值
   例:myArPt = armoryPoints;


asin  反正弦函数
   用法:数值变量名=asin 数值;//返回角度值
   例:_degrees=asin 0.5;//返回30度


ASLToATL  坐标转换命令
   用法:相对高度坐标=ASLtoATL 海拔高度坐标;//相对高度坐标、海拔高度坐标为数组[X,Y,Z]
   例:_Height=ASLtoATL (getPosASL player) select 2;//返回玩家所在的相对高度。


assert  测试条件命令
   用法:assert 条件;//测试一个条件,如果被测试的这个条件结果为FALSE,则执行退出命令。本指令在AA2及OA里不能正常使用。
   例:assert (alive BYM)


assignAsCargo  载员指定命令
   用法:单位名 assignAsCargo 载具名;//一般和orderGetIn配合使用。
   例:BYM assignAsCargo _truck01;//BYM指定为1号卡车的载员。


assignAsCommander  车长指定命令
   用法:单位名 assignAsCommander 载具名;//一般和orderGetIn配合使用。
   例:BYM assignAsCommander _TANK01;//BYM指定为1号坦克的车长。


assignAsDriver  驾驶员指定命令
   用法:单位名 assignAsDriver 载具名;//一般和orderGetIn配合使用。
   例:BYM assignAsDriver _TANK01;//BYM指定为1号坦克的驾驶员。


assignAsGunner  炮手指定命令
   用法:单位名 assignAsGunner 载具名;//一般和orderGetIn配合使用。
   例:BYM assignAsGunner _TANK01;//BYM指定为1号坦克的炮手。


assignedCargo  返回指定载员清单命令
   用法:清单名 = assignedCargo 载具名;//清单名为字符串组变量
   例:_list = assignedCargo _vehicleName;
       _Man1 = _list select 0;//返回指定的1号载员


assignedCommander  返回指定车长命令
   用法:车长名 = assignedCommander 载具名
   例:_commander = assignedCommander _Tank01;


assignedDriver  返回指定驾驶员命令
   用法:驾驶员名 = assignedDriver 载具名
   例:_Driver = assignedDriver _Tank01;


assignedGunner  返回指定炮手命令
   用法:炮手名 = assignedGunner 载具名
   例:_Driver = assignedGunner _Tank01;


assignedTarget  返回瞄准目标命令
   用法:目标名 = assignedTarget 载具名
   例:_Target = assignedTarget _T72;//返回T72瞄准的目标


assignedTeam  返回归属队命令
   用法:队名 = assignedTeam 单位名;//返回值为MAIN(white)、RED、GREEN、BLUE、YELLOW中的一个
   例:_Team = assignedTeam NERO000;//返回NERO000所在的队名。


assignedVehicle  返回指定载具命令
   用法:载具名 = assignedVehicle 单位名;//如果单位没有被指定任何载具的载员、车长、驾驶员或炮手,则返回为空值。
   例:_vehicle = assignedVehicle player


assignedVehicleRole  返回指定角色命令
   用法:角色名 = assignedVehicleRole 单位名;//角色名为字符串组,当单位为驾驶员时返回["Driver"],为载员时返回["Cargo"] ,为炮手时返回["Turret", [turret path]],什么都不是时返回空组[]。
   例:_RoleArray=assignedVehicleRole player
       _weaponsForAnyTurrentPosition = (vehicle player) weaponsTurret ((assignedVehicleRole player) select 1)


assignTeam  指定队属命令
   用法:单元名 assignTeam 队属;//队属为MAIN(white)、RED、GREEN、BLUE、YELLOW中的一个。
   例:_soldier2 assignTeam "RED"


assignToAirport  指定机场命令
   本指令尚未启用。!!


atan  反正切函数
   用法:数值变量名 = atan 数值;//返回角度值
   例:_degrees=atan 1;//返回45度


atan2 反正切比值函数
   用法:数值变量名 = X atan2 Y;//返回X/Y的反正切,X、Y为数值
   例:_xy=[5,3];
       _degrees= (_xy select 0) atan2 (_xy select 1)//返回59.0362度


atg  反正切函数(同atan)


ATLToASL  坐标转换命令
   用法:海拔高度坐标=ASLtoATL 相对高度坐标;//相对高度坐标、海拔高度坐标为数组[X,Y,Z]
   例:ATLtoASL (getPosATL player) == getPosASL player


attachedObject  返回位置附属物体命令
   用法:attachedObject 位置
   例:_locAttachedObj = attachedObject myLocation


attachObject  物体附属位置命令
   用法:位置变量名 attachObject 物体名
   例:myLocation attachObject player


attachTo  附属命令
   用法:附属物体名 attachTo [被附属物体名, 偏离值, 定义点名];// 偏离值是[X,Y,Z]三维数组,定义点名是P3D模型里MEMORY层里的点部件名
   例:player attachTo [car,[0,0,1]];
       player attachTo [tank,[0,-1,0],"Usti hlavne"];
       ammoCrate attachTo [player];


attackEnabled  是否攻击命令
   用法:布尔值变量名 = attackEnabled 组名或物体名;//返回组长是否下达攻击命令
   例:if (not attackEnabled _soldier) then {_soldier setCombatMode "GREEN"} ;//如果没有接到组长下达的攻击命令,就转入禁止开火并保持警戒状态。
 楼主| 发表于 2013-4-13 13:21:18 | 显示全部楼层
三、B字头


backpackSpaceFor  背包空间命令
   用法:数组变量名=背包名 backpackSpaceFor 武器名;//返回背包还有多少空间以容纳指定的武器或弹夹。
   例:[weapons, magazines] = (backpack player) backpackSpaceFor "m16";


behaviour  行为模式命令
   用法:字符串变量名 = behaviour 单位名;//返回单位当前的行为模式,分别为"CARELESS"(放松), "SAFE"(安全), "AWARE"(警惕), "COMBAT"(战斗) and

"STEALTH"(潜伏)。
   例:_b = behaviour BYM;
       if(_b == "CARELESS")Then BYM setdammage 1;//查看BYM的行为模式,如果是吊儿郎当的,就去X!


benchmark  电脑性能测试命令
   用法:数值变量名 = benchmark;//返回3D性能参数值,用来评估电脑CPU和图形处理器性能以设置适当的可见距离。
   例:? (benchmark>2000) : setViewDistance 2000;//如果返回值〉2000,则设置可见距离为2000米。


boundingBox  模型外包围空间尺寸命令
   用法:数组变量名 = boundingBox 模型名;//返回模型端点尺寸数据[[minX, minY, minZ], [maxX, maxY, maxZ]]
   例:_box = boundingBox _abrams


boundingCenter  模型中心位置命令
   用法:数组变量名 = boundingCenter 模型名;//返回模型中心点坐标(模型的坐标)[X,Y,Z]
   例:_center = boundingCenter TruckOne


breakOut  跳出指令域段命令
   用法:breakOut 指令域段名
   例:scopeName "main";
           while {true} do
           {
           scopeName "loop1";
           while {true} do
                 {
        scopeName "loop2";
        if (condition1) then {breakTo "main"}; // 中断所有指令域段的执行返回执行 "main"域段
        if (condition2) then {breakOut "loop2"}; // 中断 "loop2"指令域段的执行
        sleep 1;
          };
         sleep 1;
            };


breakTo  跳转指令域段命令
   用法:breakTo 指令域段名


buildingExit  建筑物出口位置命令
   用法:数组变量名 = 建筑物名 buildingPos 出口序号;//返回建筑物的第几号出口的坐标[X,Y,Z]。
   例:_Position = _building buildingExit 0


buildingPos  建筑物内特定点位置命令
   用法:数组变量名 = 建筑物名 buildingPos 特点点序号;//返回建筑物的特定第几号点位置的坐标[X,Y,Z],特定点序号从0开始。
   例:BYM setPos (_house1 buildingPos 2);//把BYM放在建筑物的指定位置2上。


buttonAction  按钮功能执行命令
   用法:buttonAction 按钮索引号;//执行第XX号按钮所代表的功能(比如执行脚本~~),一般用于人机对话界面。
   例:buttonSetAction [100, {player exec "reply.sqs"}]
       _action = buttonAction 100;//执行脚本"reply.sqs"。


buttonSetAction  按钮功能定义命令
   用法:buttonSetAction[索引号,功能];//定义第XX号按钮所代表的功能
   例:buttonSetAction [100, {player exec "reply.sqs"}];//定义第100号按钮的功能为执行reply.sqs
发表于 2013-10-7 01:03:55 | 显示全部楼层
如果把OFPEC COMMAND全部翻译过来那真是吊炸天了。。。
发表于 2013-11-5 10:16:11 | 显示全部楼层
lz辛苦,留名支持之
发表于 2013-11-5 12:38:19 | 显示全部楼层
dddddddddddddddddd
发表于 2014-1-5 22:53:39 | 显示全部楼层
lz辛苦~留名
发表于 2014-1-16 15:06:25 | 显示全部楼层
看一半突然没有了 - -
发表于 2014-3-8 22:21:27 | 显示全部楼层
很不错的帖子,顶
发表于 2014-4-10 14:01:49 | 显示全部楼层
楼主辛苦了,支持一下!看来楼主对这些指令都很熟悉哈
发表于 2014-4-10 14:03:47 | 显示全部楼层
这个指令集的翻译,将非常有便于脚本剪辑的学习和尝试,非常期待
发表于 2014-11-22 10:54:44 | 显示全部楼层
蛋筒V5!

我也转行研究编任务了,这个扫盲字典收藏了,谢谢!
发表于 2015-2-27 15:17:41 | 显示全部楼层
楼主能具体说下怎么用么 这些代码放在那里
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

中国虚拟军事网  

GMT+8, 2018-6-18 15:49

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表