Code: Select all
Begin script1
short done
if ( done == 0 )
; lots of lines of code
set done to 1
endif
end
Code: Select all
Begin script2
short done
if ( done == 1 )
return
endif
; lots of lines of code
set done to 1
end
Code: Select all
Begin script1
short done
if ( done == 0 )
; lots of lines of code
set done to 1
endif
end
Code: Select all
Begin script2
short done
if ( done == 1 )
return
endif
; lots of lines of code
set done to 1
end
Well, it does say scripting improvements and I interpreted it as improvements to the scripting workflow and the performance of the mod.Zini wrote:That has nothing to do with scripting. Currently the content file format does not contain a flag for instance (reference) enable/disable. Adding one is an option post 1.0. Not for performance reasons though (that should hardly matter), but for improving the content development process.
That is something you should avoid, if you are aiming for OpenMW only (and probably in general). Morrowind.esm does something similar and we have some workarounds in place to reduce the impact, but it is still bad for performance (even worse compared to vanilla MW, because internally OpenMW works quite a bit differently).I always had to disable certain items every frame (or in a starting script) or Morrowind would mess up something (in my experience). I just wish I didn't have to do that because it's performance heavy. Having a flag to enable or disable a reference would reduce the need for all those pesky workarounds.
Code: Select all
short doonce
if (doonce == 0)
cell, balmora (coordinates optional)::getref::npc::randomcount x -> addtopic "where's that guar"
cell, balmora (coordinates optional)::getref::weapon -> set::damage 0
endif
Code: Select all
short doonce
if (doonce == 0)
cell, balmora (coordinates optional), getref, npc, randomcount x -> addtopic "where's that guar"
cell, balmora (coordinates optional), getref, weapon -> set, damage 0
endif
Code: Select all
if (get, interior == 1)
if (get, exterior == 1)
if (get, worldspace ==1)
Code: Select all
if cell
{
balmora
getref
npc
randomcount x
} -> addtopic "where's that guar"
Code: Select all
if ( cell, balmora == 1 )
function (getref, npc, randomcount x) -> addtopic "where's that guar"
function (getref, weapon) -> setdamage 0
endif
Code: Select all
if (doonce == 0)
if cell, balmora (coordinates optional) == 1
if get ?/?npc == 1
searchrandom (parameters) -> addtopic "where's that guar"
Code: Select all
instead could lined function be possible
if (x == 1) ----> (y == 2 ) ----> ( z == 0,5 ) ..............
[b][u]then again with springs or list [/u][/b]
if ( x || y || z) == (1 || 2 || 0,5)