Greetings Unreal Admins!
I would like to ask for some help regarding a coding issue.
Anyway a little about me: I'm the founder and leader of {KickAssesInc}. We are an Unreal Tournament Last Man Standing clan. We run 'n' gun. We've been around as a clan since October 2004.
The reason I'm posting this is I know a lot of you have got a lot of coding under your belt, and I was wondering if any of you would like to help out with something for me.
We run Weekly Tournaments and Monthly Championships within our clan. We use a scoring system I devised a long while back to keep a tally of everyone's monthly score.
Well, just last year, I actually managed to implement the scoring system into a hacked mod of the LMSKillCount by getting it to show an extra property: POINTS.
Here is a screenshot showing the categories.
It shows on the scoreboard the persons Lives, Frags, Eff%, Points, & Ping. You basically get 10 pts for Frags, 1 Point for each life left, plus your Eff% as a whole number.
If you'd like to get the mod to look over what I'm talking about you can get the source code from
HERE or you can check out the code for the scoreboard part at the bottom of this post.
What I was wondering is this: would it be possible to set it up so an admin can login to 'start' an accumulated score for all the players? You know, login as an admin and with the right password the server would keep track of the number of POINTS accumulated for all the maps?
That way, I can be lazy and not have to manually record all the points from all the players during a weekly tourney (5 maps each of 3 different games) or monthly championship (10 maps) by writing all their points down while looking at screenshots?
If anyone would like to take a stab at this I would appreciate it. I'm not a coder. I think it would have to be something like storing the Points in an array, and players would accumulate points on each map for the number of maps that we do. And the Points Mod would need to show each players total for the map (like the regular scoreboard) and by a simple button push (i.e. pushing F1) switch to showing a Point Total for
all the maps thus far played in the tourney or championship along with another category, Average Points per Map. Then another push of F1, and they have the regular screen back up.
The thing I really want/need is to have the cumulative totals show up in a screenshot at the end where I can just look at one screenie, post the totals in our member's section, and just post the screenie with the totals on it.
If any of you find you're not too busy, and would like to take on this challenge (or point me in the right direction for doing this myself) then I would appreciate all the help you can give me.
Thank you in advance for any help you can give me or any work you'd be willing to do to bring this simple dream to fruition.
By the way, if the only way I can get someone interested in working on this is by paying them, then that can be arranged through PayPal.
Code:
class LMSPointsKillCountScoreBoard extends TournamentScoreBoard;
function DrawCategoryHeaders(Canvas Canvas){
local float Offset, XL, YL;
Offset=Canvas.CurY;
Canvas.DrawColor=WhiteColor;
Canvas.StrLen(PlayerString,XL,YL);
Canvas.SetPos((Canvas.ClipX/8)*1.25-XL/2,Offset);
Canvas.DrawText(PlayerString);
Canvas.StrLen("Lives",XL,YL);
Canvas.SetPos((Canvas.ClipX/8)*3-XL/2,Offset);
Canvas.DrawText("Lives");
Canvas.StrLen("Kills",XL,YL);
Canvas.SetPos((Canvas.ClipX/8)*4-XL/2,Offset);
Canvas.DrawText("Kills");
Canvas.StrLen("Eff %",XL,YL);
Canvas.SetPos((Canvas.ClipX/8)*5-XL/2,Offset);
Canvas.DrawText("Eff %");
Canvas.StrLen("Points",XL,YL);
Canvas.SetPos((Canvas.ClipX/8)*6-XL/2,Offset);
Canvas.DrawText("Points");
Canvas.StrLen(PingString,XL,YL);
Canvas.SetPos((Canvas.ClipX/8)*7-XL/2,Offset);
Canvas.DrawText(PingString);
}
function DrawNameAndPing(Canvas Canvas, PlayerReplicationInfo PRI, float XOffset, float YOffset, bool bCompressed){
local float XL, YL, XL2;
local LMSPointsKillCount MPRI;
if (PRI.bAdmin)
Canvas.DrawColor=WhiteColor;
else if (PRI.PlayerName==Pawn(Owner).PlayerReplicationInfo.PlayerName)
Canvas.DrawColor=GoldColor;
else
Canvas.DrawColor=CyanColor;
Canvas.SetPos((Canvas.ClipX/8)*1,YOffset);
Canvas.DrawText(PRI.PlayerName,False);
Canvas.StrLen("0",XL,YL);
if (PRI.Score<1)
Canvas.DrawColor=LightCyanColor;
else
Canvas.DrawColor=GoldColor;
Canvas.StrLen(int(PRI.Score),XL2,YL);
Canvas.SetPos((Canvas.ClipX/8)*3+XL/2-XL2,YOffset);
Canvas.DrawText(int(PRI.Score),false);
foreach PRI.ChildActors(Class'LMSPointsKillCount',MPRI){
Canvas.StrLen(MPRI.KillCounter,XL2,YL);
Canvas.SetPos((Canvas.ClipX/8)*4+XL/2-XL2,YOffset);
Canvas.DrawText(MPRI.KillCounter,false);
}
foreach PRI.ChildActors(Class'LMSPointsKillCount',MPRI){
Canvas.StrLen(int(((MPRI.KillCounter / (MPRI.KillCounter+PRI.Deaths)) * 100)), XL2, YL);
Canvas.SetPos((Canvas.ClipX/8)*5+XL/2-XL2,YOffset);
Canvas.DrawText(int(((MPRI.KillCounter / (MPRI.KillCounter+PRI.Deaths)) * 100)), false);
}
foreach PRI.ChildActors(Class'LMSPointsKillCount',MPRI){
Canvas.StrLen(int((((MPRI.KillCounter / (MPRI.KillCounter+PRI.Deaths)) * 100))+(MPRI.KillCounter * 10)+(PRI.Score)) * 100 / 100, XL, YL);
Canvas.SetPos((Canvas.ClipX/8)*6+XL/2-XL,YOffset);
Canvas.DrawText(int((((MPRI.KillCounter / (MPRI.KillCounter+PRI.Deaths)) * 100))+(MPRI.KillCounter * 10)+(PRI.Score)) * 100 / 100 , false);
}
Canvas.DrawColor=LightCyanColor;
Canvas.StrLen(PRI.Ping,XL2,YL);
Canvas.SetPos((Canvas.ClipX/8)*7+XL/2-XL2,YOffset);
Canvas.DrawText(PRI.Ping,false);
}
function DrawVictoryConditions(Canvas Canvas){
Canvas.DrawText("Score the most points!");
}
defaultproperties
{
}