Corsayr Posted March 22, 2021 Posted March 22, 2021 28 minutes ago, Monoman1 said: But when I was exiting the menu my PC was swallowing a whole load of cum randomly for reasons that baffled me for a while. Lol. Well, you were just sitting there for a full day hogging the workstation. Alvor got bored
TheArchlich Posted March 22, 2021 Posted March 22, 2021 On 3/21/2021 at 6:42 AM, Monoman1 said: I'll take a look but at first glance I see GetKeywordByString(). They (™) say to try to avoid using this. I don't know the reasons other than it may match more than is intended. The HasKeyword function would always return false even if the correct keyword is present. Besides the possibility of matching something that is not intended is technically possible, but in reality it's 0. And the function clearly exists for a reason, so somebody who created the function definitely disagrees with They (™). Feel free to change it, if you can get it to work tho. On 3/21/2021 at 6:42 AM, Monoman1 said: Also it's purpose. Whatever about forced slave heels, I don't know why you would voluntarily equip footwraps that expose the foot. Anything else would be better and it's essentially the same as going barefoot anyway so I'm not sure I see the point.....? You get the footwraps every time you go to prison and on the vanilla start. Also falmer shoes exist. Also as I said there are modded boots that leave the feet bare. I for example have converted all the boots from The Amazing World of Bikini armors to be barefoot. As for equipping footwraps volunteerly yeah it is pointless, but it's not like it's not pointless in vanilla. And now it's realistic (in my opinion). Also it may seem like not a big deal to you, but it is a big deal if you have a foot-fetish :).
Monoman1 Posted March 22, 2021 Author Posted March 22, 2021 1 hour ago, Corsayr said: Well, you were just sitting there for a full day hogging the workstation. Alvor got bored Thirsty work I guess 1 hour ago, TheArchlich said: And the function clearly exists for a reason, so somebody who created the function definitely disagrees with They (™) There are many functions that exist that have flaws. Existing does not necessarily mean perfection. There are a ton of comments in my code in the line of "God damn bethesda!". Or "because bethesda *sighface*". I'm not saying no. I'm just being disagreeable on that point
Hex Bolt Posted March 22, 2021 Posted March 22, 2021 1 hour ago, Monoman1 said: Just thought I'd throw it out there. Might save someone some time some day. Thank you. I follow the discussion here because I learn things. 1
Monoman1 Posted March 22, 2021 Author Posted March 22, 2021 Posted another small update. https://www.loverslab.com/topic/99955-sexlab-survival/?do=findComment&comment=3322518
Corsayr Posted March 22, 2021 Posted March 22, 2021 Is there an easy way to prevent rapists from using double distilled skooma? I would prefer they only use Skooma whore drugs as I can control the visual effects from that. DDS just makes the screen unviewable.
Lupine00 Posted March 22, 2021 Posted March 22, 2021 9 hours ago, TheArchlich said: The HasKeyword function would always return false even if the correct keyword is present. Besides the possibility of matching something that is not intended is technically possible, but in reality it's 0. And the function clearly exists for a reason, so somebody who created the function definitely disagrees with They (™). Feel free to change it, if you can get it to work tho. I think the TheArchlich is saying nothing wrong with Keyword.GetKeyword(String name) ... and I agree. Whoever "They" are ... I haven't even seen what they are saying, so I can't address specifics. But could be genuinely intended to discuss the DD GetKeywordByString() ... I'm not sure. I'm not 100% clear whether this post was really about GetKeyword() which takes a String, or about the internal DD function GetKeywordByString(). If the latter, I see absolutely no hazard in it... but read the following before returning to that. But here's why GetKeyword() has been involved in past problems... Problems that were real, and caused problems in two popular mods for quite while, and had nothing to do with GetKeyword() having something inherently broken in it. GetKeyword() simply helped obscure a mistake by a mod author. Historically, DD introduced some keywords for its devices; we all know them well. Captured Dreams added some new devices using these keywords. Except it didn't... Due to some CK mistake/bug/who-knows-what CD ended up with its own copies of some of the keywords, in its own ID space - copies that had identical names. So, if you loaded both mods you'd have: DD:zad_DeviousBelt and CD:zad_DeviousBelt These are different Forms. CD didn't inject. CD didn't overwrite. CD had its own distinct form for some keywords. (I don't recall now exactly which keywords were replicated, but it probably included Belt). And the relevant part of this, is that its copy of the keyword had the exact same name as the originals. The result was that - if you had CD installed - calling GetKeyword() could return a different Form to getting the Form by ID, or having it preset into a property. Code that used it appeared to work on certain devices, but failed to work with all of them. GetKeywordByString() is perfectly suited to cross-mod keywording scenarios, just as long as no other mod replicates CDs mistake. There was never an inherent problem with GetKeyword() - what CD did was broken, and some of its devices wouldn't work properly because they effectively had the wrong keywords on them, regardless of how you obtained those keywords, DD would have different Forms for the keywords on its devices. Nothing complicated about it; a very simple problem, and nothing especially wrong with GetKeyword() - replicating keywords in CD was always a mistake, regardless of how they were obtained. The only problem with GetKeyword() is that it can help obscure this mistake, but I don't see how that's a general argument against using it where it's appropriate to do so; that's just FUD. Returning to the DD function GetKeywordByString() ... that is a series of comparisons against defined strings that returns a well-defined keyword object. There's no chance to get the wrong keyword object in this case. GetKeywordByName() in DD is safe. Slow, not particularly useful in most cases, but certainly safe.
Naps-On-Dirt Posted March 22, 2021 Posted March 22, 2021 1 hour ago, Corsayr said: Is there an easy way to prevent rapists from using double distilled skooma? I would prefer they only use Skooma whore drugs as I can control the visual effects from that. DDS just makes the screen unviewable. When a screen effect gets to be too much, or I'm in a sex scene but everything is blurry because of drugs or whatever, I use 'sisme 0' in console. I have NO idea what that stands for, but it removes all screen effects. 1
Hex Bolt Posted March 22, 2021 Posted March 22, 2021 25 minutes ago, Naps-On-Dirt said: When a screen effect gets to be too much, or I'm in a sex scene but everything is blurry because of drugs or whatever, I use 'sisme 0' in console. I have NO idea what that stands for, but it removes all screen effects. SetImageSpaceModifiersEnable Congratulations to SexLab Survival for reaching discussion Page 404. ? 1
Corsayr Posted March 23, 2021 Posted March 23, 2021 20 minutes ago, HexBolt8 said: Congratulations to SexLab Survival for reaching discussion Page 404. ? ikr! Earlier I had opened a bunch of LL pages going through my notifications and right open in a new tab (like i always do), and I happened to glance and see Sexlab Survival page 404, and though "oh god now what?" ? but it was just really page 404 ?
Corsayr Posted March 23, 2021 Posted March 23, 2021 48 minutes ago, Naps-On-Dirt said: When a screen effect gets to be too much, or I'm in a sex scene but everything is blurry because of drugs or whatever, I use 'sisme 0' in console. I have NO idea what that stands for, but it removes all screen effects. I'll try that thanks!
Monoman1 Posted March 23, 2021 Author Posted March 23, 2021 51 minutes ago, HexBolt8 said: Congratulations to SexLab Survival for reaching discussion Page 404 I don't know what you're talking about. This page does not exist 2 hours ago, Lupine00 said: GetKeywordByString() is perfectly suited to cross-mod keywording scenarios, just as long as no other mod replicates CDs mistake. Soo.... If I understand this correctly. HasKeywordString() matches eh... any string match? Exact string match? And then it's the first match by load order right? So IF it's any match and slax was to have keyword 'SLA_BikiniArmor' and SLS has keyword '_SLS_BikiniArmor' then HasKeywordString("BikiniArmor") would try to match SLAXs bikini keyword and would fail on armors that had _SLS_BikiniArmor? Granted it is very unlikely for another mod to have 'barefoot'. Does SLAX? It's not an impossibility. 2 hours ago, Corsayr said: Is there an easy way to prevent rapists from using double distilled skooma? I would prefer they only use Skooma whore drugs as I can control the visual effects from that. DDS just makes the screen unviewable. I think SLS copies skooma whore drug formlist on start up. So if you were to remove DDS from SWs formlist it shouldn't get copied in. But I don't know what effect that would have on SW!
Monoman1 Posted March 23, 2021 Author Posted March 23, 2021 19 minutes ago, Corsayr said: I'll try that thanks! I forgot to say I think this is a once off. On SLS initialization!
Lupine00 Posted March 23, 2021 Posted March 23, 2021 1 hour ago, Monoman1 said: If I understand this correctly. HasKeywordString() matches eh... any string match? Exact string match? I believe this and GetKeyword() are two sides of the same coin. HasKeywordString() is calling GetKeyword(String) internally. It would be strange if it was any other way, but ... Bethesda ... The string must be exact, but is not case sensitive. I've never tried a partial match, but I'd expect that not to work. It's going to use a hash table to find the result, not a slow, iterative, pattern matching search. Also, the sharp observers will note that I cut+pasted the OP's use of GetKeywordByString() which is a DD function, but of course that is not a Bethesda function, the Bethesda native function is just GetKeyword(), which takes a String parameter. I will correct the post to clarify the detail about DD. HasKeywordString() does have the "String" in the name, to distinguish it from HasKeyword(), which takes a Keyword parameter. In SLS, or any other mod except inside DD itself, using GetKeywordByString() offers a dubious benefit. You probably wouldn't have any reason to use it. For completeness, the DD4.2 version of GetKeywordByString() does this: Spoiler KeyWord Function GetKeywordByString(String s) If s == "Hood" Return libs.zad_DeviousHood ElseIf s == "Suit" Return libs.zad_DeviousSuit ElseIf s == "Gloves" Return libs.zad_DeviousGloves ElseIf s == "Boots" Return libs.zad_DeviousBoots ElseIf s == "Gag" Return libs.zad_DeviousGag ; We are generous and allow variations in spelling, because people are going to do that anyway. ElseIf s == "BallGag" || s == "Ball Gag" Return libs.zad_DeviousGag ElseIf s == "PanelGag" || s == "Panel Gag" Return libs.zad_DeviousGag ElseIf s == "RingGag" || s == "Ring Gag" Return libs.zad_DeviousGag ElseIf s == "Collar" Return libs.zad_DeviousCollar ElseIf s == "Armbinder" Return libs.zad_DeviousArmbinder ElseIf s == "Yoke" Return libs.zad_DeviousYoke ElseIf s == "Blindfold" Return libs.zad_DeviousBlindfold ElseIf s == "Harness" Return libs.zad_DeviousHarness ElseIf s == "Corset" Return libs.zad_DeviousCorset ElseIf s == "ArmCuffs" || s == "Arm Cuffs" Return libs.zad_DeviousArmCuffs ElseIf s == "LegCuffs" || s == "Leg Cuffs" Return libs.zad_DeviousLegCuffs ElseIf s == "Belt" || s == "Chastity Belt" || s == "ChastityBelt" Return libs.zad_DeviousBelt ElseIf s == "Bra" || s == "Chastity Bra" || s == "ChastityBra" Return libs.zad_DeviousBra ElseIf s == "NipplePiercings" || s == "Nipple Piercings" Return libs.zad_DeviousPiercingsNipple ElseIf s == "VaginalPiercings" || s == "Vaginal Piercings" Return libs.zad_DeviousPiercingsVaginal ElseIf s == "VaginalPlug" || s == "Vaginal Plug" Return libs.zad_DeviousPlugVaginal ElseIf s == "AnalPlug" || s == "Anal Plug" Return libs.zad_DeviousPlugAnal Endif Return None EndFunction i.e. it tests against specific strings, and returns pre-defined properties, and already did so in DD3.0b which is the first tagged release where it exists.
Monoman1 Posted March 23, 2021 Author Posted March 23, 2021 7 hours ago, Lupine00 said: It would be strange if it was any other way, but ... Bethesda ... I'd have to check that out first. @TheArchlich What barefoot keyword are you using exactly. SLAX doesn't have one and you didn't include an esp so SLS doesn't have it either?
Monoman1 Posted March 23, 2021 Author Posted March 23, 2021 18 hours ago, Monoman1 said: Not sure if aliases on a quest receive the event as well. Having thought about this more since it seems obvious to me now that aliases won't register at the same time as a quest script. They'll register separately. Scripts attached to the same alias will register each other because they're attached to the same form. Scripts attached to different aliases on the same quest will also register separately. A good way to think of this is in terms of 'self'. If self would return a different form then you don't need to worry about it. If it does return the same form then you got to watch out for RegisterForX. 1
TheArchlich Posted March 23, 2021 Posted March 23, 2021 @Monoman1 I didn't include it cause I though you may want to add it directly to SLS esp, which I didn't do. Also, I'm not sure if that matters, but you may wanna add the BareFeet keyword form to the SLS esp and make sure that the form ID is matching. As I say, not sure if that matters at all, but it's the shitty creation engine, so better be safe. FootwrapsKeyword.esp
doomcat9 Posted March 23, 2021 Posted March 23, 2021 hi i downloaded a custom follower and used mcm to add him to the escort list. it seemingly worked but when i try to pay the toll i still see the message women need an escort to leave. please help
chipstick Posted March 23, 2021 Posted March 23, 2021 Hey Monoman1, Just saw that as of SLS0.642, the devious interface scripts have been rebuilt with DD5.1. Hence a new game required plus a rejuggle of load orders for DD5 (at least if we want to keep the DD functionality) Don’t suppose we could just swap the devious interface scripts from an earlier version if we wanted to retain DD4.x functionality? It sounds too simple a solution to be true, but am asking anyway out of a fervent desire to retain both the DD4 load order (too many mods don’t work with DD5) and keep updating with SLS (an essential mod to my LO). Even if that were possible- do you have plans to start using DD5 exclusive feature such as bondage furniture? (If you do, then that’s an additional push point to just adopt DD5. But I will grieve for the mods left behind).
merryMalfunctioning Posted March 23, 2021 Posted March 23, 2021 Is there a good way to register new functions for the SLS wheel menu?
Monoman1 Posted March 23, 2021 Author Posted March 23, 2021 29 minutes ago, chipstick said: Hey Monoman1, Just saw that as of SLS0.642, the devious interface scripts have been rebuilt with DD5.1. Hence a new game required plus a rejuggle of load orders for DD5 (at least if we want to keep the DD functionality) Don’t suppose we could just swap the devious interface scripts from an earlier version if we wanted to retain DD4.x functionality? It sounds too simple a solution to be true, but am asking anyway out of a fervent desire to retain both the DD4 load order (too many mods don’t work with DD5) and keep updating with SLS (an essential mod to my LO). Even if that were possible- do you have plans to start using DD5 exclusive feature such as bondage furniture? (If you do, then that’s an additional push point to just adopt DD5. But I will grieve for the mods left behind). I'd say you'd be safe enough with the recompiled scripts. I didn't actually change anything inside so the function calls are all the same. Nor did I update the device list. What mods are incompatible with 5? As for furniture. The thought did cross my mind. Maybe some day. I haven't even checked it out in game yet. In any case, if I can't do it without a hard dep I won't do it. 2 hours ago, doomcat9 said: hi i downloaded a custom follower and used mcm to add him to the escort list. it seemingly worked but when i try to pay the toll i still see the message women need an escort to leave. please help What follower framework. Havent had any complaints like this for a long time. Check if your follower framework in installed OK. Make sure any file overwrites are legit. You can always set followers required to zero in the toll menu. 10 hours ago, TheArchlich said: @Monoman1 I didn't include it cause I though you may want to add it directly to SLS esp, which I didn't do. Also, I'm not sure if that matters, but you may wanna add the BareFeet keyword form to the SLS esp and make sure that the form ID is matching. As I say, not sure if that matters at all, but it's the shitty creation engine, so better be safe. FootwrapsKeyword.esp 904 B · 2 downloads This leads to the question if @Lupine00 wants (or thinks itd be appropriate) to add a barefoot keyword to Slax instead of SLS....?
Lupine00 Posted March 23, 2021 Posted March 23, 2021 34 minutes ago, chipstick said: Just saw that as of SLS0.642, the devious interface scripts have been rebuilt with DD5.1. Hence a new game required plus a rejuggle of load orders for DD5 (at least if we want to keep the DD functionality) What? I loaded .645 against DD 4.2 and noticed no problems. For me, DD5 is a deal-breaker. DFC doesn't support DD5, and I am unlikely to update it for that any time soon. It works ... mostly ... with DD5, probably as much as it works with DD4 1
Monoman1 Posted March 23, 2021 Author Posted March 23, 2021 4 minutes ago, markdf said: Is there a good way to register new functions for the SLS wheel menu? What kind of functionality? Its not that customizable without scripting.
Lupine00 Posted March 23, 2021 Posted March 23, 2021 54 minutes ago, Monoman1 said: This leads to the question if @Lupine00 wants (or thinks itd be appropriate) to add a barefoot keyword to Slax instead of SLS....? The issue we have with SLAX right now is not ... will I update SLAX? Or could it support another keyword? (Which clearly would be no problem). The issue is, are we happy with a version of SLAX being a hard-requirement for any mod? I don't want to force my keywords and factions on people by "fiat". Babo added SLAX dependency of their own accord, and provides ways to get that with other mods too. I think the Babo mods handle not having the keywords too; they aren't in a situation where they're putting them in dialogs, except the dialogs mod Which I don't have, and have never seen, because it's pay-walled. (Though I'm guessing the English version reads very strangely). I ... think ... you could run the old SLAR codebase against the SLAX ESP with no issues whatsoever if you wanted. But if we're going to do this, I need to be serious about releasing SLAX, and that would mean the current DFC release will be the last for a while. If SLAX is going to be a requirement for multiple things, I'd rather have it in a public GitHub, where people can make PRs, so that's something else that should be done if it's to be a genuine shared resource. 1
chipstick Posted March 23, 2021 Posted March 23, 2021 50 minutes ago, Monoman1 said: I'd say you'd be safe enough with the recompiled scripts. I didn't actually change anything inside so the function calls are all the same. Nor did I update the device list. What mods are incompatible with 5? 49 minutes ago, Lupine00 said: What? I loaded .645 against DD 4.2 and noticed no problems. For me, DD5 is a deal-breaker. DFC doesn't support DD5, and I am unlikely to update it for that any time soon. It works ... mostly ... with DD5, probably as much as it works with DD4 Right, so .645 should work with DD4 then. I misunderstood the implications of the recompiled devious interface scripts then, sorry. Will give it a whirl end of the week or early next week when I have the time to play again. Thank you both for replying and letting me know. As to which mods don’t work with DD5, it’s mainly devious Cidhna and deviously vanilla. Was also looking at adding on the standalone slavery’s comments mod (which runs without slaverun). Been looking at that for a few months now, but me adding it in would require some serious editing of the comments included- which has forestalled its additions
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now