Tamriel Data 6.1 T_ScSound_VelothiGourdHarp script extra endif

Type: 

Bug

Severity: 

Minor

Game version: 

Morrowind

Concerns: 

Tamriel_Data

Related Release File: 

Found in Version: 

Status: 

Fixed for Version: 

Description: 

Begin T_ScSound_VelothiGourdHarp

; ...

        ;MessageBox, "Sound stopped."
    endif
    ; endif ; fixed /abot
endif

;--the scale affects the pitch, the larger the instrument the lower the pitch

Comments

[EDIT] also maybe this script

abot's picture

[EDIT]  for TR_Mainland:

also maybe this script could be safer/shorter removing calls to 2 references per line

begin TR_m3_q_OE_MG_RemoveGems

; removed from main script to lighten... excessive amount of nested ifs?
; removed calls to 2 references per line, added variables /abot

Short lowervalue
short gemtype
short items

set items to 0
set gemtype to ( "TR_m3_ManielSylbenitte".gemtype )

If ( gemtype == 1 )
    player->RemoveItem "T_IngMine_AlexandriteDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_AlexandriteDae_01" )
ElseIf ( gemtype == 2 )
    player->RemoveItem "T_IngMine_AmberDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_AmberDae_01" )
ElseIf ( gemtype == 3 )
    player->RemoveItem "T_IngMine_AmethystDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_AmethystDae_01" )
ElseIf ( gemtype == 4 )
    player->RemoveItem "T_IngMine_AquamarineDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_AquamarineDae_01" )
ElseIf ( gemtype == 5 )
    player->RemoveItem "T_IngMine_BloodstoneDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_BloodstoneDae_01" )
ElseIf ( gemtype == 6 )
    player->RemoveItem "ingred_Dae_cursed_diamond_01" 1
    set items to ( player->GetItemCount "ingred_Dae_cursed_diamond_01" )
    Set lowervalue to 1
ElseIf ( gemtype == 7 )
    player->RemoveItem "ingred_Dae_cursed_emerald_01" 1
    set items to ( player->GetItemCount "ingred_Dae_cursed_emerald_01" )
    Set lowervalue to 1
ElseIf ( gemtype == 8 )
    player->RemoveItem "T_IngMine_JetDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_JetDae_01" )
ElseIf ( gemtype == 9 )
    player->RemoveItem "T_IngMine_KhajiitEyeDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_KhajiitEyeDae_01" )
ElseIf ( gemtype == 10 )
    player->RemoveItem "T_IngMine_MoonstoneDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_MoonstoneDae_01" )
endif
; safety if split
If ( gemtype == 11 )
    player->RemoveItem "T_IngMine_OpalDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_OpalDae_01" )
ElseIf ( gemtype == 12 )
    player->RemoveItem "ingred_Dae_cursed_pearl_01" 1
    set items to ( player->GetItemCount "ingred_Dae_cursed_pearl_01" )
    Set lowervalue to 1
ElseIf ( gemtype == 13 )
    player->RemoveItem "T_IngMine_PearlBlackDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_PearlBlackDae_01" )
ElseIf ( gemtype == 14 )
    player->RemoveItem "T_IngMine_RockCrystalDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_RockCrystalDae_01" )
ElseIf ( gemtype == 15 )
    player->RemoveItem "ingred_Dae_cursed_ruby_01" 1
    set items to ( player->GetItemCount "ingred_Dae_cursed_ruby_01" )
    Set lowervalue to 1
ElseIf ( gemtype == 16 )
    player->RemoveItem "T_IngMine_SapphireDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_SapphireDae_01" )
ElseIf ( gemtype == 17 )
    player->RemoveItem "T_IngMine_SpinelDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_SpinelDae_01" )
    Set lowervalue to 1
ElseIf ( gemtype == 18 )
    player->RemoveItem "T_IngMine_TektiteDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_TektiteDae_01" )
    Set lowervalue to 1
ElseIf ( gemtype == 19 )
    player->RemoveItem "T_IngMine_TopazDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_TopazDae_01" )
ElseIf ( gemtype == 20 )
    player->RemoveItem "T_IngMine_TurquoiseDae_01" 1
    set items to ( player->GetItemCount "T_IngMine_TurquoiseDae_01" )
Endif

if ( items > 0 )
    Set "TR_m3_ManielSylbenitte".hasitems to items
endif

If ( lowervalue )
    "TR_m3_ManielSylbenitte"->ModDisposition 1
    Set "TR_m3_ManielSylbenitte".lowervalue to 1
else
    "TR_m3_ManielSylbenitte"->ModDisposition 3
    Set "TR_m3_ManielSylbenitte".lowervalue to 0
Endif
set lowervalue to 0

Set "TR_m3_ManielSylbenitte".dialogcue to 2

StopScript "TR_m3_q_OE_MG_RemoveGems"

end

I think script name TR_m3_OE_RaathimTeleportGlobalScp could cause conflicts/problems being truncated to TR_m3_OE_RaathimTeleportGlobalSc, better name it something like TR_m3_OE_RaathimTeleportGlobScp ?

Also these could cause problems, better change script name
Script ID "TR_m2_q_20_Sorcerer" is not unique! Previous object is type NPC.
Script ID "TR_m2_q_4_SorenDremora" is not unique! Previous object is type Creature.

Script ID "TR_m2_q_A8_5_Shamirr" is not unique! Previous object is type NPC.
Script ID "TR_m3_q_hideseektrap" is not unique! Previous object is type Container.

Object 'TR_m2_q_5_HlamenDoor' is not persistent. Its presence is not guaranteed in game. referred from script by TR_m2_q_5_NPCMove_Trials

