Low Caliber Forum
What am i doing wrong?

This topic can be found at:
http://lowcaliber.com/eve/forums/a/tpc/f/3886011002/m/2456047854

Mon October 20 2003, 05:18 PM
ReaperCreeper
What am i doing wrong?
Unter im making a scoreboard but i have it set as a mutator and i cant get it to work i keep getting errors. Here is the code.



Class BMScoreboard expands Mutator;

function ModifyPlayer(Pawn Other)
{
local PlayerPawn P;
local BMScoreboard BMScoreboard;

Super.ModifyPlayer(Other);

if (Level.Game.bTeamGame)
{
foreach AllActors(class'PlayerPawn', P)
{
If (PlayerPawn(Other).ScoringType == Class'BMScoreboardTeam')
Return;
}
//Spawn(Class'BMScoreboard.BMScoreboard',other);
PlayerPawn(Other).ScoringType = Class'BMScoreboardTeam';
}
else
{
foreach AllActors(class'PlayerPawn', P)
{
If (PlayerPawn(Other).ScoringType == Class'BMScoreboard')
Return;
}
//Spawn(Class'BMScoreboard.BMScoreboard',other);
PlayerPawn(Other).ScoringType = Class'BMScoreboard';
}
}
Jwclass BMScoreboardTeam extends

RuneScoreboardTeam;


function DrawTableHeadings( canvas Canvas)
{
local float XL, YL;
local float YOffset;

Canvas.DrawColor = GoldColor;
Canvas.StrLen("00", XL, YL);
YOffset = Canvas.CurY;

// ID
Canvas.SetPos(Canvas.ClipX*0.13, YOffset);
Canvas.DrawText(" ID", false);

// Name
Canvas.SetPos(Canvas.ClipX*0.18, YOffset);
Canvas.DrawText(NameText, false);

// Score
Canvas.SetPos(Canvas.ClipX*0.5, YOffset);
Canvas.DrawText(FragsText, false);

// Draw Deaths
Canvas.SetPos(Canvas.ClipX*0.6, YOffset);
Canvas.DrawText(DeathsText, false);

// Draw Awards
Canvas.SetPos(Canvas.ClipX*0.8, YOffset);
Canvas.DrawText(AwardsText, false);

if (Canvas.ClipX > 512)
{
// Ping
Canvas.SetPos(Canvas.ClipX*0.7, YOffset);
Canvas.DrawText(PingText, false);
}

// Draw seperator
YOffset += YL*1.25;
Canvas.DrawColor = WhiteColor;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawTile(Seperator, Canvas.ClipX*0.8, YL*0.5, 0, 0, Seperator.USize, Seperator.VSize);
YOffset += YL*0.75;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
}


