Jump to content

Real-Time Interactions + Crime & Guard Overhaul


nicktheduke

Recommended Posts

Did anyone ever figure out a fix for the "too few args" error in console when using latest version RTI? Really want to use CGO mod which requires it but afraid of error display I get.

 

Other users have had same problem:

 

http://forums.nexusmods.com/index.php?/topic/414258-modders-resource-real-time-interactions/page-2&do=findComment&comment=4465030

 

http://forums.nexusmods.com/index.php?/topic/414258-modders-resource-real-time-interactions/page-3&do=findComment&comment=5448626

 

I get the error through a variation of load order. Seems to be RTI itself. Can't go to Reneer's Guard Overhaul so hopefully this can be fixed.

 

Please help!

Link to comment
Share on other sites

You only need to post your threads once. The ones who actually read the Oblivion section of the forums will always see your posts, even if you only had one thread. This is not a busy place, and making two threads for every matter might look a bit odd. One is enough here. :thumbsup:

 

As for the issue, sorry, I have never used either. Sounds interesting, though, the mods. I do remember getting the warnings about too few args with a project of mine, but has been a while, and I cannot remember exactly when it was. I think it might have been related to format strings or something similar, but the compiler should usually point those ones out when writing a script?

 

Edit: As in, the issue is probably somewhere in the scripts, where a function, format string or something else that takes a specific number of parameters when called, is actually given too few, and so the error is printed. If that helps. Maybe someone with more insight into those mods can tell you more.

Edited by Contrathetix
Link to comment
Share on other sites

Yes. Sorry for double post! Have been asking around for a week now about this issue and haven't gotten a response.

 

It's an odd error and even the author didn't seem to figure it out. What's more interesting is that the error ID # changes depending on individual user mod load order. I would love to figure this out.

 

Ok hear me out. Is there a way to modify CGO to work without RTI? Crack open the scripts and edit? Or can someone please make a mod that does what CGO or Reneers Guard Overhaul promise to do without all the bugs? I really need a guard overhaul.

Link to comment
Share on other sites

It can happen that no one answers, when I said this Oblivion section is not too crowded, I really meant that. With the few people who visit this, and the few who actually take the time to write a response, there might not necessarily be anyone who has run into the same issue. Especially if the issue is one not too common: people not getting OBSE working with Steam is common, but people using two not-overly-popular mods and having a specific issue is not. :confused:

 

The error ID, as you say depending on load order, is most likely the script's form ID. Every object has a form ID in 8-digit hexadecimal format that is unique to that specific object. The form ID has two parts: mod (2) + object (6). The mod part depends on load order, the first mod in your load order (Oblivion.esm) gets assigned "00", the second one "01", etc. The object part is the object, and while there probably are some rules that determine it (I do not know them), it stays the same regardless of load order. That means that, if the script has a form ID of "00123456" (just for example) in the mod plugin internally, it can basically have, for example, any of the following, when it appears in-game (in your load order with other plugins): 04123456, B2123456, 8C123456. And you see the pattern. If the last six digits remain the same, it is the same script where the issue is. If they do not, there are multiple scripts where the same issue exists.

 

I have no idea if it can be fixed. You can examine the scripts and see if you can rewrite them to get rid of real-time interactions somehow. Or something. I have a ton of my own projects at the moment, so I cannot help. But if the two mods are integrated too deeply, chances are you would need to rewrite a lot of the scripting. But do check it if you want. It might actually be a fine chance to learn some scripting, in case you want to turn it into a working one in case there are issues. Fixing parameter count errors should not bee too complicated, though, you just need to find where the issue is and see what is causing it. The CS can be downloaded here - the 1.2.404 one - and there is the CSE here to make the CS less buggy.

 

As for a guard overhaul, I have not yet found one I would like. In fact, I have not yet dared to use any. Just trying to keep the bounties small to avoid the hassle. :tongue:

Edited by Contrathetix
Link to comment
Share on other sites

This is an amazing reply. Thank you!

 

I am seeing that there are 2 decent mods that Oblivion lacks. Stealth and Crime/Guards. SDR is good but performance heavy. Hopefully v9 will fix that. But that leaves guards... Luckily my gf knows how to code so I think I might have her take a look LOL

Edited by nicktheduke
Link to comment
Share on other sites

Hi. I found the script in RTI that's giving me an error. It's the initialization script.

 

Maskar said there might be something missing.

 

Could someone take a look and let me know if you see anything?

 

 

 

