-
Posts
747 -
Joined
-
Last visited
Everything posted by csbx
-
[LE] Quick Questions, Quick Answers
csbx replied to Elias555's topic in Skyrim's Creation Kit and Modders
Basic question, but I've looked at it for a couple of hours and still don't understand I'm trying to call a function from a script attached to the quest within a dialogue fragment and I just don't know how to do that. Any pointers ? -
Um - yes. Yes I did. Thanks for weeding through the mire and noticing that ! I think now the problem is that I don't know how to reference the function that's in the script attached to the quest. I'm trying to call it here in the dialogue script. I'm trying to call: isLocationDiscovered(ObjectReference akMapMarker)
-
While laying this out here, I'm positive there's a better way to do this, so I'm open to any suggestions. What I'm trying to do is have a player need to discover 3 (randomly selected) locations for dialogue to open up with an npc. In the first quest stage fragment I set 3 global variables to integers each of which refers (via index) to objects in a Formlist (locations). So in the first quest stage fragment I have: csbMagLocHunt01.SetValueInt(place01) ; where place01 = random 0..6 csbMagLocHunt02.SetValueInt(place02) csbMagLocHunt03.SetValueInt(place03) In the 'end' fragment for npc dialogue I have (ie. every time you talk to them): --------------------------------- if csbmaglochunt01 != 69 ; ie if player hasn't found that location if IsLocationDiscovered(csb_ScoutLocLoc.getat(csbmaglochunt01.getvalue())) csb_scoutlocloc is a formlist with locations csbMagLocHunt01.SetValueInt(69) ;to denote player has found the location endif endif if csbmaglochunt02 != 69 if IsLocationDiscovered(csb_ScoutLocLoc.getat(csbmaglochunt02.getvalue())) csbMagLocHunt02.SetValueInt(69) endif endif if csbmaglochunt03 != 69 if IsLocationDiscovered(csb_ScoutLocLoc.getat(csbmaglochunt03.getvalue())) csbMagLocHunt03.SetValueInt(69) endif endif ------------------------------------ Attached to the quest is the following borrowed script--ie. not mine. Bool Function isLocationDiscovered(ObjectReference akMapMarker) if akMapMarker.IsMapMarkerVisible() == True if akMapMarker.CanFastTravelToMarker() == True return true endif endif return false EndFunction ------------------------------------------------------- First problem I have is that it doesn't like csbMagLocHunt02.SetValueInt(69), saying the property is 'already defined'. Any ideas ?
-
Script to generate unique random numbers between 0..10
csbx replied to csbx's topic in Skyrim's Creation Kit and Modders
That's awesome - I could not see at all how any of my code was superfluous and yet I count the lines of yours and clearly some of it was ! Great demonstration of clunky code from a beginner and the elegant rendering of a seasoned pro. Thanks ! Thanks also for the more general code--which I'll dig through just to know how to think about such a thing. -
Though I haven't tested this in game, I think this bit of code should work to randomly generate 3 UNIQUE numbers between 0 and 6. I don't really do script writing so I'd appreciate any suggestions re: syntax but also re: efficiency. Is there a more elegant way to handle this ? Background: this is run one time per gameplay. Int place01 Int place02 Int place03 Int maybe place01 = Utility.RandomInt(0, 6) maybe = place01 while (maybe == place01) maybe = Utility.RandomInt(0, 6) If (maybe != place01) place02 = maybe Endif endwhile maybe = place02 while (maybe == place01 || maybe == place02) maybe = Utility.Randomint(0,6) If (maybe != place01 && maybe != place02) place03 = maybe Endif endwhile
-
Thanks - I was curious about AtlasMM so I'll definitely have a look. Yeah, both the rando npc guard dialogue AND the radiant system gives away to the player the pertinent location via a map marker suddenly appearing on the map for a given location. Clearly that makes sense from a gameplay perspective given that the game provides no means to find these locations without wandering and randomly stumbling upon them. But I'm super curious about finding another way to handle all of this and it would require essentially preventing these 'helpful' locational markers from appearing on the map --- unless the player literally has walked up to a given location.
-
I'm looking for a way to only allow a location marker to be placed on the map IFF the player has travelled to and discovered the location. In other words, if the player receives a radiant quest to a particular location, I DON'T want for the player to have that location added to their map (assuming they haven't already visited said location). I'm fairly certain there's no vanilla way to accomplish this and no mod to accomplish this. Would it be doable to implement ? MODERATOR: could I get this moved to Creation Kit and Modders ? My bad !
-
Creating random variations of npc response via sharedinfo
csbx replied to csbx's topic in Skyrim's Creation Kit and Modders
Lol. You're totally correct. I added them to the later catchall one. And in the process I learned how to call from formlists. I just needed to change it to: Game.Getplayer().Additem(CsbItemChoice.getat(MyGlobal.GetValueInt()), 1) It's all working. You're a genius, man - somehow understanding my ramblings and pointing to the solutions ! -
Creating random variations of npc response via sharedinfo
csbx replied to csbx's topic in Skyrim's Creation Kit and Modders
Okay - I think I found a possible direction. I've created a formlist and added: Game.Getplayer().Additem(CsbItemChoice.getat(MyGlobal as int), 1) where csbitemchoice is defined as a formlist. But it doesn't like 'myglobal as int'. -
Creating random variations of npc response via sharedinfo
csbx replied to csbx's topic in Skyrim's Creation Kit and Modders
The clever method you propose makes sense to me and I've started re-mapping what I have in this structure. The problem I have is the following: I have (let's say) 100 possible player topics (a list, really). Each links to an 'invisible continue' dialogue which itself has 3 sharedinfo variant comments where I then handle the fragment code as well. All good so far and I've avoided creating 300 redundant entries. The problem is that I'm giving the player a misc.object depending on their selection. How do I write up one fragment in that catchall topic that I've funnelled all the other topics to ? I write Game.Getplayer().Additem(csbitem, 1) but I need the property of csbitem to reflect an index rather than a fixed misc.object (the names of the objects are e.g. csbitem1, csbitem2 etc.) I've used a global var. to carry the index number from the player choice, but I'm lost in terms of how to implement that in the fragment.. Maybe I need to use a massive if elseif endif ? It will be as much as 90 deep ! -
Creating random variations of npc response via sharedinfo
csbx replied to csbx's topic in Skyrim's Creation Kit and Modders
I really appreciate your help here--I just never would have thought of this. I'll have a long look -- thanks a lot ! -
Creating random variations of npc response via sharedinfo
csbx replied to csbx's topic in Skyrim's Creation Kit and Modders
Yep - that worked. Thanks a lot ! It does unfortunately make the task much more bloated than I had hoped--adding e.g. 3 variant lines per player line--because I have about 250 player lines to handle. I'm definitely building this mod with the elegance of a neanderthal, but I guess I have to build it in a way I understand before I can graduate to a more slick method. I'm essentially using player dialogue section to create a kind of menu of options for the player to pull info from an npc. Player dialogue is probably not the best way to handle this. hm... -
Creating random variations of npc response via sharedinfo
csbx replied to csbx's topic in Skyrim's Creation Kit and Modders
I've attached what I have set up in the sharedInfo section. From what I can see I'm following the above (except not using 'hello') but I'm only ever getting the first response in the stack. What confuses me is: if I'm making multiple responses that each satisfies the conditions (each is a variant of 'here you go'), then the first line will be used, and the rest of them are therefore never appearing. I realize I'm very out of my depth here so am misunderstanding something. But the effect I want is for the Infos I add in that sharedinfo section to be selected randomly as an end to the conversation. As of now, only the first every plays. -
Good question--I've definitely run into that problem. A couple of things to help: 1) When you run LOOT it generally gives you tips about patches it sees are available yet not used--doesn't catch all of them, but.. 2) If you install a mod with a bunch of patch options, maybe just make a note of that in the notes section in mod organizer--if added to the right area you can scan through all your mods and look at that notes column to track down those you've marked.
-
I just successfully figured out how to harness the power of sharedinfo to re-purpose the same response across a range of inputs for a given NPC. For example, he gives an item, he says 'here you go !' But what I cannot figure out is how to add a couple of variations to that npc response to reduce repetition, add a bit of flavor. I thought that by adding multiple response texts (and recorded voice for each) in the Topic window for the SharedInfo type (under Misc) and choosing Random End for each of them, that would get it done. But instead the npc just buzzes through all of the lines in quick succession. How do I get this working ?
-
Need help with how to structure a mod I'm working on
csbx replied to csbx's topic in Skyrim's Creation Kit and Modders
After having a look at BQ01 I'm not sure that will get it done. The issue is that each one of my notes are distinct--they can't be hobbled together with a series of alias placeholders. I guess I'm just wary of adding several hundred unique notes but maybe in the end it's not actually problematic. -
Need help with how to structure a mod I'm working on
csbx replied to csbx's topic in Skyrim's Creation Kit and Modders
Thanks a lot. I'll have a look at that approach. -
You're not wrong here, my friend.
-
In the mod I'm working on I want for the npc to give a 'note' item to the player with (obviously) text that I have written up. My problem is that by the nature of this mod there will be hundreds of such note possibilities (based on what the player does) and I'm concerned about the mess of introducing hundreds of objects in this way in the CK. Is there any way to do this via a script without requiring a unique object for every one of these notes ? Or if I'm giving the player a note, does that note simply have to be created in the CK ? Is there some other creative solution for this problem ?
-
I'm looking for a mod that allows the player to, either by talking to an npc, or some other mechanism, receive a short and basic description of where a particular place is. Imagine being given a quest that does NOT create a map marker, but for which you could acquire a rough description of a direction that would require you to walk the lands and scout a little bit, rather than having a homing beacon on the map that renders the discovery process almost moot. What should that description be ? I think it should be relative directions based on the major cities but also other locations you have discovered. E.g. if you're given a quest to go to Cracked Tusk Keep, you would receive the directions: "along the western border of Skyrim, west of Falkreath". If you had discovered Sleeping Tree Camp, the direction to Broken Fang Cave might be "North West of Sleeping Tree camp". In other words, the direction would attempt to find the closest discovered location and then to base simple directions relative to that. I'm fairly sure such a thing does not exist - but am I wrong ?
-
I realize this may be a pretty obscure question, but it's this: I notice that while I have my exteriors looking fairly dark at night, that change (via darker nights mod) doesn't manifest for interiors--e.g. in the Bannered Mare upstairs you can see through a gap in the roof. It appears that I'm seeing vanilla levels being applied to the sky. The question: is there a mod for adjusting this in a broad multi-cell way in a way that reflects the darkness of the sky as I have it set for the exterior ?
-
If you use dyndolod, open the mcm while there in-world, find the co-ordinates (e.g. block #s) of the location and then load up sseedit (with the co-ordinates) to see which mods are changing that area. The static probably has 'dock' in it, so should be easy to find. Or if you have mods that you KNOW edit that area, do a binary search: ie., untick half of them in mod organizer (or whatever), check in game to see if fixed. If not fixed, the culprit is in the other half.
-
Thanks ! What I found is that it's (among others) impjaildoor02.nif etc. It's very confusing, though, because when I find the vanilla version of this mesh in the .bsa, it appears to have a flat collision that should prevent, e.g., taking things through the bars. Nothing is overwriting it that I can see.
-
I just noticed that somehow the jail doors / walls in my loadout have precise collision so that I can activate 'through the bars' and shoot arrows though. Though I can imagine how some might see that as a feature, I'm annoyed by it because it violates the intended game design of vanilla skyrim and the mods I have (Valtheim in particular). This is a long shot, but does anyone have an idea of what mod would change these meshes ? I tried disabling SMIM and my other large visual overhaul mods but I can't seem to get back to vanilla behavior. Am I wrong that vanilla behavior is /not/ being able to reach through bars, shoot through them ? Edit: I just disabled all mods in a new profile in MO2 and, well, turns out that even vanilla Skyrim SE seems to have altered these meshes. Perhaps OG skyrim is what I'm remembering. New question: any mods to add the old-style meshes back ?