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

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 2079|回复: 6

[转帖] 【严肃模拟请绕行,纯娱乐】实现坦克单人操作的脚本---感谢KK

[复制链接]
发表于 2014-10-28 23:05:44 | 显示全部楼层 |阅读模式
好久没关注KK blog了,今天看到一个有趣的脚本。可以模仿战地 和COD 式的坦克操控。

原址:http://killzonekid.com/arma-scri ... man-tank-operation/


this call {
    if (isServer) then {
        _this lockTurret [[0], true];
        _this lockTurret [[0,0], true];
        _this lockCargo true;
        _this addMPEventHandler ["MPKilled", {
            if (isServer) then {
                _d = driver (_this select 0);
                _g = gunner (_this select 0);
                if (!isNull _d) then {deleteVehicle _d};
                if (!isNull _g) then {_g setDamage 1};
            };
        }];
    };
    if (!isDedicated) then {
        _this addEventHandler ["GetIn", {
            enableSentences false;
            _tank = _this select 0;
            _unit = _this select 2;
            _unit allowDamage false;
            _unit action ["EngineOn", _tank];
            _unit action ["MoveToGunner", _tank];
            _tank lock true;
            _tank switchCamera "EXTERNAL";
            _tank addAction [localize "str_action_getout", {
                _this select 0 removeAction (_this select 2);
                _this select 1 action ["GetOut", _this select 0];
            }, "", 3, false, true, "GetOver"];
            _tank spawn {
                waitUntil {!isNull gunner _this};
                _ai = createAgent [
                    typeOf gunner _this, [0,0,0], [], 0, "NONE"
                ];
                _ai allowDamage false;
                _ai moveInDriver _this;
            };
        }];
        _this addEventHandler ["GetOut", {
            _tank = _this select 0;
            _unit = _this select 2;
            deleteVehicle driver _tank;
            _unit allowDamage true;
            _unit action ["EngineOff", _tank];
            _tank lock false;
            enableSentences true;
        }];
    };
};

复制代码到坦克初始栏,然后玩家充当司机,视角是炮手。KK的博客里还提到了些许bug,具体请参见上面的链接
想搞的可以试试,想喷的可以洗洗睡了。
 楼主| 发表于 2014-10-29 22:49:14 | 显示全部楼层
。。。。。孤独寂寞冷。。。凉糕,这是为何
发表于 2014-10-29 23:10:44 | 显示全部楼层
这个脚本其实是让你在炮手位置默默给AI驾驶员发送前后左右的命令,不出声也不显现文字,和战地3的那种单人模式有区别。VBS有allowturretscontrol的命令,不知道为什么ARMA3里没有,BI还是偷懒了,不然可以直接实现驾驶员控制炮台的功能
 楼主| 发表于 2014-10-30 07:42:41 | 显示全部楼层
老非猫 发表于 2014-10-29 23:10
这个脚本其实是让你在炮手位置默默给AI驾驶员发送前后左右的命令,不出声也不显现文字,和战地3的那种单人 ...

空坦克为何可以操作,感觉坦克运行比下命令要来的快,脚本神马的实在不懂。
发表于 2014-10-30 09:48:42 | 显示全部楼层
chaoduichen 发表于 2014-10-30 07:42
空坦克为何可以操作,感觉坦克运行比下命令要来的快,脚本神马的实在不懂。

你一上车,脚本就生成一个AI在驾驶位,你下车脚本就删除这个AI
 楼主| 发表于 2014-10-30 12:15:59 | 显示全部楼层
老非猫 发表于 2014-10-30 09:48
你一上车,脚本就生成一个AI在驾驶位,你下车脚本就删除这个AI

搜嘎,能不能搞成插件的形式
发表于 2014-10-30 12:49:46 来自手机 | 显示全部楼层
我竟然看懂了,发动引擎后移动到炮手,生成ai到驾驶员,离开后删除坦克驾驶员,引擎关闭坦克锁定,好简单,但是代码看不懂,还是得有时间有网天天学习才行啊
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-4-19 07:55

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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