-
Posts
28 -
Joined
-
Last visited
Nexus Mods Profile
About Lazauya

Lazauya's Achievements
-
I'm using Mardoxx's decompiled source files to make a UI mod. I understand how GameDelegate.call() works, but the specific call "ReuqestItemCardUpdate" is confusing me. How does it know which item info to grab? What variable does it check in the UI? I found a function in SkyUI that references the variable _selectedIndex, but that's in CoreList.as and ScrollingList.as and those aren't part of the inventory menus. What's up with that? What variable does it actually reference?
-
Since actionscript as a programming language is really limited, I've been having trouble setting objects by value instead of by reference. I've seen multiple ways of doing this on other forums for general flash development, but I can't get them to work within the UI kit (from Mardoxx). Is there a way to do this within an actionscript class file? Do I need to write an SKSE plugin to do this or something? It's really vital as far as I can tell.
-
[LE] Get container currently accessed by player
Lazauya replied to Lazauya's topic in Skyrim's Creation Kit and Modders
Hm, thanks for the clarification. -
[LE] Get container currently accessed by player
Lazauya replied to Lazauya's topic in Skyrim's Creation Kit and Modders
Hm, I think that idea is okay. I can have items say "this item needs to be inspected further" or something before the player has put it in thier own inventory. It's kind of cheeky, and from a usability aspect there is a downside: a player can't know the durability before they pickup the item, even if it has a durability a durabilty. Of course, the slightly less cumbersome (but still really cheeky) method would be to say "this container needs to be inspected further" and give durabilities to all items when the player interacts with the container. But as of now the onitemremoved/added methods are the only ones really practical, and as @lofgren mentioned the polling one may not work so great. So I will, for now, (begrudgingly) use onitemremoved/added. The stacking isn't really a problem. The game doesn't "agressively" stack items like you say, instead it only tries to stack items added to the inventory, and only does so on the first entry matching the proper criteria. After an onitemaddeItemCount event, i can just call my "unstack" function. There are still problems that arise from this, but it's better than nothing. Alternatively, I thought of doing the unstacking in Scaleform, and as I'm writing this I might have just come up with another hassle free solution. I can use the ItemCount property on the scaleform entrties and add extra entries on updatelist. Ooooh, this is so much less intrusive then unstacking it in the backend! Aaaaaaah! -
[LE] Get container currently accessed by player
Lazauya replied to Lazauya's topic in Skyrim's Creation Kit and Modders
I'm very confident that it is possible. Essentially, i have everythibg written--just under the assumption that i can get a function for the container. -
[LE] Get container currently accessed by player
Lazauya replied to Lazauya's topic in Skyrim's Creation Kit and Modders
What I'm trying to do... Okay, I'll try to explain as well as I can. I'm creating a nondiscrete value based durability system in skyrim, like the ones in morrowind and oblivion. Every weapon/armor will have an associated maximum durability, and every instance of that form will be able to have a unique current durability; this includes objects in the inventory and objects on the ground. Objects on the ground are remarkably easy: no ui data needs to be thrown around, and the durability can be stored in a map where the key is a {coordinates, objectref, cell} object and the value is a {maxdurabilty, durability} pair. Inventories, however are tricky. Firstly, the player should be able to see the durability (im thinking similar to how charge of an enchantment is displayed, but thats nonimportant). Secondly, a player should be able to store more than a single item of the same form in an inventory with unique durabilities. Thirdly, a player should be able to move items with durability between inventories. These mean, however, a few important things: 1. Items in the list must be unstacked. I know how to do this. 2. A system must be in place to keep track of all the nonempty containers that the player has interacted with. This isn't much different then keeping track of ground objects, but i'll get to that. 3. The system keeping track needs to be able to reference specific containers, including the player. In number 2, i mentioned a system. A basic implementation would be a map where the key is an object {objectref, coirdinates, cell} and the value is a vector of objects {ptr to entrydata, durability, maxdurability}. You might think this is a big structure, but the anount if containers included won't actually be that big for most people. It should be easy enough to implement a check that also gets rid of containers that have no items with durability. Number 3 is where i'm hung up on. With a way to get the accessed container, it would be possible to track objects properly and extend the ui with durability information easily. If you would like a further explanation on something, ask. I know how to write skse plugins, but i cant find anything related to the container thing i need. Anyway, woo, writing that on a smartphone was hard. -
[LE] Get container currently accessed by player
Lazauya replied to Lazauya's topic in Skyrim's Creation Kit and Modders
Hm. This method seems feasible. But still a little slow. I'll try some if these out and see what the result is.Oh, and adding a keyword/script to "special" base objects is a pretty good idea. I overlooked that one. I don't kniw how many I would have to update, but it's definitely worth a go. (Though, if anyone thinks of something else I'm still open to suggestions) -
[LE] Get container currently accessed by player
Lazauya replied to Lazauya's topic in Skyrim's Creation Kit and Modders
Hm. This method seems feasible. But still a little slow. I'll try some if these out and see what the result is. -
[LE] Get container currently accessed by player
Lazauya replied to Lazauya's topic in Skyrim's Creation Kit and Modders
Hm... I'll look into these, but they seem a little slow. I though of using the crosshair ref tactick. Would these be able to account for inventories the player doesnt look at? I.e., if a script opens a container menu for the player? -
[LE] Looking for certain part of ui code in as files
Lazauya replied to Lazauya's topic in Skyrim's Creation Kit and Modders
Skyrim. I'm using Mardoxx's decompiled sources at https://github.com/Mardoxx/skyrimui. -
I'm currently trying to make a mod that requires the part of the inventory responsible for selecting/equipping an item. Specifically, the part of the code where it determines what icon on the side of the inventory to light up when you click on an item. The reason I need this is because I currently have a system that adds items to containers "unstacked", so that instead of showing up as iron sword (5) you just have 5 separate entries for iron swords. However, when I do this, the menu behaves erratically and won't actually select the exact item you click on. It will instead select a seemingly random item with the same type. In my 5 swords example, it would select 1 of the five swords, but not the one I was clicking on. This leads me to believe that the code for that starts at the currently selected entry, and runs a loop until it finds the item with the selected type. In this case it goes from an iron sword to an iron sword, causing it behave strangely. So my question is: does anyone know where the code that implements the selection is? I looked in inventorylists, container, itemcard, and various others but I can't pinpoint it.
-
[LE] SKSE - Accessing inventory data with a plugin
Lazauya replied to Lazauya's topic in Skyrim's Creation Kit and Modders
My goal is to eventually add things to the container with just SKSE, but since I was having trouble that more complex task I thought it better to try a more simple one, like finding all the items in said container. But so far all I can find is a list of items that does directly reference some items in the container, but not all. Because of this, I'm very confused. If you want to know exactly why: I'm trying to add items to the inventory without letting them stack. This might sound stupid, but it's part of a larger project and this is one of the most crucial parts. -
Hello, currently I'm having a bit of trouble with inventories. I want to access entries to the player's or some other container's inventory, but apparently I have come across a strange quirk. I'm taking an object reference and casting it as a ExtraContainerData. Then I acess data->objList to get the tList of EntryData's. However, when I Fall the Count() oft tList, only 5 members are counted, even though I know there are more. The five members appear to be the set of iron armor the player is wearing. I'm very confused as to why this is. Should I be casting the object ref as something else to access the entire list? Or is there another list included in the ExtraContainerChanges I don't know about? For reference, here's a code snippet: ExtraContainerChanges * pToContainerREF = static_cast<ExtraContainerChanges*>(ContainerREF->extraData.GetByType(kExtraData_ContainerChanges)); ExtraContainerChanges::EntryDataList * pToContainerREFItemList = pToContainerREF->data->objList; pToContainerREFItemList->Count() //returns 5 I'm using the "default inventory", the inventory that a generic player actor has when they load into a cell without loading a save game or starting a new one.
-
I really need to jump into SKSE and understand (at least the gist) of the inner workings of SKSE and Skyrim. I understand how to use the Creation Kit, Papyrus, and I know C++ relatively well but the fact that SKSE is basically undocumented is extremely daunting. The project that I am working on is not something that I can use Papyrus for, unfortunately (I tried). I want to be able to understand any aspect of the game. I'm willing to read through any manual or book about the subject, but I really don't know what this kind of reverse engineering is called or where to start learning or what base knowledge is needed. So does anyone have any good starting points? Like information or tips or something on understanding programs and large code bases? Practically anything would help, thanks.