[BETA] Oblivion Script Extender (OBSE) 0018

Post » Fri May 27, 2011 4:37 am

Conscribe is a mod available on TESNexus. It's an OBSE plugin (install instructions included and very easy) and it writes a file called "conscribe.log" in your Oblivion directory that records everything that is printed on the Console during a play session.

The Obse log files are located in the Oblivion directory as well, I believe. They are several small text files that all start with "obse" and contain error messages and the like. They should open okay with Notepad, but you may have to tell Windows what you want to open them with.
User avatar
Jodie Bardgett
 
Posts: 3491
Joined: Sat Jul 29, 2006 9:38 pm

Post » Fri May 27, 2011 4:25 am

Found this in obse.txt

Thing is I didn't realize nGCD required v18 obse so I was using v17, than i switched to v18 on my current character. So does this mean if I make a new character everything will be ok?

Invalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000059E Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005E6 Command:  (0x6F4D)Error in script 5c00db4eOperator := failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000394 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000003AB Command:  (0x003F)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000527 Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000059E Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005E6 Command:  (0x6F4D)Error in script 5c00db4eOperator := failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000394 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000003AB Command:  (0x003F)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000527 Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000059E Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005E6 Command:  (0x6F4D)Error in script 5c00db4eOperator := failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000394 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000003AB Command:  (0x003F)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000527 Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000059E Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005E6 Command:  (0x6F4D)Error in script 5c00db4eOperator := failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000394 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000003AB Command:  (0x003F)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000527 Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000059E Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005E6 Command:  (0x6F4D)Error in script 5c00db4eOperator := failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000394 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000003AB Command:  (0x003F)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000527 Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000059E Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005E6 Command:  (0x6F4D)Error in script 5c00db4eOperator := failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000394 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000003AB Command:  (0x003F)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000527 Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000059E Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005E6 Command:  (0x6F4D)Error in script 5c00db4eOperator := failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000394 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000003AB Command:  (0x003F)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000512 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x00000527 Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000058C Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x0000059E Command:  (0x7361)Error in script 5c00db4eInvalid array access - the array was not initialized.	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eOperator [ failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005D6 Command: Let (0x1765)Error in script 5c00db4eAn expression failed to evaluate to a valid result	File: nGCD.esp Offset: 0x000005E6 Command:  (0x6F4D)OBSE: deinitialize

User avatar
Andy durkan
 
Posts: 3459
Joined: Fri Aug 03, 2007 3:05 pm

Post » Fri May 27, 2011 12:53 pm

Thing is I didn't realize nGCD required v18 obse so I was using v17, than i switched to v18 on my current character. So does this mean if I make a new character everything will be ok?

You should probably ask in the nGCD thread. Probably, the character was started with v17 and the switchover to v18 is screwing up some array data (or it's just blank because it never really got started) so everything is dropping to the minimums. There may be a way to re-initialize with your current character. Perhaps just loading your game without nGCD running, then saving, then adding nGCD again and loading the clean save will set everything right.

If the character is new, you could start over again as well.
User avatar
Kerri Lee
 
Posts: 3404
Joined: Sun Feb 25, 2007 9:37 pm

Post » Fri May 27, 2011 6:59 am

a new bug:

error with ctd:
Problemsignatur:  Problemereignisname:	APPCRASH  Anwendungsname:	Oblivion.exe  Anwendungsversion:	1.2.0.416  Anwendungszeitstempel:	462392c7  Fehlermodulname:	obse_1_2_416.dll  Fehlermodulversion:	0.0.18.4  Fehlermodulzeitstempel:	4ac110ce  Ausnahmecode:	40000015  Ausnahmeoffset:	0002049a  Betriebsystemversion:	6.0.6002.2.2.0.256.1  Gebietsschema-ID:	1031  Zusatzinformation 1:	761f  Zusatzinformation 2:	feb90d5378825ec264c9d583e930fbcf  Zusatzinformation 3:	3977  Zusatzinformation 4:	56b0e570bd48198b9448224b85ca1dbd


and obse log
OBSE: initialize (version = 18.4 010201A0)oblivion root = P:\Bethesda Softworks\Oblivion\plugin directory = P:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\checking plugin P:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\\Elys_USV.dllplugin P:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\\Elys_USV.dll (00000001 Elys_USV 0000005D) loaded correctlychecking plugin P:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\\FastExit2.dllplugin P:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\\FastExit2.dll (00000001 FastExit 00000002) loaded correctlychecking plugin P:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\\OBSE_Elys_Pluggy_HUD.dllSetOpcodeBase 00002330RegisterCommand GetEsp (2330)RegisterCommand CreateArray (2331)RegisterCommand DestroyArray (2332)RegisterCommand ArraySize (2333)RegisterCommand ArrayCount (2334)RegisterCommand SetInArray (2335)RegisterCommand SetFloatInArray (2336)RegisterCommand GetInArray (2337)RegisterCommand GetTypeInArray (2338)RegisterCommand RemInArray (2339)RegisterCommand FindInArray (233A)RegisterCommand FindFloatInArray (233B)RegisterCommand SetRefInArray (233C)RegisterCommand FindRefInArray (233D)RegisterCommand CopyArray (233E)RegisterCommand ArrayEsp (233F)RegisterCommand ArrayProtect (2340)RegisterCommand FirstInArray (2341)RegisterCommand DestroyAllArrays (2342)RegisterCommand PackArray (2343)RegisterCommand CreateString (2344)RegisterCommand DestroyString (2345)RegisterCommand SetString (2346)RegisterCommand StringEsp (2347)RegisterCommand StringProtect (2348)RegisterCommand StringLen (2349)RegisterCommand DestroyAllStrings (234A)RegisterCommand StringSetName (234B)RegisterCommand StringGetName (234C)RegisterCommand StringMsg (234D)RegisterCommand StringCat (234E)RegisterCommand UserFileExists (234F)SetOpcodeBase 00002378RegisterCommand RenFile (2378)RegisterCommand DelFile (2379)RegisterCommand StringToTxtFile (237A)RegisterCommand CopyString (237B)RegisterCommand IntToString (237C)RegisterCommand FloatToString (237D)RegisterCommand RefToString (237E)RegisterCommand IniReadInt (237F)RegisterCommand IniReadFloat (2380)RegisterCommand IniReadRef (2381)RegisterCommand IniWriteInt (2382)RegisterCommand IniWriteFloat (2383)RegisterCommand IniWriteRef (2384)RegisterCommand IniKeyExists (2385)RegisterCommand IniDelKey (2386)RegisterCommand EspToString (2387)RegisterCommand IniReadString (2388)RegisterCommand IniWriteString (2389)RegisterCommand ModRefEsp (238A)RegisterCommand GetRefEsp (238B)RegisterCommand StringToRef (238C)RegisterCommand StringCmp (238D)RegisterCommand FileToString (238E)RegisterCommand StringPos (238F)RegisterCommand StringToInt (2390)RegisterCommand StringToFloat (2391)RegisterCommand ArrayCmp (2392)RegisterCommand StringMsgBox (2393)RegisterCommand StringIns (2394)RegisterCommand StringRep (2395)RegisterCommand IntToHex (2396)RegisterCommand LC (2397)SetOpcodeBase 000023B0RegisterCommand FromTSFC (23B0)RegisterCommand ToTSFC (23B1)RegisterCommand StrLC (23B2)RegisterCommand CreateEspBook (23B3)RegisterCommand FmtString (23B4)RegisterCommand FixName (23B5)RegisterCommand ResetName (23B6)RegisterCommand HasFixedName (23B7)RegisterCommand csc (23B8)RegisterCommand StringSetNameEx (23B9)RegisterCommand StringGetNameEx (23BA)RegisterCommand FixNameEx (23BB)RegisterCommand IniGetNthSection (23BC)RegisterCommand IniSectionsCount (23BD)RegisterCommand RunBatString (23BE)RegisterCommand Halt (23BF)RegisterCommand RefToLong (23C0)RegisterCommand LongToRef (23C1)RegisterCommand FindFirstFile (23C2)RegisterCommand FindNextFile (23C3)RegisterCommand GetFileSize (23C4)RegisterCommand NewHudS (23C5)RegisterCommand DelHudS (23C6)RegisterCommand ScreenInfo (23C7)RegisterCommand HudS_X (23C8)RegisterCommand HudS_SclX (23C9)RegisterCommand HudS_Show (23CA)RegisterCommand HudS_Opac (23CB)RegisterCommand HudS_Align (23CC)RegisterCommand AutoSclHudS (23CD)RegisterCommand HudS_Y (23CE)RegisterCommand HudSEsp (23CF)RegisterCommand HudSProtect (23D0)RegisterCommand HudsInfo (23D1)RegisterCommand DelAllHudSs (23D2)RegisterCommand HudS_L (23D3)RegisterCommand rcsc (23D4)RegisterCommand HudS_SclY (23D5)RegisterCommand NewHudT (23D6)RegisterCommand DelHudT (23D7)RegisterCommand HudT_X (23D8)RegisterCommand HudT_SclX (23D9)RegisterCommand HudT_Show (23DA)RegisterCommand HudT_Opac (23DB)RegisterCommand HudT_Align (23DC)RegisterCommand AutoSclHudT (23DD)RegisterCommand HudT_Y (23DE)RegisterCommand HudTEsp (23DF)RegisterCommand HudTProtect (23E0)RegisterCommand HudTInfo (23E1)RegisterCommand DelAllHudTs (23E2)RegisterCommand HudT_L (23E3)RegisterCommand HudT_SclY (23E4)RegisterCommand PauseBox (23E5)RegisterCommand KillMenu (23E6)RegisterCommand SetHudT (23E7)RegisterCommand HudT_Text (23E8)RegisterCommand HudS_Tex (23E9)RegisterCommand SanString (23EA)RegisterCommand IsHUDEnabled (23EB)RegisterCommand IsPluggyDataReset (23EC)SetOpcodeBase 000023FFRegisterCommand PlgySpcl (23FF)plugin P:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\\OBSE_Elys_Pluggy_HUD.dll (00000001 OBSE_Elys_Pluggy 0000007D) loaded correctlychecking plugin P:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\\OBSE_Elys_Uncapper.dllplugin P:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\\OBSE_Elys_Uncapper.dll (00000001 OBSE_Elys_Uncapper 0000005E) loaded correctlychecking plugin P:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\\sr_Oblivion_Stutter_Remover.dllplugin P:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\\sr_Oblivion_Stutter_Remover.dll (00000001 sr_Oblivion_Stutter_Remover 00000003) loaded correctlypatchedDoLoadGameHook: C:\Users\Speedy_Gonzales\Documents\My Games\Oblivion\Saves\Streamsave_6.essloading from C:\Users\Speedy_Gonzales\Documents\My Games\Oblivion\Saves\Streamsave_6.obseLoading stringsLoading array variablesDone loading array variables

User avatar
Kim Bradley
 
Posts: 3427
Joined: Sat Aug 18, 2007 6:00 am

Post » Fri May 27, 2011 11:18 am

Since OBSE hooks into the CS's script editor window to allow font selection... would it also be possible to disable the "you must close all open dialog boxes" message that comes up if you try to save the plugin while the script editor is open?

The CS already allows it in certain cases -- a script editor opened via the "..." button in the details window for a base object (such as an activator) is allowed to stay open when saving -- and it doesn't seem to cause any problems. That trick can be used to work around the problem, but it's awkward.
User avatar
FABIAN RUIZ
 
Posts: 3495
Joined: Mon Oct 15, 2007 11:13 am

Post » Fri May 27, 2011 3:42 am

There's an ConstructionSet.ini setting for that. In [General], change bAllowUnsafeSave to 1.
User avatar
Kevan Olson
 
Posts: 3402
Joined: Tue Oct 16, 2007 1:09 am

Post » Fri May 27, 2011 11:56 am

In [General], change bAllowUnsafeSave to 1.

Works perfectly. Thanks. :)

On an unrelated note, one other minor feature request: a function to check whether the system's mouse buttons are swapped (with the checkbox in the Windows control panel) so that scripts that want to look for a right-click (OnKeyDown 257) can look for a left-click (OnKeyDown 256) instead in that case. (The game correctly swaps the buttons for everything in the menus and gamemode, but DX scancodes seem to be unaffected.)
User avatar
Alyna
 
Posts: 3412
Joined: Wed Aug 30, 2006 4:54 am

Post » Fri May 27, 2011 7:55 am

hey guys!
was wondering if anyone can shed a light on what these errors mean:
thanks!
-kuertee

battle fatigue and injuries:
notice that the error is on null command (0x0000) that points to the last EndIf before the End GameMode:
any ideas on why its throwing an error there?
by the way, it seems that all the code before that error works: e.g. numbers are correct for injuries, the debug PrintCs work, etc...

also notice that the error message is different to the current message: "...File: kuerteeBattleFatigueAndInjuries.esp Offset: 0x00003F47 Command: (0x0000)..."
i.e. instead of a blank line.
does this suggest a different and previous version of obse 18?
1011   3B56      ElseIf kRIQuest.functionMode == 255 && debug255 == 01012   3B78         Let debug255 := 11013   3B88         if (kRIQuest.debug == 1 && thisRef == Player) || (kRIQuest.debug == 2 && thisRef != Player) || (kRIQuest.debug == 3 && thisRef == kRIQuest.debugRef) || kRIQuest.debug == 41014   3BF6            PrintC "kRI: %n %i ------------------------------" thisRef thisRef1015   3C2D            PrintC "bf %0.2f lastBF %0.2f healthDrain %0.2f lastHealthDrain %0.2f" battleFatigue lastBattleFatigue healthDrain lastHealthDrain1016   3C7E            PrintC "arm %0.2f agi %0.2f lastAgi %0.2f" armInjuries agi lastAgi1017   3CB0            PrintC "body %0.2f end %0.2f lastEnd %0.2f" bodyInjuries end lastEnd1018   3CE3            PrintC "leg %0.2f spd %0.2f lastSpd %0.2f" legInjuries spd lastSpd1019   3D15            PrintC "head %0.2f int %0.2f per %0.2f wil %0.2f lastInt %0.2f lastPer %0.2f lastWil %0.2f" headInjuries int per wil lastInt lastPer lastWil1020   3D84            PrintC "str %0.2f lastStr %0.2f" str lastStr1021   3DA9            PrintC "relief: arm %0.2f agi %0.2f lastAgi %0.2f" armInjuriesRelief agiR lastAgiR1022   3DE3            PrintC "relief: body %0.2f end %0.2f lastEnd %0.2f" bodyInjuriesRelief endR lastEndR1023   3E1E            PrintC "relief: leg %0.2f spd %0.2f lastSpd %0.2f" legInjuriesRelief spdR lastSpdR1024   3E58            PrintC "relief: head %0.2f int %0.2f per %0.2f wil %0.2f lastInt %0.2f lastPer %0.2f lastWil %0.2f" headInjuriesRelief intR perR wilR lastIntR lastPerR lastWilR1025   3ECF            PrintC "relief: str %0.2f lastStr %0.2f" strR lastStrR1026   3EFC            PrintC "------------------------------"1027   3F22         EndIf1028   3F26      ElseIf kRIQuest.functionMode == 01029   3F3A         Let debug255 := 01030   3F4A      EndIf1031   3F4E   end




horse commands:
no line error reported.
278    0E74         If ok && actorRef.GetIsCreature == 0279    0E91            Let tempArray := ar_Null280    0EA8            Let tempArray := ar_Construct Array281    0EC6            Let tempArray [0] := "Dremora"282    0EE1            Let tempArray [1] := "Lycan"283    0EFA            Let tempArray [2] := "MMMGoldenSaint"284    0F1C            Let tempArray [3] := "MMMZombieArgonian"


is it possible that array variables become corrupt when loading a saved-game?
can they become corrupt if:
1. load-order is changed between games?
2. the author (i.e. I) change the order the variables were declared?

thanks, guys!
User avatar
Siidney
 
Posts: 3378
Joined: Fri Mar 23, 2007 11:54 pm

Post » Fri May 27, 2011 1:47 pm

. . .
is it possible that array variables become corrupt when loading a saved-game?
can they become corrupt if:
1. load-order is changed between games?
2. the author (i.e. I) change the order the variables were declared?

thanks, guys!

I think variables are stored adjacent to each other and are accessed by an index. Pretty much like an Array, I guess.

Therefore, if you reorder, the variables in a script, you have to load a clean save, or, at least, a saved game where that particular script did not exist. Otherwise the load process will load the variables in the order they were when the game was saved.

I also found recently (the hard way) something that becomes obvious after-the-fact: if you reorder the variables in a script, you have to recompile all scripts that refer to those variables (like in a quest script used to store pseudo-global variables)

--------------------

And a new bug (?) report: a weird one from an old function:

Short description: OnKeyDown does not detect certain keys under certain conditions:

Some of these conditions:
If I keep pressing alt+N, OnKeyDown does not detect the H key (G is detected normally)
If I keep pressing alt+B, OnKeyDown does not detect the G key (H is detected normally)
Backslash, spacebar, arrow keys, instead of Alt also yields the same results

But Ctrl+N or Shift+N do not interfere: G key is detected by OnKeyDown

If you guys need more tests of sample code, let me know
User avatar
Mark
 
Posts: 3341
Joined: Wed May 23, 2007 11:59 am

Post » Fri May 27, 2011 9:34 am

is it possible that array variables become corrupt when loading a saved-game?
can they become corrupt if:
1. load-order is changed between games?

As far as I am aware, no.

2. the author (i.e. I) change the order the variables were declared?

Yes, in fact. QQuix's got it right.
User avatar
Milad Hajipour
 
Posts: 3482
Joined: Tue May 29, 2007 3:01 am

Post » Fri May 27, 2011 7:03 am

2. the author (i.e. I) change the order the variables were declared?

From what I remember, if you change the names of variables (which you'd do by changing the order) Oblivion will throw a 'Save Game is corrupted' error when you try to load a save game made with the unaltered version.
User avatar
Marion Geneste
 
Posts: 3566
Joined: Fri Mar 30, 2007 9:21 pm

Post » Fri May 27, 2011 12:37 pm

Wow! I just discovered GetWorldSpaceParentWorldSpace was already added, I didn't expect that one until v19. :D
User avatar
Laura Shipley
 
Posts: 3564
Joined: Thu Oct 26, 2006 4:47 am

Post » Fri May 27, 2011 10:31 am

I think variables are stored adjacent to each other and are accessed by an index. Pretty much like an Array, I guess....Therefore, if you reorder, the variables in a script, you have to load a clean save, or, at least, a saved game where that particular script did not exist. Otherwise the load process will load the variables in the order they were when the game was saved....I also found recently (the hard way) something that becomes obvious after-the-fact: if you reorder the variables in a script, you have to recompile all scripts that refer to those variables (like in a quest script used to store pseudo-global variables)
As far as I am aware, no....Yes, in fact. QQuix's got it right.
From what I remember, if you change the names of variables (which you'd do by changing the order) Oblivion will throw a 'Save Game is corrupted' error when you try to load a save game made with the unaltered version.
thanks for the reply guys!
one more question: would the array variables for one mod be confused for another? i.e. if the user changes his load-order?
User avatar
Mariana
 
Posts: 3426
Joined: Mon Jun 12, 2006 9:39 pm

Post » Fri May 27, 2011 5:55 am

thanks for the reply guys!
one more question: would the array variables for one mod be confused for another? i.e. if the user changes his load-order?

Not on purpose - the array IDs given to each array are independent of mod order, so you can have array 1 from your mod, array 2 from another mod, and array 3 from your mod again. There is a system in place to automatically remove unnecessary arrays - such as when your mod is removed. This shouldn't be a problem (and has been working since v17), but you can quickly check it by moving your mod in the load order and seeing if the arrays are still there.
User avatar
Tinkerbells
 
Posts: 3432
Joined: Sat Jun 24, 2006 10:22 pm

Post » Fri May 27, 2011 9:09 am

Quick Question, does the RunOnRef flag for RunScriptLine work with User Functions in the same fashion as with normal objects/references?
User avatar
NEGRO
 
Posts: 3398
Joined: Sat Sep 01, 2007 12:14 am

Post » Fri May 27, 2011 5:24 pm

Quick Question, does the RunOnRef flag for RunScriptLine work with User Functions in the same fashion as with normal objects/references?

From what I can see in the RunScriptLine code - I'd say yes, it'll just assume the temporary object used for the User Function (of course, I'm not 100% sure the User Function uses a temporary object, but the technique is used elsewhere, User Functions are Object scripts so they can be placed on a temporary object, and it would take a bit longer to look through the User Function code ;P)
User avatar
bonita mathews
 
Posts: 3405
Joined: Sun Aug 06, 2006 5:04 am

Post » Fri May 27, 2011 8:15 am

I am not familiar with RunScriptLine, but user functions run on references by using "Reference.Call UserFunctionName [args]".
Everything works like if it were an object script, e.g. GetSelf, functions without explicit references (MoveTo MyXMarker).
Very usefull. May replace tokens for single frame actions.

As far as I could test it, it does not do a thing if directly attached to an object in CS.
The engine does not recognize a "Begin Function" block, I guess.
User avatar
Farrah Lee
 
Posts: 3488
Joined: Fri Aug 17, 2007 10:32 pm

Post » Fri May 27, 2011 1:34 am

As far as I could test it, it does not do a thing if directly attached to an object in CS.
The engine does not recognize a "Begin Function" block, I guess.

No, it does. Awhile back I tried attaching some function scripts to persistent activators in a remote cell (not to run them that way, just for use with GetFirstRefInCell/GetNextRef/GetScript so that other mods could "hook in" by adding scripted refs to the cell). Immediately after loading the game I'd get error messages in the console from those scripts running, once each, as plain object scripts (i.e. without the parameters they expected, hence the errors).
User avatar
james reed
 
Posts: 3371
Joined: Tue Sep 18, 2007 12:18 am

Post » Fri May 27, 2011 4:12 am

You are right, of course. Somehow, I missed it the first time around.

From a quick, additional test, it seems the function block works as a gamemode block.
All variables start zeroed or uninitialized, of course. Including argument variables.
I did not get any errors until I used functions that depended on them being initialized (like trying to access array elements without checking first).

I wonder if there is any good use for this.
User avatar
Mr. Ray
 
Posts: 3459
Joined: Sun Jul 29, 2007 8:08 am

Post » Fri May 27, 2011 10:18 am

I wonder if there is any good use for this.

I wouldn't recommend relying on it. The OBSE docs say "function scripts should never be attached to any object", and when I http://www.gamesas.com/bgsforums/index.php?showtopic=1038356&view=findpost&p=15089593 to Scruggsy, http://www.gamesas.com/bgsforums/index.php?showtopic=1038356&view=findpost&p=15090805 "the documentation is serious when it says this".
User avatar
cassy
 
Posts: 3368
Joined: Mon Mar 05, 2007 12:57 am

Post » Fri May 27, 2011 5:25 am

I wouldn't recommend relying on it. The OBSE docs say "function scripts should never be attached to any object", and when I http://www.gamesas.com/bgsforums/index.php?showtopic=1038356&view=findpost&p=15089593 to Scruggsy, http://www.gamesas.com/bgsforums/index.php?showtopic=1038356&view=findpost&p=15090805 "the documentation is serious when it says this".

At a wild guess - you tried this before Beta 5, and it won't work with Beta 5...
User avatar
remi lasisi
 
Posts: 3307
Joined: Sun Jul 02, 2006 2:26 pm

Post » Fri May 27, 2011 1:44 pm

Just wondered...when are you just going to make the next one OBSE 19?
User avatar
glot
 
Posts: 3297
Joined: Mon Jul 17, 2006 1:41 pm

Post » Fri May 27, 2011 3:07 am

At the earliest, after FOSE v2, I believe.
User avatar
Dezzeh
 
Posts: 3414
Joined: Sat Jun 16, 2007 2:49 am

Post » Fri May 27, 2011 4:21 am

I got a bit of a strange request, why is it strange? Well mostly because I'm not sure if it'll fall under OBSE or if it's even something that can be detected. What I'm interested in is a function that returns true as long as the screen is fading from black to normal after certain transitions (fast travel, move between worldspaces, etc). Usually the screen is black for about 1 second before it goes back to normal (atleast it is for me).

P.S. Like I said, a bit of a strange request. And if someone has a better way to detect this short black flash please let me know. At the moment I'm just using a timer and some code to predict when it may occur, it isn't very accurate although. :shrug:

-kyoma
User avatar
Marilú
 
Posts: 3449
Joined: Sat Oct 07, 2006 7:17 am

Post » Fri May 27, 2011 8:49 am

Minor bug: the HasName command returns false for map marker references, even though GetName and "%n" work properly for them.
User avatar
Emma louise Wendelk
 
Posts: 3385
Joined: Sat Dec 09, 2006 9:31 pm

PreviousNext

Return to IV - Oblivion