Covering three probable-noob issues that may be obvious to others.
I did a Verify in OpenMW-CS, and among other crap I recognize and can resolve (like stray endifs), it produced the following error:
Code: Select all
Type: Script, ID: Warlord_aScript, Severity: Error, Description: Unexpected name (Journal)
The offending line is:
I don't know enough about MW's scripting syntax to know what might be wrong with that.
Here's the entire script (code indentation added by me for legibility):
Code: Select all
Begin Warlord_aScript
Short NoLore
Short daysgoneby
Short timerday
Short doonce
If ( daysgoneby == 0 )
Set timerDay To Day
Set daysgoneby To 1
EndIf
If ( timerDay != Day )
Set daysgoneby To ( daysgoneby + 1 )
Set timerDay To Day
EndIf
If ( doonce == 0 )
If ( GetPCCell "Mournhold, Vacant Manor" == 0 )
If ( daysgoneby == 2 )
"Dovor Oren"->SetHealth 0
"Felvan Ienith"->PositionCell -490.53 800.05 -88.71 90 "Mournhold, Royal Palace: Jail"
"Felvan Ienith"->RemoveItem "ebony war axe_elanande" 1
"Felvan Ienith"->RemoveItem "extravagant_robe_02_elanande" 1
"Felvan Ienith"->RemoveItem "steel battle axe" 1
If ( Journal MS_Warlords >= 70 )
"stolen_goods2"->AddItem "ebony war axe_elanande" 1
"stolen_goods2"->AddItem "extravagant_robe_02_elanande" 1
"stolen_goods2"->AddItem "steel battle axe" 1
EndIf
"Olvyne Dobar"->PositionCell -490.53 1020.05 -88.71 90 "Mournhold, Royal Palace: Jail"
"Olvyne Dobar"->RemoveItem "silver_helm_uvenim" 1
"Olvyne Dobar"->RemoveItem "silver spear_uvenim" 1
"Olvyne Dobar"->RemoveItem "silver war axe" 1
If ( Journal MS_Warlords >= 100 )
"stolen_goods2"->AddItem "silver_helm_uvenim" 1
"stolen_goods2"->AddItem "silver spear_uvenim" 1
"stolen_goods2"->AddItem "silver war axe" 1
EndIf
Journal "MS_Warlords_a" 35
Set doonce To 1
EndIf
EndIf
EndIf
End
Putting quotes around MS_Warlord had no effect on this. My assumption is that the actual command for getting stuff from/writing stuff the journal is not "Journal".
Second, I get lots of these and am mystified as to what the issue is:
Code: Select all
Type: Script, ID: Sotha_Alma, Severity: Warning, Description: ignoring extra argument (Player)
where the offending line is usually of the form:
or
Sample snippet:
Code: Select all
if ( state < 100 )
if ( OnPCHitMe == 1 )
StopCombat Player
set OnPCHitMe to 0
endif
endif
Third, there are lots and lots of these:
Code: Select all
Type: Script, ID: Sotha_Alma, Severity: Warning, Description: stray explicit reference (ignoring it) (OnActivate)
where the offending line is something like:
Code: Select all
if ( "bk_ahnia"->OnActivate == 1 )
Snippet:
Code: Select all
if ( GetJournalIndex "MS_ScrollSales" == 30 )
if ( "bk_ahnia"->OnActivate == 1 )
Journal MS_ScrollSales 35
Activate
endif
endif
It also does this with various cases of AddTopic, Journal, GetJournalIndex, etc.
Fourth: Occasionally I get one of these, also a mystery to me:
Code: Select all
Type: Script, ID: reeh_jahScript, Severity: Warning, Description: stray string argument (ignoring it) ("reeh_jah")
in a line like:
Snippet:
Code: Select all
if ( GetJournalIndex "MV_RunawaySlave" >= 105 )
if ( CellChanged == 1 )
disable "reeh_jah"
endif
endif
I would greatly appreciate any debugging help!
Most of the rest of what I see is ">= -2 is always true", "has an orphaned point", "has a duplicated point", "no defined Journal Infos", "contains item without referenceable", "has zero duration" (for dead lights), "has an empty name" and "has no icon" (also often for dead lights, and it seems to me these maybe should not be flagged "Error").
Not sure I need to care about orphaned or duplicated points. The missing Journal infos, well, unless something will break because content they planned to write but didn't is missing, I don't care. "Contains item without referenceable" seems to mean it refers to an object that doesn't actually exist in the game world; my assumption is the item simply wont be there, but feel free to correct me if I'm wrong.
PS: Does it actually matter if a script has an unspecific End, or a mismatched on? I keep running into both of these cases:
and
Code: Select all
Begin Something_Here
...
End DifferentThing
instead of
Code: Select all
Begin Something_Here
...
End Something_Here
OpenMW-CS also keeps flagging cases like this as wrong:
Code: Select all
Begin Something_Here
...
End something_here
but the language appears to be case-insensitive, so this seem to be an OpenMW-CS bug. I have no pored over the bug tracker, but imagine that it's already covered there somewhere.