You are an unregistered user, you can register here
Navigation

Information

Site

Donations
If you wish to make a donation you can by clicking the image below.


 
Go Back   The Unreal Admins Page > Forums > Unreal Admins > General > Suggestions & Comments

Reply
Thread Tools Display Modes
  #1  
Unread 6th April, 2008, 06:19 PM
{KAI}Cannon's Avatar
{KAI}Cannon {KAI}Cannon is offline
Killing Spree
 
Join Date: Nov 2005
Location: Virginia Beach, VA
Posts: 40
Default Would like some coding done, or at least some big time help!

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
{
}
__________________
Never underestimate genius

Last edited by {KAI}Cannon : 7th April, 2008 at 12:25 AM.
Reply With Quote
  #2  
Unread 21st April, 2008, 01:37 PM
AnthraX's Avatar
AnthraX AnthraX is offline
Administrator
 
Join Date: Jun 2004
Location: Ghent (Belgium)
Posts: 1,380
Default

As I understand you're looking for some sort of persistance (storing scores on the server) and player identification mod. I suggest you take a look at the AKA mod. With a few modifications to the code it should be very possible to keep track of accumulated scores. The admin 'start' command you talked about then comes down to just wiping your AKA array. You will also have to make your scoreboard retrieve data from the AKA array but that shouldn't be too tricky.

All in all, it will be quite a bit of work to get this done but it's definately possible
Reply With Quote
  #3  
Unread 21st April, 2008, 10:05 PM
{KAI}Cannon's Avatar
{KAI}Cannon {KAI}Cannon is offline
Killing Spree
 
Join Date: Nov 2005
Location: Virginia Beach, VA
Posts: 40
Default

Thanks for the reply AnthraX.

I will look for the AKA mod you described, and look over that code. Maybe I can get the gist of what I want from it...
__________________
Never underestimate genius
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 12:18 PM.


 

All pages are copyright The Unreal Admins Page.
You may not copy any pages without our express permission.