Crash to Desktop. I can no longer continue my Campaigns
Okay, So I started using this mod some time ago. And I've tried three Campaigns on it, and all end with a CTD. I'm starting to wonder if this mod if officially broken. Now I'm going to tell you all the details I have so far. I'm playing as Portugal on all campaigns on an Early setting with VH/VH. My first campaign went up to turn 89 and then crashed when the turn was about to reach the Rebels. Even old save files didn't do much. I would still crash on turn 89. Second try, was at turn 230 when it hit Genoa. And now, on turn 154. Again while changing turn, the Fatimid lay siege on one of my cities and as it is about to go to Scotland, it crashes. Now, I have reinstalled the game and the mod three times following all the instructions carefully but nothing seems to do anything.
- My Operating System is Windows 7 Ultimate 64x and I have UAC off.
- I have Medieval 2 and Kingdoms Steam version
- My kingdoms version is the latest(1.5).
- My version of Stainless Steel is 6.4
- I'm using the bugfix compilation plus The Next Heir sub-mod.
My log file:
Spoiler Alert, click show to read:
20:58:17.916 [system.rpt] [always] CPU: SSE2
20:58:17.916 [system.rpt] [always] ==== system log start, build date: Aug 2 2014 version development ===
20:58:17.916 [system.io] [always] mounted pack packs/data_0.pack
20:58:17.916 [system.io] [always] mounted pack packs/data_1.pack
20:58:17.926 [system.io] [always] mounted pack packs/data_2.pack
20:58:17.926 [system.io] [always] mounted pack packs/data_3.pack
20:58:17.926 [system.io] [always] mounted pack packs/data_4.pack
20:58:17.926 [system.io] [always] mounted pack packs/localized.pack
20:58:30.581 [game.script] [always] Germanicu5 ReallyBadAI v5.7 Running. Please upload log and savegames when reporting battle CTDs for SS.
21:01:52.681 [system.rpt] [error] Medieval 2: Total War encountered an unspecified error and will now exit.
Now, I'm really tired of this mod and I'm about to just let it go really. I dedicate hours to this and do a lot of forward planning on what I want to do and this happens and all of it for nothing. Is there any fix for this? Can I recover my game?
Re: Crash to Desktop. I can no longer continue my Campaigns
There might be some issues with some traits triggers causing CTDs, however
If you open default.cfg in the SS6.3 folder and set the log to trace instead of error, the log will be much more revealing about what was going on before the crash, of course that log would be probably too long to post here, so you might have to compress it into a RAR or 7z before attaching it to the post in here.
Re: Crash to Desktop. I can no longer continue my Campaigns
Originally Posted by Melooo182
There might be some issues with some traits triggers causing CTDs, however
If you open default.cfg in the SS6.3 folder and set the log to trace instead of error, the log will be much more revealing about what was going on before the crash, of course that log would be probably too long to post here, so you might have to compress it into a RAR or 7z before attaching it to the post in here.
Alright. Thanks for that. I always wondered why the log was so small. So here it is, the real one.
This way, Wallace will move in that specific point in Ireland and he will stay there until killed or die from old age.
Instaed of 31,236, you can move him near an army of a faction who is at war with England or your faction!
Last edited by gsthoed; August 29, 2014 at 06:09 PM.
This way, Wallace will move in that specific point in Ireland and he will stay there until killed or die from old age.
Instaed of 31,236, you can move him near an army of a faction who is at war with England or your faction!
Right. The first command moved him to somewhere. But the second command gives a warning that it cannot locate the trait. I tried passing the turn but it still crashed.
Re: Crash to Desktop. I can no longer continue my Campaigns
YES!YES!!!!!!!!!!!!!!!! I did what you said! I moved him to one of my armies and killed him and pressed end turn and IT DID IT! Turn 159! Thank you so much! I'll rep you for eternity for this! : D
Re: Crash to Desktop. I can no longer continue my Campaigns
Originally Posted by Melooo182
Lolwut?
english william wallace?
how is this possible? english bribed/married him before he attacked or something?
Obviously,he accepted a marriage proposal or bribe before he attack Edinburg. He could have rebeled too. And, from the vanilla "William Wallace Uprising", he is still scripted to siege_settlement (attack) Edinburg (CS line 7931, bugfix compilation v1.21, early campaign). So, I see two CTD-sources that affect all similar scripts:
a) "William Wallace" is forced to attack his own faction. It's like "mongols at war with themselves" bug.
b) "William Wallace" (english) is forced to do a move in a foreign faction's turn (scotland's).
One easy solution I have in mind: Issue the "siege_settlement(maintain)" when Wallace is spawned. Do the "siege_settlement (attack)" stuff at "CharacterTurnStart Trait ScotlandHero = 1", when you can test if the corresponding general is still in his original faction. But there might be a more effective and more general solution... Something like this:
a) Spawn WilliamWallaces as usual. Issue the siege(maintain) in the same turn. Next turn, and if all are OK, a trigger in EDCT gives him a trait that gives him an extemely high attribute or an attribute that is not usually used for generals
b) At next scotland's FactionTurnStart: Spawn a dummy general, move him on Edinburg with "console_command move_character", lock his movement, issue him to move (this will trigger a MultiTurnMove event). In the MultiTurnMove monitor use the "HighestAttAdjacentChar" condition to check if "Wallace" is OK; if OK, issue the siege_settlement attack.
Last edited by gsthoed; August 29, 2014 at 09:21 PM.
Re: Crash to Desktop. I can no longer continue my Campaigns
yeah maybe that can do the job
I did a trait for identifying other characters involved in scripted sieges and without altering much existing scripts they should only proceed if the character is still in his original faction.
Also edited wallace spawn code to make him appear closer to Edinburgh
Spoiler Alert, click show to read:
Code:
monitor_event CharacterTurnStart Trait ScotlandHero = 1
and CharFactionType scotland
and not I_SettlementOwner Edinburgh = scotland
and I_IsFactionAIControlled scotland
and I_CharacterExists scotland4wallace
if I_SettlementUnderSiege Edinburgh;if settlement under siege already, avoid ctd.
and I_CompareCounter attack_edinburgh = 0
terminate_monitor
end_if
if not I_CharacterTypeNearTile scotland, named_character, 5, 59, 248 ;if character not standing where it should, avoid ctd
terminate_monitor
end_if
if I_SettlementUnderSiege Edinburgh
and I_CompareCounter attack_edinburgh = 1
siege_settlement scotland4wallace, Edinburgh, attack
set_counter attack_edinburgh 2
terminate_monitor
end_if
if not I_SettlementUnderSiege Edinburgh
siege_settlement scotland4wallace, Edinburgh, maintain
set_counter attack_edinburgh 1
end_if
end_monitor
TO doesn't need this as both scripted sieges are done by the FL and FH and they cannot be married, bribed or rebelled IIRC
But changed the monitor anyway to use character turn start
Re: Crash to Desktop. I can no longer continue my Campaigns
I 'll try to write soon a version for this script, based on the "MultiTurn" approach.
Some things about your script:
a) If Wallace can CharacterTurnStart, it is obvious that he exists. Also, this monitor is difficult to terminate. BTW, why to use independent conditions and not the equivalent ones that had just been exported?
b) When we are to issue the attack command, he should stand exactly outside on "2, 59, 248"; not on "5, 59, 248". Also, if he is not spawned exactly outside Edinburg, no command is to be issued, as the monitor will terminate at " not I_CharacterTypeNearTile" condition in the first turn of the uprising.
c)Why use a new counter? Counter "wallace_spawned" can do the job.
Assuming he is not spawned on "59, 248" and we take this approach, I'd suggest this:
First, the triggers of the uprising:
Spoiler Alert, click show to read:
Code:
declare_counter wallace_spawned
monitor_event GeneralCaptureSettlement TargetFactionType scotland
and FactionType england
if I_CompareCounter wallace_spawned > 0
terminate_monitor
end_if
if I_TurnNumber > 130
set_counter wallace_spawned 1
terminate_monitor
end_if
terminate_monitor
end_monitor
monitor_event FactionTurnStart FactionType scotland
and I_TurnNumber > 60
if I_CompareCounter wallace_spawned > 0
terminate_monitor
end_if
if I_NumberOfSettlements scotland > 2
set_counter wallace_spawned 1
terminate_monitor
end_if
if I_TurnNumber = 180
and I_NumberOfSettlements scotland < 4
set_counter wallace_spawned 1
terminate_monitor
end_if
end_monitor
Next is the monitor that does the spawning; of course this could be done by the previous monitor if it was at PreFactionTurnStart. Next, the "CharacterTurnStart" monitor:
Spoiler Alert, click show to read:
Code:
monitor_event CharacterTurnStart Trait ScotlandHero = 1
and FactionType scotland
; If we use my "Factions economy script", instead of "and FactionType scotland" it is best we use:
; if turn_fid != 16 ;so, it's not scotland's turn
; terminate_monitor
; end_if
if I_SettlementOwner Edinburgh = scotland
terminate_monitor
end_if
if I_SettlementUnderSiege Edinburgh;if settlement under siege already, avoid ctd.
and I_CompareCounter wallace_spawned = 1
terminate_monitor
end_if
if I_AtSea scotland4wallace ; to avoid the case he lost a battle and retreated at a ship near Edinburg
terminate_monitor
end_if
if I_EventCounter is_the_ai = 1; so it is the AI
if I_CompareCounter wallace_spawned = 2
if I_SettlementUnderSiege Edinburgh
and I_CharacterTypeNearTile scotland, named_character, 2, 59, 248 ; outside Edinburg
siege_settlement scotland4wallace, Edinburgh, attack
end_if
terminate_monitor
end_if
if I_CompareCounter wallace_spawned = 1
siege_settlement scotland4wallace, Edinburgh, maintain
set_counter wallace_spawned 2
end_if
end_if
end_monitor
EDIT: Actually, in order to avoid in second turn Wallace is following the "siege_settlement (maintain)" when the conditions are not appropriate, we can order him to move back to his initial position:
Spoiler Alert, click show to read:
Code:
if I_CompareCounter wallace_spawned = 2
if not I_SettlementUnderSiege Edinburgh
move scotland4wallace 55, 253
terminate_monitor
end_if
if not I_CharacterTypeNearTile scotland, named_character, 2, 59, 248 ; outside Edinburg
move scotland4wallace 55, 253
terminate_monitor
end_if
siege_settlement scotland4wallace, Edinburgh, attack
terminate_monitor
end_if
Last edited by gsthoed; August 30, 2014 at 12:12 PM.