Question on Weapons in memory [UT2003 Engine]

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

Bob242

New Member
Aug 27, 2004
34
0
0
I'm writing a mutator for a game that uses the UT2003 engine. Adding new weapons to this particular game (not UT2003), though, is a major pain, and editing client files is pretty much not an option at this point unless it's impossible to do this otherwise.

The idea I have is basically to have a mutator running on the server with the data of the new weapons. The client will download the packages containing the data of the new weapons (the .u and .utx packages) when it connects to the server. That's not an issue.

It's the .int file that is the issue. The server can't send the .int file that has the new weapons to the client, but even if the client does have that file, they will see the new weapons regardless of whether or not the server is running the weapons mutator. If they select one of those weapons, and the server is not running the mutator, the game crashes obviously.

My idea is to have a mutator on the server that does the work loading the weapons into each client's memory, and when the mutator dies, it deletes what it added. That way, the client can play on servers with or without the mutator without seeing weapons that aren't technically there.

I know this probably sounds like a very hard way to get new weapons, but this is the result of the developers of this particular game (not UT2003) trying to make life tough on modders. :(

I'm looking for a push in the right direction as to where I can research the way all weapons are stored in memory. I didn't see anything like this on the wiki. I'm hoping the solution is as easy as finding a dynamic array somewhere and just adding and subtracting to it. :) I somehow doubt it will be that easy.
 
Last edited:

Bob242

New Member
Aug 27, 2004
34
0
0
Hmm, OK, since nobody replied....

I found out a very general way of how the game calculates what weapons the user can select. I would like to overwrite a function of the class I'm looking at, but I'm having trouble finding where an object of this class is being called from. Nevertheless, I can get a hold of it, and mess around with it with FindObject().

Is there anyway I can overwrite the function I'm looking at? I assume that I'm probably going to get a negative answer, so my next question is.... Is there a way of having the engine notify an actor of mine when a particular function is called? Again I kind of doubt this.

I guess what I need to find out is how often does the engine calculate what weapons are available to select from. I need to, as often as it calculates it, make sure that I add my own weapons to the list.