medScoreBoard, fancy scoreboard and linux letters fix

Started by Helen, Sep 12, 2010, 04:48 PM

Previous topic - Next topic

Helen

First version ready. This mutator provides two things:

A. The scoreboard is fancier looking

B. It preserves letters in player's names that have an ascii value over 127, for when the game is hosted on a linux server (as mine is).

Download here: http://www.birdieman.com/downloads/medScoreBoard100.zip

First some screenies in this post, then the readme in the next post. Most of the colors you see you are allowed to tweak. Also the text you see in the bottom left corner of the footer, that is custom text you are allowed to enter. This mute is running on my server if you want to check it out.

This is when you are in the lead:


Here someone else is in the lead:


Here is team game:

One of the Scriveners.

Helen


== medScoreBoard =========
== a mutator by ==========
==========================
_   _       _
| | | | ___ | | ___ _ __ 
| |_| |/ _ \| |/ _ \ '_ \
|  _  |  __/| |  __/ | | |
|_| |_|\___||_|\___|_| |_|
                         
==========================
== Version 100 ===========
== www.birdieman.com/forum
== 2010.09 ===============


===========================================
== About ==
===========================================

This mutator (optionally) provides two things:

A. Fancier Scoreboard. Works for all standard game types.
B. Preservation of special characters in player names when the game is hosted on a linux server.

I say optionally because you can turn one or the other off if you just want/need one of them.


=========================================================
== medScoreBoard.ini, settings and default values ==
=========================================================

A sample medScoreBoard.ini has been provided. Here are what all the settings are:


================
== scoreboard ==
================

bUseScoreBoardOverlay    If true, this will display the new scoreboard. The following settings only work if this
            value is true. To get an idea of I am talking about when I am referring to colors, you
            might want to run the mutator once with the default settings to get an idea of what it
            looks like. The default value for this setting is true.


= Background colors. I call each area enclosed by a border as a "box" =

borderColor        Color of the border that encloses the areas of the scoreboard, creating the appearance
            of "boxes".Default value is black.
headerColor        The "header" is the box where the title of the column names are drawn above the scores.
            Default value is green.
scoreColor        The "score" box where the player names and scores appear. Default value is metallic.
footerColor        The "footer" is a little box that appears below the scores. Default value is blue.


= Here are accepted values for the background colors... =

    black, blue, darkblue, darkerblue, darkestblue, lakeblue, paleblue, green, darkgreen, darkergreen, red,
    darkestred, winered, pink, metallic, yellow, paleyellow, purple, fadedpurple, mauve, seagreen, brown,
    darkbrown, orange, burntorange, gray, darkgray, palegray, olive


= Team scoreboard colors. A default coloring scheme has been provided, or you can set up your own look =

bDefaultTeamColorScheme    The default value for this is true. If this is true it draws a red header for the
            red team, a blue header for the blue team, etc. The default value for this is true.
            If you want to specify your own colors for the team headers, you must set this to
            false, and provide the next four settings.

redTeamColor        These next four settings allow you to specify the color of the team headers.
blueTeamColor        Accepted colors are the same as the above list of background colors.
greenTeamColor
goldTeamColor


= A second footer color for team games =

teamFooterColor        If you want a different footer color for your team game, specify a value for this
            setting. Otherwise, if you are ok with your normal footerColor being used for team
            games, then just omit this setting.


= Colors for player names*. These colors are applied for NON-Team games ONLY! =
= Note that these have a different list of acceptable colors              =

otherPlayerColor    If you were playing DeathMatch, and looked at the scores (in the regular scoreboard),
            you would see your name in yellow, and all the other player names in light blue. This
            setting is the color that all the other player names should be. The default value for
            this is the same as the regular scoreboard, which is called cyan.

samePlayerColor        And this is the color of YOUR player name. The default value is bronze.

sameLeaderPlayerColor    On the regular scoreboard, if you are in the lead, your name color is still yellow.
            But with this mutator you can have it appear a different color when you are in the lead.
            Default value is [custom] <= more on this later.

otherLeaderPlayerColor    On the regular scoreboard, when another player is in the lead, their color is still light
            blue (cyan). With this mutator you can have them appear a different color when they are
            in the lead. Default value is [custom].

