|
Post by Sniffles on Jan 30, 2014 6:48:17 GMT
Thanks much to Emma, seyheb, and my tech guru. My tech guru finally explained what is going on with various malfunctions, especially wardrobes.
"Vilja is quite a piece of work. There are a lot of scripts on her. As such, the problems manifested become obvious. No offense meant to the author(s) of her here. What is missing are the error checkers, null returns codes and so on. This is very common with amateur coders and script writers. Writing the catch-alls that take into account every potential error or fault that might occur under every possible condition. Obviously, that is often as major an undertaking as writing programs themselves. We have a system 48 running a simple code it took the programmers a half hour to write and six months to add all the error traps.
From what I've been able to tell, making some assumptions here, is nearly all the errors and, shall I say misconduct of Vilja is scripting fails. Scripts running that haven't properly concluded or have had erroneous input fed to them. What Vilja users need to do is terminate all hung scripts. I'm going to center on the wardrobe scripts here but the actions taken with any of her errors will be the same.
Wardrobe and outfits. Remove all. Clothing, armor, accoutrements. Everything. Have her move through all the different environments that her wardrobe scripts detect and interact with. Home, City, etc. And done. All wardrobe and outfit scripts will reset to null value. Then there is an obvious scripting conflict the author(s) need to put an error trap on. You can equip multiple items of a similar type to the same slot. Big no no in coding and scripting. She auto detects armor by checking for a certain value but there is no restriction on equipping multiple sets of armor or multiple sets of non armor. This conflict can and will effect all other scripts she may be running or will run. So the bottom line here is kill all scripts, using that reset script, having combat with her or whatever it takes to remove the conflicts, so the ongoing script can conclude successfully. This is the key issue. Do everything possible to get each script to conclude properly before undertaking additional ones. Use the built in cleaning scripts and checks liberally, even after each script has finished a certain stage.
PS, if you need further or more in depth trouble shooting the programmers said they would be happy to help at their usual $65 per hour rate."
So I did as he directed, emptying her wardrobe and marching her all over Skyrim. Then following Emma and seyheb's directions I very carefully rebuilt her entire wardrobe making certain no multiple items of the same type got assigned to the same slot. And poof. Everything works perfect!!!!
|
|
|
Post by Dova on Jan 30, 2014 7:03:33 GMT
Thanks for the info, Sniffles.
I will give more credits to amgepo about the error checkers though. I think some of those are bonkers from the game engine.
|
|
|
Post by Sniffles on Jan 30, 2014 8:53:25 GMT
In my case, I had armor and armor in the same wardrobe selection, as Emma mentioned to me would cause problems. As I see it, the selecting needs to check and see if one of the same type of clothing or armor is already selected and if so, it needs to delete the old one and add the new, or give an error report thing. Also, I have noticed that Vilja doesn't always instantly change outfits and wardrobes. Sometimes she suddenly has nothing on then a different set of clothes or armor. So you would have the mod execution and game engine execution overlapping? That seems it could cause all sorts of problems. Yuck! But anyway, cleaning Vilja up fixed all the problems. I also have her beat the snot out of my character about once every hour which seems to keep other things clean and her wardrobe changes more snappy. I also just noticed another issue. We got attacked by a bear while we were near a farm. Her automatic change went from urban wear to armor to nothing back to armor back to urban back to nothing on. So those transition areas can certainly make things goofy.
|
|
|
Post by Seyheb on Jan 30, 2014 9:49:45 GMT
In my case, I had armor and armor in the same wardrobe selection, as Emma mentioned to me would cause problems. As I see it, the selecting needs to check and see if one of the same type of clothing or armor is already selected and if so, it needs to delete the old one and add the new, or give an error report thing. Also, I have noticed that Vilja doesn't always instantly change outfits and wardrobes. Sometimes she suddenly has nothing on then a different set of clothes or armor. So you would have the mod execution and game engine execution overlapping? That seems it could cause all sorts of problems. Yuck! But anyway, cleaning Vilja up fixed all the problems. I also have her beat the snot out of my character about once every hour which seems to keep other things clean and her wardrobe changes more snappy. I also just noticed another issue. We got attacked by a bear while we were near a farm. Her automatic change went from urban wear to armor to nothing back to armor back to urban back to nothing on. So those transition areas can certainly make things goofy. Avoiding having armour allocated twice in the same selections is why in other posts I've emphasised the need to take care and check that any clothing you are going to allocate has no armour rating whatsoever. I learned it the hard way the first time I set up Vilja's wardrobes. I had allocated combat armour and a set of what I thought were clothes to the same slots and then wondered why she wouldn't wear the clothes! When I realised the reason was that what were supposed to be 'clothes' in fact had a (small) armour rating, I then re-built her wardrobe set-up making sure all clothing I allocated as clothing had a zero armour rating and everything worked fine. I've only seen a delay in between taking off one set and equipping another on rare occasions, so I've assumed something else has been going on in the background just at that time. However, I might let her give my character a kicking every so often (if she can! ) if that will ensure things keep running smoothly! P.S. Thanks for putting this together, Sniffles!
|
|
|
Post by Dova on Jan 30, 2014 16:14:13 GMT
[...]So you would have the mod execution and game engine execution overlapping?[...] Definitely not an expert in the creation engine nor computer science, but here are my thoughts.
The analogy I have on mods and game engine is that the game engine is acting as an operating system and mods are programs written to be ran on that system.
With the double item assignment, allowing only one item per body slot is a rule already part of the base game. The issues got complicated because amgepo is allowing both clothing and armor items to be assigned in the wardrobe, which I have no idea how he accomplished. But my guess would be a filter that looks for armor ratings and your decision if Vilja should be wearing armor at the moment.
The wardrobe system is triggered by the type of area Vilja's in, as we all know. So I would imagine there are chances for her to be confused if she is transitioning between different areas and also being attacked, in addition to if she's allowed to initiate combat.
However, I think the more common cause for her wardrobe confusion is just purely delay in performance. There was no way natively in game for anyone to equip/remove multiple items at once unless they are defined as outfits. Moreover, there is no command to revert to what was original equipped after a change (ie. was wearing outfit alpha, triggered change to outfit beta, game can't remember what was outfit alpha anymore).
So amgepo had came up with the brilliant idea of storing equipment list in form list, which I imagine works similar as follows (purely my speculation, please correct me): 1 - remember each wardrobe selection in a form list, resulting many lists (which bypass the one item per slot limit?) 2 - when changing, quickly dump everything worn in a chest, call the form list in the next set that is about to be worn. 3 - quickly transfer the items listed in the said form list from Vilja's inventory to a different chest, the chest is called and equipped. 4 - stuff in first chest that was originally worn is quickly restored back in Vilja's inventory, emptying the chest.
As for the temporary nude problem, I think there are multiple causes, and I'm still trying to figure them out.
|
|
|
Post by amgepo on Jan 30, 2014 17:43:37 GMT
Sniffles, Skyrim's system is really restrictive. You will be fine while you follow the lead, but as fast as you try to do something not thought by the developers you will found all the engine is working against your efforts. That's why I usually lead or fool the engine to do things instead of using scripts to do things directly (as a bonus benefficts, it also grants more speed and stability).
In the case of the wardrobe, there is not a single line of code, making her equip a clothing piece (except gold coins and a special piece of armor that forces the engine into reequiping her. Some kind of 'equip trigger' instruction).
Obviously your friend can't imagine how precarious is the inventory handling in Skyrim. there is no way I could check directly if a piece is meant to be equipped in the feet or in the head, neither if it's armored or not and can't know if a slot is equipped unless I unequip it. Besides, scripts have little CPU time asigned and are resource hungry. The sheer idea of using an event each time an item is equipped is unaffordable and without doing so, there is no way of knowing when to check if the equipping has gone correctly.
Should I needed to do the equipment part with scripts, I wouldn't have used any kind of error structures, as it would be unaffordable. Fortunatelly, the script only send the instruction to move all the items not in her current wardrobe to another container, change some perks and skill values and then let the engine do it's work.
I did use a trick allowing various items to be equipped in a dummy NPC for the wardrobe configuring interface (it's only used to show the selection to the player), but that is never used on Vilja. When she has five armored bots in her wilderness wardrobe, there will be five armored boots in her inventory when that wardrobe is used. The same as if you give those five armored boots to Lydia (it's a bit more complex, as there is also an armor rating debuffing for armors yet in her inventory she should not equip and for dummy armors, but in the end it's the same).
Hung scripts can't be shut down externally. You need to add instructions to do so in the script itself, but when a script hungs in Skyrim, the reason is that either it's not getting the needee CPU time, or that the needed imput for then next condition check is not being delibered, because the process sending it is hung. In other words, the script itself won't know it's hung, is not working and can't be shut down externally. The only way here is to wait until the script (or the process sending the needed data) finally gets the CPU time to finish it's operations.
Each time a wardrobe equipping process is launched, it checks if there are others of the same type running and if so it shut down itself. Thus, if you start making her go between land and water in fast succession, only one process of each type will be running each time (through depending on the computer and the amount of mods in the system, it may take more or less time to end both processes.
About the problem whith her changing between armor, not armor and nothing during that bear attack, my guess is that she was being kicked out of combat mode (as she won't use wardrobe related changes while in combat). Could be that you sheathed your weapon or activated her (both actions stop her and her foes combat, but the combat will start again as bears predatory package forces it to attack again), or maybe there is a mod stopping combats, probably in order to get some data.
Dovahklon, the formlists are used mainly to remove all the items in her inventory in a list to a different container (there are other uses, but the reason for using formlists instead of containers is that one). Besides lists like the wilderness list, there are the nowilderness and nowildernesssnow, which remove all the intems in the list of items that are not in the wildernes list or in the list of items that are not in the wilderness but are in the winter list. Thus, when you add an item to Vilja's inventory, it's added to the nowilderness, nourban, noelegant... lists and when you add an item to a wardrobe, it's removed from the lists of no that wardrobe. The problem is that while using a list is fast (removing from an inventory all the items in a list is as fast as removing an item), adding or removing items to a list is slow.
Vilja won't ever equip two items in the same slot (it can be done and is done in another NPC, to show the wardrobe selection interface propperly). When she has various items to use for the same slot, she will use the one with better armor, or the expensiver one if both has the same armor.
|
|
|
Post by Dova on Jan 30, 2014 18:40:35 GMT
The more I'm trying to learn, the more confused I get. Haha, guess that's part of the learning process. [...]I did use a trick allowing various items to be equipped in a dummy NPC for the wardrobe configuring interface (it's only used to show the selection to the player), but that is never used on Vilja[...] Guess that step allows checking one item per body slot as shown in player's selection menu, but it doesn't actually help limiting the items of the same slot added to the "yes" wardrobe list? [...]also an armor rating debuffing for armors yet in her inventory she should not equip and for dummy armors[...] Thanks, that explains all the 0armor and dummy armor chest, and how Vilja bypassed the default behavior of automatically putting on *better* items. Such a quesiton baby, but I have more questions: How do form lists get corrupted during wardrobe selection? Or rather, how to avoid form list corruption? Why are items sometime problematically duplicated in Vilja's inventory, or still showing up in the wardrobe selection after the item is taken away from the inventory?
|
|
|
Post by Sniffles on Jan 31, 2014 0:58:29 GMT
THANKS! MUCH MUCH. Explains a lot. Confuses even more. Also touched upon a very sore spot between me and my tech to wit: "If your computer wasn't such a rat bag collection of antiquated semi conductive rocks and sticks you wouldn't have many of these problems. I'm wondering how on earth you managed to find a gas powered motherboard to begin with."
He just added: "This is the woe of all software developers. You cannot expect Microsoft to rewrite their OS to accomodate the programs running under it. Therefore you have to take into account not only every possible problem that may arise with your own code, you have to make it fit and run seamlessly with the platform it is working on. Therefore, logically, your code and error checking is going to end up as extensive, or even more so, than the host program it is working under. With common Windows OS, when everything goes to hell it has one over riding command set: Execute BSOD. Your scripting in this game doesn't have that option."
And finally: "So the scripting is primitive. Understandable. Unlike normal code where there is a catch routine for every function, it runs as execute and hope it worked. It's no wonder those forums are permanently flooded with mod problems where almost every mod is throwing uncontrolled and unmonitored monkey wrenches into the works. My hat is off to the developers of this Vilja mod making so many work arounds. Just consider the errors that do take place to be a part of the package. Enjoy the odd with the normal so to speak. And for crap sake, buy a real computer. Your direct descendant of the 8088 just doesn't come up to snuff."
|
|
|
Post by Dova on Jan 31, 2014 1:23:19 GMT
Hmm, that's a rather harsh comment about your computer, because obviously Skyrim is not *that* lightweight. I bet your computer is actually fairly decent compare to mine. I am perhaps one of the few oddballs running skyrim with onboard graphics. And uh, isn't CTD Skyrim's version of BSOD?
|
|
|
Post by Sniffles on Jan 31, 2014 1:34:09 GMT
Hmm, that's a rather harsh comment about your computer, because obviously Skyrim is not *that* lightweight. I bet your computer is actually fairly decent compare to mine. I am perhaps one of the few oddballs running skyrim with onboard graphics. And uh, isn't CTD Skyrim's version of BSOD? Embarrased. My comp is the cheapest motherboard I could find 2 years ago running the slowest 2 core processor (Under $30) and a NVidia 210 video card. He rants at me while running a 16 core CPU monster with a RAID 5 many terrabite drive set up and his cheap video card, a Radeon HD 7750. Om his recommendation I went and bought that same video card to discover my power supply couldn't handle things. Then I bought a very expensive power supply to discover my CPU can't handle things and the price of a CPU that can do it is about the same price as a used Mercedes. PFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFTB!
|
|
|
Post by Dova on Jan 31, 2014 1:49:39 GMT
Hmm, that's a rather harsh comment about your computer, because obviously Skyrim is not *that* lightweight. I bet your computer is actually fairly decent compare to mine. I am perhaps one of the few oddballs running skyrim with onboard graphics. And uh, isn't CTD Skyrim's version of BSOD? Embarrased. My comp is the cheapest motherboard I could find 2 years ago running the slowest 2 core processor (Under $30) and a NVidia 210 video card. He rants at me while running a 16 core CPU monster with a RAID 5 many terrabite drive set up and his cheap video card, a Radeon HD 7750. Om his recommendation I went and bought that same video card to discover my power supply couldn't handle things. Then I bought a very expensive power supply to discover my CPU can't handle things and the price of a CPU that can do it is about the same price as a used Mercedes. PFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFTB! I am sorry for your mistaken purchases, I am sure you will be able to put those parts to good use. This site is a fairly comprehensive on the selection of computer hardware, don't know about oversea purchases, but good site to read up on hardware information.
|
|
|
Post by Sniffles on Jan 31, 2014 2:55:48 GMT
Embarrased. My comp is the cheapest motherboard I could find 2 years ago running the slowest 2 core processor (Under $30) and a NVidia 210 video card. He rants at me while running a 16 core CPU monster with a RAID 5 many terrabite drive set up and his cheap video card, a Radeon HD 7750. Om his recommendation I went and bought that same video card to discover my power supply couldn't handle things. Then I bought a very expensive power supply to discover my CPU can't handle things and the price of a CPU that can do it is about the same price as a used Mercedes. PFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFTB! I am sorry for your mistaken purchases, I am sure you will be able to put those parts to good use. This site is a fairly comprehensive on the selection of computer hardware, don't know about oversea purchases, but good site to read up on hardware information.
In order to maintain the highest possible kick backs and extortion, Thailand maintains a tariff in the neighborhood of 180% of the retail value of the product unless the correct palm(s) are properly greased. As example, a replacement of my $27 paramedic manual from Amazon, newest price listed at $37, cost me $115 after shipping, handling, screwing, raping, and degenerate pawing and fondling charges were applied. The Tata Motors touted 'car for under $2500' costs just over $10,000 after similar debauchings. The I5 processor I want, manufacturers list price recommendation of $205, is presently on sale for a remarkable price of only $265 since it is made in Malaysia and that country and Thailand have some very very cushy kick back deals in place.
|
|
|
Post by amgepo on Jan 31, 2014 5:38:36 GMT
Indeed the trick allows the dummy NPC equipping various slots in menu time and with the NPC moddel actually not showing the items, but the idea is preciselly to allow the interface showing various items equipped per slot, in order to give you an idea of what is includded in the wardrobe. The outfits have a similar system but allowing only one item per slot. But as said this is only on the dummy NPC that uses it's equipped items as an interface. Vilja only equips an item per slot.
I had no idea how fomlists are corrupted in Skyrim 1.9, I had been totally unable to reproduce it. Fortunatelly it has been possible to find a workaround, with the help of a player experiencing it.
Previously, removing a form from a fomlist was enough and there was no way to make it work again. Since 1.9, Bethesda fixed this, now removing a form didn't cause corruption. There have been some players experiencing corruption, but resetting the formlists make them functional again.
The items selected in Vilja's wardrobes after having been removed from her inventory means that the wardrobe formlist is corrupted and item duplication may be caused by the same problem (not sure though).
I also used to have a computer that barelly could run Skyrim, but it stopped working (7 years old if I'm not mistaken), so I purchased a new one.
|
|
|
Post by Falion on Jan 31, 2014 12:41:53 GMT
Sniffles, that totally stinks, about the inflated costs you have to deal with! Here in the States, I got fed up with having to shell out another 2-3 thousand every 3-5 years for a new PC, just so I could keep up with my gaming habit. I bought a few "how to build a PC" books and while at every book store I visited, I also read through all the PC magazines as well. I've been building my own machines for 15+ years now, and the savings have been about 50 percent ( or more ) of what I'd have had to pay some tech, or company to put together a comparable PC for me. Not only that, but being able to do my own upgrades and fix 98 percent of things that go wrong, on my own, really helps in the financial area of things. None of this likely helps you much, over there in Thailand, I'm sure...I'm just sympathizing with you over the additional costs, due to the corruption your dealing with. However, you "should" retire that relative of the 8088 as soon as your able to do so, without having to take out a new home mortgage ( tongue in cheek here ). Amgepo, hats off to you Sir for your talent!
|
|
|
Post by Sniffles on Jan 31, 2014 21:40:12 GMT
What we need it appears is a step by step method where we can avoid these corrupted lists or whatever is going on. Since the wardrobe, as but one example, will permit the illegal inputs we have to do what the scripts don't. I've been following seyhebs step by step thing and it works, but only up to a point. The script execution time depends upon the capability of the computer. My tech apparently has all scripts execute instantly while my computer can take 10 seconds or even longer just to display wardrobe status or contents. Get impatient or input something while it is trying to regurgitate things and poof, another sticky ball of crud.
|
|