scn pm0init0
short Restarted
short tsA
short tsB
short tsC
ref trA
string_var StrA
string_var StrB
Begin Function { Restarted }
if pm0.Mode
set pm0.CancelTime to 5
endif
set pm0init.SaveTimer to 0
set pm0.LoadDoorTime to 0
set pm0.SaveNow to 0
RunBatchScript "data\ini\pmRTISettings.ini"
if pm0.UseFKeys
DisableKey 59
DisableKey 60
DisableKey 61
DisableKey 62
endif
if pm0.Debug && pm0.DebugOn == 0
SetDebugMode 1
elseif pm0.Debug == 0 && pm0.DebugOn
SetDebugMode 0
endif
if pm0init.Version < 0.9
AddTopic pm0EngageTopic
set pm0init.Version to 0.9
endif
if pm0init.Version < 1.05
Let pm0.DialogLocked := ar_Construct StringMap
endif
if pm0init.Version < 1.1
Let pm0.NPCNames := ar_Construct StringMap
Call pm0NPCExceptions
endif
if pm0init.Version < 1.13
Let pm0.CityMarkersX := ar_Map 1::28646 2::-187990 3::64939 4::26781 5::121580 6::-64346 7::85246 8::-67819
Let pm0.CityMarkersY := ar_Map 1::63416 2::-31912 3::-36087 4::146988 5::91879 6::95201 7::-139375 8::4606
set pm0GetLocationData.fQuestDelayTime to 1
Let pm0.RegionSpaces := ar_Construct Map
endif
set pm0init.Version to 1.13
Let pm0.Options := ar_Construct array
Let pm0.Engages := ar_Construct array
Let pm0.NonTargOpt := ar_Construct array
Let pm0.DialogEligs := ar_Construct array
Let pm0.Options [0] := ar_Construct StringMap
Let pm0.Options [0] ["FnCheckElig"] := pm0EngagesElig
Let pm0.Options [0] ["FnActivate"] := pm0EngagesActivate
Let pm0.Options [0] ["HUD"] := sv_Construct "pm0.EngagesHUD"
Let pm0.Engages [0] := ar_Construct StringMap
Let pm0.Engages [0] ["FnCheckElig"] := pm0DialogCheckElig
Let pm0.Engages [0] ["FnActivate"] := pm0DialogActivate
Let pm0.Engages [0] ["FnKeyA"] := pm0DialogKeyA
Let pm0.Engages [0] ["FnKeyB"] := pm0DialogKeyB
Let pm0.Engages [0] ["FnKeyX"] := pm0DialogKeyX
Let pm0.Engages [0] ["HUD"] := sv_Construct "pm0.DialogHUD"
Let pm0.EngagesHUD := ar_Construct Array
Let pm0.EngagesHUD [0] := ar_Construct StringMap
Let pm0.EngagesHUD [0] ["Text"] := sv_Construct "[Engage]"
Let pm0.DialogHUD := ar_Construct Array
Let pm0.DialogHUD [0] := ar_Construct StringMap
Let pm0.DialogHUD [1] := ar_Construct StringMap
Let pm0.DialogHUD [2] := ar_Construct StringMap
Let pm0.DialogHUD [3] := ar_Construct StringMap
Let pm0.DialogHUD [0] ["Text"] := " "
Let pm0.DialogHUD [1] ["Text"] := " "
Let pm0.DialogHUD [2] ["Text"] := " "
Let pm0.DialogHUD [3] ["Text"] := " "
set pm0.OptionsSize to 1
set pm0.EngagesSize to 1
set pm0.NonTargOptSize to 0
set pm0.DialogEligsSize to 0
Let pm0.CitiesInfo := ar_Construct Map
Let pm0init.InitFns := ar_Construct Array
Let pm0.CellChangeFns := ar_Construct Array
Call pm0initX
RunBatchScript "pmRealTimeInteractions.ini"
set tsA to 0
set tsB to GetNumLoadedMods
while tsA < tsB
set pm0init.Index to tsA
Let StrA := GetNthModName tsA
Let tsC := sv_Find ".esp" StrA
if tsC > -1
sv_Erase StrA tsC
set StrB to sv_Construct "data\ini\RTIPlugins\%z.ini" StrA
if eval ( FileExists $StrB ) && eval ( StrB != "pmRealTimeInteractions.ini" )
set pm0init.FileName to sv_Construct "%z.esp" StrA
RunBatchScript $StrB
sv_Destruct pm0init.FileName
endif
endif
Let tsA += 1
loop
sv_Destruct StrA
sv_Destruct StrB
Let tsA := ar_Size pm0init.InitFns
set tsB to 0
if tsA > -1
while tsB < tsA
Let trA := pm0init.InitFns [tsB]
Call trA
Let tsB += 1
loop
endif
if Restarted
mqinsertXML "pmRealTimeInteractions\pmRTIrect.xml" 1004
mqinsertXML "pmRealTimeInteractions\pmRTItextA.xml|pm0HUDrect" 1004
SetMenuFloatValue "pm0HUDrect\pm0HUDtextA\_x" 1004 pm0.DispositionX
SetMenuFloatValue "pm0HUDrect\pm0HUDtextA\_y" 1004 pm0.DispositionY
endif
set pm0.fQuestDelayTime to 0.1
PrintC "RTI initialised (%.2f)" pm0init.Version
set pm0.Initialised to 1
End
;<CSEBlock>
;<CSECaretPos> 254 </CSECaretPos>
;</CSEBlock>

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...