Jump to content

monsto

Premium Member
  • Posts

    150
  • Joined

  • Last visited

Everything posted by monsto

  1. Just in case you never figured this out, you have to HOLD the S key while you drag. It scales the selection as long as you hold the key.
  2. I had this error a few minutes ago. After 6 years of no problems, suddenly I get this message. None too pleased. Anyway, I saw a post I think on steam where someone said that they'd get the problem when they tried to start the game a 2nd time after they'd already started it. They said they'd just clear out the processes in task manager, and it'd be ok. Well, for me, after reboot, it will take "a while" to start the game, much longer than after I've run it at least once. It had taken long enough that I'd forgotten that I started the game, and tried to start it again... then I got the "game is already running message" followed by "failed to initialize renderer". So I rebooted, and now it works. This jives with the drastic measure of un/reinstall, changing .exe security to "allow all users" and a couple of other things... if there is a hung process that has attached the renderer, many of those fixes will free it in some way. So if you have this problem, reboot. Hell it's no worse than all the other "all you gotta do" or "simply" or "just do" or "only thing i ever do" answers in this thread.
  3. People answered elsewhere "shrug" and using that I found "bolero" on the web. It's that kinda bullfighters jacket thing.
  4. In this pic here, the green part that is shoulders and upper arms, what's that piece of clothing called?
  5. Excellent post. Old folks in the house! You've got me by 15 years, but still.
  6. for the longest time it was off, but now it loads default.esp if it exists. If it doesn't exist, it creates it yet loads nothing. I don't want it to load anything at all. how do I turn that off? I can't find an INI entry, and dunno if there's an in-program option somewhere.
  7. The stupid part about the problem here is that I've been running largely the same install/setup for a few years actually, really only adding the odd armor/outfit. All of a sudden, yesterday I noticed the Grey Face Bug (GFB). I was using bodyslide to create zap sliders for the first time. I'd had the GFB about a year after the game was released, and fixed it by finding the entries in FaceGenData/facetint and removing them. The bug affects the player, all NPCs and my mannequins using SPODUM and my mod Chicks 4 Spodum. I'm using Mod Organizer. I have and a bunch more armors than before, and due to trying to get bodyslide zap sliders to work I moved some things around, but the load is largely unchanged. The major change was installing and using bodyslide 423. Here's the stuff I tried that had no effect. found and removed all the various /facetint dirs. Matter of fact, all the entries in all of these dirs were minimum 2 years old.there's no /facetint dir in the skyrim install.put the install order back the way it was before bodyslide install.used savegame cleaner to see if something goofy was in the save, but previous saves (well before the problem) show it as well.Any tips or thoughts or ideas?
  8. The original question, and your first response, was about game keys, which can be disabled with that function. I'm not concerned about other mods. I can't begin to know and i'm not even going to pretend to avoid conflicts with other mods. Simply too many.
  9. global vars ok. I was avoiding MCM as I couldn't get a grip on how to set it up when I looked at it.
  10. int dxcode_variable = 59 ; F1 key UnregisterForAllKeys() RegisterForKey(dxcode_variable) My code is on a playeralias on a nothing shell of a quest. At first I had the lines 2-3 above (and all the other registered keys) in `Event OnInit` until I realized that it was causing my keys to not change at all ever after I updated the script. So I moved it to `Event OnPLayerLoadGame` which works . . . if you load the mod, save the game then load the game. `Event OnPLayerLoadGame` however does NOT work if an earlier version of the script was previously loaded and I load that save. Example. . . I had set keys 9&0 for increment/decrement a var that tracks the players current position. I updated that script a bit, changed the keys to [] and compiled. doing in game `reloadscript scriptname` then reloading that save game, does not affect the key assignments. The rest of the script updates, but 9 & 0 still work and [ ] don't. In order to make it work, I have to either load a more previous save (that didn't have the mod attached, or use a savegame tool to remove the mod (effectively the same thing) So how do I make this work?
  11. https://www.reddit.com/r/skyrimmods/comments/5r4n4p/setting_up_a_modifier_key_shift_alt_etc_for/dd4o0pz/ The crux: Game.disablePlayerControls(); works as advertised. What i'm doing is i have a "mode" key. Press NUM0 to activate my keys. I haven't done it yet, but I'll probably disable everything except movement & looking while in my mods mode by using the flags on that function.
  12. I dunno about all that. I got enough of it to understand it, but the deeper features and interactions are beyond me because i didn't need them. What did you want to know about it? Maybe I can help any a different way.
  13. In papyrus, what's the best way to set up using a modifier key? Like ctrl or alt. I've looked at the Input Script, but i'm unsure of pitfalls, requirements, or are generally the best methods to use those functions. I could probably stab this to death to figure out a way to get it done, but the question is about potential problems and/or the best way to do it. My main concern is that something like Ctrl W would fire the the game bindings for those keys. How can I avoid that?
  14. Papyrus is about half a language. I mean the while versus for loop argument in any language can rage for time immemorial, but there are definitely preferential use cases for both. But you only have while loops here and without a break command. All the hard limitations on the length of arrays. And then there's the general single threaded nature of the entire thing. Consequently, and it's been my experience -- especially over the last few days -- that if you've done something, but you think it's kludgy, and you're wondering if there's a better way to do it? Probably not. However, you might look into JContainers or PapyrusUtil for your backend storage. JContainers allows basically json-like data-mapping, and PapyrusUtil does not but can be directly attached to a form and has lots of little helper methods that JContainers does not. TBPH in my little GalleryCam mod i'm using them both sidebyside because of each of their strengths. Anyway, storing your formlist in a JC construct or directly on an in-game entity with PU (they both have special types for forms) will likely greatly simplify how you deal with the whole thing. In my mod, i have an camera positions in a 2 dimensional JC array... index at the top, with a map of key/value pairs on each index of the array. The user can add/remove camera positions on the list. A "random tour" reads the length of the list, chooses one, gets the data off the position, and uses it for the char. It sounds like you could have a similar thing. Have your 60 paintings (is it?) as assets/forms and your list of Property entries. OnInit, fill a JC Array (so that you get position keys) with the info you need for all 60 items. Then when you need your 26, you do a "while < 26" with Utility.RandomInt(60) and read the entries. I just last night finally got my head wrapped around JC. A couple weeks ago, I got my head wrapped around PU. I'd be happy to help if you have any questions. (Just ask here for the discussion aspect)
  15. I'm one of those Home Tweaker types of skyrim players. I have a couple of custom player homes that I've been just kinda noodling with for a couple years now. Thanks to some recent problems with those cells and the associated bat files, I need to clean things up. My scripted mods are incomplete as yet . . . GalleryCam: setup camera positions in advance, then "Take a Tour" by cycling thru the positions to view the gallery.Stuff Exporter: look at a thing, gather it's position data, and contents if any, then export it to a file. (Would eventually like to just scan the cell an copy everything out. Obviously not a good idea to do on Bleak Falls Barrow, but it'll be fine for a custom player home with only a couple hundred items.)If there's a TL;DR that can be taken away from this it would be this: Nobody told me directly of any of this below. If you did, I apologize for forgetting you as a source. But thru constant rephrasing of search terms, I tripped across the answers via 3rd, 4th, 5th generation clicks and searches. Therefore, by posting a bunch of places, you just might get the one response that gets you started down the path to find the answer. I did wind up getting most of what I wanted by installing a couple of modders tools, but I thought I'd post all my discoveries for posterior. Can you add extra data to an asset? Yes, using PapyrusUtil.SKSE plugin that allows you to save any amount of int, float, form and string values on any form or globally from papyrus scripts. Also supports lists of those data types. These values can be accessed from any mod allowing easy dynamic compatibility. For the gallery, I wanted to add some info to a marker (fov and sgtm, more on that below). This mod provides a simple, clean interface for doing it, along with other tools and helpers . . . including, exporting data to file. Can you place the player at an arbitrary point in space. While this question lead to a number of discoveries, none of which were positive, the answer is ultimately yes, using ConsoleUtil.Papyrus functions behave very differently compared to their console command counterpart. I could do exactly what i wanted via console, but not even close via papyrus.Using papyrus, you cannot place the player at an arbitrary point in 3d space. The Z position will be dropped to nearest horizontal before spawning the player. They don't fall, they're just on the floor when they get to XY coords.Using papyrus, you cannot set the players X-axis/vertical view (chin to chest), the directives are simply ignored. Z-axis(turning head) worked only half the time.In other words, given a 6-point position (xyz position, xyz angle) using the console, you can set 5 points (no tilt, y axis (ear to shoulder)). Using papyrus, with regards to the player, you can only set 3 (xy position, sometimes z angle) Using ConsoleUtil, I was able to issue console commands, from papyrus, silently (no console pop). This allowed setting FOV and SetGameTimeModifier (can't do these in papyrus) for dramatic gallery effects. Can you look at a characters gear and get a copy of it?This one's a tuffie. You can get the slot, and do GetFormID(), but it returns the item in decimal not hex. With in game papyrus, you can just pass the object (programming object, not skyrim object) or variable to the next actor. But since I tabled Stuff Exporter while I worked on GalleryCam, the jury is still out on whether or not exporting/importing a decimal formId will be acceptable to papyrus. ConsoleUtil also lead me to a snippet of code for building your own console commands which is great for the Stuff Exporter. With the planned options, a key/spell wouldn't be enough and building menus would have been super tedious. I finished the prototype of the GalleryCam yesterday: Get into position, use keys to set sgtm/fov (since you can't detect those settings and I want to track them). Use the "place a marker" key and it does a placeatme with a marker and adds fov/sgtm to the marker. To tour the markers, I get all the furnitures (marker base object) in the cell, check for isCameraMarker keyword, then setposition the player to the marker position (not player.moveto() which unvoluntarily pauses after the move). However, in order to truly manage the markers tho (delete, move/update, keep certain order, etc), i think I need to dispense with the markers entirely and use a PapyrusUtil list that's attached to the cell. I'm betting it will be faster (not having to search the whole cell) and be much more flexible. All in all, I've not only learned how crazy papyrus is and that Beth put up arbitrary walls in the game & lang, but I think i'm now like a 5th Degree Google-Fu Black Belt as when it was all said and done, I tended to have answers for all my questions even if I didn't like them. I hope this post helps someone along the way.
  16. Alright so how exactly would I use getbaseobject() in this script (scroll to "Example") to return the object id of the worn item?
  17. Here's the basic story. Generally speaking, all my logic works but I'm not getting the info i need. I can iterate thru the armors on a mannequin, but I don't know what functions to use to get the FormID.I can see what looks like the entire actor header for the mannequin (mannequin name with formid), but how do i get just the ID (without going thru string reduction s#*&#33;)? Thanks to the script on this page here, I can iterate thru the equipment slots on the target.
  18. Also said, what I posted was the output. It's an illustration of the data I'm getting which is neither the dynamic objectid, nor the permanent formid. To put it in concrete terms, the question is how do I get either the formid or the objectid of the thing that i'm looking at in game via papyrus? Because the getformid() return is useless.
  19. I have a playerhome with mannequins everywhere. Thanks to some CK f*#@ery, the construction is broken. I can't seem to fix it, and the save game is bloated as f*** anyhow. So I figured I'd write an exporter using one of the several tools out there, rebuild the home, start a brand new save, then import the data. Using PapyrusUtil, I have written a construct that looks at the item undercursor. It reads the target item id, and it's gear id's. My construct can read all of that, but it's not storing the skyrim ref/obj/form id... what it's writing is probably the object (as in OOP object) id. { "float" : { "[aasluckmannhuman < (ff000ce9)>]" : 94.622, "x pos" : -492.02, "y pos" : 443.97, "z ang" : 94.622, "z pos" : 74.003 }, "form" : { "[aasluckmannhuman < (ff000ce9)>]" : "3430|CrimsonTwilightArmor.esp", "crimson twilight armor" : "3429|CrimsonTwilightArmor.esp", << SUPPOSED TO BE "name": "id" "crimson twilight boots" : "3430|CrimsonTwilightArmor.esp", "crimsontwilight gauntlet" : "3431|CrimsonTwilightArmor.esp", "id" : "3305|62.FF" << Supposed to be the ID of the mannequin } }Bottom line is that I don't want to redo these mannequins or I need to somehow fix the broken cells. (load the game, there's all mannequins but no walls. COC to the cell i need and I get all walls and no mannequins, and am unable to return to the original cell or find it in CK.) So as a solution, I thought this export the mannequin data as it kills a bunch of birds with one stone (including savegame bloat). To put it in concrete terms, the question is how do I get either the formid or the objectid of the thing that i'm looking at in game via papyrus? Because the getformid() return is useless. If there's possibly a better/different/easier way, I'd be happy to hear it. But if not, I'd like to get the proper info to write to the file.
  20. I know that normally the value has to be in a property in order to be read externally. However the info I've seen about this talk about variables from an obvious "elsewhere"... like a piece of equipment getting data from a quest. Here, I'm standing looking at the mannequin (from SPODUM). Console > selecting the mannequin > 'showvars' shows the data I want (mannPoseType = 2). Can I read that data into a variable for my local script?
  21. MORE PEOPLE NEED TO DO THIS KIND OF FOLLOWUP. I'm here trying to figure out where to attach and read keypress, and I think your post here helped me . . . I'll use "an otherwise blank script" to attach it to, which, apparently, will be inited on a loadgame. main menu coc I guess doesn't actually "Load" anything, so it seems a some inits are probably bypassed. Thanks!
  22. That is unfortunate. Of course, the simple place to put it would be on the functions. Also, if the CKWiki was as in depth as say python.org docs we wouldn't be having this conversation. Papyrus isn't near as complex as python. But I suppose the documentation was probably written by the programmers, and while programming is fun, documenting and commenting is not. Trying XMarkerHeading right now. [EDIT] didn't work. player.getpos x = 0 It's a stupid limitation. Especially since the console commands work as expected.
  23. Thanks. I was . . . well, beyond just beginning to suspect something like that. a collision plane it is then. Have any thoughts on the whole "cant rotate player on X" deal? At no point thruout this whole deal have I been able to force vertical view rotation onto the player. Z (compass) happens under the right circumstances, but never X. 2ndarily . . . is this spelled out somewhere in the documentation? This is my favorite part of this whole thing that necessary papyrus knowledge doesn't exist anywhere concretely, it's passed down thru the generations from father to son like witch doctor rituals or geopoliticial secrets.
  24. Welp . . . no love. Bracketing any of the move functions with Game.GetPlayer().SetMotionType() (4 then 1) had no effect.Game.GetPlayer().TranslateToRef(x, 500, 120) (x is the ObjRef) slides the player to the XYZ destination, but without changing any angles.putting Game.GetPlayer().SetAngle(x.GetAngleX(), x.GetAngleY(), x.GetAngleZ()) along with the above translation first puts the player on the floor then slides the player from there to XYZ destination, setting Z angle but not X angle.a note on SetAngle discussion tab said that X angle wouldn't be set without toggling collision. Following the code snippet on the page, bracketing translate, moveto or setpos/angle with Debug.ToggleCollisions() had no effect.Either there's some kind of limitation there, or I've fat-fingered and been blind to a typo so here's the code. It's unclean right now as it's the aftermath of inserting, changing, commenting all these attempts, but the crux is there and should be clear enough. Scriptname CameraTourNodes extends activemagiceffect {Go from one camera node to another after a short wait} Furniture Property CamMarker Auto Keyword Property isCameraMarker Auto {camera marker} Function mbMovePlayerTo(ObjectReference x) {Get the position of the marker and set the position of the player.} Debug.ToggleCollisions() ;Game.GetPlayer().SetPosition(x.GetPositionX(), x.GetPositionY(), x.GetPositionZ()) Game.GetPlayer().SetAngle(x.GetAngleX(), x.GetAngleY(), x.GetAngleZ()) Debug.ToggleCollisions() endFunction EVENT OnEffectStart(Actor akTarget, Actor akCaster) ; what cell? Cell kCell = Game.GetPlayer().GetParentCell() ; Get number of furnitures in cell int numfurns = kCell.GetNumRefs(40) int furncount = numfurns ; keep the original count int i = 0 ; start the traversal While (i < furncount) Game.GetPlayer().SetMotionType(4) game.disableplayercontrols(true, true, true, true, true, true, true, true, 0) ObjectReference x = kCell.GetNthRef(i, 40) Debug.Notification(i + "/" + numfurns + ": " + x) if x.HasKeyword(isCameraMarker) ;mbMovePlayerTo(x) ;/Debug.ToggleCollisions() Game.GetPlayer().SetPosition(x.GetPositionX(), x.GetPositionY(), x.GetPositionZ()) Game.GetPlayer().SetAngle(x.GetAngleX(), x.GetAngleY(), x.GetAngleZ()) Debug.ToggleCollisions()/; Debug.ToggleCollisions() ;Game.GetPlayer().TranslateToRef(x, 500, 120) Game.GetPlayer().MoveTo(x, abMatchRotation = true) Utility.wait(3) ; bask Debug.ToggleCollisions() endif i += 1 Game.GetPlayer().SetMotionType(1) endWhile game.enableplayercontrols(true, true, true, true, true, true, true, true, 0) endEvent If you want to see the entire mod, I have it up on BitBucket and will give you access if you want.
×
×
  • Create New...