The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall

Legacy:Ladder (UT)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UT :: Actor (UT) >> Info (UT) >> Ladder (Package: Botpack)

This is the main class for all related Ladder classes. Each ladder class contains information necessary for that particular Ladder in the game.

See Ladder for the UT200x ladder navigation point.

Known subclasses[edit]

Question[edit]

Is there a way to create your own ladders for UT? I was able to create all the necessary Information Classes (a subclass from this Ladder class being one of em), but I have NO idea how I can start this custom ladder in the game :(

If you know how, please post it here ;)

Answer[edit]

I did manage to create my own ladder and run it in the game, but doing so is far from easy. Aside from creating subclasses of all five main ladders, you must also create a RatedMatchInfo for each game (and RatedTeamInfos for any new teams you wish to use). And that's just the easy part.

UT was never intended for expansion in this way, and the ladders activated by the UWindow menus appear to be set by the UT C++ code. Thus these menus (including the enemy browsers) must all be subclassed, with references to generic ladder variables replaced by hard-coded class references. It's easy for references to slip through the net and revert the whole lot to the standard UT ladder, with hideous results.

Once this is done, you have to get UT's menus to launch new ladders into the right menu system. Where this becomes a pain in the ass is that the "Start Unreal Tournament" and "Resume Saved Tournament" functions are called as gametypes on Entry.unr - whose UnrealScript calls on functions in the UT Console.

Yes, you heard right. To start a new ladder from the menus, I had to extend the UT console and launch the game with a different UnrealTournament.ini file that was set to use my console instead of the normal one (ini files can be switched on the command line). Once this was done, I set the console to use a different root menu system that provided only Game and Options menus (to prevent console conflicts). This Game menu was reduced to provide only the most basic of commands.

Anyway, that's my way of doing it. Once all references to the internal variable "Ladder" were replaced by hard-coded ladder classes (extending LadderInventory was not necessary), I had a fully functional ladder that required just one .u file to work.

It was hard, especially with me not being an experienced UScripter. I don't want to sound too discouraging, but you have to be very comfortable with this kind of thing and you have to be very persistent in order to get a new ladder working. Really, you have to wonder if it's worth all the effort. It was a challenge for me and I persevered. Thankfully I got it working - leaving me ultimately with a ladder in which my housemates got to play custom maps against teams of Cows and Nali!

If you want to know more, drop me a line at hellscrag@hotmail.com - I can send you my ladder if you fancy playing it. However, I urge you to think twice before trying this.

Tojo39: Any clue if this could be done in UT2003??