Yet Another Merger

Duneflower

Warlord
Joined
Aug 6, 2006
Messages
290
Location
deep in the CA desert

Attachments

  • NwT-torrent.7z
    13.8 KB · Views: 495
Errrrrr...I don't have anywhere to upload it. c.c; And I really don't wanna sign up for anything right now; is there some easy way to do it here? Never done it before...

O, another note: I'll prolly end up updating the thing a coupla times with edits; I've embellished (and in some cases authenticized) leader-names, and eventually intend on doing the same to city- and culture-names, along with putting cities in historical order of founding. I've also given the Next War leaders unique trait-pairs (hmmmm, there just happened to be four unused pairs...), and eventually plan on further differentiating them from the leaders/cultures they were cloned from by giving them actual UUs and UBs, most likely pulled from the Next War content itself. I also plan on eventually merging it with CIV Gold, so I gave it a derivative name: NextWar Tritium. Thoughts?

In related news, I've decided to start a major project that'll include Rev; read about it here! :deal:
 
You can upload to the database up to 10 MB i think.
Otherwise there are free hosters like Rapidshare or something.
 
Okay, I'm getting peeved...I did everything by the book - including copying over the interface art, which you forgot in your merger instructions, jdog - and got it working completely. Then, for no reason I could figure, it just stopped working - or rather, the mechanics still appear to work, but none of the main-interface mods are showing: No revwatch button, no "This is what's running and what's not" at the beginning of the game, and possibly a few other things. Any ideas?
 
Sorry about forgetting the art, I'll add that to the instructions.

What you're seeing means there's a Python error, all the missing features are controlled from Python. Do you have hide Python errors turned off in your CivilizationIV.ini file? It's in the My Games/.../BTS folder.
 
Okay, turned the Python reporting on and got these errors, in the reverse-chronological order presented by the game:
  • CvEventInterface, line 30, in onEvent
  • CvCustomEventManager, line 143, in handleEvent
  • " line 154, in _handleDefaultEvent
  • RevolutionInit, line 88, in onGameStart
  • " line 140, in onGameLoad
  • BarbarianCiv, line 96, in __init__
  • SdToolKitCustom, line 292, in sdObjectExists
  • AttributeError: 'list' object has no attribute 'has_key'

Glancing through the files in question, I feel like I'm on the verge of a solution but I'm not quite seeing it...

Edit: And in Notepad, some of those files look...messy.
 
Sorry to take so long to reply ...

I highly recommend a syntax knowledgeable editor like Notepad++, you will also want to set it so it shows what's a space and what's a tab since indentation matters in Python.

Now, for the error: my guess is one of the mods you're merging in isn't using the SdToolKit method for storing Python data in save games. The SdToolKit method makes life easy for mergers ... otherwise it can be hell. In a Python file somewhere there's a call to setScriptData on CyGame() which is directly writing a list to the script data instead of going through the SdToolKit. Search through the other Python files for setScriptData and you should find the culprit.

If you're up for it, you can then convert all of that file's setScriptData and getScriptData to the SdToolKit method ... or you can drop the file from the merge temporarily to see if that's the only problem.

Hope that helps.
 
Hm, the offender appears to be CvEventManager, and except for a couple of commands checking for whether you're playing the scenario or the mod so it knows whether or not to print the backstory, all of the get/setScriptData instances involve the possible EVERYBODY F#&$ING LOSES, MORONS!!! ending when too many nukes get thrown around, specifically the NumNukes variable and related things. I don't mind doing the conversion, but I'll need some instruction...
 
All these snippets are from BarbarianCiv.py. First you'll need to import the tool kit:

Code:
import SdToolKitCustom as SDTK

Then you need to initialize the dictionary of variables for this particular component. Here's what BarbarianCiv does:

Code:
        if( not SDTK.sdObjectExists( "BarbarianCiv", game ) ) :
            SDTK.sdObjectInit( "BarbarianCiv", game, {} )
            SDTK.sdObjectSetVal( "BarbarianCiv", game, "AlwaysMinorList", [] )
        elif( SDTK.sdObjectGetVal( "BarbarianCiv", game, "AlwaysMinorList" ) == None ) :
            SDTK.sdObjectSetVal( "BarbarianCiv", game, "AlwaysMinorList", [] )

First it checks whether there's a "BarbarianCiv" entry in the SdToolKit table of saved mod data, if not it creates it. A {} in Python is an empty "dictionary" or look up table, you can also use dict(). I then add a variable to the "BarbarianCiv" collection of data if it doesn't already exist called "AlwaysMinorList" and give it an initial value of an empty list [], could also use list().