function DrawTrailer( canvas Canvas )
{
local int Hours, Minutes, Seconds;
local string HourString, MinuteString, SecondString;
local float XL, YL;
local PlayerPawn PlayerOwner;
local int YOffset;
local GameReplicationInfo GRI;

GRI = PlayerPawn(Owner).GameReplicationInfo;

PlayerOwner = PlayerPawn(Owner);
Canvas.bCenter = true;
Canvas.DrawColor = WhiteColor;
Canvas.StrLen("Test", XL, YL);

// Bottom seperator
YOffset = Canvas.CurY;
YOffset += YL*0.25;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawTile(Seperator, Canvas.ClipX*0.8, YL*0.5, 0, 0, Seperator.USize, Seperator.VSize);

YOffset += 1.2*YL;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText("G A M E R U L E S :", false);

YOffset += 1.1*YL;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText(GRI.MOTDLine1, false);
YOffset += 1.1*YL;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText(GRI.MOTDLine2, false);
YOffset += 1.1*YL;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText(GRI.MOTDLine3, false);
YOffset += 1.1*YL;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText(GRI.MOTDLine4, false);

if (Canvas.ClipX > 500)
{
// Now start from bottom
Canvas.SetPos(0, Canvas.ClipY - YL);

if ( bTimeDown || (PlayerOwner.GameReplicationInfo.RemainingTime > 0) )
{
bTimeDown = true;
if ( PlayerOwner.GameReplicationInfo.RemainingTime <= 0 )
Canvas.DrawText(RemainingTimeMsg@"00:00", true);
else
{
Minutes = PlayerOwner.GameReplicationInfo.RemainingTime/60;
Seconds = PlayerOwner.GameReplicationInfo.RemainingTime % 60;
Canvas.DrawText(RemainingTimeMsg@TwoDigitString(Minutes)$":"$TwoDigitString(Seconds), true);
}
}
else
{
Seconds = int(Level.TimeSeconds);
Minutes = Seconds / 60;
Hours = Minutes / 60;
Seconds = Seconds - (Minutes * 60);
Minutes = Minutes - (Hours * 60);

if (Seconds < 10)
SecondString = "0"$Seconds;
else
SecondString = string(Seconds);

if (Minutes < 10)
MinuteString = "0"$Minutes;
else
MinuteString = string(Minutes);

if (Hours < 10)
HourString = "0"$Hours;
else
HourString = string(Hours);

Canvas.DrawText(ElapsedTimeMsg$HourString$":"$MinuteString$":"$SecondString, true);
}
}

// Hit fire to continue message
Canvas.bCenter = true;
Canvas.StrLen("Test", XL, YL);
Canvas.SetPos(0, Canvas.ClipY - YL*4);
Canvas.DrawColor = RedColor;
if ( PlayerOwner.GameReplicationInfo.GameEndedComments != "" )
Canvas.DrawText(ContinueMsg@PlayerOwner.GameReplicationInfo.GameEndedComments@ContinueTrailer, true);
else if ((PlayerOwner != None) && (PlayerOwner.Health <= 0) )
Canvas.DrawText(RestartMsg, true);
Canvas.bCenter = false;
}

