SMARTCTF 4C

SmartCTF is a mutator to promote teamplay in CTF games. It has a special scoring system, as well as an advanced scoreboard showing various teamplay orientated statistics. And many, many more features.

This page contains documentation about the tweaking I did to the SmartCTF mod.

This mod was originally made by {PiN}Kev around January 2004, and linked to http://pin.progameplayer.com/SmartCTF but that site doesn't seem to work anymore.

Tweaked by {DnF2}SiNiSTeR in January - March 2005. Besides listing my changes, on this site you can also find an user / admin manual.

Site: http://www.dnfclan.com/~sin/SmartCTF


CONTENTS


CHANGELOG

SmartCTF 4C

{DnF2}SiNiSTeR
March 2005
  1. Bugfixed version of 4B, not much changes.
  2. Fixed: being unable to use a custom scoreboard like MODOS, SubStats or even the PURE Clickboard (after the first map).
  3. Spawnkill time limits can be specified in the .ini-file.
  4. Added a minimal flag capture bonus for the new scoring system.
  5. Displays a faceless avatar instead of a blank space, when a player has no face.
  6. No Flagsaves for flags really close to eachother.

SmartCTF 4B

{DnF2}SiNiSTeR
March 2005
  1. Totally renewed and vamped the SmartCTF scoreboard!
    • The SmartCTF scoreboard now replaces the original scoreboard instead of painting over your HUD. But no worries, you can toggle between the normal scoreboard and SmartCTF scoreboard with the familiar command "mutate SmartCTF Stats". Also by default you won't see the SmartCTF scoreboard until the game has ended like with every other SmartCTF version. Therefore there should be no disadvantages, just the advantage that your HUD does not get screwed up anymore on occasion! (Like your Chat Area being hidden again...)
    • Furthermore the scoreboard looks much sexier. Read on...
    • For starters, players are accompanied by the face of their player model (avatar).
    • There is a dark shading behind the data for better readibility of compressed screenshots.
    • The statistic bars are now a ratio of the maximum, not the total.
    • Players have extra stats: Efficiency, number of HeadShots, ShieldBelt and Damage Amp pickups.
    • Therefore ping and packetloss is displayed under the avatar.
    • The team headers if some extra information as well. These are average ping and packetloss for that team, and percent of total SB/Amp pickups.
    • In the bottom of the screen the tickrate of the server will now display (at the end of the server line).
    • All this data is also dynamic, trying to get as much players to fit on the screen as possible. It supports upto 18 players at a resolution 1024x768.
  2. Several bugfixes:
    • Now compatible with UTPure's WarmUp Mode!
    • Fixed "multiple player name" bug at end of game when people leave and join.
    • No more "Long Range" messages when killing with a zoomed sniper.
    • Show FC Location (bShowFCLocation in .ini) can actually be disabled now.
    • As well as bPlay30SecSound, but this is tricky. When enabled, it changes a setting on the client when the player joins. This change remains until that player quits UT. So he could also hear the sound when joining a non-SmartCTF server later ;)
    • Fixed a scoring error for flagreturns (mid/base swapped).
  3. More specific SmartCTF logging, also fills the Flag Assist column for UTStats beta 3 by azazel!
  4. Optional Spawnkill Detection, with score penalties and messages.
  5. SmartCTF Server Info (F2), including Record Holders for various stats.
  6. Optional "You Got The Lead"/"You Lost The Lead" announcer sounds at capping.
  7. Included "Overtime Control".
  8. New cap/assist scoring system.
  9. Console command "mutate SmartCTF ForceEnd" to force a game to end.
  10. Console command "mutate CTFInfo", like UTPure's "CheatInfo".
  11. "MonsterAnnouncer" for Enhanced MultiKill (broadcast multi kills etc. in console for example for reporterbot).
  12. Keybind for stat toggling can be selected in UT Settings / Controls.
  13. Made the startup logo smaller.
  14. Decreased filesize with ~one third.
  15. Decreased network usage by ~half.
  16. Works better on standalone games. But keep in mind it was programmed for a dedicated server.
  17. A lot general code improvements, optimalizations and changes.