This handles setting up the contained for the variable, to get/set the variable later you can do something like:

Code:
        alwaysMinorList = SDTK.[B]sdObjectGetVal[/B]( "BarbarianCiv", game, "AlwaysMinorList" )
        alwaysMinorList.extend( RevDefs.alwaysMinorList )
        SDTK.[B]sdObjectSetVal[/B]( "BarbarianCiv", game, "AlwaysMinorList", alwaysMinorList )

Hope that helps.
 
For the NextWar CvEventManager, I think the only things you need to worry about are the calls to gc.getGame().get and setScriptData. Local and global variables in CvEventManager shouldn't be a problem, just the information on the number of nukes fired which is stored using script data.

I haven't tried this file yet, just made the necessary changes, all marked with "jdog5000"
View attachment CvEventManager.zip

There is also one other strange thing that NextWar is doing using script data ... there are several lines like:

Code:
if (CyMap().plot(0,0).getScriptData() == "Scenario"):

Most likely this is not a problem, it certainly won't interfere with Revolution as i don't mess with script data for plots.

These lines could also simply be replaced with

if( True ) :

if you always want the backstory and potential for the world to crack, etc (use False if you don't).
 
I didn't think the nuke loss was dependent on whether you were running the scenario or not. I also thought you could send stuff via PM. :hmm:

But regardless, it appears that you rule. :goodjob: So now, I believe I can declare NextWar Tritium officially completed! Which means it's time to start compiling [civ4] Diamond. :cool:

*sigh* Okay, looks like CF's attachment system hates all over Firefox, so let's see what else I can come up with...

Edit: Uploaded to GameFlood, complete with revolter codes for the Next War civs!

So, with Phase I of NWT/CIV Diamond complete, here's my to-do list:
  • Add CIV Gold civs and revolter code
  • Come up with and and implement a few breakaways from the Next War civs. A few possible ideas for this:
    • Kingdom of the Isles (Britain/Ireland)
    • South Pacific Commonwealth (Aus/NZ, possibly Indonesia et al)
    • The Titanium Horde (Mongol empire under the Great Khans, possibly Russia)
    • Iberia
    • Empire of the Rising Sun (resurgent Japan conquering southeast Asia)
    • Nile Hegemony (Classical Egypt and then some!)
Feel free to contribute revolter ideas. :D Hum, maybe this should be moved out of the Rev subforum at this point?
 
I didn't think the nuke loss was dependent on whether you were running the scenario or not. I also thought you could send stuff via PM. :hmm:

But regardless, it appears that you rule. :goodjob: So now, I believe I can declare NextWar Tritium officially completed! Which means it's time to start compiling [civ4] Diamond. :cool:

*sigh* Okay, looks like CF's attachment system hates all over Firefox, so let's see what else I can come up with...

Edit: Uploaded to GameFlood, complete with revolter codes for the Next War civs!

So, with Phase I of NWT/CIV Diamond complete, here's my to-do list:
  • Add CIV Gold civs and revolter code
  • Come up with and and implement a few breakaways from the Next War civs. A few possible ideas for this:
    • Kingdom of the Isles (Britain/Ireland)
    • South Pacific Commonwealth (Aus/NZ, possibly Indonesia et al)
    • The Titanium Horde (Mongol empire under the Great Khans, possibly Russia)
    • Iberia
    • Empire of the Rising Sun (resurgent Japan conquering southeast Asia)
    • Nile Hegemony (Classical Egypt and then some!)
Feel free to contribute revolter ideas. :D Hum, maybe this should be moved out of the Rev subforum at this point?

It's not letting me download it... Any way you can upload it to rapidshare or something?
 
Oyeah...one other thing I plan on doing with Tritium is giving the NW leaders truly unique UUs and UBs, with cues from the civs they're based on. Already got ideas like the PAPC Re-education Center and America Inc.'s Commercial Arcade; feel free to contribute.
 
Link justs puts you into an endless loop unless you download their "Free downloader Manager":cry: Thanks, but NO Thanks! on the free softwear! Can you use another site?
 
I think you clicked the wrong link after choosing to d/l; I just tried and didn't have that problem. Make sure you click on "Download content without installing the Download Manager".

Edit: Hrm...I have confirmation of something like a compatibility problem with Chrome. Is that what you're using?
 
Top Bottom