adminPlayerColor    When you are logged in as admin, typically your name color is white. This setting allows
            you to change that. Note that this setting will override any other possible color for
            your name as long as you are logged in. Default value for this is white.


= Here are the standard accepted values for the player name (text) colors... =

    white, green, gold, blue, lightCyan, silver, bronze, cyan, red


= Custom colors for player names (and footer text mentioned later) =
Ok for the text you are able to get custom colors in. You are going to be specifying the RGB component for the
color. NOTE!! Only 256 bit colors will work. To find acceptable values, just do a web search for something like
"256 RGB values". You can see the values for each color. What happens if you specify an invalid color? Nothing
bad, it just won't accept your color and it will use white instead.
Ok so here is an example of how to specify a custom color:

samePlayerColor=R=102,G=0,B=255


= You can put text in the footer. For example your server name, or some little message, whatever. =
= It can be up to 125 characters long. Here is the setting with an example:

footerText=Happy fragging!


= You can specify the color of footer text. Accepted values are the same as above for player names =

footerTextColor        Default value is silver.


==============================
== Preserving Linux Letters ==
==============================

bFixLinuxLetters    The problem when the game is hosted on a linux server, is that the server takes any
            letter (or character) with an ascii value over 127, and replaces it with 127. So any
            player who has set up a fancy name will see their name with little squares instead of
            their special characters. This mutator is able to MOSTLY correct this. All the major
            spots are fixed. There are still a couple of minor instances where I am not able to
            fix the player name. The default value for this setting is false, so you have to specify
            it if you want it turned on.

bFooterTextEncoded    This one is a little bit of work to figure out, but I thought it would be worth it to
            someone who wants to put special characters into the footer text (if they were also
            using the scoreboard). Ok if you want to put special characters in the footer text, first
            you need to set this setting to true. Then, you must encode the footer text yourself!
            Here is an example, and how to do it.

footerText=101120097109112108101

            Don't worry it's easy. This translates into "example". What you need to do is provide the
            ascii value for each letter. Each letter must be represented by 3 digits. So let me space
            apart the example:
            101 120 097 109 112 108 101
            The ascii value for "e" is 101. The ascii value for "x" is 120. The ascii value for "a" is
            97, but I need 3 digits, so you must enter this as 097. etc. Just do a web search for
            "ascii chart" to find the values for the characters.


====================
== other settings ==
====================

bLogInfo        If true this adds various message to the log. It is false by default. I wouldn't bother
            turning it on unless something isn't working, then maybe something in the log will help
            you to figure why something doesn't work.




=======================================
== compatibility with other mutators ==
=======================================

= scoreboard mutators =

This mutator has zero compatibility with other scoreboard mutators, REGARDLESS of the value of bUseScoreBoardOverlay.


= HUD mutators =

If you have bFixLinuxLetters=false, then this mutator is 100% compatible with other HUD mutators.

If you have bFixLinuxLetters=true, then it depends on the other mutator. HUD mutators accomplish their goals in one
of two ways - either they draw on TOP of the existing UT HUD, or they REPLACE the existing UT HUD. So this mutator
will be compatible with other HUD mutators that draw on TOP of the HUD. How can you find out? You just have to load
it up and try it. Make sure to put this mutator ahead of any other HUD mutators in the list.


=========================
== running the mutator ==
=========================

You need to put these files into the System folder:

medScoreBoard100.int
medScoreBoard100.u
medScoreBoard.ini

You need to put this file in the Textures folder:

medPix135.utx


If you are using it on a server, you need to add these lines to the [Engine.GameEngine] section of the UnrealTournament.ini:

ServerPackages=medScoreBoard100
ServerPackages=medPix135

If you use the commandline to start the server, this is what you would add to the mutator list:

medScoreBoard100.medScoreBoard

Or if you want to start it with an Actor, you can add this line to the [Engine.GameEngine] section of the UnrealTournament.ini:

ServerActors=medScoreBoard100.medScoreBoardActor


=========
== fin ==
=========
One of the Scriveners.

Helen

The (im)practicality of releasing this mutator

There are quite a few things that need to be done to this mutator to make V2 a feasible release.

