Jump to content

[WIPz] Skyrim Script Extender (SKSE64)


ianpatt

Recommended Posts

  • Replies 351
  • Created
  • Last Reply

Top Posters In This Topic

While I dabble, I'm not really a mod creator, so I don't know the particular workings in the background well, but:

Is it possible somehow through SKSE to add more equip slots? Like the ones where 35 is the amulet slot, 36 is the ring slot, 33 the hands and so on.

 

I know it's not a current feature, I'm asking whether it is imaginable at all to extend the code of SKSE to improve that.

With many mods enabled it does sometimes happen that two mods have unique or hidden items they try to equip, and try to do it on the same slot, effectively making the mods conflict. Example of such a mod is the Bandolier mod which adds equipable pouches and the like, which take up extra equipslots, and there are a few more mods like that which eat up equip slots like candy.

There are mods where you can set which slot the mod's specific item(s) should use, but for example in my current skyrim all the available slots are occupied.

It would make fixing this issue possible if there were extra equip slots to which these items could be allocated through MCM.

I assume its not doable with the available modding methods, or someone would have done it already, so I assume it requires deeper editing, which SKSE is, though I'm not sure whether SKSE touches or can touch those parts at all.

Edited by Wyrade
Link to comment
Share on other sites

I'm seeing some unexpected behavior in SKSE64 2.0.2: the functions Game.GetModCount() and Game.GetModName() don't seem to agree on what to do with mods that are installed and in the list but disabled (unchecked).

 

GetModCount() ignores disabled mods and returns only the total of enabled mods, which matches its comment in Game.psc ("returns the number of active mods").

 

GetModName() however operates on a sequential numbering which does include disabled mods. It will happily return the plugin filename of each disabled mod at its appropriate place in the load order list, even though passing this filename to (for example) GetFormFromFile() will fail with the papyrus log message 'Error: File "TheDisabledMod.esp" does not exist or is not currently loaded.' and a stack trace.

 

This also means that calling GetModName(GetModCount()) will not correctly return the last mod in the list if there are any disabled mods in the list, because GetModCount() does not account for them. This makes it more difficult to scan the complete mod list (for example to locate optional plugins) since you can't just loop from 1 .. GetModCount().

 

I'm undecided on which behavior is preferred. Some authors might like to be able to know about disabled plugins, but that would require also adding some function like IsModEnabled() to report that for a given index. So it might be simpler to just make GetModName() use the same active-only numbering as GetModCount(), and possibly also double check that related functions such as GetNthmodDependency() do the same.

Link to comment
Share on other sites

One thing that really annoys me in Skyrim is the fact that when there is a battle-scene (story line), like for example the Whiterun invasion, when you kill someone, and move the camera, then move it back, the body is gone. You can not loot them, they are gone in seconds. That is done for console optimization, but as everyone here knows, PC gamers are not down to accept this "break the game immersion to improve performance" kind of deal. So I have started doing a mod for this.

 

I am now having to go through each story battle and find and remove the dispawn. Obviously I am talking about the original Skyrim here, cuz we still have to wait for the new SKSE64 to come out. However since I don't really have that much time (uni), I am not really sure if I will be able to finish this mod, never-mind port it to SKSE64, where I would like it to be. I will need to create a function that, instead of dispawning the bodies immediately, they would stay until the end of the battle scene. After that, NPCs will come to "collect" them. Obviously these need to be all scripted. Watch some old medieval movie in order to see this happening after every battle. They collect the bodies and either burn them or bury them, so that disease don't spread. This is exactly what the mod is about - to bring immersion of medieval times in real world into the game.

 

If anyone is willing to work on such a mod I can pm you details of what the mod should do, but I will just give a small warning that this might end up being quite a project to deal with. Just to clarify, this is an "immersive" mode.

Edited by whiteskymage
Link to comment
Share on other sites

 

 

In the readme and the zip file the path to the source folder is Data\Scripts\Source, isn't the new SSE path Data\Source\Scripts ?

