A fully formatted and error free modelDB file is now available.
So, I came across another persistent crash on non-player faction turn. This time, I tried something, and it had me wondering about it.
You see, my laptop is a Windows 7.1 Ultimate, hardcoded, and not exactly 100% functional, but it plays the mod. Even before I got the latest bugfixed SS6.4 installation, I could switch to compatibility mode to Windows 7 and the mod would just work crash free. In fact, the only times I saw it crashing when I did that, was when I was quitting the game. No pre-battle, no (most importantly) post-battle, and no end turn crash. However, there was one problem, and a fairly big one to me.
When I play the mod without compatibility, an early end turn usually lasts around 40 seconds. With compatibility on, almost 3 minutes, and it can get worse later.
So, my real question is, what is out of order there? By playing without compatibility, are my turns going *faster* than they are meant to? Am I skipping scripts? Should I play with compatibility on all the time and just stomach through the very long turns, or just turn it on to get through a persistent end turn crash, like I did before?
This is interesting, i think the compatibility mode does indeed conflict with the game . I play on win 7 ultimate as well , i have no problems of sort. Yes, im pretty sure longer turn times prove the scripts work but 3-4 minutes long sounds atrocious , even on my crappiest pc i never had more than 45-50 second turn times. Usually i get around 40 just like you , Jurand can also confirm in earlier comments he had the same loading times. I suppose , as long as the game's events work , you should work with whatever is more stable for you.
Jurand, i am also interested in this : Which event is the 1st to trigger in the script on a new game? How can we find out surely the script is working? I remember Roma Surrectum had a confirmation ingame where you would get +1 gold after you pressed the announcer on loading the game. Can something similar be made here?
This should be the first 'greeting' event (only plays at start of a campaign): historic_event INFO_ON_INFOS:
{INFO_ON_INFOS_TITLE}SSHIP v.0.97, patch E
{INFO_ON_INFOS_BODY} Welcome to the version 0.97 of the mod\n Stainless Steel Historical Improvement Project\n\nThe SSHIP is meant to be a "difficult" mod: little money, problems with .\...
The absence of a radar map restriction (on the left, remember vanilla?) is a sign that the script is running as this requires a script command: restrict_strat_radar false is the very first command in the script that governs this. In fact most mods (this one included) write on that cover 'error', see here on the stratpage_03 graphic:
I don't know the other issues but 097 without patches will crash very often.
Only in patch E most of the crashes were eradicated (the only noticable is the one related to the faction re-emergence, and later to the Mongols)
As Gigantus showed: the ERROR red text in the left bottom corner.
Last edited by Jurand of Cracow; November 23, 2020 at 10:56 AM.
The checker is telling me that the counters used in the emergent scripts are declared AFTER they have been set - that could be an issue. Not sure if I mentioned it already in the other thread, here is the complete list:
CS 3853: Declared counter "faction_emerged" is set before being declared (CS:32304).
CS 32317: Declared counter "scotland_emerge" is set before being declared (CS:32398).
CS 32320: Declared counter "england_emerge" is set before being declared (CS:32785).
CS 32323: Declared counter "portugal_emerge" is set before being declared (CS:33182).
CS 32326: Declared counter "spain_emerge" is set before being declared (CS:33572).
CS 32329: Declared counter "aragon_emerge" is set before being declared (CS:33967).
CS 32332: Declared counter "france_emerge" is set before being declared (CS:34359).
CS 32335: Declared counter "hre_emerge" is set before being declared (CS:34756).
CS 32338: Declared counter "norway_emerge" is set before being declared (CS:35154).
CS 32341: Declared counter "denmark_emerge" is set before being declared (CS:35540).
CS 32344: Declared counter "sicily_emerge" is set before being declared (CS:35931).
CS 32347: Declared counter "venice_emerge" is set before being declared (CS:36323).
CS 32350: Declared counter "pisa_emerge" is set before being declared (CS:36712).
CS 32353: Declared counter "poland_emerge" is set before being declared (CS:37101).
CS 32356: Declared counter "hungary_emerge" is set before being declared (CS:37493).
CS 32359: Declared counter "lithuania_emerge" is set before being declared (CS:37887).
CS 32362: Declared counter "russia_emerge" is set before being declared (CS:38275).
CS 32365: Declared counter "kievan_rus_emerge" is set before being declared (CS:38667).
CS 32368: Declared counter "cumans_emerge" is set before being declared (CS:39065).
CS 32371: Declared counter "serbia_emerge" is set before being declared (CS:39458).
CS 32374: Declared counter "byzantium_emerge" is set before being declared (CS:39841).
CS 32377: Declared counter "georgia_emerge" is set before being declared (CS:40235).
CS 32380: Declared counter "rum_emerge" is set before being declared (CS:40629).
CS 32383: Declared counter "turks_emerge" is set before being declared (CS:41024).
CS 32386: Declared counter "egypt_emerge" is set before being declared (CS:41422).
CS 32389: Declared counter "moors_emerge" is set before being declared (CS:42209).
CS 32392: Declared counter "abbasid_emerge" is set before being declared (CS:42601).
CS 48801: Declared counter "hanseatic_guild_allowed" is set but never declared.
I doubt very much it was a problem as factions "emerged" many times in the playthroughs, afaik.
Furthermore, this seems to be a false positive. The inc_ are positioned first in the file, but the monitor is triggered much later (slave turn) than the triggers would be declared (at the first go through the script).
Hanse also worked as it was supposed to work (and even better - there're too many).Code:monitor_event FactionTurnStart FactionType slave if I_SettlementOwner Edinburgh = slave inc_counter scotland_emerge 1 end_if if I_SettlementOwner London = slave inc_counter england_emerge 1 end_if if I_SettlementOwner Coimbra = slave inc_counter portugal_emerge 1 end_if if I_SettlementOwner Leon = slave inc_counter spain_emerge 1 end_if if I_SettlementOwner Zaragoza = slave inc_counter aragon_emerge 1 end_if if I_SettlementOwner Paris = slave inc_counter france_emerge 1 end_if if I_SettlementOwner Frankfurt = slave inc_counter hre_emerge 1 end_if if I_SettlementOwner Bergen = slave inc_counter norway_emerge 1 end_if if I_SettlementOwner Lund = slave inc_counter denmark_emerge 1 end_if if I_SettlementOwner Palermo = slave inc_counter sicily_emerge 1 end_if if I_SettlementOwner Venice = slave inc_counter venice_emerge 1 end_if if I_SettlementOwner Pisa = slave inc_counter pisa_emerge 1 end_if if I_SettlementOwner Krakow = slave inc_counter poland_emerge 1 end_if if I_SettlementOwner Esztergom = slave inc_counter hungary_emerge 1 end_if if I_SettlementOwner Kernave = slave inc_counter lithuania_emerge 1 end_if if I_SettlementOwner Novgorod = slave inc_counter russia_emerge 1 end_if if I_SettlementOwner Kiev = slave inc_counter kievan_rus_emerge 1 end_if if I_SettlementOwner Sarkel = slave inc_counter cumans_emerge 1 end_if if I_SettlementOwner Ras = slave inc_counter serbia_emerge 1 end_if if I_SettlementOwner Constantinople = slave inc_counter byzantium_emerge 1 end_if if I_SettlementOwner Tbilisi = slave inc_counter georgia_emerge 1 end_if if I_SettlementOwner Konya = slave inc_counter rum_emerge 1 end_if if I_SettlementOwner Isfahan = slave inc_counter turks_emerge 1 end_if if I_SettlementOwner Cairo = slave inc_counter egypt_emerge 1 end_if if I_SettlementOwner Marrakesh = slave inc_counter moors_emerge 1 end_if if I_SettlementOwner Baghdad = slave inc_counter abbasid_emerge 1 end_if end_monitor declare_counter scotland_emerge set_counter scotland_emerge 0 monitor_event CityRiots SettlementName Edinburgh ; and I_NumberOfSettlements scotland = 0 and I_IsFactionAIControlled scotland and not I_SettlementOwner Edinburgh = scotland inc_counter scotland_emerge 3 end_monitor monitor_event FactionTurnEnd FactionType slave and I_CompareCounter scotland_emerge > 5 and I_CompareCounter faction_emerged = 0 and not I_SettlementUnderSiege Edinburgh
I don't think an event counter should be declared beforehand, should it? Actualy, I had it declared before but I've noticed an error in the script for such a declaration.
set_event_counter hanseatic_guild_allowed 0
0.97E and the Bugfixed 6.4, installed at the best of my capabilities. When I try to purchase Lyon from the HRE with my diplomat by 55000 or similar amount, I get a CTD. I will try again with compatibility on just to see if I can carry on.
Quicksave.rar
Edit: Compat mode worked. Took a while for them to evacuate the city though. Wonder if that's the reason why it was crashing, models moving in the strategy map.
Edit 2: Similar issue when buying Arles. Once again, game crashed as soon as I made an offer they would accept. I wonder if the problem is when their generals and agents are leaving the settlement.
Last edited by RodriguesSting; November 23, 2020 at 05:21 PM.
Hi guys,
First of all I want to say that the mod is great! Im writing because I need help with CTDs. In about 10 turns it crashes even 3-4 times, of course after reloading saves most of the time it works, but sometimes it annoys the hell out of me. For example I have captured scottish capital and there is an event with scottish rebel army Fergus mc Choluim or something like that, anyway they started to besiege a castle of course and that was really a hell of a fight it lasted for about 30 minutes, managed to defeat them and after closing battle stats Window as campaign map was loading in - crash, I was like ok lets do it again, it happened few times, but finally I have managed to get back on campaign map. I spent like 3 hours on that battle repeating it but im mad lol. Im experiencing crashes after a battle often as well as crashes during ai turns, especially after rebel turn. Its weird because then i have an autosave after THAT ai turns just dont have all notifications etc. Anyway im having a lot of fun with the mod, but I wish there was something to help with those crashes because sometimes its a huge pain when you managed to achieve heroic victory and you cant even save and you have to do it again. So I hope for some solutions from you guys, cheers.
Im using sship 0.97 patch E with latest KCC unit models (love it aswell!)
I haven't followed up on that but when I cut all factions except scotland then your script section looks like the one above: the inc_counter line appears to come before the declare_counter line - that being what the log points out:
CS 32317: Declared counter "scotland_emerge" is set before being declared (CS:32398).
As to the hanseatic issue - you are right that event counter do not require declaring. There are however a great number of log entries mentioning that you have regular and event counters with the same name. This is such case, however an unintentional one, the lack of a second line number in the log error meaning that the counter wasn't declared:
It should have been 'inc_event_counter hanseatic_guild_allowed 1' - basically you are increasing a non existing (undeclared) regular counter instead of the event counter that is referenced here. Which means the event counter will never increase, resulting in a logical fail of the monitor, eg the event_counter will always be zero.Code:set_event_counter hanseatic_guild_allowed 0 monitor_event FactionTurnStart FactionType slave inc_counter hanseatic_guild_allowed 1 ; line 48801 if I_EventCounter hanseatic_guild_allowed > 20 set_event_counter hanseatic_guild_allowed 0 end_if end_monitor
Im I the only one that has crashes although not repeatable but consant?
I actually have a similar experience as Andrew does: for no apparent reason the game crashes between the turns for various factions, starting very early 2 or 5 turn. Doesn't look related to the faction reemergence.
Do you use 097E or you use with the KCC minimod?
Such constant crashes is not something I've experienced while testing version E without KCC. I would go for 50 turns without any crash at that time. But I also use some new modding do by myself (eg Georgian reforms) so I had thought it was the issue...
@Gigantus:
- declare / inc_ - the script will ready declare first, and only after a few goes through the script, when it comes to the slave faction, it will read the inc_. I think it's safe.
- hanseatic league - thanks, this is a valid point, I didn't know it.
Last edited by Jurand of Cracow; November 24, 2020 at 08:34 AM.
DANGER !
Patch F, as presented in the download thread, will have its battle_models.modeldb overwritten by that of KCC 0.9.5 which is not the same !
Gigantus has so far corrected some errors on the battle_models.modeldb of SSHIP 0.9.7 which is not that of KCC !
I've meant exactly this: KCC overwrites battle_models.modeldb with it's own. KCC is installed over the SSHIP097 anyway. As a result they are compatible. The only difference between E and F would be the fix to the unlimited priests/merchants. (if you don't install KCC then there's also
NO DANGER
Gotta say, game is pretty solid right now. Battle crashes seem to be gone entirely, alongside a somewhat improved performance on my end. The only crashes I am getting now are from buying settlements and turn sequences.
So you mean that first I overwrite the new patch F with its own battlemodedb and then I overwrite it again with Kostic's minimod right? the whole minimod or just the battlemodedb file?
I have a fairly advanced campaign and I would not like to lose it or fail, I hope it is save compatible ...
THE MORE YOU SWEAT NOW,
THE LESS YOU BLEED IN BATTLE!!!
Sign the petition to remove hardcoded limits for M2TW
Yes, the new patch F includes the Gigantus' battle_models file but if you install KCC this file will get overwritten with the KCC version. I'd think changing this file would break the game, but I may err here.