附带目前所有上马战车类单位全家福。。。
大大 做到多少嚕?
期待 還是期待
从0%着手开始弄,到现在有半年了,现在能到10%就不错,后面肯定对Arm和Core还要修改一下,为了能跟新种族匹配上。。。。按照这个速度弄,大概要5年~~~~~~~~~~~~~~~~~到时候国家都研究出一类新药了。。。
雷神,狂风等名字就很酷
火锅,麻辣烫这些名字也可以
最好给个中英文对照的
汽车人变形~~~
[
齐~齐~卡~卡。。。。。变不了形啦,狐狸给下诊断书了,说是目前没有用脚本控制单位是否移动的办法,我发贴到TAU去问,目前似乎还没人给答案,估计是不行了。。。
我问过花猫,变形单位处理是比较麻烦。
目前塘鸭那个形式是最可行的,我打算先利用塘鸭的脚本方案做一个会游泳的机甲,设想比较简单,我之前做过一个单腿蹦的机甲,两栖兵种,入水后改移动方式为潜艇,在水下游泳前进。。。
关于变形的方案,我想到过一些,但基本上都是基于对地形识别来实习的,并不是很理想,再有就是通过手动操作实现,会非常复杂,而且也不太符合TA的风格,AI会如何反应,这些都存在潜在风险。。。
[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++是辅助程序还是工具?
[
我什么也看不见。。。