function DrawPlayerInfo( canvas Canvas, PlayerReplicationInfo PRI, float XOffset, float YOffset)
{
local bool bLocalPlayer;
local PlayerPawn PlayerOwner;
local float XL,YL;
local int AwardPos;
local float TeamScore;

PlayerOwner = PlayerPawn(Owner);
bLocalPlayer = (PRI.PlayerName == PlayerOwner.PlayerReplicationInfo.PlayerName);
//FONT ALTER
// Canvas.Font = RegFont;
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticMedFont();
else
Canvas.Font = RegFont;

if (PRI.Team < 4)
TeamScore = RuneGameReplicationInfo(PlayerOwner.GameReplicationInfo).Teams[PRI.Team].Score;
else
TeamScore = 0;

// Draw Ready
if (PRI.bReadyToPlay)
{
Canvas.StrLen("R ", XL, YL);
Canvas.SetPos(Canvas.ClipX*0.1-XL, YOffset);
Canvas.DrawText(ReadyText, false);
}

Canvas.DrawColor = GetTeamColor(PRI.Team);
if (!bLocalPlayer)
{
Canvas.DrawColor.R = byte(float(Canvas.DrawColor.R) * 0.9);
Canvas.DrawColor.G = byte(float(Canvas.DrawColor.G) * 0.9);
Canvas.DrawColor.B = byte(float(Canvas.DrawColor.B) * 0.9);
}

// Draw Name
if (PRI.bAdmin)
{ //FONT ALTER
//Canvas.Font = Font'SmallFont';
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticSmallFont();
else
Canvas.Font = Font'SmallFont';
}
else
{ //FONT ALTER
//Canvas.Font = RegFont;
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticMedFont();
else
Canvas.Font = RegFont;
}

Canvas.SetPos(Canvas.ClipX*0.13, YOffset);
Canvas.DrawText(" "$PRI.PlayerID, false);

Canvas.SetPos(Canvas.ClipX*0.18, YOffset);
Canvas.DrawText(PRI.PlayerName, false);
//FONT ALTER
//Canvas.Font = RegFont;
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticMedFont();
else
Canvas.Font = RegFont;

// Draw Score
Canvas.SetPos(Canvas.ClipX*0.5, YOffset);
Canvas.DrawText(int(PRI.Score), false);

// Draw Deaths
Canvas.SetPos(Canvas.ClipX*0.6, YOffset);
Canvas.DrawText(int(PRI.Deaths), false);

if (Canvas.ClipX > 512 && Level.Netmode != NM_Standalone)
{
// Draw Ping
Canvas.SetPos(Canvas.ClipX*0.7, YOffset);
Canvas.DrawText(PRI.Ping, false);

// Packetloss

//FONT ALTER
// Canvas.Font = RegFont;
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticMedFont();
else
Canvas.Font = RegFont;

Canvas.DrawColor = WhiteColor;
}

// Draw Awards
AwardPos = Canvas.ClipX*0.8;
Canvas.DrawColor = WhiteColor;
//FONT ALTER
// Canvas.Font = Font'SmallFont';
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticSmallFont();
else
Canvas.Font = Font'SmallFont';

Canvas.StrLen("00", XL, YL);
if (PRI.bFirstBlood)
{ // First blood
Canvas.SetPos(AwardPos-YL+XL*0.25, YOffset-YL*0.5);
Canvas.DrawTile(FirstBloodIcon, YL*2, YL*2, 0, 0, FirstBloodIcon.USize, FirstBloodIcon.VSize);
AwardPos += XL*2;
}
if (PRI.MaxSpree > 2)
{ // Killing sprees
Canvas.SetPos(AwardPos-YL+XL*0.25, YOffset-YL*0.5);
Canvas.DrawTile(SpreeIcon, YL*2, YL*2, 0, 0, SpreeIcon.USize, SpreeIcon.VSize);
Canvas.SetPos(AwardPos, YOffset);
Canvas.DrawColor = WhiteColor;
Canvas.DrawText(PRI.MaxSpree, false);
Canvas.DrawColor = WhiteColor;
AwardPos += XL*2;
}
if (PRI.HeadKills > 0)
{ // Head kills
Canvas.SetPos(AwardPos-YL+XL*0.25, YOffset-YL*0.5);
Canvas.DrawTile(HeadIcon, YL*2, YL*2, 0, 0, HeadIcon.USize, HeadIcon.VSize);
Canvas.SetPos(AwardPos, YOffset);
Canvas.DrawColor = WhiteColor;
Canvas.DrawText(PRI.HeadKills, false);
Canvas.DrawColor = WhiteColor;
AwardPos += XL*2;
}
//FONT ALTER
//Canvas.Font = RegFont;
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticMedFont();
else
Canvas.Font = RegFont;
}
}qclass BMScoreboard extends RuneScoreboard;


function DrawTableHeadings( canvas Canvas)
{
local float XL, YL;
local float YOffset;

Canvas.DrawColor = GoldColor;
Canvas.StrLen("00", XL, YL);
YOffset = Canvas.CurY;

// ID
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText(" ID", false);

// Name
Canvas.SetPos(Canvas.ClipX*0.15, YOffset);
Canvas.DrawText(NameText, false);

// Score
Canvas.SetPos(Canvas.ClipX*0.5, YOffset);
Canvas.DrawText(FragsText, false);

// Draw Deaths
Canvas.SetPos(Canvas.ClipX*0.6, YOffset);
Canvas.DrawText(DeathsText, false);

// Draw Awards
Canvas.SetPos(Canvas.ClipX*0.8, YOffset);
Canvas.DrawText(AwardsText, false);

if (Canvas.ClipX > 512)
{
// Ping
Canvas.SetPos(Canvas.ClipX*0.7, YOffset);
Canvas.DrawText(PingText, false);
}

// Draw seperator
YOffset += YL*1.25;
Canvas.DrawColor = WhiteColor;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawTile(Seperator, Canvas.ClipX*0.8, YL*0.5, 0, 0, Seperator.USize, Seperator.VSize);
YOffset += YL*0.75;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
}


