Very much simplified script - simple three spawns on same tile on subsequent turns results in randomly occuring CTD a random number of turns after last spawn. Can't duplicate reason when playing one of the spawned factions but stopping them spawning on same spot seems to stop problem (so far so good).
So need to try and add a check to see if anyone is on tile before spawning:
Code:
if whatever_conditions
;sets counter to stop spawn
if I_CharacterTypeNearTile alemanni general, 0 97,121
set_counter nospawn 2
end_if
if I_CharacterTypeNearTile alemanni family, 0 97,121
set_counter nospawn 2
end_if
;only triggers if army not on tile
if I_CompareCounter nospawn < 2
spawn_army
faction slave
character Moireabh, named character, command 1, influence 1, management 1, subterfuge 0, age 23, x 97, y 121
unit souleatergeneral, exp 1 armour 0 weapon_lvl 0
end
end_if
;reset for other if/monitors
if I_CompareCounter nospawn = 2
set_counter nospawn 0
end_if
; terminate_monitor
end_if
seems to work to just stop them spawning on exact same tile as alemanni, but would need same entry for all factions, luckily I haven't got full set of factions in use, but wonder if anyone knows of way of wording that for 'any faction' on tile that's shorter....?
Any other advice on lines of 'Scripters Guide to CTD's' might also be useful in-case there is anything else causing problem.
Bookmarks