Jump to content

KatsAwful

Supporter
  • Posts

    174
  • Joined

  • Last visited

Everything posted by KatsAwful

  1. That guide hasn't been edited at all since 2014 and doesn't seem like it was meaningfully updated since like 2010. The cleaning instructions are excessively out of date, all you need to do is to use the TES4EditQAC.exe executable and clean each plugin one at a time. This process is smart and will not break any edits. You physically can't clean cleaned plugins but also you should always clean plugins if LOOT says its dirty. New dirty edits are found all the time as the dirty edit finder algorithm gets better. So yes, that guide shouldn't be trusted at all. Here is the output from cleaning UOP: As you can see, it is dirty and should be cleaned. There is never a reason to specifically not clean plugins. I tried cleaning SM Plugin Refurbished (the updated one) and there was nothing to clean
  2. There isn't a debate. There's no reason for dirty plugins. The official plugins are dirty cause its Bethesda and expecting that to be the intention and not just Bethesda having buggy games is kinda ridiculous. It's not 50/50, a large majority of mod authors are for cleaning the official DLC and all dirty plugins
  3. Any Oblivion problems on W10 have been ironed out years ago. Only major issue still is OSR not working properly, but Oblivion Reloaded now has a heap manager and Oblivion Display Tweaks has a tick fix so OSR is kind of redundant As for my experience, I use Linux and Oblivion always works just fine. Crashing is pretty much normal and expected like on Windows without any fixes
  4. Just move the object to the player before running it. Reference.MoveTo should work. You can use offsets if you need it
  5. You should ALWAYS clean mods that are dirty. There are NEVER any situation where ITMs or UDRs are acceptable. If you think they are you made a bad mod. Please clean the official DLC plugins. This is not up for debate. If you want an object that has the same value as its master, you don't need to include the object again. If you modify it at all it is no longer ITM
  6. A while loop will process within a frame, not line by line. As long as its relatively short and functionally quick (which it sounds like it will be) you will not experience any meaningful script processing time The best way to get the rank of all skills is to just process each one. You could store it in a quest variable or a variable that saves to the save file (arrays and strings) set index to 12 while index <= 32 ; skill values are 12 through 32 if PlayerREF.GetActorValueC index >= 100 let skills += 1 ; increment some sort of flag endif let index += 1 loop ; this will process within 1 frame, but its not many lines so its fine if skills == 21 ; all skills are 100 let quest.string == "100" ; strings are stored to your save file else ; not all are good let quest.string == "0" ; quest scripts can be called without the quest script running endif This is something I whipped together, should get you most of the way there. The game counts "master" skills by checking your base actor value. The one issue with GetActorValueC is that it checks the current AV, so you can technically cheat and just spam some spells or something, but seems reasonable to me
  7. Don't use vortex or OBMM. Wrye Bash is the simplest mod manager for Oblivion. It seems like you've already installed mods manually, so I do recommend deleting the game and reinstalling, then using Wrye Bash
  8. You need wr Wrye Bash does not detect oblivion on my PC though and I don't know if there's any way for me to tell wrye bash oblivion folder's location as I didn't get it from Steam so it has a different path You need Wrye Bash 309 or newer. The GamePass version is only supported by Wrye Bash and still has issues. It is not a normal Windows app and will never have a registry entry. You're best off buying the game on another platform
  9. OBMM is and will forever be incompatible with the GamePass version of Oblivion. It has also been dead for 10 years and there's significantly better mod managers out there. The only mod manager that currently works with the Game Pass version is Wrye Bash
  10. Glad to hear. Oblivion strings are very annoying sometimes
  11. You don't need to evaluate anything with let statements, let already does that its why it was created. eval is for vanilla expressions/statements (set and if). What might be happening is a minor compiler error where its f*#@ing up with precedence if it fails without eval. Try enclosing the stringized string, that essentially evaluates the stringize before it gets assigned to your variable I'm confused as to your exact problem with characters, could you write a script showcasing what your mean?
  12. Yeah that post from QQuix is right. Strings aren't a normal part of Oblivion, and you can't directly compare string variables to literals nor can you just use string variables as normal variables like ref or int. In particular, strings are the buggier of the two additional variable types (array and string) from my experience and its best to be as explicit as possible with the use of eval and parentheses (which not only changes precedence but can substitute results of functions as if they were literals if used with let and eval). Also, make sure you read how sv_compare works. 0 means the strings are equal You should also be able to subscript string variables (string_var[0] for the first character), but this will still require using eval in comparisons. Could also use ForEach loops on strings If you absolutely need ease of use, you can use the underscore prefix block mode to evaluate expressions as literally as possible, see the OBSE Expressions part in the xOBSE docs (llde updated them a bit from the old v.21 version) The following is two ways to get the characters of strings: scn StringsTest string_var string string_var substring string_var item int iter int size Begin OnActivate ; ForEach loop let string := "ForEach" PrintC "String is: %z", string set iter to 0 ForEach item <- string PrintC "Character %g is: %z", iter, item let iter += 1 Loop ; SubScripting let string := "SubScript" PrintC "String is: %z", string let size := sv_length string set iter to 0 While (iter < size) let substring := string[iter] PrintC "Character %g is: %z", iter, substring let iter += 1 Loop End
  13. It's compatible, but afaik you won't get all NAO benefits like you would with All Natural
  14. OSR is not the cause, it is also a different problem from this. The original problem had to do with a shader getting f*#@ed up. The yellow meshes problem is a vanilla bug and cannot be truly fixed. OSR is simply a mod that makes it worse. I have experienced it on console
  15. Can't you set a flag while in the book menumode (1026) then detect that flag when you aren't there to set the stage?
  16. https://github.com/llde/xOBSE/releases/tag/22.0 Global: - Added an AppVeyor CI. Build will be pushed from AppVeyor instead of using a local build. - This should also fix the slow start some people are experiencing, while keeping the CRT statically linkedFix/Changes: - GetByOpcode was using a linear search (O(n)) for know opcode, reimplement to constant time (O(1)) - Add a check for parentCell in GetParentCellOwner command. Should fix a CTD when the parentCell is NULL - Rewrote InventoryReference and ContainerForLoop code. Should fix some memory leaks and items that weren't removed properly from the containers. Also fix a crash when iteratating the inventory in menumode while having a soultrap event handled -Fix an issue with GetActiveMenuElement where it wasn't working on keyboard selected elementsAPI: - Decode more arguments for RemoveItem - Add 10 arguments ThisStdCall - ExtraContainerChanges use tList for objList field, instead of rolling specialized version of a linked list everytime - General fixes to tList and its Iterator class - Add Tile::GetContainingMenu member function, thanks @DavidJCobb - Some bits of PlayerCharacter from @EchoEclipsePluginAPI: - Add a TasksInterface, to enqueue functions to operate on the OBSE mainloop.
  17. For the normal CS script window the script type is at the top in the middle. For CSE its in the bottom right corner
  18. You don't need to do anything with the quest, just needs to exist basically. Most mods have empty quests whose sole purpose is to run a quest script
  19. GameMode is the right block mode, but for this kind of script it should be used in a quest script so you can manage how it runs. Make a quest and attach your script to it, making sure the quest starts automatically. Then in your script, define and set fQuestDelayTime (its a float) to a reasonably low value like 0.01
  20. Scripts in Oblivion have to be attached to something in order to actually run. Quest scripts are attached to a quest and are run globally while the quest is active. Object scripts are attached to an object (like an item) and are run based on their block mode. If you're doing something globally its best to use quest scripts, as you can adjust the speed they are processed with fQuestDelayTime. Object scripts with something like "GameMode" will run instantaneously all the time and cannot be stopped and they also need to be on an object that will be loaded when you want to do stuff
  21. https://cs.elderscrolls.com/index.php?title=Category:Animation_Functions One of them in here should help
  22. I believe it uses the same method as Wrye Bash for archive invalidation, aka BSA redirection SkyBSA is still the way to go however, it just works
  23. Not only does FCOM suck in the modern day, the superpack directly defies permissions and is against the Nexus rules
×
×
  • Create New...