mewwwkittytt Posted February 25, 2016 Posted February 25, 2016 I have done a ton of coding in the past with C, C++, and C#, but I don't yet grasp the entirety of Papyrus scripting. My question is, in sslActorLibrary.psc, there are about 25 lines of anal/vaginal/oral Spell properties [lines 20 to 45], what is the reason it required 25 different properties for permutations of anal1/anal2, vag1/vag2, and oral1/oral2 ? Keep in mind my understanding of what properties are used for is very limited. I just read they are often for transmitting data between the game's data files and the script. I presume there was an inconvenience to .Cast'ing one after the other, but can someone elaborate on why exactly? Spell property Vaginal1Oral1Anal1 auto hidden Spell property Vaginal2Oral1Anal1 auto hidden Spell property Vaginal2Oral2Anal1 auto hidden Spell property Vaginal2Oral1Anal2 auto hidden Spell property Vaginal1Oral2Anal1 auto hidden Spell property Vaginal1Oral2Anal2 auto hidden Spell property Vaginal1Oral1Anal2 auto hidden ... int kVaginal = ((Vaginal || ActorRef.HasMagicEffectWithKeyword(CumVaginalStackedKeyword)) as int) + (ActorRef.HasMagicEffectWithKeyword(CumVaginalKeyword) as int) int kOral = ((Oral || ActorRef.HasMagicEffectWithKeyword(CumOralStackedKeyword)) as int) + (ActorRef.HasMagicEffectWithKeyword(CumOralKeyword) as int) int kAnal = ((Anal || ActorRef.HasMagicEffectWithKeyword(CumAnalStackedKeyword)) as int) + (ActorRef.HasMagicEffectWithKeyword(CumAnalKeyword) as int) Log("Vaginal:"+Vaginal+"-"+kVaginal+" Oral:"+Oral+"-"+kOral+" Anal:"+Anal+"-"+kAnal) if kVaginal == 1 && kOral == 1 && kAnal == 1 Vaginal1Oral1Anal1.Cast(ActorRef, ActorRef) elseif kVaginal == 2 && kOral == 1 && kAnal == 1 Vaginal2Oral1Anal1.Cast(ActorRef, ActorRef) elseif kVaginal == 2 && kOral == 2 && kAnal == 1 Vaginal2Oral2Anal1.Cast(ActorRef, ActorRef) elseif kVaginal == 2 && kOral == 1 && kAnal == 2 Vaginal2Oral1Anal2.Cast(ActorRef, ActorRef) elseif kVaginal == 1 && kOral == 2 && kAnal == 1 Vaginal1Oral2Anal1.Cast(ActorRef, ActorRef) elseif kVaginal == 1 && kOral == 2 && kAnal == 2 Vaginal1Oral2Anal2.Cast(ActorRef, ActorRef) And I'm also wondering about these strings in sslConfigMenu.psc beginning at line 691 under the function "function AnimationSettings()" for instance this line: AddToggleOptionST("AutoAdvance","$SSL_AutoAdvanceStages", Config.AutoAdvance) with the string "$SSL_AutoAdvanceStages". What is the significance of the dollar sign, and where is this variable actually stored? Just in case I wanted to play around with adding a new option.
Guest Posted February 25, 2016 Posted February 25, 2016 Hi. SKSE/SkyUI have a way to provide translations. They have some files for each mod with some "keys" (they start with the dollar symbol) and then the translation for the language. So "$SSL_AutoAdvanceStages" is the key for a string that can be translated in different languages. About the number of "cums", you have three "positions" for the cum: mouth, pelvis, anus. So you need a combination for all of them (7 combinations) in the last version, SexLab, has also some "layering" effect for these textures, to increase the amount of cum if it is received twice. With a combination of the two previous factors you can easly understand why the number of actual "textures" is big.
mewwwkittytt Posted February 25, 2016 Author Posted February 25, 2016 About the number of "cums", you have three "positions" for the cum: mouth, pelvis, anus. So you need a combination for all of them (7 combinations) Not sure I understand why, though. First of all, what is "Spell property XXX auto hidden" exactly? I realize it may be hard to tell at a glance, but I'm sure you can do that faster than me. It seems to me each one is denoting one of three things, and there is an integer that goes along with it. So if instead there were three separate properties for location, and three separate properties for magnitude... Then you could set each one instead of using a property for each combination, right? Or just use three integer properties to denote both, with 0 being "off". But, if I am mistaken in thinking the "property" is a kind of data placeholder then the "spell property XXX" could be something else entirely. Even if the "spell property XXX" denotes an effect applied to the body texture somehow, would it not be possible to use the individual spells in combination and still not need the "all 3" combination properties? Sorry if I'm confusing, I'm confused too.
mewwwkittytt Posted February 25, 2016 Author Posted February 25, 2016 Update, I have attempted to add a checkbox to the MCM for Sexlab. It is at present not working, though. I added a MCM menu option at line 718 or so in sslConfigMenu.psc AddToggleOptionST("AllowLoot","Allow Loot", Config.AllowLoot, (Config.AllowLoot as int)) I then made an entry in the sslSystemConfig.psc file under the "config properties" section bool property AllowLoot auto hidden After which I updated the import/export section of the same file in the function function ExportSettings() Now I plan to utilize it for something silly in the sslActorLibrary file, like looting jizz off someone after an animation. So, I made the changes, started the game, opened the SL MCM and the check box doesn't work. Where have I gone wrong? Update, might be onto something here. https://github.com/schlangster/skyui/wiki/MCM-State-Options It seems a bit odd the state handlers are all over the place in sslConfigMenu [and that there are 3,200 lines of code in this file]. Added an appropriate "state" handler for toggling the checkbox value, now I have to debug incorporating the new feature, so I suppose this is "solved".
Recommended Posts
Archived
This topic is now archived and is closed to further replies.