great UT mysteries

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

tarquin

design is flawed
Oct 11, 2000
3,945
0
36
UK
www.planetunreal.com
There may be no answers to these questions, and there may be no point in asking them, other than they've been bugging me for a while... that and they'll give Nuclear Fuzz Grunge a few sleepless nights, bhahahaha :p

number 1:
the movers in DM-Stalwart that cover some of the crates.
ga? They're set to TriggerOpenTimed, but there's no trigger that matches the tag? Do they actually ever open?
What about the secret area in the XL version of that map. Same thing -- no trigger.

number 2:
just what the heck is this texture doing in NaliFX pack? it's not used anywhere is it? or is it....?
what did they plan on using it for? :con:
(secret code, secret code!!!!! :D )
 

Stryker8

New Member
Jan 26, 2000
4,565
0
0
that texture was used in unreal 1, a signpost on a bar, near the nali castle i think
 

The ultimate novice

It's MY island!
Feb 14, 2001
781
0
0
Gator Country
Visit site
Wouldn't you have to select the trigger to see the line?
Perhaps there is something else that has the event associated with it, like another mover, or a player start. Anything can be given an event. What we need is a "find actors with [event/tag] = xxxxxxx" function. Then we could find the culprit!
 

Postal

I apear to have lost my pin.
Nov 14, 1999
1,388
0
0
WoD.BeyondUnreal.com
What I wonder is why did the unreal guys leave a buggy quadshot mesh in, while from early interviews they said that there will be no shotgun or double shotguns, and at a different time that they had a working quad shotgun
 

LoTekK

Peon
Jul 26, 2001
1,385
0
0
Washington, DC
Never mind, I got it. Those SOBs are damage triggered.
yeah, they open when shot to reveal a big keg o' health...
honestly, i'm surprised tarquin managed to get stumped by something as basic as that... :D
 

tarquin

design is flawed
Oct 11, 2000
3,945
0
36
UK
www.planetunreal.com
DamageTriggered... well well well...
*ahem* moving swiftly on to... the QUADSHOT!
*cough* :D

actually I don't think I'd ever heard of damagetriggered movers. blush.
 

Cursed_Soul

Now known as Luos_83
Jan 13, 2001
4,206
4
38
40
dordrecht
www.vladderbeest.com
now fot why it isnt working in ut... did you ever looked at the code????

//=============================================================================
// QuadShot.
//=============================================================================
class QuadShot extends Weapon;

#exec MESH IMPORT MESH=QuadShotPickup ANIVFILE=MODELS\aniv25.3D DATAFILE=MODELS\data25.3D X=0 Y=0 Z=0
#exec MESH ORIGIN MESH=QuadShotPickup X=0 Y=0 Z=0 YAW=0
#exec MESH SEQUENCE MESH=QuadShotPickup SEQ=All STARTFRAME=0 NUMFRAMES=1
#exec TEXTURE IMPORT NAME=GunPick1 FILE=MODELS\quadhand.PCX GROUP="Skins"
#exec MESHMAP SCALE MESHMAP=QuadShotPickup X=0.04 Y=0.04 Z=0.08
#exec MESHMAP SETTEXTURE MESHMAP=QuadShotPickup NUM=4 TEXTURE=GunPick1

#exec MESH IMPORT MESH=QuadShotHeld ANIVFILE=MODELS\aniv20.3D DATAFILE=MODELS\data20.3D X=0 Y=0 Z=0
#exec MESH ORIGIN MESH=QuadShotHeld X=0 Y=0 Z=0 YAW=128
#exec MESH SEQUENCE MESH=QuadShotHeld SEQ=All STARTFRAME=0 NUMFRAMES=30
#exec MESH SEQUENCE MESH=QuadShotHeld SEQ=Fire STARTFRAME=0 NUMFRAMES=9
#exec MESH SEQUENCE MESH=QuadShotHeld SEQ=Reload STARTFRAME=8 NUMFRAMES=21
#exec TEXTURE IMPORT NAME=QuadHand1 FILE=MODELS\QUADHAND.PCX GROUP="Skins"
#exec MESHMAP SCALE MESHMAP=QuadShotHeld X=0.04 Y=0.04 Z=0.08
#exec MESHMAP SETTEXTURE MESHMAP=QuadShotHeld NUM=4 TEXTURE=QuadHand1