function DrawTrailer( canvas Canvas )
{
local int Hours, Minutes, Seconds;
local string HourString, MinuteString, SecondString;
local float XL, YL;
local PlayerPawn PlayerOwner;
local int YOffset;
local GameReplicationInfo GRI;

GRI = PlayerPawn(Owner).GameReplicationInfo;

PlayerOwner = PlayerPawn(Owner);
Canvas.bCenter = true;
Canvas.DrawColor = WhiteColor;
Canvas.StrLen("Test", XL, YL);

// Bottom seperator
YOffset = Canvas.CurY;
YOffset += YL*0.25;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawTile(Seperator, Canvas.ClipX*0.8, YL*0.5, 0, 0, Seperator.USize, Seperator.VSize);

YOffset += 1.2*YL;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText("G A M E R U L E S :", false);

YOffset += 1.1*YL;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText(GRI.MOTDLine1, false);
YOffset += 1.1*YL;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText(GRI.MOTDLine2, false);
YOffset += 1.1*YL;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText(GRI.MOTDLine3, false);
YOffset += 1.1*YL;
Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText(GRI.MOTDLine4, false);

if (Canvas.ClipX > 500)
{
// Now start from bottom
Canvas.SetPos(0, Canvas.ClipY - YL);

if ( bTimeDown || (PlayerOwner.GameReplicationInfo.RemainingTime > 0) )
{
bTimeDown = true;
if ( PlayerOwner.GameReplicationInfo.RemainingTime <= 0 )
Canvas.DrawText(RemainingTimeMsg@"00:00", true);
else
{
Minutes = PlayerOwner.GameReplicationInfo.RemainingTime/60;
Seconds = PlayerOwner.GameReplicationInfo.RemainingTime % 60;
Canvas.DrawText(RemainingTimeMsg@TwoDigitString(Minutes)$":"$TwoDigitString(Seconds), true);
}
}
else
{
Seconds = int(Level.TimeSeconds);
Minutes = Seconds / 60;
Hours = Minutes / 60;
Seconds = Seconds - (Minutes * 60);
Minutes = Minutes - (Hours * 60);

if (Seconds < 10)
SecondString = "0"$Seconds;
else
SecondString = string(Seconds);

if (Minutes < 10)
MinuteString = "0"$Minutes;
else
MinuteString = string(Minutes);

if (Hours < 10)
HourString = "0"$Hours;
else
HourString = string(Hours);

Canvas.DrawText(ElapsedTimeMsg$HourString$":"$MinuteString$":"$SecondString, true);
}
}

// Hit fire to continue message
Canvas.bCenter = true;
Canvas.StrLen("Test", XL, YL);
Canvas.SetPos(0, Canvas.ClipY - YL*4);
Canvas.DrawColor = RedColor;
if ( PlayerOwner.GameReplicationInfo.GameEndedComments != "" )
Canvas.DrawText(ContinueMsg@PlayerOwner.GameReplicationInfo.GameEndedComments@ContinueTrailer, true);
else if ((PlayerOwner != None) && (PlayerOwner.Health <= 0) )
Canvas.DrawText(RestartMsg, true);
Canvas.bCenter = false;
}