A. The drawing of the career stats for all gametypes that it supports needs to be completed. Only DM is done. Todo are TDM, LMS, CTF, DOM, and Assault! Lots to do there. The career stats also have the ability to be recorded for two 'other' game types, but I'm now sure how I would know how to draw it if I don't know what the scores look like. I'm hoping if the game type is based off of DM for example, then the DM drawing would suffice.

B. I need to do a better job of 'freezing' the player info as soon as the game ends. I've seen a couple of bugs occur when a player leaves the game immediately after it is over.

C. There's a 50/50 chance the server will have map vote, so I need to make it more efficient at the end of the game to prevent fighting for processing time with map vote.

D. The 'main' mutator file has many 'dependent' files. If I have to make a change in one of these dependent files, then updating the ini's where the data is saved is a pain in the butt. I wrote an executable to automate this, but I don't know how thrilled an admin would be to have to run exe. And it needs MS Framework 3.5 installed.

E. This one is an impracticality I can't do anything about. V2 of this mutator is incompatible with any other mutator that overloads the PlayerReplicationInfo (PRI) class. In fact ANY mutator that overloads the PRI class has the same limitation. The scoop is, if you have a bunch of mutators that overload the PRI class, you can only choose one to use.

Now, not to get down on this poor mutator. For me it has run almost flawlessly. But I am the programmer who made this thing, so I know how to tune it to keep it going. Making it more 'out of the box' for someone else is another thing. I will continue to peck away at it, but it's going to be awhile.   
One of the Scriveners.

medor

Quote from: 202E27272E394B0YES WE NEED MAPVOTE!! lol

+1  a medvotela14   :D

Helen

Quote from: 6B636269746B63626974060
+1  a medvotela14   :D

hmmph, don't tempt me, I'd like to spend that year of my life doing something else.
One of the Scriveners.

Helen

The version you downloaded, 100, is light and stable. The version I'm running, 194, is not. See reply #3 above.

I can help you with ini setup if need be. Play with the colors a bit so it looks a little different from mine or Hook's colors.
One of the Scriveners.


Helen

Quote from: 272F2E2538272F2E25384A0medScoreBoard197 ?

U have somes updates ?

That version is not public, medScoreBoard100 is the public one.
One of the Scriveners.


Hook

#9
Yes, medScoreBoard100 works great medor.
I also use it on both CLD and CMM servers.
[size=14]=Hook=
ALL NEW! -> http://hooksutplace.freeforums.net[/size]
[size=12]Server: CROSSBONES Lucifur MISSILE MADNESS {CMM} PRO-REDEEMER
IP: 68.232.181.236:7777[/size]


Helen

That would be a small performance hit during gameplay IMO, so I decided against country flags.
One of the Scriveners.

Hook

Yeah, country flags are no big deal anyway - mostly fluff.
I'd much rather have the smooth running way!
[size=14]=Hook=
ALL NEW! -> http://hooksutplace.freeforums.net[/size]
[size=12]Server: CROSSBONES Lucifur MISSILE MADNESS {CMM} PRO-REDEEMER
IP: 68.232.181.236:7777[/size]

Hermskii

Tried just doing the actor. No luck. Did it the other way and all is good.
~Peace~

Hermskii

medor

Hi
i have 2 question

****I can see medScoreBoard101.
It work but at low right we can see medscoreboard100. Not 110.
Is it the last public one ?


****In file medScoreBoardTogglePackage225 there is medScoreBoard225 but i can't make it work may missing UTX file this file is not a scoreboard ?

Helen

medScoreBoard101: Sure this is a package you could use. If it says "100" in the bottom right corner, I just forgot to update that text, that's all. The 101 version has a single bug fix, the player's ping was not accurate.

medScoreBoardTogglePackage: This is not a stand-alone release. It is useless unless you are playing on my server. The package is only meant for players who want to be able to utilize custom HUD stuff on my server.

One of the Scriveners.


Hook

Yes Helen - Thank you for that fix! ;)
Upgrading CMM server to medScoreBoard101
[size=14]=Hook=
ALL NEW! -> http://hooksutplace.freeforums.net[/size]
[size=12]Server: CROSSBONES Lucifur MISSILE MADNESS {CMM} PRO-REDEEMER
IP: 68.232.181.236:7777[/size]


Helen

One of the Scriveners.