Noname CTF v0.5.1 A CTF Mod for Unreal http://www.captured.com/nonamectf ----------------------------------------------------------- 1 - Welcome + Updates ----------------------------------------------------------- This is a beta release of NnCTF. Please note that this is NOT the 1.0 release. It is an early release and should be considered as such! In other words, expect bugs, unimplemented features, etc. Current release notes: * NnCTF 0.5.0 introduced a new set of skins (for SkaarjPlayer classes.) This will require that you add the SkTrooperSkinsNnCTF to the ServerPackages section of your unreal.ini file. * With the introduction of 0.4.2, the unreal.ini file requires some minor modifications. These are documented in the "Installation" section. * The grappling hook has currently been disabled pending a newer hook of higher quality (one that works right!) Versopm 0.5.1: * Bug fixes include: * The Strength rune would double a player's damage, but not set it back after the rune had been droped. This has been fixed. * The Resist rune wasn't working at all. This has been fixed. (It works fine now.) * A flag would occasionally, upon being returned, change it's default "In-Base" location. This has been fixed. * New features/tweaks include: * All textures, sounds, and models from NnCTF.u were moved to NnCTFmedia.u. This should shrink the sizes of most updates, as the media parts of NnCTF are not updated as often as the code is. * Custom Gamespy field information was updated with information on the 'BeenCapturedLimit' setting. * All ITSHUD code moved into NnCTF.u. Version 0.5.0: * Bug fixes include: * Runes dropped as a result of death would be considered "invalid" and non-pickupable (until the next death.) Ie, a player could pick up the Haste rune, get fragged, then try and fail to pick up that rune. This has been fixed. * Players switching to spectator mode by using "setteam spectators" are now properly placed in spectator mode. * SetTeam now checks to make sure a proper team name is being entered (the command will now simply abort rather than placing the player into a spectator mode.) * Fixed problem where spectators, upon spawning into a level, would create a spawn noise+effect, even though they weren't actually playing. This should be fixed. * Fixed a minor bugs where runes would often not rotate properly. * Fixed a bug where runes would occassionally fall out of the world (ie. they'd disappear off the map.) (Note: Runes will still do this, however a new rune will spawn in place of the accidentally removed one.) * The Team Selection menu occassionally would display and then fail to work until the Escape key was hit. This has been corrected. * Automatic team selection (using NnCTFGame's bAutoAssignTeams variable) would only place players on one team. This has been fixed (players are now spread out evenly.) * New features/tweaks include: * Very Simple bot support added. Bots currently exist but are not CTF aware. In other words, they do not understand the whole capture+defend concept. Because of this, bots could potentially pick up flags but not be able to capture them (or return them properly, provided that auto-flag-return was turned off (by default, it isn't.)) As such, bots, by default, cannot carry flags (for the time being.) This prevents players from having bot team-mates that roam around with a carried flag. (Note, this is changeable through a variable in NnCTFGame. Also, bots can return flags if automatic flag returning is on (which is, by default, true.) * Made the frag count "skull" icon team-specific (as it is in an Unreal team game.) * Removed unnecessary HUD items for clients in spectator mode. (Ammo, health, personal frag count, and weapon overlays.) * Added support for some rune sounds (the Haste sound works, however the Strength and Resist sounds are still causing problems. I'm looking into this.) * SkarrjPlayer support added, complete with team skins. Version 0.4.4: * Bug fixes include: * Captured, stolen, and returning sounds should now be played to each player, instead of only being played in one particular location of the world. (For example, if one player steals a flag, another player on the opposite side of the world likely would not hear it. This should now be fixed.) * The Targeting Computer should now work properly. * New features/tweaks include: * Optional UWar-style "capture bases". These are turned on by default, but can be disabled either through NnCTF's configuration menus or by setting NnCTFGame's bInvisibleBases to true. Version 0.4.3.1: * Bug fixes include: * Flags, which are defined to be bAlwaysRelevant, would often find themselves in a situation where their owner (the flag carrier) would not be network relevant to a player. This caused frequent script errors and slow downs for players. Version 0.4.3: * Bug fixes include: * Fixed problems with certain player classes not having proper player meshes. This caused display problems with players as well as abnormally high CPU usage. * Custom skins were still having some problems. They can now be optionally turned on or off (using NnCTFGame's bUseCustomSkins variable.) * Spectator suiciding bug fixed. * New features/tweaks include: * NnTargetingComputer added to optionally enhance Unreal's normal identification. (Thanks to UWar for donating the graphics.) Player's can now see the health and rune powerups of their teammates, in addition to seeing the distance, weapon, and score of each player. * For games with more than 2 teams, games can now optionally end if a particular team has their flag captured a certain number of times (this is set up in NnCTFGame's BeenCapturedLimit variable.) * NnCTF configuration menus updated with all new options listed above. Version 0.4.2: * Bug fixes include: * Custom skins now work properly. The problem was that the skin files each had to be referenced as a "ServerPackage" (something which is specified in the unreal.ini file.) * Server information options (such as the server name, admin e-mail, MOTD, etc.) for NnCTF games are no longer separately configured options. Anything set up through Unreal's "Advanced Options" menu will be used. * DMElsinore had a problem with it's map data file. This was previously released as a separate patch, but is now included in the main release. * New features/tweaks include: * Runes can now be dropped using the DropRunes command. Like in Q2CTF, runes which have been dropped can no longer be picked up by a player who previously held them until they respawn. * NnCTF's "Rune Configuration" menu has been added. Runes can be enabled/disabled and configured to one of two different "modes" (4 runes at 100% power each or 8 runes at 50% power each) using the "Configure Game" menu option (available when starting a multi-player game via Unreal's menu system.) * DM-Twilight, which is part of Epic's Fusion map pack, is now a supported map. Version 0.4.1.2: * Bug fixes include: * Dropped flags (ie, due to a fragged flag carrier) would not have their position properly updated to clients. In other words, the flag would appear in one spot while actually existing in another! This is now fixed. * Team skins weren't being set properly. For now, users will be given Unreal's default team skins (as the problem lies within Unreal's ability to set a player's skin to a custom one. I've contacted Tim Sweeney about this.) * New features/tweaks include: * Dynamic music selections have been tweaked. Now the "suspense" option is played to all teams whenever another flag is out of base (if the Red team picks up the Blue team's flag, the Green and Yellow teams will hear suspense music.) Version 0.4.1.1: * Bug fixes include: * Flame grenades would not disappear (after being thrown) during network games. For now, the flame grenades have been removed (pending further debugging.) * New features/tweaks include: * Several additions to the "Advanced Options" menu/window have been made. Sections to edit NnCTF Map Lists and NnCTF Server Information have been created. * GameSpy fields have been added. To a GameSpy user, a server will report various NnCTF-specific variables (such as capture limit, team score limit, and the version of NnCTF being run.) * Grenade amounts are now based on the number of active players in a game. (So there won't be too many grenades lying around.) * Grenades can now be disabled. This feature is accessible through NnCTF's menu system, as well as Unreal's "Advanced Options" menu. * Darkmatch support added. DKNightOp was converted to support this. Version 0.4.1: * Bug fixes include: * During network games, flags would not show back up in base after being captured. This has been fixed. * In-Base team spawning now works properly. * New features/tweaks include: * Preliminary support for up to 4 teams. DMradikus and DMHealpod currently support these changes, however that is currently it in terms of map support. * Countless tweaks for low-resolution screens (to the HUD, the scoreboard, and the team selection menu.) * DM2Fort4 support now replaces 2Fort4_Test1 and DM2Fort4_Test2 support (this was at the request of the map author.) DM2Fort4 is a later version of those particular maps. * New console commands to enable/disable the ITSHUD, the Team Information display, and the Rune information display. * Support for the maps DmUW_Fort and DmUW_Fort4Way added, however these maps require UWar.u, which can be downloaded off UWar's web site (http://www.planetunreal.com/uwar). Version 0.4.0.1: * Bug fixes include: * NnCTF.u no longer requires UWar.u (I have no idea why it was in the first place. Nonetheless, it's fixed.) * Bad music track removed. Version 0.4.0: * New features include: * Compatibility with Unreal 220. * Multi-Power Runes. Ie, a particular rune can be set to 50% power. Each player is given a "Maximum Allowed" charge. * Runes also randomly "pop-out" of player start points. (Similar to the tech powerups in Q2CTF.) * UWar-style grenades (razor, multi-fire, and concussion.) * Team-specific shield belts and power belts (using TShieldBelt.u) * Updated HUD. More informative (includes rune powerups, team scores, team capture scores, and flag status information) and more friendly towards smaller resolutions. * On-Screen player id system (based off ITSHUD.) Every player visible has has their position marked along with their name, distance, and team color. * Updated team selection menu. This menu now replaces Unreal's default main menu (this only stays in effect while in NoName CTF.) * New server configuration menus. Many more game-options are covered here. * Dynamic music with nine different randomly selected "tracks". Each player has their music set according to their team's flag status and/or if their team is carrying a flag. * New scoreboard. * Various other gameplay tweaks. * New map data format. Data files are now creating using OpenMod (http://www.captured.com/nonamectf/openmod), allowing other CTF mods to potentially use the same data files for their CTF mod (without having to depend on the user downloading NnCTF, and vice-versa.) * Painless install. No changes to Unreal.ini required! * Bug fixes include: * Carried flags no longer move along in a choppy fashion. * Scores are now checked properly. A game can be set to a particular time limit, team score limit, team capture limit, or player score limit reliably. * Team player counts work correctly. * Countless other small bugs squashed. Version 0.3.6: * Bug fixes include: * When a client picks up a flag, it will follow them around correctly. * The grappling hook now works properly. * The team selection menus now report correct values. * The dynamic level info code (that finds where the flags should be spawned) was horribly broken, but it works fine now. * CTFLevelInfo classes can now be created for levels whose title begins with a number. This involves changing the naming scheme a bit, all of which is documented in the readme (see Section 8) * The flag is now dropped when a player changes teams. * The captured sound (or any other sounds) will not generate an odd overlay effect. * New features include: * A new grappling hook! NnCTF now uses the Grapple Cannon featured on PlanetUnreal's Weapons of Destruction site (http://www.planetunreal.com/wod) Bind a key to 'SwitchWeapon 11' to use it. (See the included GRAPPLE.txt for more information on the hook.) * CTF support for levels 2Fort4_Test1 and DM Wicked Mansion. * Will automatically find team spawn points (it tries to find any PlayerStart points near each flag.) Version 0.3.5: * Bug fixes include: * HUD fragcounts would occassionally go off screen to the left (now they shouldn't). * The team selection menu now reports correct team scores and player counts. * Capture+Stolen sounds should now be heard by all players. * The flag no longer gets in the way of the carrier. * New features include: * Hitting F3 will bring up the team selection menu. * When carried, the flag will leave behind a small smoke trail. By 0.4.0, this will be team colored. * Runes can now be of varying power! The server admin simply sets up a list of runes and their strengths (100 being normal) in the unreal.ini file (or in the console.) * Adding CTF support to *ANY* map is now possible (without having to edit the NnCTF.u file!!) * The grappling hook no londer replaces the razorjack! Instead, it is an inventory based item. Version 0.3.1: * Bug fixes include: * No player sounds bug * Not being able to fire if not playing on the server bug * Scoreboard bug (minor) * Flag not following the carrier bug (partial solution) Version 0.3: * New version of the jwindy's grappling hook (0.5) * New skins for Male1, Male3, and Female1 models * In-game switching to spectator mode (see the "console commands" section) * Players automatically put in spectator mode (server controllable) * Menu-based team selection * The "SetTeam" console command now respawns players after changing teams. * Runes working properly (strength, resist, haste, and regen) * Message of the Day (MOTD) support * Flag capture assist bonuses * Flag defender bonuses (for killing an enemy near the flag carrier) * New flag model and skins * Server setup menus have been enhanced * Flag stuck-in-mid-air bug fixed. Version 0.2: * HUD/console bug fixed. * New rune code. * Quad code added. * Early Grappling Hook (using Jwindy's hook at http://gladstone.uoregon.edu/~jwindshe/unreal/ ) * Early Darkmatch code. This will allow all the lights on a particular level to be dimmed by a server-set percentage. Right now this code has network problems. IE, it only works on the server. I think I know how to fix this though. Version 0.1: * Basic CTF structure (flags, ability to steal and capture flags, etc.) * Custom HUD * Custom Scoreboard * Partially-implemented "Configure Game" menu * All DM maps included with Unreal are CTF-playable (only flags have been added, spawn points have not been adjusted for team play.) * Runes partially implemented, yet they still don't work correctly under 209. ----------------------------------------------------------- 2 - Installation ----------------------------------------------------------- If installing from the .exe distribution: Run the installer and specify where your Unreal directory is located. If installing from the .zip distribution: Unzip Noname CTF into your Unreal directory with full pathnames. (Full pathname support is really only a concern if you use the pkunzip for DOS. If you use WinZip, or some other Windows unzipper, then don't worry about this.) You're also going to have to make a minor modification to your unreal.ini file. (Note: This only applies to people who even plan on running an NnCTF server.) Open up unreal.ini into your favorite text editor and find the [Engine.GameEngine] section. Now look for the ServerPackages list. Add the following to the available entries: Female1SkinsNnCTF, Male1SkinsNnCTF, Male2SkinsNnCTF, Male3SkinsNnCTF. Once you are done, the ServerPackages section will probably look something like this. ServerPackages[0]=Female1skins ServerPackages[1]=Female2skins ServerPackages[2]=Male1skins ServerPackages[3]=Male2skins ServerPackages[4]=Male3skins ServerPackages[5]=SkTrooperskins ServerPackages[6]=Female1SkinsNnCTF ServerPackages[7]=Male1SkinsNnCTF ServerPackages[8]=Male2SkinsNnCTF ServerPackages[9]=Male3SkinsNnCTF ServerPackages[10]= ServerPackages[11]= ServerPackages[12]= ServerPackages[13]= ServerPackages[14]= ServerPackages[15]= ----------------------------------------------------------- 3 - Console Commands ----------------------------------------------------------- * AboutNnCTF - Displays the current version number of Noname CTF * DropRunes - Drops all currently held runes. * SetTeam - Changes a player to that specific team * Spectator - Switches a player to spectator mode (and removes them from their current team.) * ITSHUD - Enables/disables the Tracking HUD (ITSHUD). * TeamInfo - Enables/disables the Team Information panel. * RuneInfo - Enables/disables the Rune Information panel. (NOTE: The grappling hook has been disabled in NnCTF until a better grappling hook can be found and/or created.) Grappling Hook: Go to the "Advanced Options" menu, look under "Advanced" and then "Raw Key Bindings". Then designate some key as "SwitchWeapon 11". Or you can simply use the console by using the following command: set input SwitchWeapon 11 For example, if you wanted to bind the shift key to the grappling hook, you'd issue the following command to the console: set input shift SwitchWeapon 11 ----------------------------------------------------------- 4 - Server Admin Info ----------------------------------------------------------- Starting an NnCTF game can be done via a few methods. One would be to use Unreal's in-game menus to start up a game (NnCTF has it's own custom set of menus which allow various NnCTF specific options to be set up.) The other would be to start up a server from a DOS prompt. To do so, you should first go to http://unreal.epicgames.com and look at the documents on console commands (this covers both in-game console commands and unreal.exe command line switches.) Once you have done that, you should know that NnCTF's game type is "NnCTF.NnCTFGame" (without the quotes.) For example, to set up a dedicated server starting on DmDeck16, you'd issue the following command at the DOS prompt: unreal DmDeck16.unr?game=NnCTF.NnCTFGame?listen -server The important game variables you should know all reside in the NnCTFGame class. This is where all the options, etc. reside. Basically, anything a server admin would want. It is also important to know that NnCTFGame, for the time being, is a subclass of TeamGame. So therefore it should support most of the options offered in TeamGame and DeathMatchGame. bool bAutoFlagReturn; // should the flag be returned automatically? bool bCaptureWithFlag; // does one's own flag need to be in base in order // for the flag to be captured? bool bInvisibleBases; // Should the bases be invisible? bool bRunes; // put runes in the level? bool bDropRunesOnCapture;// Should a team's runes be dropped and respawned after capturing // a flag? class RuneList[30]; // What types of runes should be included int RuneCharges[30]; // How powerful each rune should be int MaxRuneCharge; // The maximum rune charge any one player can have byte PresetRuneConfig; // 0=4 runes @ 100% each, 1=8 runes at 50% each int CaptureLimit; // How many captures until a team wins int BeenCapturedLimit; // How many captures until a team loses // Login/Spectating vars bool bAutoAssignTeams; // Should each player automatically be assigned to a // team? bool bAllowSpectating; // Is spectating allowed? // Misc. Variables bool bNoDebugMessages; // Toggles the use of debugging messages bool bIgnoreLevelPrefs; // Should the level specific preferences be ignored? bool bUseCustomSkins; // Should custom skins be used? bool bUseTargetingComputer; // Should the targeting computer be enabled bool bBotsCanCarryFlags; // Should bots be allowed to carry a flag, even though they // currently do not know what to do with it? // Grenade variables bool bDisableGrenades; // Should grenades be disabled float GrenadesPerPlayer; // How many grenades should there be for each player? int PlayerCheckTime; // How often should the grenade amts be checked? // Bonus Variables float teamCaptureBonus; // how many points should a team get for a // capture float playerCaptureBonus; // how many points should the capturing player // get string[32] fragCarrierMessage; // Message displayed after fragging the flag // carrier float fragCarrierBonus; // Bonus given for fragging the flag carrier float defendRadius; // Radius for detecting what's a flag defend string[32] defendMessage; // Message displayed about defenders float defendBonus; // Bonus given to defenders float assistTime; // How much time for an assist float assistBonus; // Bonus given to assisters // Music Information class AvailableMusic[32]; // Available music selections Changing these variables is documented in Tim Sweeney's console command doc, which is available on http://unreal.epicgames.com Anyway, here is the basic syntax for changing them: get NnCTFGame - Gets a value set NnCTFGame - Sets a value These values can also be edited in your nnctf.ini file, however they will, by default, be saved if you edit them at the command line. However, the easiest way to edit these variables is by using NnCTF's "Configure Game" menu, which can be accessed through Unreal's menus when setting up an NnCTFGame. You can also find them in Unreal's "Advanced Options" menu (the same menu used for setting things up like the MOTD, Admin Name, Admin E-Mail, etc.), which is available as a menu-bar option (seen when Unreal is running in a window), available as a right-click option when Unreal is running as a dedicated server, or through Unreal's in-game menuing system. ----------------------------------------------------------- 5 - Credits/Contacts ----------------------------------------------------------- If you're interested in joining the team, please contact the appropriate group leader with a quick resume. Also, be sure to see OpenMod's readme for a list of additional coders. (NOTE TO TEAM: Contact me if I have not included you in the credits!) (In alphabetical order by first name) Coders (Current) ---------------------------------------------------------------------------- David "VicViper" Ludwig - davidl@captured.com "Ob1" - ob1@mailexcite.com James "StarDrifer" Abbatiello - abbeyj@wpi.edu Conny "Karg" Landstedt - karg@swipnet.se Coders (Past) ---------------------------------------------------------------------------- Andreas Jobs - Andreas.Jobs@ruhr-uni-bochum.de Ryan "Garrland" Stolle - garrland@thepoint.net Nicholas Anderson - AndersNJ@bscmail.buffalostate.edu Wesley "Wezo" Lao - weslao@home.net Jered "Jwindy" Windsheimer - jwindshe@gladstone.uoregon.edu John "Gerbil!" Parish - gerbil@telefragged.com Nicholas "xNichG" Guttenberg - nickh@erols.com Textures+Sounds+Models ---------------------------------------------------------------------------- Doug "Diggyspif" Faddis - scorpio@lightspeed.net Conny "Karg" Landstedt - karg@swipnet.se Maps (These will be available in a later version of NnCTF.) ---------------------------------------------------------------------------- Erik "Zuel" Scofield - zuel@planetunreal.com Special Thanks Go Out To: ---------------------------------------------------------------------------- * Ob1-Kenobi (ob1.kenobi@mailexcite.com) - For allowing the inclusion of uWar-style grenades as well as a better flag-capture sound. * Erik "Zuel" Scofiled (zuel@planetunreal.com) - For helping to manage the mapping dept. * Luke "Weasl" Whiteside (weasl@cnw.com) - For helping to manage the non-coding side of things for so long. ----------------------------------------------------------- 6 - Code Sharing Policy ----------------------------------------------------------- The code is and always will be available for users to look at, learn from, and extend. This includes building new mods off the NnCTF source code. However, you *MUST* give credit where credit is due! If you're interested in helping out on NnCTF, please see the "Credits/Contacts" section of this file and then look under leadership for the proper person to speak to. We're always interested in new and talented people! ----------------------------------------------------------- 7 - Creating/Converting Maps for NoName CTF Play ----------------------------------------------------------- With the release of NnCTF 0.4.0, NnCTF has relied on the "OpenMod" set of packages to define flag information. This allows all NnCTF-capable maps to be played under any OpenMod-capable CTF mod. Please see the OpenMod readme (located in the Unreal/OpenMod dir) for more information.