script TR_m3_OE_q_kwamasmug_remove called by script TR_m3_OE_q_kwamasmug_scr is missing

Applied modified script with

Rot's picture

Applied modified script with line 10 and 83 edited so hasitems can be set to 0 like the original
TR_m3_OE_RaathimTeleportGlobalScp was already shortened, just forgot to delete
Script IDs edited and fixed the rest, the bug's original report for t_data remains

    [FOGBUG]: Cells with zero

abot's picture

    [FOGBUG]: Cells with zero fog density setting:(can cause blackness with some video cards, setting fog to 0.1 usually is enough)
    Old Ebonheart, Hhontjulf Fire-Mane's House

Also I am having crashes loading a previous save due to GetPCCell "Ebon Tower" not finding the cell (I think in saves it may be named Old Ebonearth). Maybe making a dummy interior cell with 1 static would help, or make different checks e.g. with player position

[EDIT] after more checking, it must be some mod conflict, not with save, as problem persists with starting a new game with full loading list, problem disappears starting a new game with minimal mod list. I will see if I can isolate the conflicting, it was CELL old ebonheart, ebon tower (6, -18) previously in the save

[EDIT]ok, found the conflict, an unreleased extension to Stuporstar's dummies placing them also in Old Ebonheart (so saving old cell name), I renamed the cell to Ebon Tower. Not so sure the unique exterior cell name is future proof, but it should work if no more renaming happens

Taking a look at the TR_Mainland scripts, I've seen several identifiers containing - (a math operator in any programming language) instead of _, they are a problem both for OpenMW and MWEdit warnings and are not reliable in Morrowind engine IMO if you write something like

TR_act-m2-56-necswitch2 -> disable

IMO, at least it should be

"TR_act-m2-56-necswitch2"->disable

ideally it should be

"TR_act_m2_56_necswitch2"->disable

Also not sure if these

AiWander 0 0 0 0 0 0 0 0 0 0 0 0

could make the NPC stay like a mannequin after PositionCell if no other AI package kicks, if they stay like a mannequin maybe better something like

AiWander 0 0 0 40 30 20 10 0 0 0 0 0

 

The dwemer puzzle scripts are a impossible to recompile mess of references to persistent statics variables that refuse to recompile from CS, you should use global variables to exchange state information between such a big number of objects, when you slap 100 persistent statics in a cell it's a nightmare to change if something is not found as persistent any more...

Oh well, I suppose those scripts will never be recompiled
[EDIT]found the typo I entered stopping recursive compiling. At least I can change and recompile some of the stuff[

[EDIT2]Ok, I'm done, not enough energy to check all dwemer puzzle scripts, more important script changes are marked /abot2018, keep what you like, you can import/export compare changes, TR_MainlanU_Scripts.mws is Mash script text export format  (EDIT: revised version here)

[EDIT3] I see some misplaced door/tower meshes loading in CS e.g. the Almas Thirr temple/towers exterior area, does it make sense to report TR_Preview things?

[EDIT4]ok, false alarm, not a TR problem, it was some mesh replacer (I think a atlas one) using the ex_vivec_h_07 mesh instead of the ex_vivec_h_09

[EDIT5]Expression Error: BADOBJECTPOINTER in Dialogue CompileAndRun.
Set expression returned an error.
==>CompileAndRun problem was found in Topic "swindling dark elves"
   "Did you find out anything, %PCName?"

No idea if this is still 100% safe at runtime, personally I would replace the dialog result text wall with a global script call e.g. StartScript TR_m3_HonnsGScript

begin TR_m3_HonnsGScript

; never do such long things in dialog result if possible IMO /abot
short i1
short i2
short i3
short i4
short i5

set i1 to ( GetJournalIndex "TR_m3_Vh_Honns1" )
set i2 to ( GetJournalIndex "TR_m3_Vh_Honns2" )
set i3 to ( GetJournalIndex "TR_m3_Vh_Honns3" )
set i4 to ( GetJournalIndex "TR_m3_Vh_Honns4" )

set i5 to ( i1 + i2 + i3 + i4 )
if ( i5 >= 200 )
    Choice "I think it's obvious who cheated you. Are you satisfied with these names?" 20
endif

if ( i1 >= 10 )
    if ( i1 < 100 )
        Choice "Dolyn Volor hasn't given you a fair deal." 21
    endif
endif

if ( i2 >= 10 )
    if ( i2 < 100 )
        Choice "Drathas Llothin hasn't given you a fair deal." 22
    endif
endif

if ( i3 >= 10 )
    if ( i3 < 100 )
        Choice "Ienasa Llothil hasn't given you a fair deal." 23
    endif
endif

if ( i4 >= 10 )
    if ( i4 < 100 )
        Choice "Onvos Dovyn hasn't given you a fair deal." 24
    endif
endif

Choice "I name you liar. These merchants didn't cheat you, all are innocent." 25 
Choice "Not yet." 26

StopScript TR_m3_HonnsGScript

end

I'd also rename the local script TR_m2_q_A8_5_Shamirr to e.g. TR_m2_q_A8_5_ShamirrSc, Greatness7 has demonstrated you can use set localscriptname.localvarname syntax, so using same identifier for object local script name and object identifier is even more ambiguous with objectidentifier.localvarname syntax

[EDIT]fixed wrong NPC

I'm pretty sure that's an

Atrayonis's picture

I'm pretty sure that's an ancient nvidia card bug that really should have been fixed since the naughties.

Nevertheless, set the fog in this cell to 0.1.