burst是散弹枪,在同一个点发出数个炮弹,如果炮管变化的话一般不用这个参数,因为这样不太准确,而是用一个攻击间隔较短的武器,在脚本里控制单位攻击几次后休息一段时间。在《脚本解析》里面有解析过双炮管的攻击控制。
在一侧的武器,例如左肩,肯定会受到身体运动的影响,这是符合现实的设计,你能做的只能是加大左肩炮台的旋转速度,使其足够抵消身体的旋转,例如身体转速300,如果你希望左肩的转速有400,那就加大到700.不过身体不转的时候这个速度又会太快,只能说TA就是这样模拟真实的,违反不了。
burst是散弹枪,在同一个点发出数个炮弹,如果炮管变化的话一般不用这个参数,因为这样不太准确,而是用一个攻击间隔较短的武器,在脚本里控制单位攻击几次后休息一段时间。在《脚本解析》里面有解析过双炮管的攻击控制。
在一侧的武器,例如左肩,肯定会受到身体运动的影响,这是符合现实的设计,你能做的只能是加大左肩炮台的旋转速度,使其足够抵消身体的旋转,例如身体转速300,如果你希望左肩的转速有400,那就加大到700.不过身体不转的时候这个速度又会太快,只能说TA就是这样模拟真实的,违反不了。
看起来还需要研究,谢谢楼上,顺便问一下,burst这个武器参数具体要怎么用?如果一次射击5发霰弹出去是不是要写成burst=5;
[
可以写非常复杂的脚本来实现。。。只是我个人觉得意义不大。
狐狸,昨天我已经实现了霰弹枪了,不过你说的也是对的,那么我下面就来说说burst这个参数的大概测试结果。
burst这个英文单词直接翻译成中文“霸斯特”,也就是指“霸斯特霰弹枪”的意思,TA中有很多参数都是比喻的意思,比如隐形“cloke”是“斗篷”的意思,引用的是奇幻类游戏题材中常见的“隐形斗篷”的含义,那么既然burst是指霰弹枪,这个参数必然跟制作一个霰弹枪武器相关,但是原版游戏中却没见到任何有真正霰弹效果的武器,我猜想是因为霰弹武器火力不宜控制,或者是不符合整体风格,最终没有真正的霰弹枪单位,又或者是参数设定不是非常成功,稳定性差,最终没有采用,不管出于什么考虑,霰弹枪确实是有被设计过的,因为有一个武器音效参数叫“soundtrigger”,应该就是霰弹枪上弹时的音效(不过昨天测试时似乎没出现),另外,要实现霰弹枪效果还需要其他几个参数的配合,通过昨天测试结果,至少应该还需要修改3个参数,分别是“burstrate”、“sprayangle”和“ReloadTime”,甚至有可能还需要更多其它参数配合,调配这些参数可以组合成各种武器效果,至少有三种武器效果可以实现,一种就是狐狸你说的那种连射,通过修改burst数量和上弹时间,这两项修改后还可能出现另一种武器效果,就是“单点叠发”,也就是快速连续的在同一点上连发,让子弹成线装射出,TLL族有一种T2死光炮台,威力强大,可以射出重置死光,应该就是采用了这种方式制作的,后面我会具体讲怎么具体做出那种效果,因为昨天测试时已经测试出那种效果了,最后是霰弹效果,参考talon族T2霰弹跑坦克的武器,发现burstrate和sprayangle两个参数是生成霰弹必备参数,虽然意识到这点,但参数要设定到什么地步是我一开始始终摸不清的,我起初burstrate参数设定值分别是5、30、1,通过测试发现这个参数会让子弹延迟发射出来,以秒计算,但如果延迟超过武器的上弹时间则为无效发射,也就是虽然子弹飞射出去但不会造成伤害,除非延迟赶上后一轮的上弹时间才会计算有效,很诡异,也不用去管它,因为这种参数的设定是错的,正确的写法是万分之一秒,也就是让burstrate=0.001;,让子弹发射滞后万分之一秒,这么做的目的是什么呢,我猜想的是为了让霰弹发射时有参差不齐的效果,而不是像魂斗罗中“S”弹,一下一个扇面,这样更接近霰弹枪的效果,下面要说的是sprayangle参数了,这个参数值的单位很可能是像素,收字面意思理解的影响,我开始以为是角度,分别设定了15、30、75三个值,但是都没任何效果,知道我打开了Talon族T2霰弹炮车的武器时才发现,这个值已经超过4000了!引用回去又测试了一下,果然就有霰弹效果了,配上从网上找来的武器音效文件,一把拉风又劲爆的霰弹枪就出炉啦,不过我还提到过上弹速度这个参数,我感觉上弹速度不要太快,3.5左右的速度比较合理,太快的上弹会让霰弹效果失效,但会变成“单点叠发”的效果,上面说的TLL族超级死光炮台实际上就可以用这种“单点叠发”效果制作(我还没来及看过死光炮台的武器文件,但昨天测试中已经测试出来了,所以应该能确定),在测试这个效果时还发现了以前一个一直不清楚,但又十分重要的武器参数—“rendertype”!!!
在Defiler的老帖中写道“rendertype:炮弹的系统类型,指是2D还是3D”,这种说法显然是不对的,因为rendertype(即,渲染效果)是非常重要的参数,属于类型规定参数,直接决定了武器的渲染类型,通过昨天的测试,具体对应的武器类型至少有5-6种,甚至更多,通过rendertype的值来改变武器的渲染效果。
a. 当值为“0”时,代表武器使用“集束武器”来渲染,也就是激光类武器,如果不设定其颜色,默认为第256色,也就是黑色,比死光还要“死”,昨天测试中出现的就是这种纯黑死光,如果设定了颜色就会是游戏里大部分激光武器那样,而且这个模式即便你引用了自制模型也不会起作用,只能是激光;
b. 当值为“1”时,代表武器使用自制炮弹/子弹模型来渲染,这时你可以自己用3D建模软件制作模型并导入成3do文件,并在武器文件里引用,也就是要参考model参数了,把model=你要用到的3do文件名就可以了,一般制作个性视觉效果武器时就要把rendertype=1;了,当然TA中有些自带的子弹模型,比如missile、bomb之类的,不愿意自己制作的可以直接引用现成的;
c. 当值为“2”时,代表采用“飞弹类”武器来渲染,在这个模式下也可以引用自制模型,变化和上面不大,只是需要注意的是武器的音效似乎会自动转换成飞弹类的,弹道似乎有微小的变化,看起来更像飞弹类武器;
d. 当值为“3”时,似乎是另一种飞弹,细节没有研究;
e. 当值为“4”时,也就是大部分火炮武器的渲染效果,只能发射plasma弹,颜色似乎不能改动,这个我没有测试,与激光渲染一样,这个模式下不能引用自制模型,引用了也无效,坦克类的单位基本上都要用到这个类。
总的来说,之前我们对武器的设定还有很多不确切的理解,四种武器类型的界定只是为了让程序对武器进行识别的,要想编辑出具体的武器视觉效果,rendertype是极为重要的参数,一定要注意,不要搞错了,搞错的结果有两种情况,第一种是武器不发射,还有一种就是发射出错误的炮弹,总之理解了这个参数的用法,应该能制作出更多更有个性的武器了,大家可以自己去尝试一下。
对了,上面没写完,rendertype应该不光这些,还有鱼雷类武器,不过我没测试完,有时间的话再去搞,TA的武器类型还是挺多的,可扩充的类型更多。下一步即将要测试的是弹射式手雷—“Jump Grenade”,预计实现效果为发射自制模型手雷,在地面弹跳后延迟爆炸,使用参数Groundbounce、noautorange或noexplode,可能会用到参数Twophase、burnblow,分别是“武器落地后不爆炸而是弹起”(可能用于飞机残骸的坠落,我猜的),“武器不自动爆炸”或“武器影响到目标时不发生爆炸”以及“二段武器”和“武器到达射程后自动爆炸”,由于Defiler的老帖中有很多对参数的错误理解,实际测试中这些参数的解释只能当作参考。
那个测试武器我没来及上传上来,晚上传上来给你测试一下,效果还不错,挺劲爆的,“单点叠发”的武器我也做了一个,是一台连发移动火炮的副武器,用于近距离防御的,发射重型机枪装备“二连弹”,属于单点叠发类武器,一次叠发两枚重型燃油子弹,到时候给你一起测试吧。
先分享两个音频编辑文件,一个是GlodWave,俗称“金波”,是一款非常常见的音频编辑软件,可以编辑很多音效,想自己做音效的用这个软件就行了,不过我目前还不是很会用。
HA_GoldWave558_HZ.rar (2.73 MB)
如果有对金波软件使用有经验的朋友,欢迎分享一下,金波可实现的音频编辑功能还是很强大的
还有一个是Total Recorder,一个不大的程序,但很专业,其最大的用途是强大的录音功能,如果你在一些外网上找到音频下载需要付费的话,只要网页允许你进行测试,你就可以用TR软件把测试音频直接录下来,而且是正规的WAV格式,非常赞!
TotalRecorder_setup.rar (374 KB)
一些网站测试的音频会出现背景音波,也就是类似图片水印一样的东西,录的时候需要注意一下,不过大多数网站的测试音还是正常的,没有杂音。
对上面说道的“单点叠发”类武器还有一点补充说明,由于单点叠发会重叠伤害,因此可以制造出火力相当惊人的武器,即使武器的伤害很低的情况下也能带来惊人的DPS,一梭子打死40是必然的,几下干掉老K也一点不夸张,因此制作单点叠发武器时需要注意控制火力,否则将严重破坏游戏平衡性,一般来说burst值不要设得太高,3-5就已经很不错了,还要注意控制武器的Damage值。
谁能帮我把这贴再重新编辑一下呀,主要是想把那些分享的软件放到一楼去,位置太靠下了,不方便大家看到
rendertype是指武器的渲染方式,有模型(导弹),离子盾(一般的内白外黄的圆球),激光,闪电,火焰等等
你对brust的理解是错的,brust只是纯粹的霰弹枪,一下子发射多发子弹。TLL那个激光炮塔有个noexplode这个参数,这个是穿透攻击,这个是造成叠加伤害的原因,是司令DGUN的参数。TLL那个武器是霰弹枪加穿透,也就是复数伤害再叠加伤害,所以伤害高得离谱,在TA-MERGE里面可以一炮干掉艾化超神,所以在TA4TR里面已经被削弱
论坛有另外一个武器参数的翻译,还有更加准确的英文版,你找找看。
sprayangle
霰弹枪的散射角度,4096大概是30度左右,不太确定
brustrate是散射的间隔
回复 31# fonter576
恩,也就是说有别的参数,其实我也是刚搞,不过用我那个方法确实也能实现,算是土办法吧,TA的修改可谓千变万化,感谢楼上分享,如果知道那个英文翻译帖子的地址,拿出来贴一下吧,很需要这样的指导性文件。。。
TA里面长度和角度的单位是比较奇怪的。。。如果我没记错的话,64000貌似是表示360度来着?
具体换算关系看Scriptor的那个选项里面,有写着,163840.0=[1.00],182.0=<1.00>。也就是说,脚本里那些距离和角度其实都可以用数字来表示,但不方便,所以用<1.00>而不是182.0来表示1度。
[
burst的英文本就是突发或者猝发的意思,表示短时间内数量较大。
原版有使用burst的单位,已知的起码有:Flash坦克\Peewee机甲\Brawler机炮攻击机。
burstrate是突发频率,这里其实反掉了,其实设置的是间隔时间,单位应该是秒或者是一帧;如果不设置burstrate,那么默认值应该是0,也就是齐射。
sprayangle是散布角度,具体单位前面我说了。
狐狸说得真详细呀,本来想把霰弹枪的文件给你看一下的,因为我又做了一个,结果又不灵了,不知道什么地方出的问题,文件没带来,家里路由器坏了,网被老婆霸占了,U盘又有病毒,唉,一个悲剧的圣诞夜。
对了,其实想问你有没有关于脚本命令的说明或者是教程什么的,目前已知的脚本命令太少了,也就是turn move这俩,还有个旋转命令,我似乎看到过,忘记在哪看到的了
炮弹的渲染方式rendertype,一共7种
0=laser————————激光,可以改颜色,不能改粗细,想弄粗点还是得用模型。
1=modelled——————模型(导弹之类),如果你嫌激光不够粗,可以自己做一个粗的激光模型。原子版的大蜘蛛就是这样激光才这么粗。
2=not rendered————不渲染,也就是没效果
3=dgun——司令的DGUN。不过现在的mod作者更加喜欢用模型。
4=plasma shell——离子盾,加农炮那种内白外黄的球状,不能改颜色也不能改大小,如果想弄个大球一般都用模型
5=flame——火焰,不好看的。。。。。
6=bomb——炸弹,轰炸机的那种,非常小的一个豆子,不能改大小,所以现在做mod的更加喜欢用模型
7=lightning——闪电,跟激光一样,只能改颜色
需要注意的是rendertype与武器的实际模式无关,仅仅是一种视觉样式,TA的武器按炮弹轨迹分为ballistic(抛物线),beamweapon(直线),dropped(自由落体),所有的武器都是在这几种的基础上附加特性产生的。vlaunch(垂直发射) 通常似乎是属于直线,一般的导弹没有设置这个参数,不知道系统默认是什么,个人观点是直线。
因为这个原因,TA的激光和闪电都是可以设定为能追踪的(会转弯。。。),不过建议大家别这样设置,看起来很怪。
这与SPRING是不同的,SPRING强制渲染模式和武器特性挂钩,不会出现会转弯的激光这样的灵异事件。
reloadtime——装弹时间,一般意义上的攻击间隔,但TA真实的攻击间隔还要受脚本的控制
noexplode——不停止,击中后继续前进,直到动能消耗完,也就是穿透,为司令的DGUN设计的参数。会产生很大的叠加伤害,要慎用。
需要额外说明的是noexplode用于炮管比较接近地面的武器比较合适,炮管过高,虽然你还能看到效果,但只有前面一截有伤害,后面一截是造成不了伤害的,因为那一截其实是打到地面以下了(想象一下一个很高的炮台向地面开炮),TA的伤害是一个球体或者是圆柱体,个人认为圆柱体的可能性高点,不过也没有实际测试过,不好说,虽然还无法确定究竟是球体还是圆柱体,但我发现垂直伤害衰减是有的。但是这个圆柱体应该不是无限高度的。那些打到地面以下的部分,如果伤害范围不够大,是无法伤害到地面单位的,不过还是会显示效果。因为图像显示是分层显示的,爆炸效果的层面要高于地图的地面。仔细的看一下其实司令的DGUN的最末端也没有伤害.
groundbounce——这个参数,这个参数确实碰到地面后弹起,类似于一个足球在地面上弹着向前继续运动,碰到敌人才爆炸。这个参数适合用来做手雷,在TA里面似乎还真没有出现过,据说TA的弹道系统是来自于一款中途停止开发的FPS游戏。看来那些霰弹枪之类的参数都是这么来的。
注:根据《横扫千军的历史》一文的描述,那个时候史克威尔(最终幻想的那家公司)打算开发一款类似于后来的CS那样的FPS游戏,但是以当时的技术当然是以失败而告终,最后解雇了几乎整个开发团队,然后这个团队的某些人被刚刚成立不久的CAVEDOG(横扫的开发公司)聘用。可见TA这套仿真度如此之高的弹道系统有着巨大的历史偶然性。至于史克威尔在10多年后成为《最高指挥官2》的发行商,这又是另一件事了。
burst——散弹数量,类似于现实中的霰弹枪
burstrate——散弹的间隔,数字可以非常小
sprayangle——散弹的散开的角度,4096大约是30度左右。可以为0度。
soundtrigger——是否散弹每一颗子弹都响一次开枪的声音。如果burstrate比较大的话这个参数就很有用。
以上4个是配合使用的。
soundhit——打中地面或敌人的声音
soundstart——开枪的声音
soundwater——打中水面的声音
在不用脚本控制的情况下,一个武器的攻击间隔是reloadtime。
火焰喷射器的reloadtime和burst、burstrate三个参数控制的好的话就可以连续的喷火。
accuracy——打击精度,数字越大,误差越大。TA区别于一般的RTS,不使用命中率这样的参数,一般RTS是炮弹打中目标后,计算命中率确定中还是不中。TA则是在炮弹发射之时,对炮弹添加误差力矩,令炮弹的轨道发生偏移,命中与否依然按照立体碰撞来确定。
tolerance——瞄准宽容度,TA是根据3D碰撞来决定命中与否,所以没必要百分百瞄准目标的中心,加上单位的移动也很难绝对瞄准,所以加一个宽容度来让瞄准容易些。
pitchtolerance——子炮台瞄准宽容,好像是上下方向的宽容度,很少见,不太清楚。
areaofeffect——伤害面积,这个应该是直径,不过我不太肯定
edgeeffectiveness——边缘效果,0.5相当于50%。如果不设置,默认为0%。
这两个参数一起使用
具体的算法是例如伤害是1000,面积是200,边缘效果是0.5
那么最外边缘的伤害是500。中心的伤害是1000,每隔一个像素的距离伤害就递减(1000-500)/(200/2)=5,例如距离中心一个像素的地方伤害是995,距离中心20个像素的地方伤害是900。
ballistic——弹道武器,最低炮管角度0,最大炮管上仰角45度。所以TA是不支持高抛弹道的。
burnblow——空爆武器,防空机炮专用的参数,TA有个奇怪的规定,就是空爆武器必须是弹道武器,否则不能发射,但是弹道武器炮管仰角不能大于45度,所以防空机炮不能攻击头顶的飞机。。。。
beamweapon——直线武器,例如激光之类。不过只要是非抛物线的武器都可以用,你愿意把导弹改为直线攻击的也行。
minbarrelangle——最低炮管角度,这个一般是负数,一般是激光类武器使用的,限制炮台或炮管的向下运动。不设置的话好像是不限制。但是不知道这个参数是多少对应一度。看过有-3600这么大的参数(大蜘蛛的激光)。不过在一些抛物线武器里也出现过。
duration——渲染激光条或者闪电条的长度。
color和color2——渲染激光条或闪电条的染色。color是主色调,color2好像可以改变主色调的亮度,不太确定。
dropped——自由落体,例如轰炸机的炸弹这样的武器,会受到飞机的飞行惯性影响。
paralyzer——是否麻痹,1是麻痹,0是不麻痹,麻痹时间根据伤害来定,但是不知道多少伤害对应多少时间,麻痹武器都是没伤害的。
stockpile——能否储备炮弹,核弹之类用的参数,当你是用了这个参数,武器的reloadtime就会自动变成核弹的生产时间。energypershot和 metalpershot就自动变成了核弹的造价。
targetable——能否被击落,核弹被反核弹击落,没这个参数的话,核弹就不会被反核攻击
meteor——冰雹,流星雨等等,这类武器一般用于地图的天气。
vlaunch——垂直发射的武器
twophase——二阶段武器,对应于垂直发射的武器使用
tracks——追踪
guidance——也是追踪
对于2阶段的武器来说,两个阶段要分别指定是否追踪,对于1阶段武器来说你通常还是会看见两个参数一起出现,因为一般MOD作者都分不清那个参数对应那个阶段,干脆两个都设为1。如果你希望二阶段武器不追踪,建议两个都改0,因为我也不知道究竟那个参数对应那个阶段…谁有空测试一下?
turnrate——转弯效率,如果武器是有追踪的话,这个才有用,对空武器是转弯越快越好,毕竟飞机速度实在太快。
waterweapon——水中武器,设了这个参数,武器只能攻击有水的区域。也可以穿透水面攻击水下的目标。
turret——是否炮管类的武器。
这个必须解析一下,如果你的模型脚本中有控制炮台或炮管进行瞄准活动的,那这个参数必须是1。否则不能开炮。当这个参数等于1时,炮弹的弹道就需要根据炮台和炮管的状况来进行计算。反过来也一样。
firestarter——烧着树木的概率,百分数。
commandfire——是否需要手动发射,司令的Dgun和轰炸机。
noradar——不在小地图上显示一个黄点。
cruise——巡航,核弹之类长距离水平飞行用的,不太确定作用
propeller——模型是否旋转,不知道游戏是怎么确定旋转那个部分的,不过默认的导弹的结构,可以使尾部的火焰旋转。
weapontimer——武器的存在时间,秒数,应该只是用于避免某些不受重力影响的炮弹无限的在空中飞行。轨道武器设为0。不太清楚具体。
randomdecay——随机衰变,主要用于火焰喷射,使喷火的火焰在空气中的存在时间不稳定
selfprop——武器超出参考射程后是否还继续靠剩余的动能前进。
shakeduration——武器引起屏幕震动的时间
shakemagnitude——屏幕震动的激烈程度
unitsonly——武器是否只对敌人单位碰撞,为1时,只有敌人能阻挡,武器无视地形和树木残骸等等。
flighttime——飞行时间,通常用于垂直发射的导弹,超出时间导弹会掉落(好像是)
interceptor——是否拦截武器,反核弹用,将核弹击落。
weaponvelocity——炮弹速度,像素每秒,可以是负数,炮弹也会反向运动,可以利用这点来做一些特别的武器。
关于怎样做肉搏攻击
我的做法是
kamikaze=1; 自杀式攻击
kamikazedistance=0; 距离目标多近就自爆(像素)
自杀和自杀距离,这是单位参数,不是武器参数。
自杀距离其实是多少都无所谓,反正只要单位有武器,就不会自爆,如果没有武器则会自爆。
然后只要设置一个rendertype=2,也就是没炮弹效果的直线武器或者弹道也行,反正距离很近的话差别不大。用这个方法敌人只要进入视野范围,你的单位就会冲上去打它。
如果要做大刀砍前方多个敌人行不行呢?
可以,参考TA-EXCESS2的GOK司令。需要用脚本控制一下炮弹的落点形成前方一个弧形即可,实际不难,因为大刀的刀尖的运动轨迹就是一个弧形,将武器的发射点设在刀尖,用脚本控制武器在挥刀的时候同时攻击即可。
用脚本控制双枪连射或齐射
这个其实不复杂,《脚本解析》里面有介绍,连我C语言这么烂的都能看懂。
用burst虽然简单,两个炮管紧挨着到无所谓,不过两个炮管的距离较远的话就不太好看了,因为有可能两个子弹会从同一个炮管射出来,不过这也是跟脚本对炮管的控制有关。
以前的TA MOD用脚本对攻击控制比较少,不过现在来说,控制方式多了很多,例如RUMAD有个机器人,双炮管的,其中一根炮管受到攻击时会随机被打掉,攻击频率也会相应减慢一半。而且理论上是可以通过计算受到攻击的方向角度来控制这些的,例如左边受到攻击,可以打掉左边的炮管等等。
http://bbs.taclub.net/taclub/newTA/thread-12192-1-2.html
这里有翻译的脚本的功能函数的介绍,也有其他全部的东西,不过只翻译了脚本编写部分
TA脚本解析 (总目录)
http://bbs.taclub.net/taclub/newTA/thread-12206-1-2.html
楼上的,much gelivable!