I don't think that it have something to do with the historic events. At the thime where it crashes, all historic events are shown correctly.
I commented it a bit for a better understanding.
Code:
; ROHAN
monitor_event FactionTurnStart FactionIsLocal
and I_IsFactionAIControlled milan
and not I_IsFactionAIControlled sicily
and I_NumberOfSettlements milan = 0
and I_SettlementOwner Anorien = sicily ;Minas Tirith
historic_event rohan_fallen
terminate_monitor
end_monitor
declare_counter rohan_r
declare_counter rohan_error
set_counter rohan_r 0
set_counter rohan_error 0
monitor_event FactionTurnStart FactionIsLocal
and I_IsFactionAIControlled milan
and not I_IsFactionAIControlled sicily
and I_NumberOfSettlements sicily > 3
and I_SettlementOwner Anorien = sicily
and I_NumberOfSettlements milan = 0
and I_SettlementOwner Kings-Land = sicily ; Edoras
and not I_SettlementUnderSiege Kings-Land
inc_counter rohan_error 1
if I_CompareCounter rohan_error < 2
historic_event rohan_resurrection true
set_counter rohan_r 1
end_if
end_monitor
monitor_conditions I_EventCounter rohan_resurrection_accepted = 1
and not I_IsFactionAIControlled sicily
and I_IsFactionAIControlled milan
and not I_SettlementUnderSiege Kings-Land
historic_event rohan_resurrection_acc
set_counter rohan_r 2
set_counter rohan_error 3 ;rohan_error 2 is for the option to make a betrayed event
terminate_monitor
end_monitor
monitor_event FactionTurnStart FactionIsLocal
and I_CompareCounter rohan_r = 2
and not I_IsFactionAIControlled sicily
and I_IsFactionAIControlled milan
and not I_SettlementUnderSiege Kings-Land
spawn_character sicily, Aranuir, diplomat, age 30, x 219, y 144
spawn_character milan, Alchfrid, diplomat, age 30, x 218, y 144
move_strat_camera 218, 144
set_counter rohan_r 3
terminate_monitor
end_monitor
monitor_event FactionTurnStart FactionIsLocal
and I_CompareCounter rohan_r = 3
and not I_IsFactionAIControlled sicily
and I_SettlementOwner Kings-Land = milan ; at this point the player should have given the settlement to the ai with the diplomats
spawn_army
faction milan
character random_name, named character, x 186, y 152, family
traits LoyaltyStarter 1, Upright 2, GoodCommander 1, PublicFaith 2, GoodCommander 4
unit rohan bodyguards exp 5 armour 0 weapon_lvl 1
unit militia exp 2 armour 0 weapon_lvl 0
unit militia exp 1 armour 0 weapon_lvl 0
unit warriors exp 2 armour 0 weapon_lvl 0
unit warriors exp 1 armour 0 weapon_lvl 0
unit Special Axemen exp 2 armour 0 weapon_lvl 0
unit Dismounted Eored Lancers exp 3 armour 0 weapon_lvl 0
unit Dismounted Eored Lancers exp 2 armour 0 weapon_lvl 0
unit Rohan Axemen exp 2 armour 0 weapon_lvl 0
unit Rohan Axemen exp 2 armour 0 weapon_lvl 0
unit Rohan Axemen exp 1 armour 0 weapon_lvl 0
unit archers exp 1 armour 0 weapon_lvl 0
unit archers exp 2 armour 0 weapon_lvl 0
unit rohan rider exp 3 armour 0 weapon_lvl 0
unit rohan rider exp 1 armour 0 weapon_lvl 0
unit rohan rider exp 2 armour 0 weapon_lvl 0
unit rohirrim exp 3 armour 0 weapon_lvl 0
unit eorlingas exp 2 armour 0 weapon_lvl 0
unit eorlingas exp 2 armour 0 weapon_lvl 0
end
spawn_army
faction milan
character random_name, named character, x 188, y 152, family
traits LoyaltyStarter 1, Upright 2, GoodCommander 1, PublicFaith 2, GoodCommander 4
unit rohan bodyguards exp 5 armour 0 weapon_lvl 1
unit militia exp 2 armour 0 weapon_lvl 0
unit militia exp 1 armour 0 weapon_lvl 0
unit warriors exp 2 armour 0 weapon_lvl 0
unit warriors exp 1 armour 0 weapon_lvl 0
unit Special Axemen exp 2 armour 0 weapon_lvl 0
end
set_counter rohan_r 4
terminate_monitor
end_monitor
monitor_event FactionTurnEnd FactionIsLocal
and I_CompareCounter rohan_r = 4
and not I_IsFactionAIControlled sicily
set_faction_standing sicily milan 9.9
set_faction_standing sicily turks 9.9
set_faction_standing sicily scotland 9.9
add_money sicily 10000
historic_event rohan_is_resurrected
set_counter rohan_r 5
terminate_monitor
end_monitor
; At this point all works correctly!
; Then come the turn of the new resurrected faction and -> crash