Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsCog Forum → Hard steering...
Hard steering...
2004-06-14, 4:45 AM #1
I've come back a bit to add another feature to my guided Sentinel rocket for Nightfire, and I wanted to implement limited steering abilities, so the rocket can't turn so fast. This would be a similar effect to using "ParseArg(player, "maxrotvel=50");" or something like that, except that has no effect on ppl who use the mouse.
I thought this thread had what I was looking for (SM's Missile Warrior mod), but that's not exactly the effect I was after.
Any ideas on how to accomplish this? "get new alignment, do some crazy vector math, and set the alignment to a percentage of the full one" (GBK, approx wording).
Here's the code I was using, in case it sparks any ideas (it seems to have no effect on the difficulty of the steering).

btw, I'm not currently concerned with MP compatibility, as NF is primarily a SP mod -- all MP concerns are secondary.
Code:
# Jedi Knight Cog Script
#
# class_rocket2.cog
#
# JK Mod - Nightfire -- Sentinel Rockets (Guided)
#
# Class cog for rockets. Leaves smoketrail behind rocket and fires
#  "flame" pars behind it, too. Animates flame texture on rocket.
#  Also returns player to internal view if he's guiding rocket.
#
# This cog is a modified form of the default LEC 00_smoketrail.cog
# Runs on c/s flags to reduce lag
#
# Thanks to GBK and SaberMaster for inspiration on the hard-turning. -- if I ever get it to work, that is
#
# (C) 2004 JK Modification: Nightfire
# =======================================================================
flags=0x240

symbols

template  smoke=+smoketrail       local
template  flames=+flametrail      local
template  explode=+rocket_exp     local
template  CameraTpl=+Zoom_Cam     local

material  flamemat=flames.mat     local
material  mat0=redstatic0.mat     local

thing     player                  local
thing     rocket                  local
thing     dummy                   local
int       id                      local
int       i                       local

model     rocket0=rocket2-0.3do   local
model     rocket1=rocket2-1.3do   local
model     rocket2=rocket2-2.3do   local
model     rocket3=rocket2-3.3do   local
model     rocket4=rocket2-4.3do   local
model     rocket5=rocket2-5.3do   local
model     rocket6=rocket2-6.3do   local
model     rocket7=rocket2-7.3do   local
model     rocket8=rocket2-8.3do   local

flex      newx                    local
flex      newz                    local
flex      max=0.003               local

vector    rocketlook              local
vector    ghostlook               local

message   created
message   pulse
message   removed
message   damaged
message   timer

end
# =======================================================================
code
# .......................................................................
created:
	rocket = GetSenderRef();
	player = GetThingParent(rocket);
	SetThingPulse(rocket, 0.01);
	SetTimerEx(0.5, 0, 0, 0);
	MaterialAnim(flamemat, 10, 0x1);
	MaterialAnim(mat0, 10, 0x3);

Return;
# .......................................................................
pulse:
	rocket = GetSenderRef();
	//player = GetThingParent(rocket);
	player = GetLocalPlayerThing();
	CreateThing(smoke, rocket);
	CreateThing(flames, rocket);

	rocketlook = GetThingLVec(rocket);

	Dummy = FireProjectile(player, CameraTpl, -1, -1, '0 0 0', '0 0 0', 0, 0, 0, 0);
	ghostlook = GetThingLVec(dummy);
	newx = VectorX(ghostlook) - VectorX(rocketlook);
	if(newx > max) newx = max;
	if(newx < -max) newx = -max;
	newz = VectorZ(ghostlook) - VectorZ(rocketlook);
	if(newz > max) newz = max;
	if(newz < -max) newz = -max;
	Dummy = FireProjectile(player, CameraTpl, -1, -1, VectorSet(newx, 0, newz), '0 0 0', 0, 0, 0, 0);
	SetThingLook(rocket, GetThingLVec(dummy));
	SetThingVel(rocket, VectorScale(GetThingLVec(rocket), 2));
//	if(player == GetLocalPlayerThing())  //local player == rocket's pilot
	if(rocket != -1)
	{
		dummy = FireProjectile(rocket, CameraTpl, -1, -1, '0 0.042 0', '0 0 0', 0, 0, 0, 0);
		AttachThingToThingEx(dummy, rocket, 0x6);
		SetCameraFocus(0, dummy);
		if(GetCurrentCamera() == 1) CycleCamera();
	}

Return;
# .......................................................................
removed:
	rocket = GetSenderRef();
	SendMessage(GetInvCog(player, 7), user1);
	for(i = 0; i < 9; i = i + 1) KillTimerEx(i);
	CreateThing(explode, rocket);
	SetThingPulse(GetSenderRef(), 0);
	SetCameraFocus(0, player);

Return;
# .......................................................................
damaged:
	SendMessage(GetInvCog(player, 7), user1);
	for(i = 0; i < 9; i = i + 1) KillTimerEx(i);

Return;
# .......................................................................
timer:
	id = GetSenderID();
	if(id == 0)
	{
		ParseArg(rocket, "typeflags=0x24020c");
		// SetTypeFlags(rocket, 0x24020c);
		SetTimerEx(7.5, 1, 0, 0);
	}
	else if(id == 1)
	{
		SetThingModel(rocket, rocket0);
		SetTimerEx(1.5, 2, 0, 0);
	}
	else if(id == 2)
	{
		SetThingModel(rocket, rocket1);
		SetTimerEx(1.5, 3, 0, 0);
	}
	else if(id == 3)
	{
		SetThingModel(rocket, rocket2);
		SetTimerEx(1.25, 4, 0, 0);
	}
	else if(id == 4)
	{
		SetThingModel(rocket, rocket3);
		SetTimerEx(1.25, 5, 0, 0);
	}
	else if(id == 5)
	{
		SetThingModel(rocket, rocket4);
		SetTimerEx(1.0, 6, 0, 0);
	}
	else if(id == 6)
	{
		SetThingModel(rocket, rocket5);
		SetTimerEx(0.85, 7, 0, 0);
	}
	else if(id == 7)
	{
		SetThingModel(rocket, rocket6);
		SetTimerEx(0.75, 8, 0, 0);
	}
	else if(id == 8)
	{
		SetThingModel(rocket, rocket7);
		SetTimerEx(0.5, 9, 0, 0);
	}
	else if(id == 9)
	{
		SetThingModel(rocket, rocket8);
	}

Return;
# .......................................................................
end


------------------
nytfyre m0d || f33l t3h p0w3r || t3h l0st c0gz || OMF > *

[This message has been edited by Darth Slaw (edited June 14, 2004).]
May the mass times acceleration be with you.
2004-06-14, 10:42 AM #2
I think there are variables like maxrotvel in the templates. Try that in w/ParseArg

------------------
-There are easier things in life than finding a good woman, like nailing Jello to a tree, for instance

-Tazz
-There are easier things in life than finding a good woman, like nailing Jello to a tree, for instance

Tazz
2004-06-14, 12:50 PM #3
Quote:
<font face="Verdana, Arial" size="2">Originally posted by Darth Slaw:
This would be a similar effect to using "ParseArg(player, "maxrotvel=50");" or something like that, except that has no effect on ppl who use the mouse.</font>


------------------
nytfyre m0d || f33l t3h p0w3r || t3h l0st c0gz || OMF > *

[This message has been edited by Darth Slaw (edited June 14, 2004).]
May the mass times acceleration be with you.
2004-06-15, 2:38 PM #4
i dont know if it will help but heres a cog i made that does what it sounds like you want.
Code:
##########################################################
# Jedi Knight Cog Script  (JK)
#---------------------------------------------------------
# 00_SMOKETRAIL.COG
# -Leaves a smoke trail behind a moving object.
# -Allows the player to have control of the raildet.
# -Singleplayer only.
#---------------------------------------------------------
# Modified version of LEC's 00_smoketrail.cog
# Written By DSLS_DeathSythe
# This COG is NOT supported by LucasArts Entertainment Co.
##########################################################
flags=0x240
symbols
#---------------------------------------------------------
message     startup
message     created
message     removed
message     pulse
#--------------------#
thing       player=-1                        local
thing       rocket=-1                        local

thing       temp_thng=-1                     local
template    temp_tpl=+repeaterball           local

template    smoke=+smoke                     local
thing       dummy=-1                         local
int         smoke_count=0                    local

vector      old_lookVec                      local
int         old_camera=0                     local
int         count=0                          local

vector      look_dir                         local
flex        y_dir=0.0                        local
flex        z_dir=0.0                        local
flex        yaw_max=100.0                    local
flex        pitch_max=100.0                  local
#---------------------------------------------------------
end
#=========================================================
code
#---------------------------------------------------------
startup:
	player = GetLocalPlayerThing();
	rocket = -1;
return;
#---------------------------------------------------------
created:
	//-Only one rocket at time.
	//-If there is already one going, destroy it and
	// send the new one in the right direction.
	if(rocket != -1)
		{
		SetLifeLeft(rocket, 0.1);
		StopThing(GetSenderRef());
		SetThingLook(GetSenderRef(), old_lookVec);
		SetThingVel(rocket, VectorScale(GetThingLVec(rocket), 2));
		}
	else
		{
		old_lookVec = GetThingLVec(player);
		old_camera = GetCurrentCamera();
		}
	rocket = GetSenderRef();

	//-Let the rocket fly for 30 seconds...
	SetLifeLeft(rocket, 30.0);

	//-set 100 msec timer for smoke release and control stuff
	SetThingPulse(rocket, 0.01);

	//-Stop the rockets spinning...
	ParseArg(rocket, "angvel=(0.0/0.0/0.0)");
	SetWeaponFlags(rocket, 0x100);

	//-Stop the players movements, center his view, and adjust
	// the min and max headpitch...
	SetActorFlags(player, 0x40002);
	SetThingLook(player, '1.0 0 0');
	ParseArg(player, "minheadpitch=-90.00");
	ParseArg(player, "maxheadpitch=90.00");

	//-If the player isnt in internal view, switch cameras
	if(old_camera != 0) CycleCamera();
	SetCameraFocus(0, rocket);
	count = 0;
return;
#---------------------------------------------------------
removed:
	//-If its not the currently controlled rocket then ignore it...
	if(GetSenderRef() != rocket)
		return;
	//-Else reset all the players stuff...
	ClearActorFlags(player, 0x40000);
	SetCameraFocus(0, player);
	if(GetCurrentCamera() != old_camera) CycleCamera();
	SetThingLook(player, old_lookVec);
	ParseArg(player, "minheadpitch=-80.00");
	ParseArg(player, "maxheadpitch=80.00");
	rocket = -1;
return;
#---------------------------------------------------------
pulse:
	//-Dont let the smoke come out every pulse...
	smoke_count = smoke_count + 1;
	if(smoke_count >= 5)
		{
		//-create smoke at our current location
		dummy = CreateThing(smoke, GetSenderRef());
		smoke_count = 0;
		}

	//-Small delay before we take control of the rocket...
	if(count < 10)
		{
		count = count + 1;
		return;
		}
	else
		{
		//-Limit the players YAW movements...
		look_dir = GetThingLVec(player);
		if(VectorX(look_dir) < 0 && VectorY(look_dir) > 0)
			SetThingLook(player, '0 1.0 0');
		if(VectorX(look_dir) < 0 && VectorY(look_dir) < 0)
			SetThingLook(player, '0 -1.0 0');

		//-Get the playes true look vector...
		temp_thng = FireProjectile(player, temp_tpl, -1, -1, '0 0 0', '0 0 0', 1.0, 0x0, 0.0, 0.0);
		StopThing(temp_thng);
		SetLifeLeft(temp_thng, 0.02);
		SetThingFlags(temp_thng, 0x80000);
		look_dir = GetThingLVec(temp_thng);

		//-Adjust the rockets look by the players look_dir...
		y_dir = VectorY(look_dir) * yaw_max;
		z_dir = VectorZ(look_dir) * pitch_max;
		look_dir = VectorSet(z_dir, y_dir, 0.0);
		SetThingRotVel(rocket, look_dir);
		SetThingVel(rocket, VectorScale(GetThingLVec(rocket), 2));
		}
return;
##########################################################
end

look it over, test it, maybe you can use some of the code. the max turn speed is the yaw_max and pitch_max so adjust those if you think it needs to turn faster. the only problem is that some times the controls mess up and the rocket starts turning the wrong way. [FIXED]

its a little hard to control the rocket the first few tries but with a little practice it gets easier. use slow easy movements to control it. the rocket is not able to make real sharp turns, but it does ok for open areas.

i didnt make it for MP at all. i have no idea what would even happen if it was tried in MP.
i did try it in SP though, that was fun. [http://forums.massassi.net/html/biggrin.gif]

hope it helps you.

[Edit: updated the cog and fixed the problem of it flying in the wrong direction]

------------------
Famous last words - "It seemed like a good idea at the time."

[This message has been edited by DSLS_DeathSythe (edited June 16, 2004).]
Famous last words - "It seemed like a good idea at the time."
2004-06-16, 12:28 PM #5
Jeez, DeathSythe. You make me look bad [http://forums.massassi.net/html/smile.gif] [http://forums.massassi.net/html/wink.gif]
Thanks a lot! This is exactly what I was looking for! [http://forums.massassi.net/html/biggrin.gif]

Thanks again!

------------------
nytfyre m0d || f33l t3h p0w3r || t3h l0st c0gz || OMF > *
May the mass times acceleration be with you.
2004-06-17, 2:19 AM #6
i'm wouldent this make drivable vehicles a real possiblility?

------------------
I am Darth PJB!
well, go on, run away!

i have a plastic lightsaber and a jedi cape.. am i a nerd?

If gravity is a crule mistress, and bar tenders with bad grammar are untrustworthy, what is air?
I am Darth PJB!
well, go on, run away!

i have a plastic lightsaber and a jedi cape.. am i a nerd?

If gravity is a crule mistress, and bar tenders with bad grammar are untrustworthy, what is air?
2004-06-17, 5:00 PM #7
drivable vehicles are already a possibility. Now ground vehicles with PROPERLY moving tires and PHYSICS would be nice, yet impossible.

------------------
Sam: "Sir we can't call it 'The Enterprise'"
Jack: "Why not!"
Sam: "Sir we can't call it 'The Enterprise'"
Jack: "Why not!"
2004-06-18, 5:51 PM #8
Please impliment MP, since you know, all of the MP levels I'll be making for NF would love to have that rocket launcher in it.

JediKirby

------------------
-Proud Leader of the Minnessassian Council
<]-[ellequin> Nothing is quite as satisfying as placing a .177 lead pellet in between the eyes of a cat.
<]-[ellequin> I think I will leave it's corpse there, to warn all the other cats to keep out of my hibiscus patch

Live on, Adam.
ᵗʰᵉᵇˢᵍ๒ᵍᵐᵃᶥᶫ∙ᶜᵒᵐ
ᴸᶥᵛᵉ ᴼᵑ ᴬᵈᵃᵐ
2004-06-19, 11:15 AM #9
I'll definitely try, since I would LOVE to get ppl like that, but chances are it would be rather laggy. But still, heh, I'll try...

------------------
nytfyre m0d || f33l t3h p0w3r || t3h l0st c0gz || OMF > *
May the mass times acceleration be with you.
2004-06-19, 3:37 PM #10
A long while back, i created an guided missile (with effects) that the player could control by steering with the keyboard or mouse.

I called it the Redeemer (LuNaTiK guided missle) Dont know if this is any help, but you might want to take a look at it and figure out how i did it, most functions that are important are labeled....

_____________________________________________

#########################################################
# [Redeemer (LuNaTiK Guided Missile)] #
# WEAP_SABER.COG #
# Bin 10 #
#**********(C) 2002 by << EAH_XxLuNaTiKxX >>************#
#**********************Passes C/S***********************#
#########################################################

symbols

message startup
message activated
message autoselect
message selected
message deselected
message killed
message pulse
message timer
message fire
message newplayer

model povModel=conv.3do local //internal model
model saberMesh=cong.3do local //external model
keyframe mountAnim=ConVmnt.key local //mounting keyframe

template dismountAnim=+concbullet local //main projectile
template holdAnim=+punch local //head pitch
template povSnapAnim1=darkside local //fake camera
template povSnapAnim2=+ssparks_saber local //flash
template povSnapAnim3=+conccloud local //aura
template povPreFireAnim=+raildet_exp2 local //explosion
message user1 //UNUSED
message user2 //UNUSED
message user4 //UNUSED
template povFireAnimB2=+debris_exp local //explosion 2
message removed //removed message
template povFireAnimR1=+force_lightning local //lightning

template povChargeAnim=x local //this block is UNUSED
template povPreBlockAnim=x local
template preFireAnimL=X local
template preFireAnimR=X local
template fireAnimF1=X local
template fireAnimF2=x local
template fireAnimB1=x local
template fireAnimB2=X local
template fireAnimL1=X local
template fireAnimR1=x local
template snapAnim1=x local
template snapAnim2=x local
template snapAnim3=x local
template chargeAnim=X local
template preBlockAnim=X local
template holsterAnim=x local
sound dismountSound=x.WAV local

sound mountSound=df_rif_ready.WAV local //mount sound
sound hitSound01=16metalgroan03.wav local //launch sound
sound hitSound02=tieenginewhine01.wav local //doom sound

sound hitSound03=x.WAV local //this block is UNUSED
sound hitSound12=x.WAV local
sound hitSound14=x.WAV local
sound swingSound01=x.WAV local
sound swingSound02=x.WAV local
sound swingSound03=x.WAV local
template swingSound04=x local
template swingSound05=X local
template swingSound06=X local
template swingSound07=X local
template swingSound08=X local
template swingSoundDbl01=x local
template humSound01=x local

# ........................................................................................

flex damage local
flex bladeLen local
flex holsterWait local

thing player local
thing antagonist local

vector ppos local
vector apos local
vector diff local
vector thrust local

flex damage local
flex type local
flex dot local

int mountAnimID local
int preAnimID local
int povPreAnimID local
int slashAnimID local
int povSlashAnimID local

int mode local
int slash local
int nextAttack local
int humChannel local
int holsterTrack local
int slashSound local

int assign local
int nosaber local

vector shakePos local
vector shakeAngle local

cog kyleCog local

end

# ========================================================================================

code

########################################################
player = GetLocalPlayerThing();
kyleCog = GetThingClassCog(player);
ClearActorFlags(player, 0x2000);
jkDisableSaber(player);
slash = 0;
nextAttack = 0;
slashAnimID=-1;
povSlashAnimID=-1;
return;
id = GetSenderId();
if (id == 0)
{
PlaySoundThing(mountSound, player, 1.0, -1, -1, 0x80);
humChannel = PlaySoundThing(humSound01, player, 1.0, -1, -1, 0x81);
jkSetFlags(player, 0x5);
}
else
if (id == 1)
{
if (nosaber == 0)
SetActorFlags(player, 0x2000);
}
else
if (id == 2)
{
StopKey(player, holsterTrack, 0.0);
}
return;
assign = GetSenderRef();
if ((jkGetSaberCam() == 1) && (GetCurrentCamera() == 0) && (GetPrimaryFocus(0) == player))
CycleCamera();
jkSetPOVModel( player, povModel );
SetArmedMode( player, 2 );
jkSetWeaponMesh( player, saberMesh );
jkSetWaggle(player, '10.0 7.0 0.0', 350);
if (assign == 0)
{
PlayMode(player, 42);
mountAnimID = jkPlayPOVKey( player, mountAnim, 0, 0x14 );
SetTimerEx(0.7, 0, 0, 0);
}
else
{
mountAnimID = jkPlayPOVKey( player, holdAnim, 0, 0x14 );
humChannel = PlaySoundThing(humSound01, player, 1.0, -1, -1, 0x81);
jkSetFlags(player, 0x80);
}
SetMountWait(player, GetKeyLen(mountAnim));
SetCurWeapon( player, 10 );
SetActorFlags(player, 0x2000);
jkDisableSaber(player);
nosaber = 0;
return;
if ((jkGetSaberCam() == 1) && (GetCurrentCamera() == 1) && (GetPrimaryFocus(1) == player))
CycleCamera();
jkSetFlags(player, 0x8);
PlaySoundThing(dismountSound, player, 1.0, -1, -1, 0x80);
jkPlayPOVKey( player, dismountAnim, 0, 18 );
holsterWait = GetKeyLen(holsterAnim);
SetMountWait(player, holsterWait);
holsterTrack = PlayKey(player, holsterAnim, 1, 0x4);
SetTimerEx(holsterWait, 2, 0.0, 0.0);
if(mountAnimID != -1)
{
jkStopPOVKey( player, mountAnimID, 0 );
mountAnimID = -1;
}
jkSetWaggle(player, '0.0 0.0 0.0', 0);
slash = 0;

# ........................................................................................

selected:
Print("Redeemer [LuNaTiK Guided Missile]");
PlayMode(player, 41); //duplication of weap_concrifle's selected: message, simply because I can ;p
jkSetPOVModel(player, povModel);
SetArmedMode(player, 1);
jkSetWeaponMesh(player, saberMesh);
jkSetWaggle(player, VectorSet(10.0, 7.0, 0.0), 350);
PlaySoundThing(mountSound, player, 1.0, -1.0, -1.0, 0x80);
trackID = jkPlayPOVKey(player, mountAnim, 0, 20);
SetMountWait(player, GetKeyLen(mountAnim));
jkClearFlags(player, 0x5);
SetCurWeapon(player, 10);
Return;

activated:
if(!on)
{
on = 1;
redeemer = FireProjectile(player, dismountAnim, hitSound01, 18, NULL, NULL, 1.0, 0x1, 90, 90);
camera = CreateThing(povSnapAnim1, redeemer);
SetThingRotVel(camera, VectorSet(0, 0, 0));
SetLifeLeft(camera, 9999.0);
AttachThingToThingEx(camera, redeemer, 0x8);
SetLifeLeft(redeemer, 9999.0);
SetThingCurGeoMode(camera, 0);
cam_mode = GetCurrentCamera();
SetCameraFocus(cam_mode, camera);
SetActorFlags(player, 0x188);
SetThingFlags(player, 0x110);
CaptureThing(redeemer); //I wonder what this will do? [http://forums.massassi.net/html/smile.gif]
effects = 0;
first = 0;
SetPulse(.03);
}
Return;

pulse:
pitch = FireProjectile(player, holdAnim, -1, -1, NULL, NULL, 0, 0, 0, 0);
zSetThingCurGeoMode(pitch, 0);
aimvec = GetThingLVec(pitch);
SetThingLook(redeemer, aimvec);
SetThingLook(camera, aimvec);
SetThingVel(redeemer, VectorScale(aimvec, 2.0));
DestroyThing(pitch);
effects = effects + 1;
if(effects % 20 == 0)
{
CreateThing(povFireAnimR1, redeemer);
PlaySoundThing(hitSound02, redeemer, 1.0, -1, -1, 0x80);
}
Return;

killed:
newplayer:
deselected:
if(on)
{
DestroyThing(redeemer);
no_more:
if(!first)
{
SetCameraFocus(cam_mode, player);
ClearActorFlags(player, 0x188);
ClearThingFlags(player, 0x110);
SetPulse(0);
ReleaseThing(redeemer);
go = 1;
for(i = 0; i < GetNumPlayers() && go == 1; i = i + 1)
{
potential = GetPlayerThing(i);
dist = VectorDist(GetThingPos(camera), GetThingPos(potential));
if(dist < 1.0 && potential != player)
{
victim = potential;
go = 0;
}
else
{
victim = -1;
}
}
count = 0;
SetTimerEx(0.01, camera, 0, 0);
}
}
Return;

removed:
if(on && GetSenderRef() == redeemer)
{
call no_more;
first = 1;
}
Return;

timer:
if(on)
{
if(victim != -1)
{
jkSetTarget(victim);
TeleportThing(victim, camera);
ClearActorFlags(victim, 0x8188);
ClearThingFlags(victim, 0xFFFFDF99);
SetThingHealth(victim, 1);
DamageThing(victim, 9999999999999999e99999999999999, 0xABCDEF, player);
ClearThingFlags(victim, 0x21088A1C);
}
if(count % 3 == 0) CreateThing(povSnapAnim2, camera);
aura2 = CreateThing(povSnapAnim3, camera);
SetThingLook(aura2, RandVec());
CreateThing(povPreFireAnim, camera);
CreateThing(povFireAnimB2, camera);
count = count + 1;
if(count < 10)
{
SetTimerEx(0.1, camera, 0, 0);
}
else
if(count >= 10)
{
KillTimerEx(camera);
DetachThing(camera);
DestroyThing(camera);
on = 0;
jkEndTarget();
}
}
Return;

startup:
player = GetLocalPlayerThing();
on = 0;
jkSetTargetColors(56, 4, 2);
Return;

autoselect:
ReturnEx(999);
Return;


//now THIS is a huge resource...
x(x(x(x, x, x, x)));
for(x; x < x; x = x + 1);
{}
if((-x() != x) && (x(x()) == x) && (x(x())))
{ X(x);}
x;
x;
{
if(x(x) > x)
{
x(x, x, x, x);
}
X = x(x, x, x, x);
if(X != -x)
{
if(x != x)
{
x(x, x(x));
x(x, x);
x();
X(x, X(x(x), x(x)));
x(X, X(X(x), x));
}}
}
x();
if(x == X)
{
x(x, X, -X, -x, x, x, x, x, X, X);
x(X, x(x), -x, -x, x, '0.0 0.0 0.0', x, X, x, X);
x(X, x(x), -x, -x, x, X, 0, 0, x, X);
x = x(x, x, x, x);
x(x, x);
x(x, x);
x(x, x);
x(X, '0.0 0.0 0.0');
x(x, x, x, x);
}
else
if(X == x)
{
x(x, x, -x, -x, X, X, X, x, x, x);
X(x, x, -x, -x, x, x(x, x, x), x, X, X, x);
X(x, x, -x, -x, x, x(x, x, x), x, X, x, X);
X(X, X, -x, -x, x, x(x, x, x), x, X, X, x);
X(X, x(x), -x, -x, x, x(X, -x, x), X, x, x, x);
}
else
if(x == X)
{
x(x(x), x, x, -x, -x, x);
X = x(x, x, x, x);
x(x);
}
else
if(x == X)
{
x = x(x, x, x, x);
x(x, x(x));
}
else
{
x= x(X, X, -x, -x, x, X, x, X, x, X);
x(x);
if(x >= x)
{
x(x, x);
}
x(x, x);
x(x, x(x(x), x));
if(x <= x)
{
x(x, x);
x(x, x, x, x), x, x, x, x;
}}


end

# EAH_XxLuNaTiKxX

And Hell, it passes checksum #

------------------
eternity is the now ~ that never was

[This message has been edited by EAH_XxLuNaTiKxX (edited June 20, 2004).]

[This message has been edited by EAH_XxLuNaTiKxX (edited June 20, 2004).]
2004-06-19, 5:16 PM #11
Holy Crap its eah lunatik.

------------------
~Nightfire Mod~
Spoting an error in post will result in a $100 reward.
Offer expires on 6/6/06. Valid one per customer, per day.

Rangi
2004-06-20, 5:22 AM #12
the idea of guided rockets in MP was fun enough to keep me interested.
i got it working in MP, but it still has a few little bugs.
i can post the cogs later if you want, after i fix the problems.

------------------
Famous last words - "It seemed like a good idea at the time."
Famous last words - "It seemed like a good idea at the time."

↑ Up to the top!