Renegade Public Forums
C&C: Renegade --> Dying since 2003™, resurrected in 2024!
Home » Renegade Discussions » Mod Forum » Renegade Map Rules Handler System
Renegade Map Rules Handler System [message #218008] Fri, 08 September 2006 06:24 Go to next message
vloktboky is currently offline  vloktboky
Messages: 290
Registered: February 2003
Location: Kentucky, USA
Karma: 0
Recruit

This is a sneak peek at a new system I wrote this past night for C&C Renegade. I call it the Map Rules Handler System and it basically allows a server owner to completely redefine the game rules on a per-map basis by doing nothing but editing an XML file.

These XML files share the same name as the map name and are loaded automatically by the system when their corresponding map is being loaded by the server. Currently, a server owner has the ability to change the following with a Map Rules XML (MRXML) file:

* Completely redefine the Purchase Menu from cost to preset for the following: beacon, enlisted soldiers (free characters), soldiers, and vehicles.
* Ability to manually enable/disable any slot in the Purchase Menu.
* Ability to change the string ID and texture used to represent any slot in the Purchase Menu once this feature is available.
* Enable/Disable the following per team on map start: base power, team radar, ability to purchase characters, and ability to purchase vehicles.
* Easily redefine the following initial properties of any object in the game: max health, max armor, shield type, skin type, damage points, and death points.
* Easily enable/disable the use of any object in the game.


Here's an example of what a typical MRXML file may look like: http://www.black-cell.net/~vloktboky/Template_Map_Rules.xml

Naturally almost all of the functionality is being controlled through the numerous BHS function definitions written into the latest distribution of the Scripts DLL library. I have not released this code yet for the purpose of ease of implementation for the community's use. Upon receiving a reply from other sources, I'll decide whether to withhold the release of the code and allow other parties to implement the code through their distributions or release it AS IS.
Re: Renegade Map Rules Handler System [message #218009 is a reply to message #218008] Fri, 08 September 2006 06:30 Go to previous messageGo to next message
Cat998
Messages: 1082
Registered: January 2004
Location: Austria, Vienna
Karma: 0
General (1 Star)
Moderator/Captain

nice, keep up the good work vloktboky !

I always like it Thumbs Up


When people ask me "Plz" just because it's shorter than "Please" I feel perfectly justified to answer "No" because it's shorter then "Yes"

Programming is like sex: one mistake and you have to support it for the rest of your life

Want the best answers? Ask the best questions!

"So long, and thanks for all the fish."
Re: Renegade Map Rules Handler System [message #218038 is a reply to message #218008] Fri, 08 September 2006 10:23 Go to previous messageGo to next message
Zion is currently offline  Zion
Messages: 2722
Registered: April 2006
Karma: 1
General (2 Stars)
Cool, can't wait to test it. Big Ups
Re: Renegade Map Rules Handler System [message #218045 is a reply to message #218008] Fri, 08 September 2006 11:22 Go to previous messageGo to next message
Goztow is currently offline  Goztow
Messages: 9739
Registered: March 2005
Location: Belgium
Karma: 14
General (5 Stars)
Goztoe
Hmmmmmmm nice work Smile

You can find me in The KOSs2 (TK2) discord while I'm playing. Feel free to come and say hi! TK2 discord

[Updated on: Fri, 08 September 2006 11:22]

Report message to a moderator

Re: Renegade Map Rules Handler System [message #218046 is a reply to message #218038] Fri, 08 September 2006 11:22 Go to previous messageGo to next message
jnz is currently offline  jnz
Messages: 3396
Registered: July 2006
Location: 30th century
Karma: 0
General (3 Stars)
Merovingian wrote on Fri, 08 September 2006 18:23

Cool, can't wait to test it. Big Ups



same ere.
Re: Renegade Map Rules Handler System [message #218066 is a reply to message #218008] Fri, 08 September 2006 12:35 Go to previous messageGo to next message
Halo38 is currently offline  Halo38
Messages: 955
Registered: February 2003
Location: UK
Karma: 0
Colonel

wicked the guys at UN were talking about the need for this, i'm sure they will be happy


Online Portfolio - www.chettle1.com

Renegade projects - Halo38's Den hosted by www.laeubi.de

Creator of : C&C_Arid, C&C_Ancients, C&C_Bio, C&C_Duel Arena

Mod Wars Veteran
Re: Renegade Map Rules Handler System [message #218089 is a reply to message #218008] Fri, 08 September 2006 13:49 Go to previous messageGo to next message
Mad Ivan is currently offline  Mad Ivan
Messages: 513
Registered: February 2003
Location: United Kingdom
Karma: 0
Colonel
Bravo Big Ups
In the years ahead, i hope that XML can become a very powerful modding "language" for Renegade Smile


Re: Renegade Map Rules Handler System [message #218214 is a reply to message #218089] Sat, 09 September 2006 01:27 Go to previous messageGo to next message
LR01 is currently offline  LR01
Messages: 842
Registered: April 2006
Location: The Netherlands
Karma: 0
Colonel
so, this is serverside and the client needs a new .dll?

Moding can be real Fun...
Re: Renegade Map Rules Handler System [message #218300 is a reply to message #218008] Sat, 09 September 2006 12:04 Go to previous messageGo to next message
vloktboky is currently offline  vloktboky
Messages: 290
Registered: February 2003
Location: Kentucky, USA
Karma: 0
Recruit

It is pure server-side and the client does not need a single thing.

I should have a definite answer on how I am going to be releasing this some time tomorrow.
Re: Renegade Map Rules Handler System [message #218310 is a reply to message #218008] Sat, 09 September 2006 14:05 Go to previous messageGo to next message
Zion is currently offline  Zion
Messages: 2722
Registered: April 2006
Karma: 1
General (2 Stars)
Omg so soon, i can't wait. Big Grin
Re: Renegade Map Rules Handler System [message #218316 is a reply to message #218008] Sat, 09 September 2006 14:45 Go to previous messageGo to next message
Kamuix is currently offline  Kamuix
Messages: 1247
Registered: May 2005
Location: Ontario, Canada
Karma: 0
General (1 Star)
Ne neithas
Re: Renegade Map Rules Handler System [message #218318 is a reply to message #218008] Sat, 09 September 2006 14:57 Go to previous messageGo to next message
Nightma12 is currently offline  Nightma12
Messages: 2593
Registered: August 2003
Karma: 0
General (2 Stars)
Category Moderator
what dll would this be?
Re: Renegade Map Rules Handler System [message #218322 is a reply to message #218008] Sat, 09 September 2006 15:33 Go to previous messageGo to next message
Zion is currently offline  Zion
Messages: 2722
Registered: April 2006
Karma: 1
General (2 Stars)
.xml and i predict it will edit objects.ddb files for each map.
Re: Renegade Map Rules Handler System [message #218374 is a reply to message #218008] Sat, 09 September 2006 21:47 Go to previous messageGo to next message
jonwil is currently offline  jonwil
Messages: 3557
Registered: February 2003
Karma: 0
General (3 Stars)

Knowing what I know about the purchase terminal, I cant see any way to change that data unless either you are able to get new objects.ddb data to the client somehow or you are using the PT change engine calls (which require bhs.dll on the client).
If you have found another way to do it, please do tell me how Smile


Jonathan Wilson aka Jonwil
Creator and Lead Coder of the Custom scripts.dll
Renegade Engine Guru
Creator and Lead Coder of TT.DLL
Official member of Tiberian Technologies
Re: Renegade Map Rules Handler System [message #218382 is a reply to message #218008] Sat, 09 September 2006 22:46 Go to previous messageGo to next message
vloktboky is currently offline  vloktboky
Messages: 290
Registered: February 2003
Location: Kentucky, USA
Karma: 0
Recruit

Like I said, I am using your engine calls. This is just a wrapper for them: a cleaner way for any Joe Smith to setup the data and the system will handle calling everything in the background. This is why I stated the stringID and texture do not function yet. That data is still passed in to your Set_X calls and once you get those functions to take that data and show it on the clients as well, then they will have meaning. If you set Slot1 in the Vehicle tree to create a Nod Light Tank at 300 credits, you'll still see the same texture drawn for the purchase slot in your PT menu. However, when you access it, 300 credits will be taken away and a Nod Light Tank will be created instead. This doesn't care about whatever entity tree the game has loaded; this is just a simple wrapper for functionality already present. It's just a nicer presentation of that functionality for the common server host.

I've talked to Whitedragon and he informed me he'd be happy to include this in SSAOW 1.6. It's better this way for the community as this would be one more thing you would otherwise have to deal with. When he released version 1.6, you'll have access to this system.

I may have a window towards the end of next week that I could spend a few hours on adding anything else to this. So if anyone has any other things they'd like to see in these XML files that would be useful in their server, let me know now. I've already heard default spawn character.
Re: Renegade Map Rules Handler System [message #218387 is a reply to message #218382] Sun, 10 September 2006 00:46 Go to previous messageGo to next message
LR01 is currently offline  LR01
Messages: 842
Registered: April 2006
Location: The Netherlands
Karma: 0
Colonel
that is cool Big Grin


(how many years before SSAOW 1.6 will be released?)


Moding can be real Fun...
Re: Renegade Map Rules Handler System [message #218451 is a reply to message #218008] Sun, 10 September 2006 05:46 Go to previous messageGo to next message
jonwil is currently offline  jonwil
Messages: 3557
Registered: February 2003
Karma: 0
General (3 Stars)

If you add in a call to Update_PT_Data in the right places, all the data gets sent over the network to any client with the right bhs.dll.


Jonathan Wilson aka Jonwil
Creator and Lead Coder of the Custom scripts.dll
Renegade Engine Guru
Creator and Lead Coder of TT.DLL
Official member of Tiberian Technologies

[Updated on: Sun, 10 September 2006 05:46]

Report message to a moderator

Re: Renegade Map Rules Handler System [message #218473 is a reply to message #218451] Sun, 10 September 2006 08:47 Go to previous messageGo to next message
LR01 is currently offline  LR01
Messages: 842
Registered: April 2006
Location: The Netherlands
Karma: 0
Colonel
jonwil wrote on Sun, 10 September 2006 14:46

If you add in a call to Update_PT_Data in the right places, all the data gets sent over the network to any client with the right bhs.dll.




10 of the 40 players?


Moding can be real Fun...
Re: Renegade Map Rules Handler System [message #218530 is a reply to message #218008] Sun, 10 September 2006 13:09 Go to previous messageGo to next message
vloktboky is currently offline  vloktboky
Messages: 290
Registered: February 2003
Location: Kentucky, USA
Karma: 0
Recruit

Ten is better than none. Granted it is not the best solution, but given the fact that these ten will only witness a cosmetic change over the other thirty, and that this cosmetic change does not affect the gameplay nor the effects promised by the system, I see no harm or foul.
Re: Renegade Map Rules Handler System [message #218596 is a reply to message #218008] Sun, 10 September 2006 18:17 Go to previous messageGo to next message
KIRBY-098 is currently offline  KIRBY-098
Messages: 338
Registered: July 2006
Karma: 0
Recruit
Big Ups

Re: Renegade Map Rules Handler System [message #218600 is a reply to message #218008] Sun, 10 September 2006 18:39 Go to previous messageGo to next message
Matix is currently offline  Matix
Messages: 128
Registered: July 2006
Karma: 0
Recruit
This will totaly reshape renegade, if this is 100% functional, I can see all the *good* servers being modded some more everyday. But, I must ask, since it is server-side, and what crimson said about the files distributing accross the net changing client files, or whatever, will it cause lag?

http://neronhost.com/images/logo.gif
Re: Renegade Map Rules Handler System [message #218660 is a reply to message #218600] Mon, 11 September 2006 01:31 Go to previous messageGo to next message
LR01 is currently offline  LR01
Messages: 842
Registered: April 2006
Location: The Netherlands
Karma: 0
Colonel
put it in a corepatch, then more people will have it

Moding can be real Fun...
Re: Renegade Map Rules Handler System [message #220193 is a reply to message #218008] Mon, 18 September 2006 00:53 Go to previous messageGo to next message
vloktboky is currently offline  vloktboky
Messages: 290
Registered: February 2003
Location: Kentucky, USA
Karma: 0
Recruit

@ the lag-producing question: I cannot fully answer that because I have no knowledge of the underlying functionality or procedures being applied in the functions I am calling. However, I can assure you that the code that I wrote is sufficiently clean enough to be unnoticeable.

I have just sent the final version of the system off to Whitedragon. I added the "SpawnSoldier" entry for each team to allow for the default spawn character to be changeable as well. Seeing as how I received no other requests, this is the only addition I made. Also, I have taken Jon's advice and put in the call to Update_PT_Data.

It's out of my hands at this point. When Whitedragon puts it out in SSAOW 1.6 under its GPL, so to will this code follow. Enjoy.

(Also, hopefully the XML parsing code is sufficiently commented enough for those of you to look off of and emulate if you choose to do something with XML in your future projects. I have applied the use of an interface which you should find helpful.)
Re: Renegade Map Rules Handler System [message #220243 is a reply to message #220193] Mon, 18 September 2006 08:32 Go to previous message
LR01 is currently offline  LR01
Messages: 842
Registered: April 2006
Location: The Netherlands
Karma: 0
Colonel
enjoying it would be no problem

Moding can be real Fun...
Previous Topic: Cinematic Help
Next Topic: Tunnel Beacons
Goto Forum:
  


Current Time: Thu Dec 26 20:35:03 MST 2024

Total time taken to generate the page: 0.01773 seconds