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

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 2406|回复: 6

[原创] 战斗机AI自动垂直起飞脚本~~

[复制链接]
发表于 2012-8-9 09:41:27 | 显示全部楼层 |阅读模式
_FLY = _this select 0; //飞机名
_fly enableSimulation false
~random 5
player action ["ENGINEON",_FLY];
_fly enableSimulation true
_eng = 0

#er
_eng = _eng + 1
?(_eng > 80):goto "fly"
_fly setvelocity[0*sin(getdir _fly),0*cos(getdir _fly),0];
~0.01
goto "er"

#fly
_flyin = 0
_fly action ["autoHover", _fly]

#flyss
_flyin = _flyin + 1
_fly flyinheight 200
?(_flyin > 70):goto "off"
_fly setvelocity[0*sin(getdir _fly),0*cos(getdir _fly),+5];
~0.1
goto "flyss"

#off

其实我也弄了一个任何飞机都能垂直升起的脚本~比如130啊~其他固定翼的~但是还是觉得太假了~就这个吧~
AV88 和 F35 等具有垂直起飞功能的飞机才可以哦~否则只能飞一下就掉到地上
发表于 2012-8-9 09:52:08 | 显示全部楼层
好,这是我当年在Combine Spetsnazy中做的,同现在相比应该很不成熟了
vt1 setfuel 1;

while {alive vt1 and (getpos vt1 select 2 ) < 40}
do {vt1 setVelocity  [0,0,3];vt1 setvectorup [0,0,2.5]; sleep 0.01
} ;

vt1 action ["LandGearUp", vt1];

_dir = direction vt1;

vt1 setVelocity [(sin _dir*50), (cos _dir*50),2];
 楼主| 发表于 2012-8-9 10:20:24 | 显示全部楼层
使命召唤0 发表于 2012-8-9 09:52
好,这是我当年在Combine Spetsnazy中做的,同现在相比应该很不成熟了
vt1 setfuel 1;

悲剧了~现在出一个这样的问题~这个脚本在oa地图里试就好好的~
但是一到原版地图,飞行员就跟不会动一样~飞起来了之后就摔到地上~奇怪了

点评

注意看我的脚本里的最后一句,除了效果很假以外  发表于 2012-8-9 10:36
 楼主| 发表于 2012-8-9 11:13:44 | 显示全部楼层
_FLY = _this select 0; //飞机名
_GH = _this select 1;//物品名

"USMC_Soldier2" createUnit[_fly, group _fly,"GH=this"];
GH disableAI "Anim"
//selectplayer _GH
_GH = GH
_fly enableSimulation false
_GH enableSimulation false
_GH hideObject true;
_GH setpos getpos _fly;_GH setdir getdir _fly
_fly attachTo [_GH,[0,0,1]];//需要根据何种战斗机以定义高度数值~否则会沉入地面
player action ["ENGINEON",_fly];
_GH enableSimulation true
_fly enableSimulation true
~random 5
_eng = 0

#er
_eng = _eng + 1
?(_eng > 80):goto "fly"
_GH setvelocity[0*sin(getdir _GH),0*cos(getdir _GH),0];
~0.01
goto "er"

#fly
_GHin = 0
_GH action ["autoHover", _GH]

#flyss
_GHin = _GHin + 1
_GH flyinheight 200
?(_GHin > 40):goto "off"
_GH setvelocity[0*sin(getdir _GH),0*cos(getdir _GH),+5];
~0.1
goto "flyss"

#off
_ui = 0
#rt
_ui = _ui + 1
?(_ui > 100):goto "end"
_GH setvelocity[10*sin(getdir _GH),10*cos(getdir _GH),+10];
~0.1
goto "rt"
#end

_fly attachTo [_fly,[0,0,0]];
~2
_fly setvelocity[50*sin(getdir _fly),50*cos(getdir _fly),+50];
~100
_GH setdammage 1;


重新更改~基本搞定了~不会歪到一边去了
发表于 2012-8-9 13:43:42 | 显示全部楼层
_GH = _this select 1;//物品名  ??
_fly attachTo [_GH,[0,0,1]];//需要根据何种战斗机以定义高度数值~否则会沉入地面  ??
看来编辑任务的时候还有物品?求教?怎么编辑
 楼主| 发表于 2012-8-9 13:55:19 | 显示全部楼层
吴敬忠南 发表于 2012-8-9 13:43
_GH = _this select 1;//物品名  ??
_fly attachTo [_GH,[0,0,1]];//需要根据何种战斗机以定义高度数值~ ...

其实是我搞错了~
这样的~只需要[this] exec "脚本名字.sqs"
飞机自然就触发效果了
_fly attachTo [_GH,[0,0,1]];这个呢~你可以自己看~1代表1米 如果你发现运行脚本的时候
飞机是沉到地下面的你就自己调大这个数值直到飞机在地面上为止
我试了一下2.3这个数值貌似就可以让F35正常了
发表于 2012-8-9 17:13:22 | 显示全部楼层
怎么用脚本?...

点评

注意看楼上  发表于 2012-8-9 18:03
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-5-3 19:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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