Jump to content

Surilindur

Premium Member
  • Posts

    1571
  • Joined

  • Last visited

Nexus Mods Profile

About Surilindur

Profile Fields

  • Country
    None
  • Favourite Game
    Oblivion

Recent Profile Visitors

9970 profile views

Surilindur's Achievements

Mentor

Mentor (12/14)

  • Dedicated Rare
  • First Post
  • Collaborator Rare
  • Posting Machine Rare
  • Week One Done

Recent Badges

3

Reputation

  1. The wiki makes it sound like you could use an alias in a quest, add the package to that alias entry, and fill the alias with the character reference that needs the package (the screenshot titled "Alias Package List" on the right side): https://ck.uesp.net/wiki/Package_Stack If I remember correctly, I was able to override the package for an actor that way a few years ago, but it required making sure that the quest (or the alias?) had a high enough priority, so that the package applied via the alias also had a higher priority than all other packages that may have been applied through other aliases. The upside was that no edits were needed to the actor, and the alias could be assigned somewhat freely. There does not seem to be an AddScriptPackage function anymore, but there is EvaluatePackage to make sure the actor is running the appropriate package if it does not update immediately. That one sounds really buggy, though: https://ck.uesp.net/wiki/EvaluatePackage_-_Actor Hopefully that helps a bit! Maybe someone else knows of a better way.
  2. It sounds like the script might be attached to a quest? Quests, by default, run their GameMode block every 5 seconds (unlike object scripts which run it every frame if I remember correctly). You can change it by declaring the fQuestDelayTime variable in your quest script and setting it to a lower value. More information here: https://cs.uesp.net/wiki/FQuestDelayTime scriptname ExampleQuestScript float fQuestDelayTime begin _GameMode if (fQuestDelayTime != 1) let fQuestDelayTime := 1 ; run script once a second after this endif if (IsKeyPressed3 56) ; or another key code Message "Key pressed!" endif end Hopefully that helps a bit!
  3. Have you tried moving the .esp file for Maskar's overhaul below the Bashed Patch before rebuilding it? Edit: or disabling the .esp for Maskar's before rebuilding the patch. I have no idea about compatibility with other overhauls, though, never tried combining them. Maybe the readme for Maskar's has some info?
  4. It looks like they might have swapped the wiki software completely from MediaWiki to XWiki but added a style that looks like the old one. I think it used MediaWiki before. It might also explain why everything seems mostly broken. The good news is that the wiki seems to now be hosted together with the wikis for every other game, including the new ones, so they are actively keeping the wiki alive instead of silently deleting it. The settings category page is super broken, though, but there seems to be a tag of some kind with some associated pages: https://wiki.bethesda.net/wiki/constructionset/Main/Tags?do=viewTag&tag=Settings Definitely not as helpful, but better than nothing, I guess. The UESP one seems better, though.
  5. Could it refer to the class names? Those ones are the closest to 'occupation' I can think of, and there might actually be some limits to the lengths of the names? A quick Google search suggests that, in Oblivion, class names can be up to ten characters long, whereas in Morrowind they could have been up to 31 characters or something like that? I have no idea how to change that, though. :sweat: And I do not have the game at hand to check it, either. Having a screenshot to illustrate what the 'occupation' is would be handy, though. Maybe it is a translation issue.
  6. Hi and sorry about the massive delay, it has been a while since I opened the Construction Set and there were some problems getting it working. :sweat: As for how to get the active effect on a character, or more like, how to adjust the magnitude of an active effect on a character - yes, you can do that using some OBSE functions! As for whether it has any effect, like, whether the new magnitude is being applied as it is being changed - no idea. For testing purposes, I made the following custom function (classified as Object Script in the Construction Set) that takes as its parameters the spell base form (the one that was cast/added/whatever to the character, listed under spells in the CS), the effect index (index of the effect in the effect list fo the spell in the CS, starts with 0 at the top), and the new magnitude. scriptname ActiveEffectMagnitudeAdjustmentFunction ref SpellBaseForm ; base form of the spell that applied the effect float NewMagnitude ; new magnitude for the effect int MagicItemIndex ; index of the effect within the spell short ActiveEffectIndex ref ActiveEffectItem int ActiveEffectItemIndex begin _Function { SpellBaseForm MagicItemIndex NewMagnitude } let ActiveEffectIndex := GetActiveEffectCount PrintToConsole "ActiveEffect: Checking effects..." while ( ActiveEffectIndex > 0 ) let ActiveEffectIndex -= 1 let ActiveEffectItem := GetNthActiveEffectMagicItem ActiveEffectIndex PrintToConsole "%i : %n" ActiveEffectItem ActiveEffectItem if ( ActiveEffectItem != SpellBaseForm ) continue endif let ActiveEffectItemIndex := GetNthActiveEffectMagicItemIndex ActiveEffectIndex if ( ActiveEffectItemIndex != MagicItemIndex ) continue endif PrintToConsole "Found it! -> %i %n %d" ActiveEffectItem ActiveEffectItem ActiveEffectItemIndex SetNthActiveEffectMagnitude NewMagnitude ActiveEffectIndex break loop PrintToConsole "ActiveEffect: Checking finished" endAnd one could call it like: SomeCharacterRef.call ActiveEffectMagnitudeAdjustmentFunction SomeCustomSpell EffectIndex CustomMagnitudeI tested it, and it does set the magnitude of an active effect as seen in the character menus (in the active effects list), but I am not sure if the magnitude is actually being applied when it is changed. Like, I made it change the magnitude of a speed drain effect to 100 but the character was not slowed down at all, so I am not sure. At least the effect magnitude as shown in the list was adjusted! Yaaaaay progress! :happy: The .esp file I used for testing is available here, if it helps: link.
  7. The active file, if assigning any, will be the file that is being edited at the moment. Any other files are files that will be loaded in addition to the active one. One does not have to set an active file, but: When not setting an active file, any changes will need to be saved as a new .esp file. That is, the changes only will be saved in the new .esp file.When setting an active file, the saved file will have all the things there originalyl were in the file set as active, as well as any changes, saved in the .esp file.Any other files loaded, but not marked as active, will be added as masters to the file that will be saved, and need to be loaded (before it) in the game. The original Construction Set has a limitation, though, that will not allow saving a file with .esp files as its masters. The easiest way around it is to use the Construction Set Extender by shademe. But if the more servants mod only has an .esm file as its master (for example, only Oblivion.esm), then you can also try setting the servants .esp file as the active file, make your changes, and save it over the original servants .esp file (after taking a backup of the original one) to avoid having to play around with the CSE (but if you are doing more changes, would be nice to use the CSE) and/or TES4Edit and Wrye Bash to work around the .esp master issue. But, it is worth a note, that the Construction Set has a tendency to make some extra edits or somesuch from time to time, so it would be reasonable to go through the saves .esp file wth something like TES4Edit to remove any erraneous edits, if needed. As for the problem of two copies of them, I would imagine you have set the servants .esp file as the active file, and saved it with a different name, and have now both active in the game? But that is just a guess, as you mentioned there being two of them. Hopefully that helps a bit, and hopefully someone else can help you more. :happy:
  8. Hi, if I assume you are packing texture and mesh replacements (such as meshes run through PyFFI and optimised textures) into BSAs to keep things tidy, would that be correct? I tried packing QTP3 in a BSA some time ago, and if I remember correctly, the mod ended up not working, as in, the textures were not being replaced. Skyrim allows packing replacers in a BSA archive, but Oblivion did not seem to allow that last time I tried, which meant I had to keep my replacers all as loose files (and a lot of loose files at that). :pinch: So packing texture and mesh replacers in a BSA might cause those replacers to not work. As for stability, I have no idea, I hope someone else can answer that. :happy:
  9. You could use OBSE event handlers for registering hits by your dog, but other than that, I cannot think of a way to make a buff activate in a neat fashion off the top of my head. Maybe someone else has an idea on how to do that. For hit event registration, you will need: Your persistent dog reference in the gameworld.A function (an object script with a function block) to call when a hit event happens.Registration command when the game is started, to register the function as a handler to the event.For the event handler, something like this might be worth looking into, although I have not tested it myself and it has been some time since I last made an event handler (trying to get back to modding soon): scriptname YourUniquelyNamedDogHitEventHandler ref Target ref Attacker begin _Function { Target Attacker } PrintToConsole "DogHitEvent: %n (%i) -> %n (%i)" Attacker Attacker Target Target endFor registration, assuming your dog reference is called "YourUniquelyNamedDogReference", something like the following might work in a quest script, so that the event would be registered for while in main menu after the game has been restarted (assuming I remember the menu code correctly, I think 1044 was the main menu but I am not sure): scriptname YourUniquelyNamedDogQuestScript begin _MenuMode 1044 if ( GetGameRestarted ) seteventhandler "OnHit" YourUniquelyNamedDogHitEventHandler "object"::YourUniquelyNamedDogReference endif endHopefully that helps a bit. Any corrections are welcome if anyone remembers something I have forgotten. :thumbsup:
  10. I have never thought about how to implement anything like that, however I think I might have an idea on how to determine the menu code of a currently open menu. Assuming a MenuMode script block without the menu code defined always runs in all menus (even that confirmation popup, which I have no idea if it does, but it would be worth a try), one could try the GetActiveMenuMode function from OBSE. For example, something like this (untested, just an idea): scriptname YourMenuCodeQuestScript float fQuestDelayTime begin _MenuMode let fQuestDelayTime := 1.0 ; run once a second, default is once every five seconds I think PrintToConsole "MenuCode = " + $( GetActiveMenuMode ) end
  11. Just tested it out of curiosity, and the game says the same to me about video hardware being unrecognised (screenshot in spoiler). Maybe it is related to the game being so old somehow. As for the performance, I have no idea, the game runs well enough for me considering the amount of mods I have piled on it. :blush: Mine is Windows 10 (64-bit), version 1803 (build 17134.112), with the latest graphics drivers from AMD (version 18.6.1) at the moment. Oblivion is running as a standard user (the one I play on is not even an admin account, I keep a separate admin account for admin stuff), and I have all compatibility modes and other things like it disabled. Though one thing I have done is disable all the Xbox services, uninstall the Xbox app, disable the Game DVR recording/broadcasting whatever thingy and the like that Microsoft is pushing to Windows 10. I do not need that stuff myself, and I actually have no idea if disabling/removing it does anything, but since you mentioned being up for crazy ideas, that might be one? But if trying out too crazy ideas breaks something and you need to reinstall the OS then it might be best done whenever you are prepared to reinstall it? :unsure:
  12. The example is more of a concept test for how to scale the magnitude of an active magic effect on a character based on some formula (the test uses remaining health to scale a healing effect). The actual working thingy is available here --> link (it is my own website project, so it may not be online all the time, but I will try to keep it up as much as I can). The test thingy only has one effect scaled based on one condition, but if it helps, then that is great. :D Adjusting the magnitudes of all magic effects on a character based on their stats like level would take more scripting and a more dynamic approach: filtering effect types in case different types of effects should scale differently, for example, and also finding the base magic effect for determining the base magnitude for use in scaling all applied instances of it or something. And then doing it for all characters. It will take more scripting, yes, but it might just be doable. No idea how efficient it would be, though. :unsure:
  13. For Mod Organizer (at least version 1, no idea about version 2), there is also a button in settings, in the workarounds tab, that says "Back-date BSAs" and does the same thing the OBMM one does (change the BSA dates to an earlier date). So either one works for changing the timestamps. :thumbsup:
  14. Sorry about the delay, I have been busy playing other games. :blush: But if it helps, here is what I have noticed when using Oblivion and Mod Organizer: Using MO 1 (version 1.3.11), it is possible to select the load mechanism as 'script extender' which will result in MO creating a "hook.dll" and an "mo_path.txt" file in the OBSE plugins folder. This way, it is possible to run Oblivion from the Steam library by clicking the 'play' button for example - the launcher will open, but will not see any mods yet. When Oblivion opens (clicking the 'play' button in the launcher), OBSE will get loaded, and the hook dll will load MO with all the mods installed through MO.Using MO 2 (version 2.0.something, I cannot remember), the OBSE hook mechanism did not work, so the script extender workaround did not work, either, as a result. Because the Steam version of Oblivion needs to be opened via Steam, the script extender workaround seems to be required but does not seem to work, so I could not get my mods installed with MO 2 into Oblivion at all.That is based on my last test with MO 2 and Oblivion, but it might have been with an older version (it was a couple of months ago). MO 1 works with the script extender workaround - it is enough to open Oblivion from the Steam library. But that was a few months ago, maybe they have fixed something and maybe someone else knows better. Asking in the MO 2 comments section should work, I assume they know a lot better there. :thumbsup:
  15. To remove a texture or mesh replacer mod, it should be enough to uninstall it using whichever mod manager you use, I think. If you use a mod manager, you might even be able to test it by removing it quickly and putting it back in case it does not have any effect. :) If you installed the mod manually, it might be more difficult to remove it, because one might need to find the files to remove first.
×
×
  • Create New...