A Babylon 5 Mod for the Final Frontier Mod

Hi Psi Corps

Love all the little additions in the new ver. FYI, Ive started a couple of games and get a early game CTD around turn 65(depending on game). Tried to restart and keep crashing at same turn.
I Think I've resolved this at last. Turns out that a combination of deleting units and increasing the build costs was almost the right answer. I've now increased a lot of Buildings build costs and have had no CtD's in testing, unlike earlier today. Going to keep going on the testing to ensure there are no CtD's later in the game due to similar reasons, but if this is the solution I'll post the amended file here.
 
I've now increased a lot of Buildings build costs and have had no CtD's in testing, unlike earlier today.
As stated in my last post I have now resolved the CtD problem, unfortunately to resolve this I had to also change a few other things. In the course of changing those things, I've had a couple of ideas that I want to explore and rather than post a patch for what I've done so far I'll upload a new version as soon as I've tried out the things I want to do.
I'll try and keep you posted as I figure things out.
 
Hello everyone!

... use the Invasion ship weapons for this one.
Following PsiCorps advice I have finished the Vree Xorr saucer:

  • Poly count: 1344
  • Animation: B5_Custom_FF_InvasionShip
  • Damage/Glow/Gloss: Yes/Yes/Yes
  • FX extra polys: 240
Civilopedia:
Vree_Xorr_InGame1.jpg


Combat:
Vree_Xorr_InGame0.jpg


Damaged:
Vree_Xorr_InGameDamaged.jpg


As stated in my last post I have now resolved the CtD problem, ...
So... it was related to the amount of units/buildings?? :confused:

:salute:
 
So... it was related to the amount of units/buildings??
It was more to do with the production costs of the buildings and Orbital Defence units. Because they were so cheap to build, some civs had built their infrastructure and around 20 or 30 PDS units and were effectivley bankrupting themselves as there was nothing else to build but the units. Increasing building costs for the PDS means less will be built and increasing building costs means the AI will take longer to build up their infrastructures. It's a balancing act and I'm not 100% sure I've got the balance exactly right yet but i'm a lot happier with it now.
 
Hello everyone!


Following PsiCorps advice I have finished the Vree Xorr saucer:

  • Poly count: 1344
  • Animation: B5_Custom_FF_InvasionShip
  • Damage/Glow/Gloss: Yes/Yes/Yes
  • FX extra polys: 240
Civilopedia:
Vree_Xorr_InGame1.jpg


Combat:
Vree_Xorr_InGame0.jpg


Damaged:
Vree_Xorr_InGameDamaged.jpg
Another fine ship emerges from the Premier shipyard, can't wait to get it in game.
 
I think i've got the early game CtD resolved now, unfortunately I am now having problems with continuing to play a saved game. Loading a saved game works fine until you end your turn at which point CtD. I will upload this version if there is no objection to this small problem.
 
How is that a small problem, if you can't resume a saved game?
Humour never comes across well on a forum post. It's not a small problem at all but I hope with time that the problem can be resolved. The big problem is that I have no idea how long it will take me to resolve the problem which means you have an even longer wait for a new version.:(
 
When in doubt, turn on Python exceptions. If B5 was made anything like The Peacekeeper Wars, you will have tons of stuff that aren't refrenced in the python that should be for basic things to work.
 
You can find the python exception toggle in the .ini file.
Basicaly, what python exceptions does is tell you when python tries to execute a command but cannot because the object is missing from the game. So, if you replaced the Battleship with a new ship, you would get a python exception for the barb spawing and the civic that reduces the battleship price.
It is easy enough to fix (just search the python file for any instance of UNITCLASS_BATTLESHIP_I and replace it with an equivalent unitclass in B5). Removing python exceptions will also help the AI (as alot of AI decisions are forced through python. ALOT of starbase stuff is handled via python) and may fix your failure to load problem which may be caused by python. If the obvious python exceptions are fixed then it will be easier for someone who knows python to help tract down your issue if this doesn't fix it.
 