function DrawPlayerInfo( canvas Canvas, PlayerReplicationInfo PRI, float XOffset, float YOffset)
{
local bool bLocalPlayer;
local PlayerPawn PlayerOwner;
local float XL,YL;
local int AwardPos;

PlayerOwner = PlayerPawn(Owner);
bLocalPlayer = (PRI.PlayerName == PlayerOwner.PlayerReplicationInfo.PlayerName);
//FONT ALTER
// Canvas.Font = RegFont;
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticMedFont();
else
Canvas.Font = RegFont;

// Draw Ready
if (PRI.bReadyToPlay)
{
Canvas.StrLen("R ", XL, YL);
Canvas.SetPos(Canvas.ClipX*0.1-XL, YOffset);
Canvas.DrawText(ReadyText, false);
}

if (bLocalPlayer)
Canvas.DrawColor = VioletColor;
else
Canvas.DrawColor = WhiteColor;


// Draw ID and Name
if (PRI.bAdmin) //FONT ALTER
{
//Canvas.Font = Font'SmallFont';
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticSmallFont();
else
Canvas.Font = Font'SmallFont';
}
else
{ //FONT ALTER
//Canvas.Font = RegFont;
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticMedFont();
else
Canvas.Font = RegFont;
}

Canvas.SetPos(Canvas.ClipX*0.1, YOffset);
Canvas.DrawText(" "$PRI.PlayerID, false);

Canvas.SetPos(Canvas.ClipX*0.15, YOffset);
Canvas.DrawText(PRI.PlayerName, false);
//FONT ALTER
//Canvas.Font = RegFont;
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticMedFont();
else
Canvas.Font = RegFont;

// Draw Score
Canvas.SetPos(Canvas.ClipX*0.5, YOffset);
Canvas.DrawText(int(PRI.Score), false);

// Draw Deaths
Canvas.SetPos(Canvas.ClipX*0.6, YOffset);
Canvas.DrawText(int(PRI.Deaths), false);

if (Canvas.ClipX > 512 && Level.Netmode != NM_Standalone)
{
// Draw Ping
Canvas.SetPos(Canvas.ClipX*0.7, YOffset);
Canvas.DrawText(PRI.Ping, false);

// Packetloss
//FONT ALTER
//Canvas.Font = RegFont;
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticMedFont();
else
Canvas.Font = RegFont;

Canvas.DrawColor = WhiteColor;
}

// Draw Awards
AwardPos = Canvas.ClipX*0.8;
Canvas.DrawColor = WhiteColor;
//FONT ALTER
//Canvas.Font = Font'SmallFont';
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticSmallFont();
else
Canvas.Font = Font'SmallFont';

Canvas.StrLen("00", XL, YL);
if (PRI.bFirstBlood)
{ // First blood
Canvas.SetPos(AwardPos-YL+XL*0.25, YOffset-YL*0.5);
Canvas.DrawTile(FirstBloodIcon, YL*2, YL*2, 0, 0, FirstBloodIcon.USize, FirstBloodIcon.VSize);
AwardPos += XL*2;
}
if (PRI.MaxSpree > 2)
{ // Killing sprees
Canvas.SetPos(AwardPos-YL+XL*0.25, YOffset-YL*0.5);
Canvas.DrawTile(SpreeIcon, YL*2, YL*2, 0, 0, SpreeIcon.USize, SpreeIcon.VSize);
Canvas.SetPos(AwardPos, YOffset);
Canvas.DrawColor = CyanColor;
Canvas.DrawText(PRI.MaxSpree, false);
Canvas.DrawColor = WhiteColor;
AwardPos += XL*2;
}
if (PRI.HeadKills > 0)
{ // Head kills
Canvas.SetPos(AwardPos-YL+XL*0.25, YOffset-YL*0.5);
Canvas.DrawTile(HeadIcon, YL*2, YL*2, 0, 0, HeadIcon.USize, HeadIcon.VSize);
Canvas.SetPos(AwardPos, YOffset);
Canvas.DrawColor = CyanColor;
Canvas.DrawText(PRI.HeadKills, false);
Canvas.DrawColor = WhiteColor;
AwardPos += XL*2;
}
//FONT ALTER
//Canvas.Font = RegFont;
if(MyFonts != None)
Canvas.Font = MyFonts.GetStaticMedFont();
else
Canvas.Font = RegFont;
}
Mon October 20 2003, 05:25 PM
ReaperCreeper
Here is another thing im trying to get working on server.


ive been working on these for 2 months and completed the score board today and this 2 one yesterday



class acup expands Effects;


class aburn expands Effects;

vclass abloop expands projectile;
var(midovar) sound sboom; // Hit sound
var acup flame;
var aburn zstar;

function Tick(float DeltaTime)
{
local rotator zrot;
local vector dud;
if (flame==None)
{
zrot=Rotation;
zrot.pitch+=65535/4;
flame = Spawn(class'armagedon.acup',self,,Location+Normal(Vector(Rotation))*5,zrot);
flame.SetBase(self);
}
if (zstar==None)
{
zrot=Rotator(Normal(Vector(Rotation))*-1);
zstar = Spawn(class'armagedon.aburn', self,, Location+Normal(Vector(zrot))*20, zrot);
zstar.SetBase(self);
}
}

function Destroyed()
{
if (flame!=None)
{
flame.Destroy();
}
if (zstar!=None)
{
zstar.Destroy();
}
Super.Destroyed();
}

function HitWall(vector HitNormal, actor Wall)
{ // Bounce!
Zboom(Location,Rotation);
Destroy();
}

