Turrets not aiming

Turrets not aiming

Discuss your problems with the latest release of the engine here. Problems with games, maps or other utilities belong in their respective forums.

Moderator: Moderators

Post Reply
User avatar
Guessmyname
Posts: 3301
Joined: 28 Apr 2005, 21:07

Turrets not aiming

Post by Guessmyname »

I'm beginning to think that AimWeaponX doesn't use heading and pitch infomation:

Check through the script. It should work. But it doesn't - nothing aims, and because of the wait-for-turns to prevent pre-aim firing, nothing shoots.

Code: Select all

piece base, body, bolter1, b1flare, lascannon, lflare, turret, barrelp1, barrelp2, cflare, bolter2, b2flare;

static-var restore_delay;
#define	SIG_AIM1	2
#define	SIG_AIM2	4
#define	SIG_AIM3	8
#define SMOKEPIECE1 base
#include "smokeunit.h"
#include "exptype.h"
#include "rockunit.h"
#include "hitweap.h"


Create()
	{
	restore_delay = 2000;
	hide cflare;
	hide lflare;
	hide b1flare;
	hide b2flare;
	start-script SmokeUnit();
	}

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

RestoreAfterDelay()
	{
	sleep restore_delay;
	turn turret to y-axis <0> speed <20>;
	turn barrelp1 to x-axis <0> speed <20>;
	turn lascannon to y-axis <0> speed <40>;
	turn lascannon to x-axis <0> speed <40>;
	turn bolter1 to y-axis <0> speed <50>;
	turn bolter1 to x-axis <0> speed <50>;
	turn bolter2 to y-axis <0> speed <50>;
	turn bolter2 to x-axis <0> speed <50>;
	return 0;
	}

SweetSpot (piecenum)
	{
	piecenum = base;
	}

QueryWeapon1 (piecenum)
	{
	piecenum = cflare;
	}

AimFromWeapon1 (piecenum)
	{
	piecenum = turret;
	}

AimWeapon1(heading, pitch)
	{
	signal SIG_AIM1;
	set-signal-mask SIG_AIM1;
	turn turret to y-axis heading speed <50>;
	turn barrelp1 to x-axis (0-pitch) speed <30>;
	wait-for-turn turret around y-axis;
	wait-for-turn barrelp1 around x-axis;
	start-script RestoreAfterDelay();
	return(TRUE);
	}

FireWeapon1()
	{
	show cflare;
	move barrelp2 to z-axis [-2] speed [100];
	sleep 150;
	hide cflare;
	move barrelp2 to z-axis [0] speed [20];
	return(0);
	}

QueryWeapon2(piecenum)
	{
	piecenum = lflare;
	}

AimFromWeapon2(piecenum)
	{
	piecenum = lascannon;
	}

AimWeapon2(heading, pitch)
	{
	signal SIG_AIM2;
	set-signal-mask SIG_AIM2;
	turn lascannon to y-axis heading speed <40>;
	turn lascannon to x-axis (0-pitch) speed <30>;
	wait-for-turn lascannon around y-axis;
	wait-for-turn lascannon around x-axis;
	start-script RestoreAfterDelay();
	return(TRUE);
	}

FireWeapon2()
	{
	show lflare;
	move lascannon to z-axis [-1] speed [100];
	sleep 150;
	hide lflare;
	move lascannon to z-axis [0] speed [30];
	return(0);
	}

QueryWeapon3(piecenum)
	{
	piecenum = b1flare;
	}

AimFromWeapon3(piecenum)
	{
	piecenum = bolter1;
	}

AimWeapon3(heading, pitch)
	{
	signal SIG_AIM3;
	set-signal-mask SIG_AIM3;
	turn bolter1 to y-axis heading speed <50>;
	turn bolter1 to x-axis (0-pitch) speed <30>;
	wait-for-turn bolter1 around y-axis;
	wait-for-turn bolter1 around x-axis;
	start-script RestoreAfterDelay();
	return(TRUE);
	}

FireWeapon3()
	{
	show b1flare;
	sleep 150;
	hide b1flare;
	return(0);
	}

QueryWeapon4(piecenum)
	{
	piecenum = b1flare;
	}

AimFromWeapon4(piecenum)
	{
	piecenum = bolter1;
	}

AimWeapon4(heading, pitch)
	{
	signal SIG_AIM3;
	set-signal-mask SIG_AIM3;
	turn bolter2 to y-axis heading speed <50>;
	turn bolter2 to x-axis (0-pitch) speed <30>;
	wait-for-turn bolter2 around y-axis;
	wait-for-turn bolter2 around x-axis;
	start-script RestoreAfterDelay();
	return(TRUE);
	}

FireWeapon4()
	{
	show b2flare;
	sleep 150;
	hide b2flare;
	return(0);
	}

Killed(severity, corpsetype)
	{
	if (severity <= 25)
		{
		corpsetype = 1;
		explode body type	BITMAPONLY | BITMAP1;
		explode bolter1 type	BITMAPONLY | BITMAP1;
		explode lascannon type	BITMAPONLY | BITMAP1;
		explode turret type	BITMAPONLY | BITMAP1;
		explode barrelp1 type	BITMAPONLY | BITMAP1;
		explode barrelp2 type	BITMAPONLY | BITMAP1;
		explode bolter2 type	BITMAPONLY | BITMAP1;
		return(0);
		}
	if (severity <= 50)
		{
		corpsetype = 2;
		explode body type	SHATTER | BITMAP4;
		explode bolter1 type	SHATTER | BITMAP4;
		explode lascannon type	SHATTER | BITMAP4;
		explode turret type	SHATTER | BITMAP4;
		explode barrelp1 type	SHATTER | BITMAP4;
		explode barrelp2 type	SHATTER | BITMAP4;
		explode bolter2 type	SHATTER | BITMAP4;
		return(0);
		}
	corpsetype = 3;
	explode body type	SHATTER | BITMAP4;
	explode bolter1 type	FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
	explode lascannon type	FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
	explode turret type	FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
	explode barrelp1 type	SHATTER | BITMAP4;
	explode barrelp2 type	SHATTER | BITMAP4;
	explode bolter2 type	FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2;
	return(0);
	}
Post Reply

Return to “Help & Bugs”