TR_act_m3-770_gatecrank_script: Line 15: if ( activated == 0 )
TR_act_m3-770_lant_script:
L34: elseif ( timer < ( swingTime * 3 ) )
L39: elseif ( timer < ( swingTime * 4 ) ) - see abot's version of the script in comments
TR_act_pull_rope2_script:
L11: if ( OnActivate == 1 )
L14: PlaySoundVP "BowPull" 0.5 1.0
TR_act_pull_rope_script:
L11: if ( OnActivate == 1 )
L14: if ( OnActivate == 1 )
TR_m3-725_RotZ_Object_60:
L42: if ( OnPCDrop == 1 )
L47: if ( timer_limit == 0.0 )
L72: if ( timer_limit < 0.01 )
L74: elseif ( timer_limit > 0.3 )
L97: elseif ( ma == 0.0 )
L181: set mvx to mvx + ( t1 * t1 * t1 * t1 * t1 / 120.0 )
L184: if ( mvx > 1.0 )
L186: elseif ( mvx < -1.0 )
L195: set t1 to ( ma - 360 ) * -0.0174533
L197: set mvy to mvy + ( t1 * t1 * t1 * t1 * t1 / 120.0 )
L201: elseif ( mvy < -1.0 )
L211: elseif ( tasks == 1 )
L212: if ( GetDistance Player < dis_limit )
L214: set pvx to ( ( "Player"->getPos X ) - mx )
L215: set pvy to ( ( "Player"->getPos Y ) - my )
L217: set t1 to ( pvx * pvx + pvy * pvy )
L237: if ( t1 > 0.0 )
L249: if ( t1 < ( -1.0 * rot_limit ) )
L263: if ( t1 > 0.0 )
L271: if ( t1 < ( -1.0 * rot_limit ) )
TR_m3_OE_removeBowlScript:
L9: if ( GetItemCount, "misc_com_redware_bowl" > 0 )
L20: if ( bowlsLeft == 0 )
L22: elseif ( GetItemCount, "misc_com_redware_bowl_01" > 0 )
L33: if ( bowlsLeft == 0 )
L35: elseif ( GetItemCount, "misc_com_wood_bowl_01" > 0 )
L46: if ( bowlsLeft == 0 )
L48: elseif ( GetItemCount, "misc_com_wood_bowl_02" > 0 )
L59: if ( bowlsLeft == 0 )
L61: elseif ( GetItemCount, "misc_com_wood_bowl_03" > 0 )
L72: if ( bowlsLeft == 0 )
L74: elseif ( GetItemCount, "misc_com_wood_bowl_04" > 0 )
L85: if ( bowlsLeft == 0 )
L87: elseif ( GetItemCount, "misc_com_wood_bowl_05" > 0 )
L98: if ( bowlsLeft == 0 )
L100: elseif ( GetItemCount, "misc_de_bowl_01" > 0 )
L111: if ( bowlsLeft == 0 )
L113: elseif ( GetItemCount, "misc_de_bowl_white_01" > 0 )
TR_m4_act_OE_LegBut_SCP:
L15: if ( OnActivate == 1 )
TR_m4_act_OE_LegDngHdoor_SCP:
L14: if ( OnActivate == 1 )
TR_m4_act_OE_LegHQButton_SCP:
L15: if ( OnActivate == 1 )
TR_m4_act_OE_LegHQHDoor_SCP:
L10: if ( OnActivate == 1 )
TR_m4_act_OE_LegHQPaint_SCP:
L14: if ( OnActivate == 1 )
TR_m4_act_OE_LegSmithCn_SCP:
L12: if ( OnActivate == 1 )
Comments
I agree that veryfing scripts
I agree that veryfing scripts syntax to be MWEdit/OpenMW compatible when possible (e.g. barring object.variable or other legit syntax problems with MWEdit) would really be something useful.
regarding door scripts, why not remove unneeded variables also? original Bethesda scripts are not to be considered a model of perfection, some of them are not optimized due to release time constrains, or evolved engine with Tribunal/Bloodmoon release, or simply not being made by programmers knowing scripting quirks.
e.g. 2 variables should be enough
https://pastebin.com/CuKi45RHapplied to section(revised as it is related to TR_act_m3-770_gatecrank_script)
Aren't hyphens in IDs also
Aren't hyphens in IDs also just a MWEdit syntax problem? they don't cause errors in the engine or in OpenMW as long as they're not at the beginning or end of the name. I wouldn't bother with them, but then again I don't use MWedit...
I've tried to divide the rest of the list into sections so they can be fixed in the files
EDIT: hyphens were once an issue in script IDs because of OpenMW, and that was fixed a long time ago. However, OpenMW's CS might still have issues with compiling such scripts, so changing them in Preview might still be worth considering.
Applied Old Ebonheart Section
Applied
Old Ebonheart Sectioncorrections in spring release fileClosing. Mostly because of
Closing. Mostly because of this issue's age.
I've gone over the every script in Mainland a few times using
openmw --script-all
andopenmw --script-all-dialogue
, which is something that should be done prior to every release. It'd be nice to have a good linter, but MWEdit isn't it and the problem is non-trivial on account of Bethesda's compiler being ass. Until we get one we'll have to make do with OpenMW's compiler and the validator, I think.