cdcooley Posted August 11, 2015 Share Posted August 11, 2015 If it's just for the player you could just as easily set a quest stage or a variable in the script that's going to set the glow maps instead of trying to attach something to the player directly. I've never done anything with glow maps and textures via script, so I don't even know if that's possible, but everything else is almost trivial. There's a default script you can add to books to set a quest stage (many of the game's notes use it). And you can create a quest with an alias filled with the PlayerRef and attach a simple script like this to the alias: ScriptName UpdateOnGameLoadIfQuestStageSetScript extends ReferenceAlias Event OnPlayerLoadGame() if GetOwningQuest().IsStageDone(10) ; use whatever quest stage you like ; Set glow maps or any other updates you need endif EndEvent Link to comment Share on other sites More sharing options...
skinnytecboy Posted August 11, 2015 Share Posted August 11, 2015 Hm, I am trying to make a custom voicetype, so that I could use custom power attack grunt sound files. However, it is way more convoluted as it should be. I don't really understand where I can find the entries in the CK. CLosest thing I found, is a quest called DialogueCombatEncounterTypes. It has some of the taunts that are being said to the player (but never by the player) under the rider "combat". Seems like the player is excluded here due to nonplayer factions being used as conditions. Anyway, even with those infos, I don't see where the actual sound files are attached. edit: Basically what I want to do is a) use custom sounds for the power attack grunt, preferably a variation and b) have the player say/grunt other sound files while attacking -> best case just by using dialogue/voice sytem, preferably to scriptsI'm not 100% sure about this, I have a feeling that certain audio is linked to animation hkx files. It could be that this is the case with basic male/female sounds. Link to comment Share on other sites More sharing options...
Biohazard186 Posted August 11, 2015 Share Posted August 11, 2015 If it's just for the player you could just as easily set a quest stage or a variable in the script that's going to set the glow maps instead of trying to attach something to the player directly. I've never done anything with glow maps and textures via script, so I don't even know if that's possible, but everything else is almost trivial. There's a default script you can add to books to set a quest stage (many of the game's notes use it). And you can create a quest with an alias filled with the PlayerRef and attach a simple script like this to the alias: ScriptName UpdateOnGameLoadIfQuestStageSetScript extends ReferenceAlias Event OnPlayerLoadGame() if GetOwningQuest().IsStageDone(10) ; use whatever quest stage you like ; Set glow maps or any other updates you need endif EndEvent To be honest I don't know how to approach this. Papyrus confuses the hell outta me even though I have experience with other coding languages. I don't think a script is going to be able to do what I want. Link to comment Share on other sites More sharing options...
BigBizkit Posted August 11, 2015 Share Posted August 11, 2015 Hm, I am trying to make a custom voicetype, so that I could use custom power attack grunt sound files. However, it is way more convoluted as it should be. I don't really understand where I can find the entries in the CK. CLosest thing I found, is a quest called DialogueCombatEncounterTypes. It has some of the taunts that are being said to the player (but never by the player) under the rider "combat". Seems like the player is excluded here due to nonplayer factions being used as conditions. Anyway, even with those infos, I don't see where the actual sound files are attached. edit: Basically what I want to do is a) use custom sounds for the power attack grunt, preferably a variation and b) have the player say/grunt other sound files while attacking -> best case just by using dialogue/voice sytem, preferably to scriptsI'm not 100% sure about this, I have a feeling that certain audio is linked to animation hkx files. It could be that this is the case with basic male/female sounds. Hm, that could be the case. However, don't all the races use the same animations? If not... now I'd need to edit animations in order to have different grunt sounds. Lovely. Link to comment Share on other sites More sharing options...
skinnytecboy Posted August 11, 2015 Share Posted August 11, 2015 I'm not 100% sure about this, I have a feeling that certain audio is linked to animation hkx files. It could be that this is the case with basic male/female sounds. Hm, that could be the case. However, don't all the races use the same animations? If not... now I'd need to edit animations in order to have different grunt sounds. Lovely. As I said previously, I'm not 100% certain that this is the case for player grunts etc. But it would make sense that they would be "race" related if they were. Anyway, i hope this helps http://forums.nexusmods.com/index.php?/topic/1817090-changing-animation-sound-effects/ Link to comment Share on other sites More sharing options...
Mattiewagg Posted August 11, 2015 Author Share Posted August 11, 2015 I never knew Setpqv was a thing. :O That's cool. MCMs are better though. :tongue:Some people have a pathological aversion to SkyUI so giving them a way to configure it without SkyUI is nice. And if the mod itself doesn't require SKSE functions then being able to configure it from the console is even more important since some people still refuse to use SKSE. For all of the people who complain that MCM doesn't preserve settings across games this gives them the option to store their preferred settings in a BAT file that they can run instead of individually tweaking each MCM control for each new game they start. Making it configurable from the console via a property means it is easier to write the matching MCM so there's really no reason not to implement it that way. (And the MCM page is usually the very last thing I add to a mod, so I need to be able to change things manually during development and early testing.)Oh yes, I agree. I was mostly joking. I like MCMs and use them where able and sensible, but there's certainly alternatives and reasons NOT to use MCMs, or to build your code a certain way even if you intend to hook it up to an MCM. I like to use globals sometimes. You can set them externally and look at them externally with GetFormFromFile too. Link to comment Share on other sites More sharing options...
Biohazard186 Posted August 12, 2015 Share Posted August 12, 2015 (edited) I think I found what I need to take my mod further but, before I begin, is there someone who can help me interpret a Papyrus script? I have experience coding with other languages but Papyrus confuses me. Most of the scripts I look at seems to be referencing things that haven't been declared. I know these things exist but since I don't know how all this works I get lost so fast. ): This is the script I'm looking at. It's attached to a quest and enables Shadowmark textures as fences are acquired by the player. This texture enabling/disabling is what I want to make use of but first I need to understand the script. Scriptname TGFencesQuestScript extends Quest Conditional ObjectReference Property pGulumEnabler Auto ConditionalObjectReference Property pMallusEnabler Auto ConditionalObjectReference Property pEnthirEnabler Auto ConditionalObjectReference Property pNiranyeEnabler Auto ConditionalObjectReference Property pEndonEnabler Auto ConditionalObjectReference Property pKhajiitEnabler Auto ConditionalFaction Property pJobFenceFaction Auto ConditionalFaction Property pJobMiscFaction Auto ConditionalFaction Property pJobMerchantFaction Auto ConditionalFaction Property pTGFaction Auto ConditionalFaction Property pGulumServiceFaction Auto ConditionalFaction Property pMallusServiceFaction Auto ConditionalFaction Property pEnthirServiceFaction Auto ConditionalFaction Property pNiranyeServiceFaction Auto ConditionalFaction Property pNiranyeOldServiceFaction Auto ConditionalFaction Property pEndonServiceFaction Auto ConditionalFaction Property pAtahbaServiceFaction Auto ConditionalFaction Property pMajhadServiceFaction Auto ConditionalFaction Property pZaynabiServiceFaction Auto Conditionalint Property pGulumReady Auto Conditionalint Property pMallusReady Auto Conditionalint Property pEnthirReady Auto Conditionalint Property pNiranyeReady Auto Conditionalint Property pEndonReady Auto Conditionalint Property pKhajiitReady Auto ConditionalReferenceAlias Property pGulumEi Auto ConditionalReferenceAlias Property pMallus Auto ConditionalReferenceAlias Property pEnthir Auto ConditionalReferenceAlias Property pNiranye Auto ConditionalReferenceAlias Property pEndon Auto ConditionalReferenceAlias Property pAtahba Auto ConditionalReferenceAlias Property pMajhad Auto ConditionalReferenceAlias Property pZaynabi Auto ConditionalObjectReference Property pEndonMarker Auto ConditionalObjectReference Property pGulumEiMarker Auto ConditionalObjectReference Property pHonningMarker Auto Conditional Function GulumSetup() if pGulumReady == 0pGulumEnabler.Enable()pGulumEiMarker.Enable()pGulumEi.GetActorRef().AddToFaction(pJobFenceFaction)pGulumEi.GetActorRef().AddToFaction(pJobMiscFaction)pGulumEi.GetActorRef().AddToFaction(pJobMerchantFaction)pGulumEi.GetActorRef().AddToFaction(pTGFaction)pGulumEi.GetActorRef().AddToFaction(pGulumServiceFaction)pGulumReady = 1endif endFunction Function MallusSetup() if pMallusReady == 0pMallusEnabler.Enable()pHonningMarker.Enable()pMallus.GetActorRef().AddToFaction(pJobFenceFaction)pMallus .GetActorRef().AddToFaction(pJobMiscFaction)pMallus .GetActorRef().AddToFaction(pJobMerchantFaction)pMallus .GetActorRef().AddToFaction(pTGFaction)pMallus .GetActorRef().AddToFaction(pMallusServiceFaction)pMallusReady = 1endif endFunction Function EnthirSetup() if pEnthirReady == 0pEnthirEnabler.Enable()pEnthir.GetActorRef().AddToFaction(pJobFenceFaction)pEnthir.GetActorRef().AddToFaction(pJobMiscFaction)pEnthir.GetActorRef().AddToFaction(pJobMerchantFaction)pEnthir.GetActorRef().AddToFaction(pTGFaction)pEnthir.GetActorRef().AddToFaction(pEnthirServiceFaction)pEnthirReady = 1endif endFunction Function NiranyeSetup() if pNiranyeReady == 0pNiranyeEnabler.Enable()pNiranye.GetActorRef().AddToFaction(pJobFenceFaction)pNiranye.GetActorRef().AddToFaction(pJobMerchantFaction)pNiranye.GetActorRef().AddToFaction(pTGFaction)pNiranye.GetActorRef().AddToFaction(pNiranyeServiceFaction)pNiranye.GetActorRef().RemoveFromFaction(pNiranyeOldServiceFaction)pNiranyeReady = 1endif endFunction Function EndonSetup() if pEndonReady == 0pEndonEnabler.Enable()pEndonMarker.Enable()pEndon.GetActorRef().AddToFaction(pJobFenceFaction)pEndon.GetActorRef().AddToFaction(pJobMiscFaction)pEndon.GetActorRef().AddToFaction(pJobMerchantFaction)pEndon.GetActorRef().AddToFaction(pTGFaction)pEndon.GetActorRef().AddToFaction(pEndonServiceFaction)pEndonReady = 1endif endFunction Function KhajiitSetup() if pKhajiitReady == 0pKhajiitEnabler.Enable()pAtahba.GetActorRef().AddToFaction(pJobFenceFaction)pAtahba.GetActorRef().AddToFaction(pJobMiscFaction)pAtahba.GetActorRef().AddToFaction(pJobMerchantFaction)pAtahba.GetActorRef().AddToFaction(pAtahbaServiceFaction)pMajhad.GetActorRef().AddToFaction(pJobFenceFaction)pMajhad.GetActorRef().AddToFaction(pJobMiscFaction)pMajhad.GetActorRef().AddToFaction(pJobMerchantFaction)pMajhad.GetActorRef().AddToFaction(pMajhadServiceFaction)pZaynabi.GetActorRef().AddToFaction(pJobFenceFaction)pZaynabi.GetActorRef().AddToFaction(pJobMiscFaction)pZaynabi.GetActorRef().AddToFaction(pJobMerchantFaction)pZaynabi.GetActorRef().AddToFaction(pZaynabiServiceFaction)pKhajiitReady = 1endif endFunction I understand most of it. AddToFaction is pretty self-explanatory. What I don't understand is the stuff at the top, the declarations. For instance: ObjectReference Property pHonningMarker Auto Conditional. I know what it's referring to, what I don't know is how it's referring to it. pHonningMarker is nowhere to be found in the Creation Kit, although I know it is referring to the Shadowmark next to the door of the Honningbrew Meadery. This particular one is even slightly more confusing because there are two Shadowmarks it could be referring to. As for Auto and Conditional, yeah, no idea. Edited August 12, 2015 by Biohazard186 Link to comment Share on other sites More sharing options...
lofgren Posted August 12, 2015 Share Posted August 12, 2015 I think I found what I need to take my mod further but, before I begin, is there someone who can help me interpret a Papyrus script? I have experience coding with other languages but Papyrus confuses me. Most of the scripts I look at seems to be referencing things that haven't been declared. I know these things exist but since I don't know how all this works I get lost so fast. ): This is the script I'm looking at. It's attached to a quest and enables Shadowmark textures as fences are acquired by the player. This texture enabling/disabling is what I want to make use of but first I need to understand the script. Scriptname TGFencesQuestScript extends Quest Conditional ObjectReference Property pGulumEnabler Auto ConditionalObjectReference Property pMallusEnabler Auto ConditionalObjectReference Property pEnthirEnabler Auto ConditionalObjectReference Property pNiranyeEnabler Auto ConditionalObjectReference Property pEndonEnabler Auto ConditionalObjectReference Property pKhajiitEnabler Auto ConditionalFaction Property pJobFenceFaction Auto ConditionalFaction Property pJobMiscFaction Auto ConditionalFaction Property pJobMerchantFaction Auto ConditionalFaction Property pTGFaction Auto ConditionalFaction Property pGulumServiceFaction Auto ConditionalFaction Property pMallusServiceFaction Auto ConditionalFaction Property pEnthirServiceFaction Auto ConditionalFaction Property pNiranyeServiceFaction Auto ConditionalFaction Property pNiranyeOldServiceFaction Auto ConditionalFaction Property pEndonServiceFaction Auto ConditionalFaction Property pAtahbaServiceFaction Auto ConditionalFaction Property pMajhadServiceFaction Auto ConditionalFaction Property pZaynabiServiceFaction Auto Conditionalint Property pGulumReady Auto Conditionalint Property pMallusReady Auto Conditionalint Property pEnthirReady Auto Conditionalint Property pNiranyeReady Auto Conditionalint Property pEndonReady Auto Conditionalint Property pKhajiitReady Auto ConditionalReferenceAlias Property pGulumEi Auto ConditionalReferenceAlias Property pMallus Auto ConditionalReferenceAlias Property pEnthir Auto ConditionalReferenceAlias Property pNiranye Auto ConditionalReferenceAlias Property pEndon Auto ConditionalReferenceAlias Property pAtahba Auto ConditionalReferenceAlias Property pMajhad Auto ConditionalReferenceAlias Property pZaynabi Auto ConditionalObjectReference Property pEndonMarker Auto ConditionalObjectReference Property pGulumEiMarker Auto ConditionalObjectReference Property pHonningMarker Auto Conditional Function GulumSetup() if pGulumReady == 0pGulumEnabler.Enable()pGulumEiMarker.Enable()pGulumEi.GetActorRef().AddToFaction(pJobFenceFaction)pGulumEi.GetActorRef().AddToFaction(pJobMiscFaction)pGulumEi.GetActorRef().AddToFaction(pJobMerchantFaction)pGulumEi.GetActorRef().AddToFaction(pTGFaction)pGulumEi.GetActorRef().AddToFaction(pGulumServiceFaction)pGulumReady = 1endif endFunction Function MallusSetup() if pMallusReady == 0pMallusEnabler.Enable()pHonningMarker.Enable()pMallus.GetActorRef().AddToFaction(pJobFenceFaction)pMallus .GetActorRef().AddToFaction(pJobMiscFaction)pMallus .GetActorRef().AddToFaction(pJobMerchantFaction)pMallus .GetActorRef().AddToFaction(pTGFaction)pMallus .GetActorRef().AddToFaction(pMallusServiceFaction)pMallusReady = 1endif endFunction Function EnthirSetup() if pEnthirReady == 0pEnthirEnabler.Enable()pEnthir.GetActorRef().AddToFaction(pJobFenceFaction)pEnthir.GetActorRef().AddToFaction(pJobMiscFaction)pEnthir.GetActorRef().AddToFaction(pJobMerchantFaction)pEnthir.GetActorRef().AddToFaction(pTGFaction)pEnthir.GetActorRef().AddToFaction(pEnthirServiceFaction)pEnthirReady = 1endif endFunction Function NiranyeSetup() if pNiranyeReady == 0pNiranyeEnabler.Enable()pNiranye.GetActorRef().AddToFaction(pJobFenceFaction)pNiranye.GetActorRef().AddToFaction(pJobMerchantFaction)pNiranye.GetActorRef().AddToFaction(pTGFaction)pNiranye.GetActorRef().AddToFaction(pNiranyeServiceFaction)pNiranye.GetActorRef().RemoveFromFaction(pNiranyeOldServiceFaction)pNiranyeReady = 1endif endFunction Function EndonSetup() if pEndonReady == 0pEndonEnabler.Enable()pEndonMarker.Enable()pEndon.GetActorRef().AddToFaction(pJobFenceFaction)pEndon.GetActorRef().AddToFaction(pJobMiscFaction)pEndon.GetActorRef().AddToFaction(pJobMerchantFaction)pEndon.GetActorRef().AddToFaction(pTGFaction)pEndon.GetActorRef().AddToFaction(pEndonServiceFaction)pEndonReady = 1endif endFunction Function KhajiitSetup() if pKhajiitReady == 0pKhajiitEnabler.Enable()pAtahba.GetActorRef().AddToFaction(pJobFenceFaction)pAtahba.GetActorRef().AddToFaction(pJobMiscFaction)pAtahba.GetActorRef().AddToFaction(pJobMerchantFaction)pAtahba.GetActorRef().AddToFaction(pAtahbaServiceFaction)pMajhad.GetActorRef().AddToFaction(pJobFenceFaction)pMajhad.GetActorRef().AddToFaction(pJobMiscFaction)pMajhad.GetActorRef().AddToFaction(pJobMerchantFaction)pMajhad.GetActorRef().AddToFaction(pMajhadServiceFaction)pZaynabi.GetActorRef().AddToFaction(pJobFenceFaction)pZaynabi.GetActorRef().AddToFaction(pJobMiscFaction)pZaynabi.GetActorRef().AddToFaction(pJobMerchantFaction)pZaynabi.GetActorRef().AddToFaction(pZaynabiServiceFaction)pKhajiitReady = 1endif endFunction I understand most of it. AddToFaction is pretty self-explanatory. What I don't understand is the stuff at the top, the declarations. For instance: ObjectReference Property pHonningMarker Auto Conditional. I know what it's referring to, what I don't know is how it's referring to it. pHonningMarker is nowhere to be found in the Creation Kit. This particular one is even slightly more confusing because there are two markers it could be referring to. As for Auto and Conditional, yeah, no idea. http://www.creationkit.com/Property_Reference Link to comment Share on other sites More sharing options...
Biohazard186 Posted August 12, 2015 Share Posted August 12, 2015 (edited) That wasn't helpful. I now know what Auto is for. That leaves 99% of my post unexplained. Edited August 12, 2015 by Biohazard186 Link to comment Share on other sites More sharing options...
drewsbrew Posted August 12, 2015 Share Posted August 12, 2015 Here's a question; What do the Wood Elves in Valenwood make arrow shafts out of.... They can't use wood because of the green pact, I know they often make composite bows out of horn and bone fibers, I know they use stone and bone primarily to make clubs, knives, and probably short blades too... but what do they make the arrow shafts out of? The main reason why I ask is because I'm working on a fairly extensive weapons and armor mod that will add weapons and armor (that are lore friendly and make sense) from all of the different provinces. If anyone can help me out here with a reasonable answer that would be greatly appreciated. Link to comment Share on other sites More sharing options...
Recommended Posts