Posted 03 June 2010 - 09:52 PM Nice ambitious project here!
NMZmaster, on 03 June 2010 - 06:30 AM, said:
If any script geniuses out there see something horribly wrong with my general script structure that is causing this, I can offer you a pretend cookie
Uhm, wait, this is mostly MWSE stuff ... (rubbing Fliggerty's lamp ) Some things you could try...
- refine your syntax until MWEdit compiles in Strong Warning Level mode without these glitches
- try waiting a few seconds instead of a few frames between disable and setdelete, you have to be sure there are no more spell effects animation/sound playing
- use statements as simple as possible ( max 2 operators per assignment )
example: before
set zangle to ( zangle * 3.1415 / 180 ) ;MessageBox "zangle %0.00f xpos %0.00f ypos %0.00f px %0.00f py %0.00f", zangle, xpos, ypos, px, py set xtemp to ( zangle - ( zangle * zangle * zangle / 6 ) + ( zangle * zangle * zangle * zangle * zangle / 120 ) ) set ytemp to ( 1 - ( zangle * zangle / 2 ) + ( zangle * zangle * zangle * zangle / 24 ) ) set xtemp to ( xtemp - ( zangle * zangle * zangle * zangle * zangle * zangle * zangle / 5040 ) ) set ytemp to ( ytemp - ( zangle * zangle * zangle * zangle * zangle * zangle / 720 ) ) ; ... set dx1 to ( ( GetSecondsPassed * vx ) + xpos )
after
set zangle to ( zangle * 0,0174533 ) ;MessageBox "zangle %0.00f xpos %0.00f ypos %0.00f px %0.00f py %0.00f", zangle, xpos, ypos, px, py float zangle2 set zangle2 to ( zangle * zangle ) float zangle3 set zangle3 to ( zangle2 * zangle ) float zangle4 set zangle4 to ( zangle3 * zangle ) float zangle5 set zangle5 to ( zangle4 * zangle ) float zangle6 set zangle6 to ( zangle5 * zangle ) float zangle7 set zangle7 to ( zangle6 * zangle ) set xtemp to ( zangle + ( zangle5 / 120 ) ) set xtemp to ( xtemp - ( zangle3 / 6 ) ) set ytemp to ( 1 + ( zangle4 / 24 ) ) set ytemp to ( ytemp - ( zangle2 / 2 ) ) set xtemp to ( xtemp - ( zangle7 / 5040 ) ) set ytemp to ( ytemp - ( zangle6 / 720 ) ) ; .... set dx1 to ( vx * GetSecondsPassed ) set dx1 to ( dx1 + xpos )
I'm not sure these things may help (I suspect you are simply trying to spawn/move too much for the engine), but maybe they are worth a try. Good luck and hold on, this is really a great project !
Posted 04 June 2010 - 10:05 AM NMZmaster, on 04 June 2010 - 12:33 AM, said:
On the matter of SetDelete after a Disable, though: From what I'd read, it was suggested to wait several frames before the SetDelete command is issued. But you're saying that it is better to do a time-based wait rather than frame-based wait?
It does not matter, as long as you are sure the sound/animation played by the object is over before setdelete.
Using a frame counter is hardware dependent though (for instance a 3 seconds sound would mean 30 frames at 10 FPS, 90 frames at 30FPS) , maybe using GetSecondsPassed is safer/easier to test.
Also, if you need to spawn an object which is spawning children objects, better verify to not delete the father before any of the the spawned children.