and the code when working is:

//--------------------
// AHT.QuadShotGun
//--------------------
class QuadShotGun expands AHT_Weapon;


// Vue bonus
#exec MESH IMPORT MESH=QuadShotPickup ANIVFILE=MODELS\aniv25.3D DATAFILE=MODELS\data25.3D X=0 Y=0 Z=0
#exec MESH ORIGIN MESH=QuadShotPickup X=0 Y=0 Z=0 YAW=0
#exec MESH SEQUENCE MESH=QuadShotPickup SEQ=All STARTFRAME=0 NUMFRAMES=1
#exec TEXTURE IMPORT NAME=GunPick1 FILE=MODELS\quadhand.PCX GROUP="Skins"
#exec MESHMAP SCALE MESHMAP=QuadShotPickup X=0.04 Y=0.04 Z=0.08
#exec MESHMAP SETTEXTURE MESHMAP=QuadShotPickup NUM=4 TEXTURE=GunPick1

// Vue joueur & Vue 3ème personne
#exec MESH IMPORT MESH=QuadShotHeld ANIVFILE=MODELS\aniv20.3D DATAFILE=MODELS\data20.3D X=0 Y=0 Z=0
#exec MESH ORIGIN MESH=QuadShotHeld X=0 Y=0 Z=0 YAW=128
#exec MESH SEQUENCE MESH=QuadShotHeld SEQ=All STARTFRAME=0 NUMFRAMES=30
#exec MESH SEQUENCE MESH=QuadShotHeld SEQ=Fire STARTFRAME=0 NUMFRAMES=9
#exec MESH SEQUENCE MESH=QuadShotHeld SEQ=Reload STARTFRAME=8 NUMFRAMES=21
#exec TEXTURE IMPORT NAME=QuadHand1 FILE=MODELS\QUADHAND.PCX GROUP="Skins"
#exec MESHMAP SCALE MESHMAP=QuadShotHeld X=0.04 Y=0.04 Z=0.08
#exec MESHMAP SETTEXTURE MESHMAP=QuadShotHeld NUM=4 TEXTURE=QuadHand1

var vector x, y, z;
var UT_ShellCase ut_SC;
var() int hitdamage;
var float Accuracy, AltAccuracy;


//************************
// Sélection de l'arme
//************************
function PlaySelect()
{
PlayAnim('Reload', 1.25, 0.05);
Owner.PlayOwnedSound(SelectSound, SLOT_None,1.5*Pawn(Owner).SoundDampening);
}


//*****************
// Tir primaire
//*****************
function Fire( float Value )
{
local vector StartLocation, X, Y, Z;

if(AmmoType.UseAmmo(1))
{
GotoState('NormalFire');
bCanClientFire = true;
bPointing=True;
ClientFire(value);
Pawn(Owner).PlayRecoil(FiringSpeed);
StartLocation = Owner.Location + CalcDrawOffset();
Spawn(class'WeaponLight',,,StartLocation+X*20,Rot(0,0,0));
TraceFire(1.5);
TraceFire(1.5);
TraceFire(1.5);
TraceFire(1.5);
TraceFire(1.5);

if(ClipCount == 0)
{
GotoState('Reload');
}
}
}

function PlayFiring()
{
ClipCount--;
bMuzzleFlash++;
Owner.PlaySound(FireSound, SLOT_None,1.0*Pawn(Owner).SoundDampening);
PlayAnim('Fire', 1.35);
}

state NormalFire
{
ignores Fire, AltFire;

function EndState()
{
Super.EndState();
OldFlashCount = FlashCount;
}

Begin:
FlashCount++;
FinishAnim();
}