You can find the python exception toggle in the .ini file.
Basicaly, what python exceptions does is tell you when python tries to execute a command but cannot because the object is missing from the game. So, if you replaced the Battleship with a new ship, you would get a python exception for the barb spawing and the civic that reduces the battleship price.
It is easy enough to fix (just search the python file for any instance of UNITCLASS_BATTLESHIP_I and replace it with an equivalent unitclass in B5). Removing python exceptions will also help the AI (as alot of AI decisions are forced through python. ALOT of starbase stuff is handled via python) and may fix your failure to load problem which may be caused by python. If the obvious python exceptions are fixed then it will be easier for someone who knows python to help tract down your issue if this doesn't fix it.
Many thanks for that explanation Ajidica, i'll start exploring this immeadiately.
 
PythonDbg.log is where the output from any print statements in the Python files goes. If you add statements like print("iX, iY = %d, %d" % (iX,iY)) in your code then this is where you look to find out what the output was. This is good for seeing what is really going on: are the variables being set to what you think they should be, and stuff like that.

PythonErr.log is where the text for Python exceptions ends up. The text that ends up in here is the same text that shows up in the Python exception pop-ups if those are enabled, but generally formatted better. (There is also a PythonErr2.log, but that generally only holds some startup load messages, much like at the beginning of the PythonDbg.log file and is not very useful most of the time.)

By the way, the "print" statement is one of the most unusual statements in Python. You can use it with or without parenthesis (i.e. "print(x)" or "print x") and in the version without them (and maybe the one with, I don't remember) it will print things separated by commas in the order given ("print iX, iY"). You can also specify a formatting string which takes a tuple of arguments given after a % sign like: print(" iX = %d, iY = %d, text = %s" % (iX, iY, szText)), which can also be done without the parenthesis. If you don't use the version that specifies formatting it uses the representation of the variable that you get by converting it to a text string as per the str(x) function. Just so you know...
 
PsiCorps, didn't we discuss exceptions at some point in the movement restriction request thread? Because I believe you posted a ton of those when testing my various scripts.
 
PsiCorps, didn't we discuss exceptions at some point in the movement restriction request thread? Because I believe you posted a ton of those when testing my various scripts.
We probably did but my head is a mess atm, unemployed again and trying to find work has left me forgetting things I've already covered in other threads.:(
 
PythonDbg.log is where the output from any print statements in the Python files goes. If you add statements like print("iX, iY = %d, %d" % (iX,iY)) in your code then this is where you look to find out what the output was. This is good for seeing what is really going on: are the variables being set to what you think they should be, and stuff like that.

PythonErr.log is where the text for Python exceptions ends up. The text that ends up in here is the same text that shows up in the Python exception pop-ups if those are enabled, but generally formatted better. (There is also a PythonErr2.log, but that generally only holds some startup load messages, much like at the beginning of the PythonDbg.log file and is not very useful most of the time.)

By the way, the "print" statement is one of the most unusual statements in Python. You can use it with or without parenthesis (i.e. "print(x)" or "print x") and in the version without them (and maybe the one with, I don't remember) it will print things separated by commas in the order given ("print iX, iY"). You can also specify a formatting string which takes a tuple of arguments given after a % sign like: print(" iX = %d, iY = %d, text = %s" % (iX, iY, szText)), which can also be done without the parenthesis. If you don't use the version that specifies formatting it uses the representation of the variable that you get by converting it to a text string as per the str(x) function. Just so you know...
I'm lost, i would need to see an example of this so I understand it.
 
Maybe you could take a look at some sample Python code to see where print commands are being used, and compare the output to your actual Python Debug Log.
 
Hello everybody!,

Here is the latest ship, the Dilgar Protra ELINT ship, according to my sources, it is both a scout (Protra) and Assault ship (Rohric). By its looks I think this ship could fly into the higher levels of a planet's atmosphere, perhaps even deliver drop pods with special forces or something.

  • Poly Count: 497
  • Animation: B5_CustomFF_CarrierCruiser
  • Damage/Glow/Gloss Yes/Yes/Yes
  • FX extra polys: 16
Civilopedia:
Dilgar_Protra_InGame1.jpg


Combat:
Dilgar_Protra_InGame0.jpg


Damaged:
Dilgar_Protra_Damaged.jpg


Since this one appears to be small, perhaps this should be a two-ship unit.

:salute:
 
Back
Top Bottom