Jump to content

pufthemajicdragon

Premium Member
  • Posts

    46
  • Joined

  • Last visited

Everything posted by pufthemajicdragon

  1. 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.
  2. 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:
  3. 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
  4. 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.
  5. 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.
  6. 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
  7. 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.
  8. 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.
  9. 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!
  10. You are a genius. Or at least way more motivated than I am. I want to have a SKSE love child with you. I haven't implemented this yet, or tested it, but the code looks good and I'll see about putting it in an update for the mod I just launched tonight. http://www.nexusmods.com/skyrim/mods/60466/?
  11. 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.
  12. 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)
  13. 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
  14. 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.
  15. 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!
  16. I really haven't kept up on this thread and kind of gave up on that project, but now I'm running into the same problem on a different project. The original project was to make a placeable house. You could buy the house at a merchant and it would place an object in your inventory. "Drop" the object and it becomes a full sized "house" that you can grab and move around and place it wherever you want. Then when you're satisfied, you would activate it and it would be replaced with a real house model. Since you could literally place it anywhere, the door had to be stashed in an extra cell (so its teleport settings could be set) and then moved into place when the house is built. My current project is an overhaul of Breezehome. I'll be giving the player the option in game to use the original Breezehome or to use my overhaul when they purchase the home. This means no playing with vanilla Breezehome or doors (and I hate making any changes to anything vanilla anyway - it messes with compatibility). So my plan was to create a door in my new Breezehome interior, set up the teleport in the CS, and then disable the original Breezehome door (in the WhiteRun worldspace) and move my new Breezehome door into place when the player chooses my overhaul. But the teleport marker gets lost along the way. Hopefully, with that understanding, it's easier to see why I can't place the doors in their locations disabled ahead of time (well, can't in the case of the placeable house, prefer not to in the case of Breezehome).
  17. I'm working on a store mod and I need it to run an event periodically ad infinitum. I prefer if the event is driven by game time rather than by real time, i.e. to run every 3 game hours (quasi-randomly between 8am and 6pm). RegisterForUpdate is based on real time, and it has a few bugs. If I can't find an alternative, I'll probably use it (or a loop of RegisterForSingleUpdate). But I'm not totally familiar with the CK, so if there's another script function that runs on game time, or if there's a way to do this with the Radiant quest system without using a script, I'd like to explore that first. Right now I'm working on some other functionality, but I'm posting this now so I can hopefully have some answers by the time I get to this part. I'm planning to try linking the script for my event to an AI package, don't know if that's even possible yet, and I've never had luck with getting packages to work anyway. Any suggestions?
  18. I need a new wifi router. Something that supports at least 802.11n, dual band preferable. But here's the kicker.... I need one that can do multiple wifi subnets and QOS. I am so tired of the never-ending bandwidth wars with my roommates. I pay the internet bill, so I want to make sure that my games and my movies (aka, my computers) get priority. I tried putting ipFire on an old netbook, but couldn't get it to work, and with my new laptop and other devices supporting the n standard and 5ghz, I should just get a decent retail router that supports these standards as well. Does anyone have any recommendations? The QOS is the hard part - most routers have some basic QOS, but it's all protocol based with no way to prioritize specific clients or subnets. I want to isolate my computers on a separate subnet and prioritize all traffic for that subnet - or at least a range of clients if I can't do the subnet thing.
  19. Sorry, but we're talking about a bug that occurs after the mod is removed.
  20. I know it's an old topic, but I just now encountered this problem. Freemonkey92 - question. Did you ever test if the doors would reset and work after removing the mod and waiting for the cell reset period? I've also identified 5 doors to which the faulty script is attached: WinterholdDoor01 in WinterholdCollegeArchMageQuarters and WinterholdCollegeHallofTheElementsWinterholdLDoorMinuse in WinterholdCollegeHallofTheElements and and 2 in WinterHoldCollegeExterior If waiting for the reset period doesn't work for me, I'll probably make a patch mod with your script and upload it to Nexus. I'll link to it from here and on the mod's discussion page.
  21. Well, I've hit page 3 of the forum without any responses, and it's been almost 24 hours. I think I can justify one bump.
  22. I'm trying to move a load door from a temporary holding interior cell to the Tamriel worldspace exterior. Moving the door works fine, I can use it and teleport to my destination (an interior cell) fine as well. But when I use the linked door to teleport back I get dropped into the "safety zone" at Bleakwind Basin. I tested moving a teleport door in the same interior cell and the teleport marker was not moved with the door. I tested moving a load door from one interior cell to another interior cell and the teleport marker moved with the door (placed in the same coordinates as the door, so I appeared inside the load door mesh). But moving from an interior to an exterior seems to be problematic. Does anyone know of any possible causes or solutions to this issue? If I move the door from an exterior worldspace to another exterior worldspace, would that work instead of going from an interior to an exterior? Worst case scenario I can make custom doors and attach scripts to them to manually teleport to a custom xMarker but I'd like to use the regular doors if I can. :edit: I should add that disabling and re-enabling the door or moving it around in the Tamriel worldspace by the console makes no difference.
  23. GAAAH! GIR! I tried that! You can see the line in my script commented out where I created the property for the letter's alias! I deleted the alias and commented out the property because it didn't work. I'll have to dig deeper to see how you set up the letter's alias, maybe I did something wrong there. But thank you! :edit: It looks exactly the same as the way I had set it up... But I won't complain :) You're my hero!
  24. You're probably on the right track with a second test rig. That's what I do. I build my mods on my laptop with only one mod and its data in the Data folder at a time, and then I bundle it all up into a zip and use NMM to load it up on my desktop for testing. I always use a clean save (from before my mod was activated). I haven't gotten too far in Skyrim modding and haven't touched creating a new cell yet, but I know I ran into a lot of problems in Oblivion especially with scripts and packages. The best method I found to ensure I got everything right was to test from a clean save at the beginning of the game and slow travel to my load door halfway across the map. I always found COC and fast travel to be unreliable.
  25. Perhaps it will help to try it out on some different machines, maybe it's just a bug in my setup. Soul Gem Mod You should be able to add it pretty quickly with NMM's add from file feature. To test just open the console and type "setstage mg08 200" Thanks for all the help I've already received :) :edit: As an additional note, I can insert !-- and -- so I get <!--Alias=Player--> and the alias gets commented out, and suddenly the rest of the text in my book is visible! This tells me 2 things: the alias is exactly where my problem is, and the carets aren't any funny sort of alternate ascii caret that the game doesn't recognize (like sometimes happens with quotes).
×
×
  • Create New...