//*******************
// Tir secondaire
//*******************
function AltFire( float Value )
{
local vector Start, X, Y, Z;

if((AmmoType.AmmoAmount > 3)
&& (ClipCount == 4))
{
if(AmmoType.UseAmmo(4))
{
GotoState('AltFiring');
bCanClientFire = true;
bPointing=True;
ClientAltFire(value);
Pawn(Owner).PlayRecoil(FiringSpeed);
Start = Owner.Location + CalcDrawOffset();
Spawn(class'WeaponLight',,,Start + X*20,Rot(0,0,0));

TraceFire(3.0);
TraceFire(2.5);
TraceFire(2.0);
TraceFire(2.5);
TraceFire(3.0);

TraceFire(3.0);
TraceFire(2.5);
TraceFire(2.0);
TraceFire(2.5);
TraceFire(3.0);

TraceFire(3.0);
TraceFire(2.5);
TraceFire(2.0);
TraceFire(2.5);
TraceFire(3.0);

TraceFire(3.0);
TraceFire(2.5);
TraceFire(2.0);
TraceFire(2.5);
TraceFire(3.0);
}
}
else
GotoState('NoEnoughAmmo');

if(ClipCount == 0)
{
GoToState('Reload');
}
}

function PlayAltFiring()
{
ClipCount -= 4;
bMuzzleFlash++;
Owner.PlaySound(AltFireSound, SLOT_None,8.0*Pawn(Owner).SoundDampening);
PlayAnim('Fire');
if(PlayerPawn(Owner) != None) PlayerPawn(Owner).ShakeView(ShakeTime*4, ShakeMag*4, ShakeVert*4);
}

state AltFiring
{
ignores Fire, AltFire;

function EndState()
{
Super.EndState();
OldFlashCount = FlashCount;
}

Begin:
FlashCount++;
FinishAnim();
Finish();
}

State NoEnoughAmmo
{
Ignores Fire, AltFire;

Begin:
PlayAnim('Fire');
Pawn(owner).Playsound(Sound'Click',, 5);
FinishAnim();
Pawn(owner).ClientMessage(NoEnoughAmmoMessage ,'CriticalEvent');
Finish();
}


//***********************
// Tracer de la balle
//***********************
function ProcessTraceHit(Actor Other, Vector HitLocation, Vector HitNormal, Vector X, Vector Y, Vector Z)
{
if(Other == Level)
Spawn(class'UT_LightWallHitEffect',,, HitLocation+HitNormal, Rotator(HitNormal));

else if ((Other != self)
&& (Other != Owner)
&& (Other != None))
{
if(FRand() <0.2) X *= 5;
Other.TakeDamage(HitDamage, Pawn(Owner), HitLocation, 3000.0*X, 'shot');
if(!Other.IsA('Pawn') && !Other.IsA('Carcass'))
spawn(class'UT_SpriteSmokePuff',,,HitLocation+HitNormal*9);
}
}

function float RateSelf( out int bUseAltMode )
{
local Pawn P;

if(AmmoType.AmmoAmount <=4) return -2;

P = Pawn(Owner);
if((P.Enemy == None)
|| (Owner.IsA('Bot')
&& Bot(Owner).bQuickFire))
{
bUseAltMode = 0;
return AIRating;
}

if((AmmoType.AmmoAmount > 3)
&& (ClipCount == 4))
{
bUseAltMode=int(500>VSize(P.Enemy.Location-Owner.Location));
}
}


