-
03-22-2006, 02:52 PM #1
- Join Date
- Feb 2006
- Location
- Oklahoma City, OK
- Age
- 32
- Posts
- 998
Modding RO - Mutators, GameTypes, etc...
I've had lots of people send me PM's asking how to get started modifying RO without the SDK. It's not easy but I've compiled this brief summary of what I did.
Download the dedicated server. Follow the instructions in the dedicated server document located on the official RO site. Here: http://www.redorchestragame.com/inde...&p13_fileid=26
Once you download it, launch the .bat file included in the \system directory to start your server. This will create the RedOrchestra.ini file. Kill the server by using, Ctrl + C.
Now you need to extract the RO .uc sources so you have some idea of what the classes are and how you are going to extend them. The easy way to do this is to use WOTgreal but I had an extremely tough time setting it up to work with RO so I'll just tell you the manual way.
From the \system directory where you installed the RO dedicated server run the following commands from a command line:
Z:\Temp\ROServer\system> (my directory structure)
ucc batchexport Engine.u class uc ..\Engine\Classes
ucc batchexport ROGame.u class uc ..\ROGame\Classes
Assuming that works (crosses fingers), you should now have two directories under your RO dedicated server directory. One called Engine and one called ROGame. Under those directories is another directory called Classes and under that directory is all the source files.
Now you at least have the source files needed to begin modifying the game. Your first project will be easy. Do this...
Under your RO dedicated server directory create a folder called MutHelloWorld, then under that directory another folder called Classes.
In that new directory create a file called MutHelloWorld.u with the following contents:
Now you need to edit your RedOrchestra.ini in your RO dedicated server \system directory. Find the EditPackages= part and add the following line at the end of them:class MutHelloWorld extends Mutator;
function PostBeginPlay()
{
Super.PostBeginPlay(); // Run the super class function (Mutator.PostBeginPlay).
Log("Hello World"); // Write our log message
}
defaultproperties
{
FriendlyName="Hello World Mutator"
Description="Log 'Hello World'."
}
EditPackages=MutHelloWorld
From the command line in the RO dedicated server \system directory, run the following:
ucc make
ucc dumpint MutHelloWorld.u
ucc exportcache MutHelloWorld.u
It should run thru the compilation process and hopefully report no errors. Now you should have three new files in your \system directory, MutHelloWorld.u, MutHelloWorld.int, and MutHelloWorld.ucl.
If for some reason the MutHelloWorld.int file doesn't exist, create it:
Almost done! We need to modify the .bat file that starts the server to include our mutator...[Public]
Object=(Class=Class,MetaClass=Engine.Mutator,Name= MutHelloWorld.MutHelloWorld,Description="Hello World Example")
At the end of the long string of '?' parameters, add the following:
?Mutator=MutHelloWorld.MutHelloWorld
Start the server and watch the onscreen display. It should say something about loading the Mutator MutHelloWorld.MutHelloWorld then display the Hello World Mutator text.
---
This has been compiled from memory, if it doesn't work, I apologize.
There are lots of UnrealScript resources on the internet, but I personally found them all pretty lacking...
http://wiki.beyondunreal.com/wiki/UnrealScript_Lessons
http://forums.beyondunreal.com/forumdisplay.php?f=101
http://www.ataricommunity.com/forums...play.php?f=269
http://chimeric.beyondunreal.com/
http://www.planetunreal.com/mutation/tutorials.shtml
http://articles.thewavelength.net/in...article&id=270
http://home.worldonline.co.za/~20017...tutorials.html
http://www.unrealtower.org/tutorials
I'm sure there's more I missed.
Good luck!Last edited by Wyzcrak; 03-23-2006 at 12:04 PM.
It is by grace you have been saved, through faith - and this not from yourselves, it is the gift of God - not by works, so that no one can boast. Ephesians 2:8-9/NIV
-
03-22-2006, 02:54 PM #2
- Join Date
- Feb 2006
- Location
- Oklahoma City, OK
- Age
- 32
- Posts
- 998
Re: Modding RO - Mutators, GameTypes, etc...
The part about extracting the Engine and ROGame sources is NOT required to do the Hello World mutator. It's simply for reference for when you need to view core UT2004/RO classes.
It is by grace you have been saved, through faith - and this not from yourselves, it is the gift of God - not by works, so that no one can boast. Ephesians 2:8-9/NIV
-
03-22-2006, 03:01 PM #3
Re: Modding RO - Mutators, GameTypes, etc...
Awseome Tze, I'm gonna try some of this out.
-
03-22-2006, 03:05 PM #4
Re: Modding RO - Mutators, GameTypes, etc...
You, sir, should have a Maps & Modifications forum.
Originally Posted by Tzefanya
-
03-22-2006, 03:06 PM #5
Re: Modding RO - Mutators, GameTypes, etc...
I guess hello world is a symbolic first program for any language or turtorial
awesome workthat sounds like a good idea trooper.
-Vulcan
-
03-22-2006, 03:53 PM #6
Re: Modding RO - Mutators, GameTypes, etc...
From the Mutators FAQ, here are some additional resources:
UnrealScript Language Reference
Uscript Resources
-
03-22-2006, 08:10 PM #7
- Join Date
- Feb 2006
- Location
- Oklahoma City, OK
- Age
- 32
- Posts
- 998
Re: Modding RO - Mutators, GameTypes, etc...
http://forums.beyondunreal.com/showthread.php?t=171326
That's my post, has most of my code if anyone wants to try to help. Right now I'd settle for changing the RoundDuration which is what I'm trying to do. Still no luck.It is by grace you have been saved, through faith - and this not from yourselves, it is the gift of God - not by works, so that no one can boast. Ephesians 2:8-9/NIV
-
03-22-2006, 09:00 PM #8
- Join Date
- Mar 2006
- Posts
- 4
Re: Modding RO - Mutators, GameTypes, etc...
I have even less UnrealScript experience than you so who knows how helpful this will be.
I assume by the log message that ROGRI defaults to the equivalent of a null object when you first define it? In the first snippets of code you're explicitly assigning ROGRI a value before you access its member variables. However in the last section it seems like you're calling it before giving it a value. Do you still have code to explicitly set ROGRI's value, or is that not required in this language?
-
03-22-2006, 11:40 PM #9
- Join Date
- Feb 2006
- Location
- Oklahoma City, OK
- Age
- 32
- Posts
- 998
Re: Modding RO - Mutators, GameTypes, etc...
It's being assigned an already defined class called ROGameReplicationInfo. I added some code to that thread on beyondunreal with some working code to access value which gets no errors however I still can't figure out how to set the values.
It is by grace you have been saved, through faith - and this not from yourselves, it is the gift of God - not by works, so that no one can boast. Ephesians 2:8-9/NIV
-
03-23-2006, 12:24 AM #10
- Join Date
- Mar 2006
- Posts
- 4
Re: Modding RO - Mutators, GameTypes, etc...
You're defining it as an object of the ROGameReplicationInfo class but I don't see any place where you assign the actual ROGRI object a value.
I'm looking for something like this line in your original snippet:
ROGRI = ROGameReplicationInfo(GameReplicationInfo);
Here you're creating an actual object of the ROGameReplicationInfo class and assigning it to ROGRI. At this point it's safe to call the member variables of ROGRI because it points to an actual object. Apologies if you're way beyond this, I want to make sure we're on the same page.
If there's something like the above line in your current code and you're still getting null access errors then I'd be a little confused.
-
03-23-2006, 12:55 AM #11
- Join Date
- Feb 2006
- Location
- Oklahoma City, OK
- Age
- 32
- Posts
- 998
Re: Modding RO - Mutators, GameTypes, etc...
Ah, I'm an idiot. I had the answer all along and was trying to make it harder than it was... The mutator is complete, I'm simply testing it.
Changeable options: (based on modifiers, ie 1x, 1.5x, etc)
RoundDuration
AxisSpawnTime
AlliesSpawnTime
AxisArtilleryStrikeCount
AlliesArtilleryStrikeCountIt is by grace you have been saved, through faith - and this not from yourselves, it is the gift of God - not by works, so that no one can boast. Ephesians 2:8-9/NIV
-
03-23-2006, 01:08 AM #12
Re: Modding RO - Mutators, GameTypes, etc...
You, sir, are a genius. Nice job!
Originally Posted by Tzefanya
-
03-23-2006, 11:57 AM #13
- Join Date
- Feb 2006
- Location
- Oklahoma City, OK
- Age
- 32
- Posts
- 998
Re: Modding RO - Mutators, GameTypes, etc...
The two lines in my original post that read:
ucc batchexport Engine.u ..\Engine\Classes
ucc batchexport ROGame.u ..\ROGame\Classes
Should say:
ucc batchexport Engine.u class uc ..\Engine\Classes
ucc batchexport ROGame.u class uc ..\ROGame\Classes
I can't modify it for some reason.
It is by grace you have been saved, through faith - and this not from yourselves, it is the gift of God - not by works, so that no one can boast. Ephesians 2:8-9/NIV
-
03-23-2006, 12:05 PM #14
Re: Modding RO - Mutators, GameTypes, etc...
I've corrected the original post for you.
Originally Posted by Tzefanya
Steam Community? Add me. | Join #tacticalgamer | Search Results Legend | New Posts Forum Filter | Postbox Toggle | Live Thread Review | One Line Results | Free Remote, Encrypted Backup
Darkilla: In short, NS is pretty much really fast chess. With guns. Apophis: I haven't seen anyone say that SM's are better than non-SMs. Nordbomber: This is THE first server I've seen where either side can comeback from out of seemingly nowhere with the right teamwork. en4rcment: I have NEVER experienced the type of gameplay that I have found here. Nightly I am amazed at the personalities and gaming talent. Zephyr: Apophis is clearly a highly sophisticated self-aware AI construct that runs on a highly modified toaster oven in Wyzcrak's basement.
-
03-31-2006, 02:41 PM #15
Re: Modding RO - Mutators, GameTypes, etc...
Alright, i finally told myself: if your gona do it, do it now. I'm downloading the server now.
Should be fun, maybe i can make some stuff. *remembers the old days of C++ and javascrips*
-Kaine
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)



Reply With Quote


Bookmarks