Specific part of the transport, or specific part of the loaded unit?Snipawolf wrote:250 times? Nope.
Is there any way to make a transport load units up at a specific part or parts?
Yes to the former, anyway
Moderator: Moderators
On a more useful note, Scriptor.Abokasee wrote:whats something good which I can do animations (you know the .cob files) on? because, like most people I can't understand the ramdom letters and numbers which it uses.
Is it worth it?P3374H wrote:On a more useful note, Scriptor.Abokasee wrote:whats something good which I can do animations (you know the .cob files) on? because, like most people I can't understand the ramdom letters and numbers which it uses.
Though writing a compiled cob in a hex editor would give you 1259 awesomeness points.
Code: Select all
piece base, cannon, turret, barrel, tread1, tread2;
static-var restore_delay, moving;
#define SIG_AIM 2
Treads()
{
While(moving);
hide tread1;
show tread2;
sleep 100;
}
Create()
{
restore_delay = rand(1980,2020);
hide tread2;
set moving to 0;
start-script Treads();
}
StartMove()
{
set moving to 1;
}
StopMove()
{
set moving to 0;
}
RestoreAfterDelay()
{
sleep restore_delay;
turn turret to y-axis <0> speed <70>;
}
AimPrimary(heading, pitch)
{
signal SIG_AIM;
set-signal-mask SIG_AIM;
turn turret to y-axis heading speed <70>;
turn cannon to x-axis (0-pitch) speed <50>;
wait-for-turn turret around y-axis;
wait-for-turn cannon around x-axis;
return (1);
}
AimFromPrimary(piecenum)
{
piecenum = turret;
}
QueryPrimary(piecenum)
{
piecenum = barrel;
}
SweetSpot(piecenum)
{
piecenum = base;
}
Code: Select all
Treads()
{
While(1)
{
if(moving)
{
hide tread1;
show tread2;
sleep 100;
hide tread2;
show tread3;
sleep 100;
hide tread3;
show tread1;
sleep 100;
}
sleep 100;
}
}
Code: Select all
StartMove()
{
moving = 1;
}
StopMove()
{
moving = 0;
}
This is what crashes Spring. You have an infinite loop here without any delays in it. This is what it probably should have been:Snipawolf wrote:Code: Select all
... Treads() { While(moving); hide tread1; show tread2; sleep 100; } ...
Code: Select all
while(TRUE)
{
if(moving)
{
hide tread1;
show tread2;
sleep 100;
hide tread2;
show tread1;
}
sleep 100;
}
Code: Select all
set moving to 0;
Code: Select all
Activate()
{
set ACTIVATION to 1;
}
Code: Select all
static-var origSpeed;
...
Create()
{
...
origSpeed = get MAX_SPEED;
...
}
...
AimWeapon1()
{
var curMaxSpeed;
curMaxSpeed = origSpeed/1000;
set MAX_SPEED to curMaxSpeed;
...
start-script RestoreWeapon1();
}
RestoreWeapon1()
{
...
set MAX_SPEED to origSpeed;
...
}
Code: Select all
#define TA // This is a TA script
#include "sfxtype.h"
#include "exptype.h"
piece base, jets, wing1, wing2, nose, vertjet1, vertjet2, turret1, barrel1, flare1,
turret2, barrel2, flare2, turret3, barrel3, flare3;
static-var Static_Var_1, Static_Var_2;
activatescr()
{
if( TRUE )
{
turn jets to x-axis <0.> now;
turn jets to x-axis <90.> speed <62.>;
turn wing1 to y-axis <0.> now;
turn wing1 to y-axis <-91.> speed <62.>;
turn wing2 to y-axis <0.> now;
turn wing2 to y-axis <90.> speed <62.>;
sleep 1457;
}
sleep 6;
}
deactivatescr()
{
if( TRUE )
{
turn jets to x-axis <90.> now;
turn jets to x-axis <0.> speed <62.>;
turn wing1 to y-axis <-91.> now;
turn wing1 to y-axis <0.> speed <63.>;
turn wing2 to y-axis <90.> now;
turn wing2 to y-axis <0.> speed <62.>;
sleep 1446;
}
sleep 4;
}
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;
}
}
InitState()
{
Static_Var_1 = 1;
Static_Var_2 = 0;
}
RequestState(requestedstate, currentstate)
{
if( Static_Var_2 )
{
Static_Var_1 = requestedstate;
return (0);
}
Static_Var_2 = 1;
currentstate = Static_Var_1;
Static_Var_1 = requestedstate;
while( Static_Var_1 != currentstate )
{
if( Static_Var_1 == 0 )
{
call-script activatescr();
currentstate = 0;
}
if( Static_Var_1 == 1 )
{
call-script deactivatescr();
currentstate = 1;
}
}
Static_Var_2 = 0;
}
Create()
{
call-script InitState();
start-script SmokeUnit();
hide flare1;
hide flare2;
hide flare3;
turn turret1 to y-axis <-45> now;
turn turret2 to y-axis <180> now;
turn turret3 to y-axis <45> now;
}
Activate()
{
start-script RequestState(0);
}
Deactivate()
{
start-script RequestState(1);
}
RestoreAfterDelay()
{
sleep 5000;
turn turret1 to y-axis <-45> speed <90.>;
turn turret1 to x-axis <0.> speed <90.>;
turn turret2 to y-axis <180> speed <90.>;
turn turret2 to x-axis <0.> speed <90.>;
turn turret3 to y-axis <45> speed <90.>;
turn turret3 to x-axis <0.> speed <90.>;
wait-for-turn turret1 around y-axis;
wait-for-turn turret1 around x-axis;
wait-for-turn turret2 around y-axis;
wait-for-turn turret2 around x-axis;
wait-for-turn turret3 around y-axis;
wait-for-turn turret3 around x-axis;
}
//Bombs
QueryWeapon1(piecenum)
{
piecenum = base;
}
//NorthWest Turret
AimWeapon2(heading, pitch)
{
signal 4;
set-signal-mask 0;
set-signal-mask 4;
turn turret1 to y-axis heading speed <280.>;
turn turret1 to x-axis <0.> - pitch speed <280.>;
wait-for-turn turret1 around y-axis;
wait-for-turn turret1 around x-axis;
start-script RestoreAfterDelay();
return (1);
}
QueryWeapon2(piecenum)
{
piecenum = flare1;
}
AimFromWeapon2(piecenum)
{
piecenum = turret1;
}
//South Turret
AimWeapon3(heading, pitch)
{
signal 8;
set-signal-mask 0;
set-signal-mask 8;
turn turret2 to y-axis heading speed <280.>;
turn turret2 to x-axis <0.> - pitch speed <280.>;
wait-for-turn turret2 around y-axis;
wait-for-turn turret2 around x-axis;
start-script RestoreAfterDelay();
return (1);
}
QueryWeapon3(piecenum)
{
piecenum = flare2;
}
AimFromWeapon3(piecenum)
{
piecenum = turret2;
}
//NorthEast Turret
AimWeapon4(heading, pitch)
{
signal 16;
set-signal-mask 0;
set-signal-mask 16;
turn turret3 to y-axis heading speed <280.>;
turn turret3 to x-axis <0.> - pitch speed <280.>;
wait-for-turn turret3 around y-axis;
wait-for-turn turret3 around x-axis;
start-script RestoreAfterDelay();
return (1);
}
QueryWeapon4(piecenum)
{
piecenum = flare3;
}
AimFromWeapon4(piecenum)
{
piecenum = turret3;
}
Killed(severity, corpsetype)