『TA:SoM』糊战车。。。移动中远距离打击武器(需要个名字)

附带目前所有上马战车类单位全家福。。。

大大 做到多少嚕?

期待 還是期待

从0%着手开始弄,到现在有半年了,现在能到10%就不错,后面肯定对Arm和Core还要修改一下,为了能跟新种族匹配上。。。。按照这个速度弄,大概要5年~~~~~~~~~~~~~~~~~到时候国家都研究出一类新药了。。。

雷神,狂风等名字就很酷

火锅,麻辣烫这些名字也可以

最好给个中英文对照的

汽车人变形~~~

[

齐~齐~卡~卡。。。。。变不了形啦,狐狸给下诊断书了,说是目前没有用脚本控制单位是否移动的办法,我发贴到TAU去问,目前似乎还没人给答案,估计是不行了。。。

我问过花猫,变形单位处理是比较麻烦。

目前塘鸭那个形式是最可行的,我打算先利用塘鸭的脚本方案做一个会游泳的机甲,设想比较简单,我之前做过一个单腿蹦的机甲,两栖兵种,入水后改移动方式为潜艇,在水下游泳前进。。。

关于变形的方案,我想到过一些,但基本上都是基于对地形识别来实习的,并不是很理想,再有就是通过手动操作实现,会非常复杂,而且也不太符合TA的风格,AI会如何反应,这些都存在潜在风险。。。

回复 10# wangyaoalan

塘鹅实际上是个气垫单位,如果按塘鹅的方式做一个机甲,入水变成潜艇好像不是现实的。

[quote]回复 wangyaoalan

塘鹅实际上是个气垫单位,如果按塘鹅的方式做一个机甲,入水变成潜艇好像不是 …
星月有约 发表于 2011-6-2 17:04 [/quot]

原来如此,那么下水后更改移动速度应该是可行的吧。。。

#define TA

#include "sfxtype.h"
#include "exptype.h"

piece base, hips, wing1, wheel1a, wheel1b, wheel1c, wheel1d, wheel1e, wing2, wheel2a, wheel2b, wheel2c, 
wheel2d, wheel2e, flashing, turret, sleeve, barrel1a, barrel1b, barrel1d, flare1, barrel1c, barrel2a, 
barrel2b, barrel2d, flare2, barrel2c;

static-var restore_delay, gun_1;

#define SIG_AIM1 2

SmokeUnit(healthpercent, sleeptime, smoketype)
{
while( get BUILD_PERCENT_LEFT )
{
sleep 400;
}
while( TRUE )
{
healthpercent = get HEALTH;
if( healthpercent < 66 )
{
smoketype = 256 | 2;
if( Rand( 1, 66 ) < healthpercent )
{
smoketype = 256 | 1;
}
emit-sfx smoketype from base;
}
sleeptime = healthpercent * 50;
if( sleeptime < 200 )
{
sleeptime = 200;
}
sleep sleeptime;
}
}

Create()
{
restore_delay = 6000;
hide flare1;
hide flare2;
gun_1 = 1;
start-script SmokeUnit();
}

StartMoving()
{
spin wheel1a around x-axis speed <120.000000> accelerate <30.000000>;
spin wheel1b around x-axis speed <120.000000> accelerate <30.000000>;
spin wheel1c around x-axis speed <120.000000> accelerate <30.000000>;
spin wheel1d around x-axis speed <120.000000> accelerate <30.000000>;
spin wheel1e around x-axis speed <120.000000> accelerate <30.000000>;
spin wheel2a around x-axis speed <120.000000> accelerate <30.000000>;
spin wheel2b around x-axis speed <120.000000> accelerate <30.000000>;
spin wheel2c around x-axis speed <120.000000> accelerate <30.000000>;
spin wheel2d around x-axis speed <120.000000> accelerate <30.000000>;
spin wheel2e around x-axis speed <120.000000> accelerate <30.000000>;
}

StopMoving()
{
stop-spin wheel1a around x-axis decelerate <30.000000>;
stop-spin wheel1b around x-axis decelerate <30.000000>;
stop-spin wheel1c around x-axis decelerate <30.000000>;
stop-spin wheel1d around x-axis decelerate <30.000000>;
stop-spin wheel1e around x-axis decelerate <30.000000>;
stop-spin wheel2a around x-axis decelerate <30.000000>;
stop-spin wheel2b around x-axis decelerate <30.000000>;
stop-spin wheel2c around x-axis decelerate <30.000000>;
stop-spin wheel2d around x-axis decelerate <30.000000>;
stop-spin wheel2e around x-axis decelerate <30.000000>;
}

SetMaxReloadTime(time)
{
restore_delay = time * 2;
}

RestoreAfterDelay()
{
sleep restore_delay;
gun_1 = 1;
turn turret to y-axis <0> speed <15>;
turn sleeve to x-axis <0> speed <7.5>;
wait-for-turn turret around y-axis;
wait-for-turn sleeve around x-axis;
sleep 50;
move barrel1b to z-axis [0] speed [5];
move barrel2b to z-axis [0] speed [5];
move barrel1c to z-axis [0] speed [5];
move barrel2c to z-axis [0] speed [5];
move barrel1d to z-axis [0] speed [5];
move barrel2d to z-axis [0] speed [5];
wait-for-move barrel1b along z-axis;
wait-for-move barrel2b along z-axis;
wait-for-move barrel1c along z-axis;
wait-for-move barrel2c along z-axis;
wait-for-move barrel1d along z-axis;
wait-for-move barrel2d along z-axis;
sleep 50
move barrel1a to x-axis [0] speed [5];
move barrel2a to x-axis [0] speed [5];
move barrel1c to x-axis [0] speed [5];
move barrel2c to x-axis [0] speed [5];
move barrel1d to x-axis [0] speed [5];
move barrel2d to x-axis [0] speed [5];
wait-for-move barrel1a along x-axis;
wait-for-move barrel2a along x-axis;
wait-for-move barrel1c along x-axis;
wait-for-move barrel2c along x-axis;
wait-for-move barrel1d along x-axis;
wait-for-move barrel2d along x-axis;
sleep 50;
move turret to y-axis [0] speed [5];
wait-for-move turret along y-axis;
cache flashing;
return(0);
}

SweetSpot (piecenum)
{
piecenum = base;
}

QueryPrimary (piecenum)
{
if(gun_1 == 1)
{
piecenum = flare1;
}
if(gun_1 == 2)
{
piecenum = flare2;
}
}

AimFromPrimary (piecenum)
{
piecenum = turret;
}

AimPrimary(heading, pitch)
{
signal SIG_AIM1;
set-signal-mask SIG_AIM1;
dont-cache flashing;
move turret to y-axis [3.4] speed [5];
wait-for-move turret along y-axis;
sleep 50;
move barrel1a to x-axis [-0.6] speed [5];
move barrel2a to x-axis [0.6] speed [5];
move barrel1c to x-axis [-0.5] speed [5];
move barrel2c to x-axis [0.5] speed [5];
move barrel1d to x-axis [-0.5] speed [5];
move barrel2d to x-axis [0.5] speed [5];
wait-for-move barrel1a along x-axis;
wait-for-move barrel2a along x-axis;
wait-for-move barrel1c along x-axis;
wait-for-move barrel2c along x-axis;
wait-for-move barrel1d along x-axis;
wait-for-move barrel2d along x-axis;
sleep 50;
move barrel1b to z-axis [15] speed [5];
move barrel2b to z-axis [15] speed [5];
move barrel1c to z-axis [2] speed [5];
move barrel2c to z-axis [2] speed [5];
move barrel1d to z-axis [-6] speed [5];
move barrel2d to z-axis [-6] speed [5];
wait-for-move barrel1b along z-axis;
wait-for-move barrel2b along z-axis;
wait-for-move barrel1c along z-axis;
wait-for-move barrel2c along z-axis;
wait-for-move barrel1d along z-axis;
wait-for-move barrel2d along z-axis;
sleep 50;
turn turret to y-axis heading speed <15>;
turn sleeve to x-axis (0-pitch) speed <7.5>;
wait-for-turn turret around y-axis;
wait-for-turn sleeve around x-axis;
while(gun_1 == 2)
{
sleep 10000;
gun_1 = 1;
}
start-script RestoreAfterDelay();
return(1);
}

FirePrimary()
{
if(gun_1 == 1)
{
gun_1 = 2;
show flare1;
move barrel1b to z-axis [-2.7] speed [300];
sleep 150;
hide flare1;
move barrel1b to z-axis [0] speed [3];
return(0);
}
if(gun_1 == 2)
{
show flare2;
move barrel2b to z-axis [-2.7] speed [300];
sleep 150;
hide flare2;
move barrel2b to z-axis [0] speed [3];
return(0);
}
}

Killed(severity, corpsetype)
{
if (severity <= 25)
{
corpsetype = 1;
explode wheel1a type BITMAPONLY | BITMAP1;
explode wheel1b type BITMAPONLY | BITMAP1;
explode wheel1c type BITMAPONLY | BITMAP1;
explode wheel1d type BITMAPONLY | BITMAP1;
explode wheel1e type BITMAPONLY | BITMAP1;
explode wheel2a type BITMAPONLY | BITMAP1;
explode wheel2b type BITMAPONLY | BITMAP1;
explode wheel2c type BITMAPONLY | BITMAP1;
explode wheel2d type BITMAPONLY | BITMAP1;
explode wheel2e type BITMAPONLY | BITMAP1;
explode turret type BITMAPONLY | BITMAP1;
explode sleeve type BITMAPONLY | BITMAP1;
explode barrel1a type BITMAPONLY | BITMAP1;
explode barrel1b type BITMAPONLY | BITMAP1;
explode barrel1d type BITMAPONLY | BITMAP1;
explode barrel1c type BITMAPONLY | BITMAP1;
explode barrel2a type BITMAPONLY | BITMAP1;
explode barrel2b type BITMAPONLY | BITMAP1;
explode barrel2d type BITMAPONLY | BITMAP1;
explode barrel2c type BITMAPONLY | BITMAP1;
return(0);
}
if (severity <= 50)
{
corpsetype = 2;
explode wheel1a type SHATTER | BITMAP4;
explode wheel1b type SHATTER | BITMAP4;
explode wheel1c type SHATTER | BITMAP4;
explode wheel1d type SHATTER | BITMAP4;
explode wheel1e type SHATTER | BITMAP4;
explode wheel2a type SHATTER | BITMAP4;
explode wheel2b type SHATTER | BITMAP4;
explode wheel2c type SHATTER | BITMAP4;
explode wheel2d type SHATTER | BITMAP4;
explode wheel2e type SHATTER | BITMAP4;
explode turret type SHATTER | BITMAP4;
explode sleeve type SHATTER | BITMAP4;
explode barrel1a type SHATTER | BITMAP4;
explode barrel1b type SHATTER | BITMAP4;
explode barrel1d type SHATTER | BITMAP4;
explode barrel1c type SHATTER | BITMAP4;
explode barrel2a type SHATTER | BITMAP4;
explode barrel2b type SHATTER | BITMAP4;
explode barrel2d type SHATTER | BITMAP4;
explode barrel2c type SHATTER | BITMAP4;
return(0);
}
if (severity <= 99)
{
corpsetype = 3;
explode wheel1a type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel1b type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel1c type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel1d type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel1e type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel2a type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel2b type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel2c type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel2d type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel2e type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode turret type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode sleeve type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel1a type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel1b type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel1d type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel1c type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel2a type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel2b type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel2d type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel2c type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
return(0);
}
corpsetype = 3;
explode hips type SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wing1 type SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel1a type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel1b type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel1c type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel1d type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel1e type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wing2 type SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel2a type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel2b type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel2c type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel2d type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode wheel2e type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode flashing type SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode turret type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode sleeve type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel1a type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel1b type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel1d type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel1c type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel2a type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel2b type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel2d type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
explode barrel2c type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
return(0);
}

[

???实在搞不明白到底哪的问题。。。。

把楼上两层删了吧,不是105行,是104行结尾少了一个“;”,妈的,写脚本写到眼花。。。。。。

顺便问一句,脚本器里面怎么能查看行数,有什么编辑器吗?我是为了数行数才发帖上来的。。。。:L

用notepad++就可以很方便的显示行数。那个编辑器,不知道有没有源码…

能不能依此做个巨炮 我是巨炮控

[

notepag++是辅助程序还是工具?

[

我什么也看不见。。。