I've heard rumours about an instruction limit imposed on scripts and now I may finally have run afoul of those limits... Does anyone know specifics?
In particular, I've written a script that enumerates hostiles and dumps some info to the log file. It works like a charm outside of combat but in combat mode it just craps out and stops in the earliest stages. Sometimes it works a bit if there are only two enemies left and I restrict the scan radius but not always. The same enumeration and computation logic works perfectly fine in another script that puts similar info into floaties above each enemy, even in mass battle zones like the Dead Trenches.
The only salient difference is that the logging script gathers slightly more information and that it makes heavy use of structures.
The fact that combat mode b0rkens things reduces the utility of the script a lot, since there are quite a few areas that start in combat mode right away.
When I get home I'll do the job of the compiler, eliminating all redundancy and most structure uses via manual optimisation and heavy inlining. That may improve things a bit but probably not a whole lot, depending on how tight the limits are and how heavy structure use is penalised. Without a clear idea what the limits are and without an easy way to gauge/measure them, things are going to be extremely tricky...
In case anyone's curious, the script dumps info about enemy rank, level and combat XP, and all the data needed for computing combat XP for any player level. With a bit of SQL fu this information can be used to compute kill counts and exact XP for any mission/quest/area depending on player level, with near zero manual work except for factoring in enemy pools and enemies that are initially non-hostile. With a bit of manual tagging it can tell things about critical paths, MinXP runs, or XP loss/gain depending on chosen quest order or the presence of a proficient lockpicker in the party.
Log lines example:
Script log_xp_info_nss__20140707 >>> 3 1887 (DAO_PRC_GIB) [0] gib100ar_smithy 21000 [15,35,1,25,25] (Fiona) [25] Script log_xp_info_nss__20140707 XPInfo,301281,gib_cr_revenant,gib_cr_revenant,-61.393009186,-29.866451263,-0.021365324,123.970001221,4,26,1,-1,0,0,26,0,-1 Script log_xp_info_nss__20140707 XPInfo,301277,gib_cr_arcane_horror,gib_cr_arcane_horror,-46.686077118,-22.440023422,-0.02136532,57.67250061,3,25,0,-1,0,0,12,0,-1 ... 70 lines snipped ... Script log_xp_info_nss__20140707 XPInfo,301607,pool_gib_skeleton_boss0,gib_skeleton_boss.utc,65505,65505,0,123.970001221,4,26,1,15,0,0,50002,0,-1 Script log_xp_info_nss__20140707 <<< 3 1887 (DAO_PRC_GIB) [0] gib100ar_smithy 21000 [15,35,1,25,25] (Fiona) [25]





Retour en haut