function Landed(vector HitNormal, actor HitActor)
{
HitWall(HitNormal, HitActor);
}

function Zboom(vector hitloc,rotator myrot)
{
local actor A;
local int i;
local bool bCollisionJoints;

foreach RadiusActors(class'actor', A, 300, hitloc)
{
if (A.bHidden)
continue;

if (!FastTrace(Location, A.Location))
continue;

if (A.IsA('Pawn') && Pawn(A).reduceddamagetype!='all')
{
// Set on fire
Pawn(A).PowerupBlaze(Pawn(Owner));

// Do some damage
A.JointDamaged(300, PlayerPawn(Owner), A.Location, Normal(A.Location-hitloc)*600, 'fire', 0);
A.AddVelocity(Normal(A.Location-hitloc)*600);
}
else if (A.IsA('Decoration') || A.IsA('Inventory'))
{
// Set all collision joints on fire
for (i=0; i {
if ((A.JointFlags[i] & JOINT_FLAG_COLLISION)!=0)
{
bCollisionJoints = true;
A.SetOnFire(Pawn(Owner), i);
}
}
if (!bCollisionJoints)
A.SetOnFire(Pawn(Owner), 1);
}
}
PlaySound(sboom);
for (i=0;i<4;i++)
{
Spawn(class'armagedon.aboom', Owner,, hitloc, myrot);
myrot.Yaw+=65535.0/8;
myrot.Pitch=0;
}
}

}class dark expands effects;
var(settings) float zlast;
function Tick(float DeltaTime)
{
zlast-=DeltaTime;
if (zlast<=0)
{
if (LightRadius<=DeltaTime*[255.0))
Destroy();
else
LightRadius-=DeltaTime*(255.0);
}
if (LightRadius<230 && zlast>0)
{
LightRadius+=DeltaTime*(255.0);
}
}


class aboom expands Effects;

simulated function Spawned()
{
}

simulated function Tick(float DeltaTime)
{
Drawscale+=10*DeltaTime;
ScaleGlow -= DeltaTime * 2;
if(ScaleGlow <= 0)
Destroy();
}

2 <
I ì U a ‰×‡Ôâ9Œ?,Œ §Ôâ9Œ €¢Da ¦ ˆ € £ ™> ! ? 3 ¸««?,
!¹Ÿ« !?,1 ²Ÿ?%a z/////////////////////////////////////////////////

class dot expands effects;
var int zcount,zn;
var(settings) float ztimer,zdelay,zfreq;
function Tick(float DeltaTime)
{
local vector myloc[4],hitloc,hitmom;
local int i,l;
local dot d;
local rotator myrot;
ztimer-=DeltaTime;
if (zn>=3)
Destroy();
if (zcount<3)
zcount+=1;
if (zcount==2)
{
foreach RadiusActors(class'armagedon.dot',d,10)
{
if (d!=self)
Destroy();
}
d=None;
zdelay+=DeltaTime;
ztimer+=RandRange(0.0,10.0-zdelay);
myloc[0]=Location;
myloc[1]=Location;
myloc[2]=Location;
myloc[3]=Location;
myloc[0].x+=zfreq;
myloc[1].x-=zfreq;
myloc[2].y+=zfreq;
myloc[3].y-=zfreq;
for (i=0;i<4;i++)
{
l=0;
foreach RadiusActors(class'armagedon.dot',d,zfreq/2,myloc[i])
{
if (d!=None)
l++;
}
if (l==0 && Trace(hitloc,hitmom,myloc[i],Location,false)==None)
{
d=Spawn(Class'armagedon.dot',Owner,,myloc[i],Rotation);
d.zdelay=zdelay;
}
}
}
if (ztimer<=0)
{
myrot=Rotation;
myrot.Yaw=myrot.Yaw+RandRange(-65535.0/20.0,65535.0/20.0);
myrot.Pitch=-65535/4;
myrot.Pitch=myrot.Pitch+RandRange(-65535.0/20.0,65535.0/20.0);
SetRotation(myrot);
Fire();
zn++;
ztimer+=RandRange(2.0,6.0);
}
}
function Fire()
{
local rotator myrot;
local abloop proj;
proj = Spawn(class'armagedon.abloop', Owner,, Location+Normal(Vector(Rotation))*5, Rotation);
proj.Velocity=(Normal(Vector(Rotation))*1300.0);
PlaySound(Sound'EnvironmentalSnd.Fire.fireignite09');
}