The group consensus was that the new path was a mistake and most modders have moved the scripts back to their original location and changed the CK ini file appropriately. So the SKSE team have put the source scripts where they expect most experienced modders will expect them. Anyone porting over old mods from the original game will also have scripts for their own mods in that location. Thanks to Bethesda's mistake (or really stupid decision if it wasn't a mistake) we now all have to pay attention to the location for script sources when making or updating mods.

 

Oh crap, and how should I change the ini file? What line should I edit?

 

It's been so long ago that I don't remember. I liked the idea that the source files weren't nested under the compiled scripts directory so I didn't actually change mine. I move things into the new location instead. It really doesn't matter which location you use because you'll end up needing to move something.

Link to comment
Share on other sites

I'm seeing some unexpected behavior in SKSE64 2.0.2: the functions Game.GetModCount() and Game.GetModName() don't seem to agree on what to do with mods that are installed and in the list but disabled (unchecked).

 

GetModCount() ignores disabled mods and returns only the total of enabled mods, which matches its comment in Game.psc ("returns the number of active mods").

 

GetModName() however operates on a sequential numbering which does include disabled mods. It will happily return the plugin filename of each disabled mod at its appropriate place in the load order list, even though passing this filename to (for example) GetFormFromFile() will fail with the papyrus log message 'Error: File "TheDisabledMod.esp" does not exist or is not currently loaded.' and a stack trace.

 

This also means that calling GetModName(GetModCount()) will not correctly return the last mod in the list if there are any disabled mods in the list, because GetModCount() does not account for them. This makes it more difficult to scan the complete mod list (for example to locate optional plugins) since you can't just loop from 1 .. GetModCount().

 

I'm undecided on which behavior is preferred. Some authors might like to be able to know about disabled plugins, but that would require also adding some function like IsModEnabled() to report that for a given index. So it might be simpler to just make GetModName() use the same active-only numbering as GetModCount(), and possibly also double check that related functions such as GetNthmodDependency() do the same.

You should probably send them (ian) a mail through the adress they give you in the readme

Link to comment
Share on other sites

I'm seeing some unexpected behavior in SKSE64 2.0.2: the functions Game.GetModCount() and Game.GetModName() don't seem to agree on what to do with mods that are installed and in the list but disabled (unchecked).

 

GetModCount() ignores disabled mods and returns only the total of enabled mods, which matches its comment in Game.psc ("returns the number of active mods").

 

GetModName() however operates on a sequential numbering which does include disabled mods. It will happily return the plugin filename of each disabled mod at its appropriate place in the load order list, even though passing this filename to (for example) GetFormFromFile() will fail with the papyrus log message 'Error: File "TheDisabledMod.esp" does not exist or is not currently loaded.' and a stack trace.

 

This also means that calling GetModName(GetModCount()) will not correctly return the last mod in the list if there are any disabled mods in the list, because GetModCount() does not account for them. This makes it more difficult to scan the complete mod list (for example to locate optional plugins) since you can't just loop from 1 .. GetModCount().

 

I'm undecided on which behavior is preferred. Some authors might like to be able to know about disabled plugins, but that would require also adding some function like IsModEnabled() to report that for a given index. So it might be simpler to just make GetModName() use the same active-only numbering as GetModCount(), and possibly also double check that related functions such as GetNthmodDependency() do the same.

You should probably send them (ian) a mail through the adress they give you in the readme

Is that where we should send requests/suggestions as well? Do Ian (and the others) not read this forum topic?

Link to comment
Share on other sites

Well, I tried installing SkyUI 5.1, followed all the instructions, installed the Disable SetSaveDisabled thing, and it was nice for a while, but I couldn't save at all. And my coloured map markers went away, which is utterly trivial but annoying nonetheless. I think tonycubed2 is right on this one. I'll try and get the game working again and wait for an official port one of these weekends. (And then for an updated Coloured Map Markers mod...)

 

Lethiel

 

(and yes, I know SKSE is an alpha release and only for mod makers and all that, but come on, what was I supposed to do, just leave it there?) :)

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...