-
Posts
46 -
Joined
-
Last visited
Nexus Mods Profile
About pufthemajicdragon
Profile Fields
-
Website URL
http://www.kt-boundary.net
-
Currently Playing
Breadwinner + Student
pufthemajicdragon's Achievements
-
IT engineer here. You know what the absolute worst thing is for password security? Complex passwords. Counter-intuitive, I know, right? But longer and more complex passwords lead to people reusing more passwords and saving them in Word or Excel documents on their desktops. That's why Microsoft has minimal complexity requirements but encourages (and in some cases requires) MFA. And the cool thing about MFA? A 6 character simple password is no less secure (and arguably more secure) than a 12 character complex password as long as you use MFA. And what's funny is seeing supposed security people talk about brute forcing like it's still how accounts get cracked. "Gotta make the passwords harder to guess!" as if anybody's trying to guess it. Nah, legit hackers don't brute force anymore. If they want your password, they send you phishing e-mails, malware with keyloggers, malware that takes advantage of password manager vulnerabilities (and you thought that would keep you safe), or the real good ones take advantage of website vulnerabilities to steal hashes (oh, look, what happened to Nexus). I do still see brute force attacks, but only in business and they're pretty lazy attacks against outdated protocols where the attacker figures "if they're still using PPTP then they're probably using stupid simple passwords". But what this really boils down to is Nexus screwed up by having bad security and instead of fixing their $%^& they make their users jump through hoops that meet (outdated) "security best practices" but don't actually improve security.
-
Well nobody else has made any other suggestions. I'm hesitant about OnItemAdded() since it could queue up a few hundred or more calls and I don't know what the engine's limit is before it starts dumping. However, I might be able to get it to work with OnItemRemoved(), which would only be called a handful of times for each "sale" in the script. Thanks :smile:
-
A player has found a bug in my Breezehome Store mod where persistent references, such as quest items, will not get sold by the Store script. Right now, the script drops items out of the container before running some SKSE functions on them to determine their value. In this case, persistent references will pile up outside the chest. I've figured out a way to run the Store script without dropping items from the container, which solves the problem of persistent references piling up, but it creates a new problem where important quest items can get permanently deleted from the game. This could irreversibly break important quests or prevent achievements from unlocking. I'm using GetNthForm() to pick out items in the container. I need help figuring out some sort of equivalent to a non-existent IsPersistent() function. Is there any function I can run on a form that will work on persistent references but not on non-persistent objects? Or will work on non-persistent but won't work on persistent? Here's the relevant excerpt from my script: int Function GetPrice(form item, int iCount) ;..... a bunch of unrelated code ;This line will leave a pile of persistent references by the container! ;This is annoying!!!! ;I need some kind of isPersistent() function ;For example: ;If (item.IsPersistent()) ;RemoveItem(item, iCount, true, PlayerRef) ;else ObjectReference oItem = pppBHStoreChestRef.dropObject(item,1) oItem.Disable() oItem.Delete() oItem = NONE ;..... more unrelated code endFunction int Function GetPrice(form item, int iCount) ;..... lots of unrelated code ;This line will permanently remove quest items from the game. ;This is bad!!!! I need some kind of IsPersistent() function. ;For example: ;If (item.IsPersistent()) ;RemoveItem(item, iCount, true, PlayerRef) ;else pppBHStoreChestRef.RemoveItem(item,iCount) ;..... some other unrelated code endFunction
-
Figured out the hopping - it has nothing to do with the mannequin per se. Apparently, the CK sets whatever XMarker you've modified last as some sort of "default" for the cell. This can be verified by right clicking on the cell name in the Cell View window and selecting "view" - the Render Window will center over the most recently added XMarker. In this case, it was my mannequin's XMarker. This "default marker" setting that the CK does also seems to be a default load or spawn location for NPCs in the cell. I discovered this when I deleted the mannequin in order to recreate it. After deleting it, I tried "viewing" the cell and the render window centered on another XMarker, and I went "huh" and started testing. All I did was replace a standard XMarker elsewhere in the cell with an XMarkerHeading - making that the last XMarker to be modified. Now whenever I wait or enter the cell, NPCs will "pop in" over that marker instead of on the mannequin. Of course there is no way that I can find to change this setting or select a specific marker as the cell's "default". Bethesda makes some amazing games, but sometimes I feel like they're coded by undergrads. Long story short, the "correct method" for fixing the wandering mannequin glitch is the navmesh island. It really is that simple. Just make sure you mess around with an XMarker somewhere else in the cell before saving the mod. Thanks again for all the help and responses.
-
I started with a larger island, and then began shrinking it in attempts to deal with the hopping issue. In its present state, it's sufficient to keep the mannequin from moving. I've found cover edges, and even edited some of them, and tested and finalized the navmesh. That's navmeshing 101. The xmarker for the mannequin is a standard XMarkerHeading as described in the mannequin tutorial with no scripts or changes attached. Judging by the responses here, it seems my NPC hopping issue is not a common one, which just makes me more concerned, since it means I've done everything right and it's still broken. I've tried rebuilding just the island, but it looks like it might be time to rebuild the entire navmesh.
-
Screenshots to demonstrate: Before waiting: http://i247.photobucket.com/albums/gg125/puf_the_majic_dragon/2016-01-09_00001_zpshfx3fkwm.jpg After waiting one hour: http://i247.photobucket.com/albums/gg125/puf_the_majic_dragon/2016-01-09_00002_zpsopa7tfwo.jpg Lydia's now dancing with the mannequin. And my mannequin in the CK: http://i247.photobucket.com/albums/gg125/puf_the_majic_dragon/Untitled_zpsi5zod8zx.png
-
Thanks for the replies. The navmesh island technique does keep the mannequins from moving, and I can see other mods using the same technique. But when I use it, any NPCs that are in my cell when it loads have a high chance of loading in on top of the mannequin's navmesh island, which leaves them stuck there. I can reproduce this consistently by entering the cell with a follower, then pressing T then E to wait for an hour. At the end of the waiting period, my follower will be stuck on the mannequin's navmesh, and this happens almost 100% of the time. Adding a pedestal makes no difference and it's about the barest cell in the whole game. This NPC navmesh hopping happens with such excruciating consistency (but only with my mod) that I can only conclude that I'm not doing the "navmesh island technique" correctly or there's simply a better way to solve the wandering problem, hence my question. At the very least, my NPCs hopping over to the mannequin's navmesh happens so consistently that I'm certain someone else has encountered the same thing when using the navmesh island technique.
-
K so this wandering mannequin thing is a royal pain in the aasimar. I thought the Unofficial Skyrim Patch fixed it, but when I place mannequins in my own mods, they still wander. I've been searching for days trying to find a decent workaround and I've come up empty. (Apparently the Unofficial patches only fix script issues, but don't do anything for the wandering.) The best advice was able to find was to create an isolated navmesh "island" under the mannequin so it wouldn't have anywhere else to go. I did that, and so far the mannequin hasn't wandered, but now whenever I wait or sleep or leave/enter the cell there's a chance that NPCs I leave behind will somehow magically teleport onto that navmesh island and be stuck. I tried placing a collision cube over the mannequin surrounding the navmesh island (collision layer L_unidentified), but that didn't make a difference. So what's the "official" best practice for modders to avoid the wandering mannequin bug? Preferably without side effects >.< :EDIT: So, for future reference, I'm putting the answers here so it'll be easy to find for others. The "official" best practice is to create an isolated navmesh island for the mannequin. It's as simple as that and works. However, there are some other bugs that can present themselves and be very confusing. If the mannequin's XMarkerHeading is the last XMarker placed in the cell, and (presumably, I haven't tested it) if there's no COCMarker in the cell, then NPCs may spawn on the mannequin when the cell loads. This can be mitigated by modifying or placing another XMarker elsewhere in the cell after you finish the mannequins. Teleport markers may work, I haven't tested that far either. If the navmesh island is too small, the mannequin may still wander. I've updated the CK wiki mannequin tutorial to reflect these issues.
-
So I just released this mod. Thought I'd invite the community to check it out. Other follower mods might exist that do this, but I couldn't find any. It's a simple mod that should be compatible with everything under the sun. Link: http://www.nexusmods.com/skyrim/mods/68043? ******************************************************** * Followers at Home by Puff The Magic Dragon * ********************************************************=========== Description =========== Your loyal followers are now just a little more laid back - enough that they stop following your every footstep when you're at home. They will sandbox and sleep instead of haunting you while you're at home, but come right back to your side when you leave. ============ More Details ============ You just got back from a long three weeks of adventuring. You're tired and sore and dirty. You walk in the front door and head off to take a shower - and your three loyal followers are so loyal they follow you right in! Wait! Aren't they at home? Can't they go do their own things? Yes. Now they can. I made this mod because I was tired of Serana following me all over our house like a lost puppy. This mod automatically applies packages telling her, or any follower, to sandbox around the house as soon as you walk in the front door. Leave the house, and she's right back at your side! I was unable to find any other follower mods that provided exactly this functionality. (Perhaps some of the major follower overhauls do this, but none of them mentioned it in their descriptions.) There are a couple of variables that this mod uses to make this work: The global variable playerFollowerCount needs to be higher than 0; the follower needs to be in the CurrentFollower faction, and the follower's ActorValue "WaitingForPlayer" needs to be 0. For those who aren't modders, this means that this mod should work with any and all followers in the game, as long as they are actively following the player. This mod currently supports up to 5 active followers - if you have more than 5 active followers at a time, something is very wrong with you (and your extra followers after the first 5 will behave as normal). This mod triggers whenever you enter a location with the keyword "LocTypePlayerHome", which should cover all vanilla and DLC player homes and most player home mods. ============ Requirements ============ Skyrim v1.9.32 ============ Installation ============ Recommended NMM: Click and run! Manual: Extract the files directly into your \Data folder. Activate the mod in your Skyrim Launcher ======= Removal ======= Reverse of installation. ============= Compatibility ============= This mod should be compatible with every other mod out there. Theoretically. It should even work with the many follower mods and follower overhauls. If you find one that is incompatible, let me know. ============ Known Issues ============ I actually haven't found any. Please let me know if you find something. =============== Version History =============== Version 1.0 - Finally, some privacy! ========== To-Do List* ========== This might just be the simplest mod in the world. =============== Credits goes to: =============== Many thanks to Bethesda for making such an awesome game and for making the construction set that lets people like me with way too much free time modify the game. Thanks to God for creating us all!
-
It took way too long (don't ask how late I've been staying up) but I managed to sort out an equation that fairly closely approximates enchanted item value. It's just under by between 0 and 7 gold, which isn't too bad. It's silly how simple the equation was for how long it took me to figure it out. GOLD = (Item.GetGoldValue() + (Enchantment.GetGoldValue * 8) + (Item.GetCharge() * .12)) I did find that the UESP talk page on "Generic Magic Weapons" has a formula that is supposedly 100% accurate, but I just have too much trouble wrapping my head around it, much less converting it into a SKSE function. The equation above is a frankensteined version of the information I found there. I hope it can prove useful to someone else! Oh, and FYI, GetEnchantment() returns null for player-enchanted items. Gir.
-
I did try the following (on line 33) and it compiled but GetGoldValue() returned 0 when I ran it. ObjectReference oItem = pppBHStoreChestRef.GetNthForm(iItemIndex) as ObjectReference iItemValue = oItem.GetGoldValue() debug.Notification("iItemValue: "+iItemValue)I also tried running GetGoldValue() on a base reference, and it also returned 0. WEAPON Property testSword Auto ;linked to EnchElvenSwordFrost05 iValue = testSword.GetGoldValue() debug.Notification("iValue: "+iValue)
-
I've been digging and so far it seems that the function GetGoldValue() only returns the base item's value. For example, if I put an "Elven Sword of Blizzards" into a chest with a script that returns GetGoldValue() for the item placed in the chest, it returns 95, the base value of a standard Elven Sword. I've searched the forums and the web and can't find any information on updates to this function. I did find one forum thread where someone suggested making sure that GetGoldValue() was called on the object reference and not the base item - GetNthForm returns a form type, not an objectReference type, which makes me wonder if GetNthForm is where my problem is - is there a way to return the Nth item in a container as an objectReference type? Is anyone here aware of updates or alternatives to this function? Or has anyone found an updated work around? Script: Scriptname pppBreezeHomeStoreQuestScript extends Quest ; Aliases ObjectReference Property pppBHStoreSafeRef Auto ObjectReference Property pppBHStoreChestRef Auto MiscObject Property Gold Auto ; Variables ; Imports import Utility ; Functions and events ; Sets the update interval in game time for the next update Function SetUpdate() float fRand = Utility.RandomFloat(1.0, 4.0) RegisterForSingleUpdateGameTime(fRand) endFunction ; Selects a random item in the items chest, gets its value, ; removes the item from the chest and adds the value to the ; store's safe. Event OnUpdateGameTime() int iTotalValue = 0 int iTotalItems = 0 int iItemValue = 0 while (iTotalValue < 100) int iItemIndex = enumItems() if iItemIndex < 0 iTotalValue = 101 else form oItem = pppBHStoreChestRef.GetNthForm(iItemIndex) iItemValue = oItem.GetGoldValue() iTotalValue = iTotalValue + iItemValue pppBHStoreChestRef.RemoveItem(oItem, 1) pppBHStoreSafeRef.AddItem(Gold, iItemValue, true) endIf endWhile iTotalValue = 0 SetUpdate() endEvent ; Enumerates the items in the items chest. ; Returns an index for an item in the chest, or -1 if the chest is empty. int Function enumItems() int iTotalItems = pppBHStoreChestRef.GetNumItems() if iTotalItems > 0 int iRand = Utility.RandomInt(0,iTotalItems - 1) return iRand else return -1 endIf endFunction int Function getPrice(ObjectRference oItem) float gsfBarterMax = Game.getGameSettingFloat("fBarterMax") float gsfBarterMin = Game.getGameSettingFloat("fBarterMin") float avfSpeech = Game.GetPlayer().getAv("Speechcraft") float factor = (gsfBarterMax - (gsfBarterMin * (avfSpeech/100))) if (oItem.getBaseObject().getType() == kWeapon) e = (oItem.getBaseObject() as Weapon).getEnchantment() elseIf (oItem.getBaseObject().getType() == kArmor) e = (oItem.getBaseObject() as Armor).getEnchantment() endIf if (e) eValue = e.getGoldValue() eValue = else endIf endFunction
-
I've been doing a lot of digging with TES5Edit, and I think the trouble is that the teleport marker isn't a real marker like it was in Oblivion (aaah the good ol' days). The marker is just a helper visible in the editor, the actual coordinates of the teleport destination are stored on the door itself, and the coordinates are relative to the cell that the door is in. So door A teleports to coordinates XYZ in cell M - move the door to a different cell and the teleport coordinates XYZ don't change and refer to a new location in the new cell. I'm not finished playing. :edit: EUREKA! I've found it! (sort of) If I know the destination ahead of time, I can get the coordinates in game using player.getpos in the console. I then edit the door and assign it those coordinates in the CK *before* linking it to the other door. When I create the teleport link, the marker is placed with the door, and all I have to do is rotate it so its facing the right direction. When the door is moved, the teleport coordinates are the correct set for the new cell. Down side is that now that door is a good 30,000 units away from anything else in my interior cell, which makes it a bit inconvenient to work with. This works for my second case, where I know where I want the door to go ahead of time, such as with the Breezehome mod. It won't work for my placeable house idea, though.
- 5 replies
-
- teleport door
- load door
-
(and 2 more)
Tagged with:
-
Ha! That was too easy! Don't know how I missed it on the CK wiki... Thanks a million :smile: I'm making a mod to turn Breezehome into a player-owned shop for selling all your extra loot. The issue you mentioned won't be a problem for me - this won't even kick off until the player buys Breezehome. Thanks again!