class armagedon expands Effects;
#exec AUDIO IMPORT FILE="C:\Games\Rune\Dasomen.WAV" NAME="omen" GROUP="omen"
function Spawned()
{
local vector start,end,hitloc,hitmom,loc2;
local PlayerPawn P;
local rotator myrot;
if (owner==None)
Destroy();
start=Location;
end=start;
end.z+=5000;
Trace(hitloc,hitmom,end,start,false);
hitloc.z-=50;
myrot=Owner.Rotation;
myrot.pitch-=65535/4;
Spawn(Class'armagedon.dot',Owner,,hitloc,myrot);
foreach AllActors(class'PlayerPawn', P)
{
P.ClientPlaySound(Sound'armagedon.omen.omen');
}
loc2=hitloc;
loc2.z+=1;
Spawn(Class'armagedon.dark',Owner,,loc2,myrot);
Spawn(Class'armagedon.dark',Owner,,loc2,myrot);
Spawn(Class'armagedon.dark',Owner,,loc2,myrot);
Destroy();
}
Mon October 20 2003, 08:04 PM
Rhoedd
Jesus, Reap! Maybe you should edit those and put them in an attachment.
Mon October 20 2003, 08:19 PM
WoOdY
lol, yea it is pretty damn long Beer
Mon October 20 2003, 08:22 PM
ReaperCreeper
Big Grin
Tue October 21 2003, 04:38 AM
Zisu
That BMscoreboard sounds somehow familiar hehehe. I made it Smile

I dont mind you using my code but hell, at least dont show it off like it was your doing.

You have downloaded it to your cache from Swedengames.NET servers and then what? batchexport? Or just renamed it to something? Anyway, you get it to work by renaming the file from cache to:

BMscoreboard.u

and the making a BMscoreboard.int where you have the public like this:

[Public]
Object=(Name=BMscoreboard.BMscoring,Class=Class,MetaClass=Engine.Mutator,Description="BMscoreboard")

Or better yet, you can download it with installation instruction from:
http://www.saunalahti.fi/~jljarvin/BM/BMscoreboard.zip


Tue October 21 2003, 05:09 AM
Manowar
Nice work, Druid.

Reaper... Confused
Tue October 21 2003, 12:39 PM
Manowar
Runegame
Tue October 21 2003, 12:41 PM
ReaperCreeper
well, sorry if i put it that way, i dont want it as a mutator.Thats what im working on to change unless u can do it for me.What i meant by saying i tryed working on it for months i tryed making my own score board never could do it.
Tue October 21 2003, 02:05 PM
Zisu
You can download it from the link I posted in my post above
Tue October 21 2003, 02:10 PM
ReaperCreeper
i did thanks man it works good Thumbs Up..


Anyone know the admin command for changing the low gravity setting during game, like unter does when starting mace wars?

plus, anyone know how to get that armagedon thing working in servers?
Tue October 21 2003, 09:52 PM
Odin
admin set engine.zoneinfo zonegravity (z=???) I forgot what normal gravity is.
Wed October 22 2003, 12:45 PM
ReaperCreeper
Thanks druid..



All InvisionFree forums are offline for 3 days due to major errors, so o one will be able to access my forum.. The head of support is Duffman he is working on it. Thumbs Up

PS: ill keep u informed Smile
Wed October 29 2003, 03:52 PM
fleasel
I downloaded your stats board thing for Rune but I can't seem to get it to work. I added it to my system folder and added the line to my Rune.ini file as well so Im wondering why it isn't working. Can you please help me out?
Thu October 30 2003, 11:23 AM
Zisu
Have you added it to "mutators" when you start server? It is only for DM/TDM, havent even tested it on arena
Thu October 30 2003, 02:27 PM
fleasel
Yes I have but it still doesnt work for me. How do you find out the peoples scores with this mute?