SmartCTF 4A

{DnF2}SiNiSTeR
November 2004
  1. Fixes the "flagbug" where the flag is sent home when the FC disconnects. Now it is dropped there.
  2. Lots of booleans you can set in the .ini file to hide certain SmartCTF messages on your server.
  3. Same goes for setting SmartCTF bonuses and almost every other SmartCTF feature.
  4. Can be setup as Server Actor so you don't have to select the mutator each time. Doesn't load for non-CTF gametypes.
  5. Optional 'Assist' sound at assist, 'Capture' sound at capture and 'Nice Catch' sound at save.
  6. SmartCTF messages have their own spot and don't interfere with other messages, this also fixes the Saved message bug.
  7. Works with bots (thus offline) now as if they were players also.
  8. Enhanced MultiKill Messages (Triple Kill & MegaKill + Announcer).
  9. Code reformatting, various small code tweaks and optimalizations.
  10. Rules for Cover Kills altered a bit (more flexable).
  11. Missing Announcer sound on '30 second remaining' included.
  12. Other small sounds added for some SmartCTF messages.
  13. Long Range Kill detection and message at headshot location (headshot has preference).
  14. Powered by SmartCTF message/logo.
  15. Small Statboard enhancements.
  16. Shows "Deaths" instead of "Seals" if no Seals.

SmartCTF V4.0

{PiN}Kev
January 2004
  1. Option to turn off all smartCTF messages for those who fear distraction in matches.
    -mutate SmartCTF messages off/on
  2. Displays FC location right bottom side when your team has flag. No more need to F1.
  3. Added flag return points as follows: Flag returns in own base = 0.5 pts. Flag returns in mid = 2pts. Flag returns in enemy base = 4 pts. Flag returns very close to capping = 8 pts with a big message.
  4. Auto screenshot option for tourney mode maps. D/L the ini from main page and put in system dir.
  5. Fixed assist bug where some times it didn't reward as it should.
  6. Fixed accessed nones. No more scriptwarning: SmartCTF.broadcastlocalizedMessage stuff in the logs.
  7. Fixed current time error for month.
  8. Auto brings up stats at end of game.
  9. No longer made stats override F1, so people who dont have the stats binded can turn it off easier with F1.

SmartCTF V3.0