//*************
// Recharge
//*************
state Reload
{
ignores Fire, AltFire;

Begin:
Sleep(0.2);
PlayAnim('Reload', 0.75, 0.1);
Owner.PlaySound(ReloadSound, SLOT_None,2.0*Pawn(Owner).SoundDampening);

ut_SC = Spawn(class'UT_ShellCase',Pawn(Owner));
ut_SC.DrawScale = 1.125;
ut_SC.Fatness = 132;
ut_SC.LightBrightness = 0;
ut_SC.MultiSkins[1] = Texture'Shellcase_Rouge';
ut_SC.Eject(((FRand()*1.0 +1.0)*X
+(FRand()*0.5 +0.5)*Y
+(FRand()*0.1 +0.1)*Z));

ut_SC = Spawn(class'UT_ShellCase',Pawn(Owner));
ut_SC.DrawScale = 1.125;
ut_SC.Fatness = 132;
ut_SC.LightBrightness = 0;
ut_SC.MultiSkins[1] = Texture'Shellcase_Rouge';
ut_SC.Eject(((FRand()*0.1 +0.1)*X
+(FRand()*1.0 +1.0)*Y
+(FRand()*0.5 +0.5)*Z));

ut_SC = Spawn(class'UT_ShellCase',Pawn(Owner));
ut_SC.DrawScale = 1.125;
ut_SC.Fatness = 132;
ut_SC.LightBrightness = 0;
ut_SC.MultiSkins[1] = Texture'Shellcase_Rouge';
ut_SC.Eject(((FRand()*0.5 +0.5)*X
+(FRand()*1.0 +1.0)*Y
+(FRand()*0.1 +0.1)*Z));

ut_SC = Spawn(class'UT_ShellCase',Pawn(Owner));
ut_SC.DrawScale = 1.125;
ut_SC.Fatness = 132;
ut_SC.LightBrightness = 0;
ut_SC.MultiSkins[1] = Texture'Shellcase_Rouge';
ut_SC.Eject(((FRand()*0.5 +0.5)*X
+(FRand()*0.5 +0.5)*Y
+(FRand()*0.5 +0.5)*Z));

FinishAnim();
ClipCount = ReloadClipCount;
Finish();
}


//**********************
// Animations et fin
//**********************
function Finish()
{
if(bChangeWeapon) GotoState('DownWeapon');
else if(PlayerPawn(Owner) == None)
Super.Finish();
else if((AmmoType.AmmoAmount<=0)
|| (Pawn(Owner).Weapon != self)) GotoState('Idle');
else if(ClipCount==0) GoToState('NewClip');
else if(Pawn(Owner).bFire!=0) Global.Fire(0);
else if(Pawn(Owner).bAltFire!=0) Global.AltFire(0);
else GotoState('Idle');
}


//********
// HUD
//********
simulated function PostRender(Canvas Canvas)
{
local PlayerPawn PP;

Super.PostRender(Canvas);

PP = PlayerPawn(Owner);
if(PP != None)
{
Canvas.SetPos(0.9125* Canvas.ClipX ,0.9125* Canvas.ClipY);
Canvas.Style = ERenderStyle.STY_Translucent;
Canvas.Font = Canvas.MedFont;
Canvas.DrawColor.B = 255;
Canvas.DrawColor.G = 255;
Canvas.DrawColor.R = 255;
Canvas.DrawText(ClipCount$"/4");
}
}

:S
guess they didnt like it or so.. or givin people a subject 2 talk about :D dunno :hmm:
 

Papapishu

我是康
Jun 18, 2001
2,043
0
0
42
void
www.vovoid.com
Originally posted by tarquin
number 2:
just what the heck is this texture doing in NaliFX pack? it's not used anywhere is it? or is it....?
what did they plan on using it for? :con:
(secret code, secret code!!!!! :D )

It's a mighty pirate bar! Every good game must have one!
Harr! :D
 

Postal

I apear to have lost my pin.
Nov 14, 1999
1,388
0
0
WoD.BeyondUnreal.com
I have seen at least 10 other versons of the qsg(quadshotgun), but I think I rather like that one

but I still wish I could have seen the epic one, the "real" qsg and why did that leave that buggy mesh?
 

EasyRaider

Crazy coder
Sep 21, 2001
74
0
0
43
Norway
I tried to make my own "realistic" version of the QuadShot, but I could never make it look good in 3rd person. I really wish Epic could have left some decent meshes for it.