{PiN}Kev
  1. Team scores on top
  2. Added ping , pl, and time for each player
  3. Shows server name at bottom
  4. Shows game ended message at top
    So now with those you can take SS of SmartCTF stats instead of F1 after each map in matches/tourneys.
  5. Now logs covers and seals into ngLogs (Prompted by dio\Apollo's ngLog parser: http://www.clan-dioscuri.com/serverstats.php) very nice stuff.
  6. Added current time for those who lose track of time playing. The time is YOUR time, whatever your computer is set to.
  7. Fixed some point system errors.

SmartCTF V2.0

{PiN}Kev
  1. Fixed bug where not all players are drawn sometimes.
  2. Sorted names by score
  3. Changed color scheme for easier reading. The ammount of green in bar reflects the raw number of the stat.
  4. Added flag icon next to FC
  5. A cover kill is now either if the victim can see FC, ** OR ** if he's within 800 unreal units of FC (Approx 50 ft).
  6. Auto turns off F1 when viewing stats
  7. Made the number of pulse kills it takes to get pulse whore message configurable via ini. Just put the ini in the system folder.
  8. Fixed some bugs like suicides not resetting the 30-kill spree, not resetting list of ppl who assisted or covered/sealed after flag return.
  9. Fixed some accessed nones, which have no impact on server performance.
  10. Please remove all earlier versions of SmartCTF. I forgot to label the 1st one SmartCTFV1 in the mutator list, but this one is labeled SmartCTFV2.

INSTALLING

SmartCTF is a client- and serverside mod. This means it has to be installed on the server. It should also be added to the ServerPackages so clients will download it automatically to be able to see stats and the likes.

The steps for Server Administrators are as follows:


OPTIONS IN THE .INI FILE

Just open up the SmartCTF_4C.ini in the UT\System folder. If you can't find it, run a game with SmartCTF one time to generate it with the default options.

Explanation

NameDefault ValueDescription
CapBonus
AssistBonus
CoverBonus
SealBonus
FlagKillBonus
GrabBonus
8
7
2
2
0
0
Here you can enter the SmartCTF bonuses. Remember this gets added to default UT scorings. You can only enter integer numbers, and can use something like -1 to decrease in score, for example setting FlagKillBonus to -1 will give 4 points instead of standard 5 on a flagkill. See Scoring.
BaseReturnBonus
MidReturnBonus
EnemyBaseReturnBonus
CloseSaveReturnBonus
0.500000
2.000000
4.000000
8.000000
If you return the flag in a specific playerzone or really close to the flag. These can be decimal numbers hence the 0.5 pts for base returns. You don't see decimals on the scoreboard. See Scoring.
SpawnKillPenalty1 If Spawnkill Detection is enabled, this is the amount of points you lose for each spawnkil you do.
MinimalCapBonus5 Only applicable with the new cap/assist scoring system, this specifies the minimal amount of points a flagcapture is worth. See Scoring.
bEnabledTrue You can totally disable the loading of SmartCTF by setting this to False.
bFixFlagBugTrue If True, the flag will be dropped if the FC disconnects or lags out, instead of being sent home which is the default UT functionality. Hopefully this will prevent some 'lagoutcaps' in clanwars.
bEnhancedMultiKillFalse Enable enhanced multikills. Inserts 2 extra phases, in color changing messages and unlimited MonsterKills.
EnhancedMultiKillBroadcast3 Ignored if bEnhancedMultiKill = False. Since the MonsterAnnouncer mod is incompatible with Enhanced Multkill, SmartCTF has a built-in function for it. It will display a message in the console if a player gets a Multi Kill, Triple Kill etc.
The value decides from which multkill-level onwards a message should be displayed (as in 2 = Double Kill, 3 = Triple Kill, etc). 0 = no message will be displayed.

If you want this functionality but don't want Enhanced MultiKill, use TNSe's MonsterAnnouncer instead.
bShowFCLocationTrue Players will see the location (playerzone) of their own Flagcarrier in the bottom right corner of the screen.
bSmartCTFServerInfoTrue Enhanced Server Info under F2. Just check it out!
bNewCapAssistScoringTrue Utilizes the new scoring system for captures and assists. See Scoring.
bSpawnKillDetectionTrue Detects spawnkills and displays a message similar to the "Head Shot!" message. See FAQ.
SpawnKillTimeNW
SpawnKillTimeArena
3.500000
1.000000
The maximal time after a victim respawns, that the kill can be defined as a spawnkill. For arena (instagib) and NW games. See FAQ.
bShowSpawnKillerGlobalMsgTrue Will display a global message about the spawnkiller, when someone makes 3 consecutive spawnkils in a row without dieing.
bAfterGodLikeMsgFalse Enable the additional killingspree message after Godlike, "Too Easy For..", and another one. No sound.
bStatsDrawFacesTrue Whether to draw the avatars on the Statboard.
bDrawLogoTrue If True, a player will see a logo on joining the server. Otherwise a console message is displayed.
CoverMsgType
CoverSpreeMsgType
SealMsgType
SavedMsgType
0
1
1
3
0..3, how to display certain SmartCTF messages.
0 = off, 1 = console message self, 2 = console all players, 3 = HUD message for all.

CoverMsg: ... covered the flagcarrier!
CoverSpreesMsg: ... is on a multi cover / cover spree !
SealMsg: ... is sealing off the base!
Saved Msg: Saved By ...!
bShowLongRangeMsgFalse Display "Über / Long Range Kill!" similar to the "Head Shot!" message, on non-sniper/insta/trans/deemer kills over huge distances.
bShowSealRewardConsoleMsg
bShowCoverRewardConsoleMsg
bShowAssistConsoleMsg
True These are the 'reward on cap' and 'assist' messages displayed in the console, you can disable them also.
bPlaySavedSound
bPlayCaptureSound
bPlayAssistSound
bPlayLeadSound
bPlay30SecSound
True
False
True
True
True
Additional Announcer sounds, "Capture" at a flagcap, "Assist" when you get an assist bonus and "Nice Catch!" if you do a Flagsave. Also "You Got The Lead!" or "You Lost The Lead!" when you make a capture or the opponent makes a capture, when appropiate. And the missing "30 seconds remaining..." sound (sounds a bit odd tho :s)
bEnableOvertimeControl
bOvertime
bRememberOvertimeSetting
False
True
False
Please refer to the FAQ for information about Overtime Control.

Public servers

Now, understandably we want different settings for a public server and a clanserver. The default options are somewhere inbetween.

Here is a sample configuration suited for a public funserver. SmartCTF messages are fully enabled and so are most 'funstuff' features:

[SmartCTF_4C.SmartCTF]
bEnabled=True
CapBonus=8
AssistBonus=7
FlagKillBonus=0
CoverBonus=2
SealBonus=2
GrabBonus=0
BaseReturnBonus=0.500000
MidReturnBonus=2.000000
EnemyBaseReturnBonus=4.000000
CloseSaveReturnBonus=8.000000
SpawnKillPenalty=1
MinimalCapBonus=5
bFixFlagBug=True
bEnhancedMultiKill=True
EnhancedMultiKillBroadcast=5
bShowFCLocation=True
bSmartCTFServerInfo=True
bNewCapAssistScoring=True
bSpawnkillDetection=True
SpawnKillTimeArena=1.000000
SpawnKillTimeNW=3.500000
bAfterGodLikeMsg=True
bStatsDrawFaces=True
bDrawLogo=True
CoverMsgType=3
CoverSpreeMsgType=3
SealMsgType=3
SavedMsgType=3
bShowLongRangeMsg=True
bShowSpawnKillerGlobalMsg=True
bShowAssistConsoleMsg=True
bShowSealRewardConsoleMsg=True
bShowCoverRewardConsoleMsg=True
bPlayCaptureSound=False
bPlayAssistSound=True
bPlaySavedSound=True
bPlayLeadSound=True
bPlay30SecSound=True
bEnableOvertimeControl=False
bOverTime=True
bRememberOvertimeSetting=False

Clanservers

We don't want too much distraction here, so no big screen messages like "X covered the flagcarrier" and "X is sealing off the base". Furthermore 'funstuff' like Enhanced Multikill is disabled. Some console messages remain, but you can tune this down even further if you want.

[SmartCTF_4C.SmartCTF]
bEnabled=True
CapBonus=8
AssistBonus=7
FlagKillBonus=0
CoverBonus=2
SealBonus=2
GrabBonus=0
BaseReturnBonus=0.500000
MidReturnBonus=2.000000
EnemyBaseReturnBonus=4.000000
CloseSaveReturnBonus=8.000000
SpawnKillPenalty=0
MinimalCapBonus=5
bFixFlagBug=True
bEnhancedMultiKill=False
EnhancedMultiKillBroadcast=3
bShowFCLocation=True
bSmartCTFServerInfo=True
bNewCapAssistScoring=False
bSpawnkillDetection=False
SpawnKillTimeArena=1.000000
SpawnKillTimeNW=3.500000
bAfterGodLikeMsg=False
bStatsDrawFaces=True
bDrawLogo=True
CoverMsgType=0
CoverSpreeMsgType=0
SealMsgType=0
SavedMsgType=3
bShowLongRangeMsg=False
bShowSpawnKillerGlobalMsg=False
bShowAssistConsoleMsg=True
bShowSealRewardConsoleMsg=True
bShowCoverRewardConsoleMsg=True
bPlayCaptureSound=False
bPlayAssistSound=True
bPlaySavedSound=True
bPlayLeadSound=True
bPlay30SecSound=True
bEnableOvertimeControl=False
bOverTime=True
bRememberOvertimeSetting=False

Default UT scoring

If you want the default UT scoring, and not the SmartCTF enhanced point system, just set all bonuses to 0 and bNewCapAssistScoring to False.

CapBonus=0
AssistBonus=0
FlagKillBonus=0
CoverBonus=0
SealBonus=0
GrabBonus=0
BaseReturnBonus=0.000000
MidReturnBonus=0.000000
EnemyBaseReturnBonus=0.000000
CloseSaveReturnBonus=0.000000
SpawnKillPenalty=0
MinimalCapBonus=0
bNewCapAssistScoring=False

Changing settings as admin

Any client logged in as admin can easily change these settings by typing commands like this in the console:
admin set SmartCTF CapBonus 5
admin set SmartCTF bShowFCLocation False

Use a command like admin get SmartCTF bFixFlagBug to request the current value.

Note that some properties might require a restart of the game to take effect!



POINTSYSTEM AND RULES

Default points

SmartCTF changes the points you receive. They can now be changed by the server admin, if you want to check a certain server's settings just type 'mutate smartctf rules' in the console. Here is the default setting.

ActionUT ScoreSmartCTF BonusTotal
Capture**7815
Assist**-77
Flagkills505
Covers1*23
Seals1*23
Grabs000
Flagreturns in own base-0.50.5
Flagreturns in mid-22
Flagreturns in enemy base-44
Flagreturns really close-88
Spawnkill1*-10

* The 1 score you get from UT is because of the normal kill you did.
** There is a new scoring system for caps and assists. See below.

Rules

New cap/assist scoring

With the setting bNewCapAssistScoring enabled, the points for Assist and Captures will be divided based on the time each player carried the flag!

It uses the total amount of points normally awarded for a capture (by default 15, see table). So you can configure CapBonus to change this. If you capped a flag doing a solorun, then you get all the points because you carried it 100% of the time. If someone carries a flag for 15 seconds, drops it, you pick it up, carry it for 5 seconds then cap, then you get 25% of the points and the assister 75% of 15 points.
If you drop a flag and later pick it up again, then the new time will be added to the old.

There's also a setting to give a flagcapper a minimal bonus. For example if someone pickups a dropped flag 1 meter for the flag and caps, he would get very little points, even if it was a nice rescue. With MinimalCapBonus you can adjust this and set a lower bound. By default this is 5, so a capture would give you at least 5 points. More if applicable.

With bShowAssistConsoleMsg on True, you will see a console message telling you how much seconds you carried it.

This was not fully my idea, because I've played on a server once with this functionality enabled. I don't know how the mod was called, how it exactly worked or who made it, and couldn't find anything on the Internet. So I just went and made my own implementation of it. But credit to whoever's original idea it was.


COMMANDS AND KEYBINDS

The following commands can be typed by clients in the console:

A good tip is to bind the toggle command to F3. This key only gets used for Assault so for CTF its free. Bind F3 as follows in your User.ini:
F3=ShowObjectives | mutate smartctf showstats

Now it will display the objectives during an Assault game and toggle the SmartCTF statboard during a CTF game (also compatible with older versions of SmartCTF).

Note: you can now also bind the command using the UT settings window, under Controls.


FAQ


CONTACT

Contact {DnF2}SiNiSTeR on #DutchNet @ QuakeNet IRC

Or via the e-mail on this page.