rokypukes Posted October 25, 2025 Posted October 25, 2025 Hello, I’m a player from a non-English-speaking country. I’ve really enjoyed using the original SL triggers, so I’ve been very interested in the Redux version as well. However, since so many things have changed—and even after reading the Github wiki there are still a lot of unclear parts—I decided to write this post. I’m currently looking for a trigger that does the following: 1. Targets the partner (or Player) 2. Equips a specific piece of equipment when the scene starts 3. Removes that equipment when the scene ends If anyone has written a similar sltyscript file, I would sincerely appreciate it if you could kindly share it.
hextun Posted October 25, 2025 Author Posted October 25, 2025 3 hours ago, rokypukes said: Hello, I’m a player from a non-English-speaking country. I’ve really enjoyed using the original SL triggers, so I’ve been very interested in the Redux version as well. However, since so many things have changed—and even after reading the Github wiki there are still a lot of unclear parts—I decided to write this post. I’m currently looking for a trigger that does the following: 1. Targets the partner (or Player) 2. Equips a specific piece of equipment when the scene starts 3. Removes that equipment when the scene ends If anyone has written a similar sltyscript file, I would sincerely appreciate it if you could kindly share it. Created a template for SLTScript to equip item to player, wait for SL end, and unequip item from player. 1
rokypukes Posted October 26, 2025 Posted October 26, 2025 (edited) 5 hours ago, hextun said: Created a template for SLTScript to equip item to player, wait for SL end, and unequip item from player. Thank you very much for providing the template. I tried adjusting various parts based on what you shared, but since my framework is OStimSA rather than SexLab, it unfortunately doesn’t function as intended. For testing purposes, I replaced the item in your shared template with the Amulet of Mara from Skyrim.esm, so that anyone could easily test or modify it. Please note that the code I’m sharing here does not actually work in the OStimSA environment. The purpose of posting it is to show “this is what I tried, but it didn’t work”—in hopes that it might help others avoid the same mistake, or that someone might find a way to fix or improve it. If you think this post could cause confusion or mislead others, please don’t hesitate to let me know. I’ll gladly take it down right away. ; change this to something other than $system.player (e.g. $system.partner) to target a different actor for some reason ; To designate the player = set $target_actor $system.player ; To designate the partner = set $target_actor $system.partner set $target_actor $system.partner ; If the framework used is Sexlab = sl_isin $target_actor ; If the framework used is Ostim SA = ostim_isin $target_actor ostim_isin $target_actor if $$ == false return endif ; change these two values appropriately to the formid and armor slot of the item to add/equip/unequip/remove ; I am trying to create an example where the Amulet of Mara is equipped during a Sexlab or Ostim scene and removed when the scene ends ; The Base ID of Amulet of Mara is 000C891B, so convert the hexadecimal C891B to decimal and use 821531 ; Even without converting hexadecimal to decimal, it seems you can use Skyrim.esm:0xc891b ; The item slot for Amulet is generally as follows, Slot = 35 (Amulet) set $item_to_equip "Skyrim.esm:0xc891b" set $item_slot 35 ; add and equip item_addex $target_actor $item_to_equip 1 true item_equipex $target_actor $item_to_equip $item_slot false false ; wait til done util_waitforend $target_actor ; unequip and remove item_unequipex $target_actor $item_to_equip $item_slot item_remove $target_actor $item_to_equip 1 true (Not Work) Equip Mara Amulet Scene.zip Edited October 26, 2025 by rokypukes
hextun Posted October 26, 2025 Author Posted October 26, 2025 (edited) 7 hours ago, rokypukes said: Thank you very much for providing the template. I tried adjusting various parts based on what you shared, but since my framework is OStimSA rather than SexLab, it unfortunately doesn’t function as intended. For testing purposes, I replaced the item in your shared template with the Amulet of Mara from Skyrim.esm, so that anyone could easily test or modify it. Please note that the code I’m sharing here does not actually work in the OStimSA environment. The purpose of posting it is to show “this is what I tried, but it didn’t work”—in hopes that it might help others avoid the same mistake, or that someone might find a way to fix or improve it. If you think this post could cause confusion or mislead others, please don’t hesitate to let me know. I’ll gladly take it down right away. ; change this to something other than $system.player (e.g. $system.partner) to target a different actor for some reason ; To designate the player = set $target_actor $system.player ; To designate the partner = set $target_actor $system.partner set $target_actor $system.partner ; If the framework used is Sexlab = sl_isin $target_actor ; If the framework used is Ostim SA = ostim_isin $target_actor ostim_isin $target_actor if $$ == false return endif ; change these two values appropriately to the formid and armor slot of the item to add/equip/unequip/remove ; I am trying to create an example where the Amulet of Mara is equipped during a Sexlab or Ostim scene and removed when the scene ends ; The Base ID of Amulet of Mara is 000C891B, so convert the hexadecimal C891B to decimal and use 821531 ; Even without converting hexadecimal to decimal, it seems you can use Skyrim.esm:0xc891b ; The item slot for Amulet is generally as follows, Slot = 35 (Amulet) set $item_to_equip "Skyrim.esm:0xc891b" set $item_slot 35 ; add and equip item_addex $target_actor $item_to_equip 1 true item_equipex $target_actor $item_to_equip $item_slot false false ; wait til done util_waitforend $target_actor ; unequip and remove item_unequipex $target_actor $item_to_equip $item_slot item_remove $target_actor $item_to_equip 1 true (Not Work) Equip Mara Amulet Scene.zip 774 B · 0 downloads There are some ostim_* variants for SL functions, including ostim_isin and ostim_waitforend, so I whipped up quick OStim template for equipping an item, waiting for end, and unequipping the item. Edited October 26, 2025 by hextun
jakenbake Posted October 28, 2025 Posted October 28, 2025 Hey, I'm trying to find a trigger that would make it so I can press a hotkey and the player or target does not receive pleasure, for example if my character is giving head to someone it doesn't make sense that she's getting off and is about to orgasm. Does anyone have any ideas on how I could accomplish this? Thanks. 1
hextun Posted October 30, 2025 Author Posted October 30, 2025 On 10/28/2025 at 5:53 AM, jakenbake said: Hey, I'm trying to find a trigger that would make it so I can press a hotkey and the player or target does not receive pleasure, for example if my character is giving head to someone it doesn't make sense that she's getting off and is about to orgasm. Does anyone have any ideas on how I could accomplish this? Thanks. Option 1: The Direct Answer To directly answer your question, if you wish to have a hotkey that will disable the player's ability to have a natural SL orgasm (some mods or effects can force one), just create a hotkey trigger mapped to whichever key you want and target the following script: sl_disableorgasm $system.player true That's it. During a scene, when you would then press that hotkey, orgasms would be disabled. ---- But wait, there's more. Option 2: Tag-based filter If, on the other hand, you know simply that you want to disable orgasms specifically for oral, you could create a trigger for "SexLab - Start" using filters: - Tag: Oral - Player Relationship: Player with the same script as above. Then when an oral scene starts, the script will run and orgasms would be disabled without requiring a keystroke. I feel this is less immersion breaking, but of course you may disagree. 2
NicholasJMoore Posted October 30, 2025 Posted October 30, 2025 I've been beating my head on this for over an hour and I've searched this forum, but I still can't get it to work the way I want. I need a bit of help. I must have this configured wrong. Is there something I can change to do what I want? Screenshot from the UI is in the spoiler to save page space. Goal: Player is in scene Male player partner orgasms Animation is Oral Scripts run Player heals script Player eats sweets script Player eats alcohol script Player learns Mage skill script Spoiler
tatkaa4 Posted October 31, 2025 Posted October 31, 2025 Good afternoon. I really don't like the situation when GG was raped 10 times, but she stood up as if nothing had happened. You can come up with a script so that after the rape scenes, she would lie or sit for a while, with a loss of strength. Or just an animation that would start, or the indicators (life, endurance) would drop. I don't understand anything about it at all, if someone knows how, give me a sample. Thank you.
hextun Posted November 1, 2025 Author Posted November 1, 2025 On 10/30/2025 at 11:55 AM, NicholasJMoore said: I've been beating my head on this for over an hour and I've searched this forum, but I still can't get it to work the way I want. I need a bit of help. I must have this configured wrong. Is there something I can change to do what I want? Screenshot from the UI is in the spoiler to save page space. Goal: Player is in scene Male player partner orgasms Animation is Oral Scripts run Player heals script Player eats sweets script Player eats alcohol script Player learns Mage skill script Hide contents Link to the trigger/event/filter docs: https://github.com/lynnpye/sl_triggers/wiki/Events,-Triggers,-and-Filters (if anyone looks them over and has suggestions for improvement, please let me know) Correct configuration I believe the configuration you want is: Trigger: SexLab, Orgasm, Separate Player Relationship: Partner Player Sex: Male SL Tag: Oral This says, "When a separate orgasm happens..." "... for a partner of the player..." "... where the actor is male..." "... and the scene is tagged Oral." vs. Current Configuration The configuration in the screenshot says, "When a separate orgasm happens..." "... for a partner of the player..." "... where the actor's partner is male..." <-- key difference: would only work if the player (who is the actor's partner in this case due to the player relationship setting) is male, which is atypical for these mods "... and the scene is tagged Oral."
hextun Posted November 1, 2025 Author Posted November 1, 2025 22 hours ago, tatkaa4 said: Good afternoon. I really don't like the situation when GG was raped 10 times, but she stood up as if nothing had happened. You can come up with a script so that after the rape scenes, she would lie or sit for a while, with a loss of strength. Or just an animation that would start, or the indicators (life, endurance) would drop. I don't understand anything about it at all, if someone knows how, give me a sample. Thank you. It sounds like you're looking for something that: - on SL end - for the player only - either knock down the player or trigger a lie down or sit animation - reduce "strength" (i.e. maybe modifying the health/stamina/magicka actor values to reduce them) - with presumably a timer to remove the strength reduction after a bit Is that correct?
NicholasJMoore Posted November 1, 2025 Posted November 1, 2025 (edited) 5 hours ago, hextun said: Link to the trigger/event/filter docs: https://github.com/lynnpye/sl_triggers/wiki/Events,-Triggers,-and-Filters (if anyone looks them over and has suggestions for improvement, please let me know) Correct configuration I believe the configuration you want is: Trigger: SexLab, Orgasm, Separate Player Relationship: Partner Player Sex: Male SL Tag: Oral This says, "When a separate orgasm happens..." "... for a partner of the player..." "... where the actor is male..." "... and the scene is tagged Oral." vs. Current Configuration The configuration in the screenshot says, "When a separate orgasm happens..." "... for a partner of the player..." "... where the actor's partner is male..." <-- key difference: would only work if the player (who is the actor's partner in this case due to the player relationship setting) is male, which is atypical for these mods "... and the scene is tagged Oral." Thanks for the reply and help. There's nothing wrong with your documentation. It's very good; better than a lot of APIs I have to work with. I believe that I'm trying to be more specific than the UI filters will allow. Based on the documentation, I believe that the scripts are targeting the actor specified by "Player Relationship." So when the script that gets fired off uses "$system.self" it's healing the targeted Actor that orgasmed and not the player. Maybe a new filter "Player Relationship Script Target" could be in the stars down the road? I ended up making some custom scripts that assume the script target is the player ($system.player) vs. what is being sent to them ($system.self). Between what you clarified above (Sex: Male, as the Actor is "Player Relationship") and the assumption scripts, I think I can get what I want. Edited November 1, 2025 by NicholasJMoore
jakenbake Posted November 2, 2025 Posted November 2, 2025 On 10/30/2025 at 4:46 AM, hextun said: Option 1: The Direct Answer To directly answer your question, if you wish to have a hotkey that will disable the player's ability to have a natural SL orgasm (some mods or effects can force one), just create a hotkey trigger mapped to whichever key you want and target the following script: sl_disableorgasm $system.player true That's it. During a scene, when you would then press that hotkey, orgasms would be disabled. ---- But wait, there's more. Option 2: Tag-based filter If, on the other hand, you know simply that you want to disable orgasms specifically for oral, you could create a trigger for "SexLab - Start" using filters: - Tag: Oral - Player Relationship: Player with the same script as above. Then when an oral scene starts, the script will run and orgasms would be disabled without requiring a keystroke. I feel this is less immersion breaking, but of course you may disagree. Awesome, thanks so much!! 1
Fraying9981 Posted November 3, 2025 Posted November 3, 2025 On 10/21/2025 at 12:05 PM, hextun said: Let's see: - key handling is per key press (i.e. key down), and while the original papyrus script does support press duration, it's not exposed in SLTScript. So for multiple hits you would need multiple taps. - key handling is also on a 0.5 second window, meaning it's more of a "were any of the relevant keys pressed in the last half second" because of how it is implemented, in a loop with a half second wait timer, checking for key presses or end of scene - so as currently implemented, you could do a "you have a 0.5 second cooldown per enjoyment change attempt" but the ability to spam the key for multiple rapid hits is not currently implemented - sounds need to exist, which is to say, SLTR has no way to just be pointed at e.g. an .ogg and have it play. See the "Heart beat(A).sltscript" script for an example. - I only have a limited subset of the animation functions bound for SexLab/SexLab P+ I'll do a little more digging, because I like the track you're laying down. I too think an SLTR/SLSO game is possible and just haven't put the time in on the animation bindings. set $key_increase_enjoyment 72 ; no idea which one this is set $key_advance_anim 80 ; you said keys A, B, and C so I'm assuming you will need multiple, just list them here listadd $listen_keys $key_increase_enjoyment $key_advance_anim [waitloop] ; I'm assuming this is SL related, so use sl_waitforkbd instead of util_waitforkbd sl_waitforkbd $system.player $listen_keys set $key_found $$ if $key_found == $key_increase_enjoyment ; more SLTScript bindings needed for SexLab scene enjoyment ; I have some for SLSO, which is obviously missing the point ; It's not really exposed in SLP+ as I recall, but again, warrants investigation elseif $key_found == $key_advance_anim ; believe it or not, more SLTScript bindings needed for SexLab animation related functionality endif ; verify scene ended and if so, exit the script sl_isin $system.player if $$ == false goto [waitloop] endif ; you could print a message here if you wanted, like a summary of what they did here? return I am lacking required bindings here. For example, while I did create the sl_startsex functions, which return, as I recall, the thread id, it now seems reasonable to see about creating sl_endsex functions if possible. Or just exposing more SL thread related functions generally. There's definitely interest here but I'm a little beat at the moment. Same thing with animation cycling. I created some rudimentary animation related functions, and even went so far as to implement SLTScript Aliases to handle ReferenceAliases returned as part of the SL animation frameworks, but never actually implemented the bound functions intended to use them. If those get created (doesn't have to be by me) then it would open up exactly the scripts you're talking about. Thanks for your reply! Regarding my other script, I did notice that the actor doesn't unequip their older outfit before the script prompts them to equip a new one. What should I do to make sure they clear their outfit? Spoiler ; option 1 ; kimahri closed black ; mouth mask black ; option 2 ; kimahri open black ; mouth mask black ; option 3 ; kimahri open black ; Debug: Function start msg_notify "equipveil: script started (v8)" ; Check if actor is in DOMPlayerSlaveFaction - if yes, exit script actor_infaction $system.self "DOMPlayerSlaveFaction" set $isInDOMPlayerSlaveFaction $$ msg_notify "equipveil: Is in DOMPlayerSlaveFaction: " $isInDOMPlayerSlaveFaction if $isInDOMPlayerSlaveFaction == 1 msg_notify "equipveil: Actor is in DOMPlayerSlaveFaction, script will not execute" return endif ; Check if actor is in DOMNotPlayerSlaveFaction - if yes, exit script actor_infaction $system.self "DOMNotPlayerSlaveFaction" set $isInDOMNotPlayerSlaveFaction $$ msg_notify "equipveil: Is in DOMNotPlayerSlaveFaction: " $isInDOMNotPlayerSlaveFaction if $isInDOMNotPlayerSlaveFaction == 1 msg_notify "equipveil: Actor is in DOMNotPlayerSlaveFaction, script will not execute" return endif msg_notify "equipveil: Actor is not in any DOM slave factions, proceeding with script" ; Debug: Get and display gender actor_getgender $system.self set $gender $$ msg_notify "equipveil: Target actor gender: " $gender ; Generate random number 1-3 for equal probability rnd_int 1 3 set $option $$ ; Debug: Display chosen option msg_notify "equipveil: Chosen option: " $option if $option == 1 ; Option 1: kimahri closed black + mouth mask black + DE dress sofia black set $formId "KimahriShadowMan.esp:0x806" gosub equipitem set $formId "KimahriShadowMan.esp:0x804" gosub equipitem set $formId "Apache_DivineEleganceStore.esm:0x04D552" gosub equipitem elseif $option == 2 ; Option 2: kimahri open black + mouth mask black + DE dress sofia black set $formId "KimahriShadowMan.esp:0x805" gosub equipitem set $formId "KimahriShadowMan.esp:0x804" gosub equipitem set $formId "Apache_DivineEleganceStore.esm:0x04D552" gosub equipitem else ; Option 3: kimahri open black + DE dress sofia black set $formId "KimahriShadowMan.esp:0x805" gosub equipitem set $formId "Apache_DivineEleganceStore.esm:0x04D552" gosub equipitem endif return beginsub equipitem msg_notify "equipveil: Trying to equip FormID: " $formId actor_iswearing $system.self $formId set $iswearing $$ msg_notify "equipveil: Already wearing? " $iswearing if $iswearing == false ; i.e. not wearing item_getcount $system.self $formId msg_notify "equipveil: Item count in inventory: " $$ if $$ < 1 msg_notify "equipveil: Adding item" item_addex $system.self $formId 1 1 endif msg_notify "equipveil: Equipping item" item_equip $system.self $formId 0 1 endif endsub
Sage Of The Seventh Dab Posted November 4, 2025 Posted November 4, 2025 How would I set a trigger to play a specific animation? I have a .hkx file from another mod that I want to set on a trigger. I tried using the Cry.sltscript as a template but when I set the trigger nothing happens. Is there a specific place I need to put the .hkx file? Any help would be appreciated.
Fraying9981 Posted November 4, 2025 Posted November 4, 2025 13 minutes ago, Sage Of The Seventh Dab said: How would I set a trigger to play a specific animation? I have a .hkx file from another mod that I want to set on a trigger. I tried using the Cry.sltscript as a template but when I set the trigger nothing happens. Is there a specific place I need to put the .hkx file? Any help would be appreciated. Damn that would be sick
tatkaa4 Posted November 5, 2025 Posted November 5, 2025 On 01.11.2025 at 16:02, hextun said: Похоже, вы ищете что-то, что: - на конце SL - только для игрока — либо сбивает игрока с ног, либо запускает анимацию лежания или сидения — уменьшить «силу» (например, изменить значения здоровья/выносливости/магии персонажа, чтобы уменьшить их) — предположительно, с таймером, который через некоторое время отключит снижение силы Это правильно? Thank you so much for your attention. Yes, you got it right.
HugzSX Posted November 8, 2025 Posted November 8, 2025 How to add more tags to the available MCM options?
BredP Posted November 8, 2025 Posted November 8, 2025 Hi, i am trying to make a script when at the start of SexLab scene, the script will check if the targeted actor is wearing that specific clothing, if it is true, it will equip another clothing. I have searched through the wiki and kept testing for quite some time and can't seem to figure out what is wrong with my code. Spoiler set $buttonshirt = "[Caenarvon] Cosplay Pack Schooldays.esp:2311" set $pencilskirt = "[Caenarvon] Cosplay Pack Schooldays.esp:2320" set $maidblouse = "[Caenarvon] Cosplay Pack Maid.esp:3648" set $buttonshirtlewd = "[Caenarvon] Cosplay Pack Schooldays.esp:3833" set $pencilskirtlewd = "[Caenarvon] Cosplay Pack Schooldays.esp:3930" set $maidblouselewd = "[Caenarvon] Cosplay Pack Maid.esp:3698" set $test = "[Caenarvon] Cosplay Pack Schooldays.esp:3830" set $test2 = "[Caenarvon] Cosplay Pack Schooldays.esp:3832" ;testing 1 if actor_iswearing $system.self $buttonshirt msg_console "1st if showing" else msg_console "1nw" endif ;testing 2 if $system.self $request.core.equipped_item.base_form == $buttonshirt msg_console "1st if showing" else msg_console "1nw" endif ;option 1 if actor_iswearing $system.self $buttonshirt item_equip $system.self $buttonshirtlewd false true if actor_iswearing $system.self $pencilskirt item_equip $system.self $pencilskirtlewd false true if actor_iswearing $system.self $maidblouse item_equip $system.self $maidblouselewd false true ;option 2 if $request.core.equipped_item.base_form == $buttonshirt item_equip $system.self $buttonshirtlewd false true if $request.core.equipped_item.base_form == $pencilskirt item_equip $system.self $pencilskirtlewd false true if $request.core.equipped_item.base_form == $maidblouse item_equip $system.self $maidblouselewd false true ;option 1.1 if actor_iswearing $system.self $buttonshirt item_equip $system.self $buttonshirtlewd false true elseif actor_iswearing $system.self $pencilskirt item_equip $system.self $pencilskirtlewd false true elseif actor_iswearing $system.self $maidblouse item_equip $system.self $maidblouselewd false true else endif When i test using "testing 1", the script outputs "1nw" twice so that means the script is detecting both the player and the targeted actor? it is also showing an error: Spoiler [2025-11-08 13:51:31.021] [log] [error] [sl_triggers.cpp:747] SLTR:(ClothingEquip.sltscript)[11]: unexpected operator(-16771711), this is likely an error in the SLT script Testing 2 code outputs "1st if showing" and "1nw" twice, and it is showing these errors: Spoiler [2025-11-08 13:45:20.984] [log] [error] [sl_triggers.cpp:747] SLTR:(ClothingEquip.sltscript)[18]: unexpected operator, this is likely an error in the SLT script [2025-11-08 13:45:21.084] [log] [error] [sl_triggers.cpp:747] SLTR:(ClothingEquip.sltscript)[20]: 'else' encountered outside of if-block; ignoring [2025-11-08 13:45:21.218] [log] [error] [sl_triggers.cpp:747] SLTR:(ClothingEquip.sltscript)[22]: 'endif' encountered outside of if-block; ignoring So i set the "player relationship" in the SLtrigger mod menu to "not player" which fixes the outputting twice issue. Regardless of whether the actor is wearing the same clothing or not, the output is the same. I am still confused on the if/else/elseif/endif statement format.
MannySauce Posted November 8, 2025 Posted November 8, 2025 9 hours ago, BREADPIG said: Hi, i am trying to make a script when at the start of SexLab scene, the script will check if the targeted actor is wearing that specific clothing, if it is true, it will equip another clothing. I have searched through the wiki and kept testing for quite some time and can't seem to figure out what is wrong with my code. Reveal hidden contents set $buttonshirt = "[Caenarvon] Cosplay Pack Schooldays.esp:2311" set $pencilskirt = "[Caenarvon] Cosplay Pack Schooldays.esp:2320" set $maidblouse = "[Caenarvon] Cosplay Pack Maid.esp:3648" set $buttonshirtlewd = "[Caenarvon] Cosplay Pack Schooldays.esp:3833" set $pencilskirtlewd = "[Caenarvon] Cosplay Pack Schooldays.esp:3930" set $maidblouselewd = "[Caenarvon] Cosplay Pack Maid.esp:3698" set $test = "[Caenarvon] Cosplay Pack Schooldays.esp:3830" set $test2 = "[Caenarvon] Cosplay Pack Schooldays.esp:3832" ;testing 1 if actor_iswearing $system.self $buttonshirt msg_console "1st if showing" else msg_console "1nw" endif ;testing 2 if $system.self $request.core.equipped_item.base_form == $buttonshirt msg_console "1st if showing" else msg_console "1nw" endif ;option 1 if actor_iswearing $system.self $buttonshirt item_equip $system.self $buttonshirtlewd false true if actor_iswearing $system.self $pencilskirt item_equip $system.self $pencilskirtlewd false true if actor_iswearing $system.self $maidblouse item_equip $system.self $maidblouselewd false true ;option 2 if $request.core.equipped_item.base_form == $buttonshirt item_equip $system.self $buttonshirtlewd false true if $request.core.equipped_item.base_form == $pencilskirt item_equip $system.self $pencilskirtlewd false true if $request.core.equipped_item.base_form == $maidblouse item_equip $system.self $maidblouselewd false true ;option 1.1 if actor_iswearing $system.self $buttonshirt item_equip $system.self $buttonshirtlewd false true elseif actor_iswearing $system.self $pencilskirt item_equip $system.self $pencilskirtlewd false true elseif actor_iswearing $system.self $maidblouse item_equip $system.self $maidblouselewd false true else endif When i test using "testing 1", the script outputs "1nw" twice so that means the script is detecting both the player and the targeted actor? it is also showing an error: Hide contents [2025-11-08 13:51:31.021] [log] [error] [sl_triggers.cpp:747] SLTR:(ClothingEquip.sltscript)[11]: unexpected operator(-16771711), this is likely an error in the SLT script Testing 2 code outputs "1st if showing" and "1nw" twice, and it is showing these errors: Reveal hidden contents [2025-11-08 13:45:20.984] [log] [error] [sl_triggers.cpp:747] SLTR:(ClothingEquip.sltscript)[18]: unexpected operator, this is likely an error in the SLT script [2025-11-08 13:45:21.084] [log] [error] [sl_triggers.cpp:747] SLTR:(ClothingEquip.sltscript)[20]: 'else' encountered outside of if-block; ignoring [2025-11-08 13:45:21.218] [log] [error] [sl_triggers.cpp:747] SLTR:(ClothingEquip.sltscript)[22]: 'endif' encountered outside of if-block; ignoring So i set the "player relationship" in the SLtrigger mod menu to "not player" which fixes the outputting twice issue. Regardless of whether the actor is wearing the same clothing or not, the output is the same. I am still confused on the if/else/elseif/endif statement format. Unless something about the syntax changed in the last month or so, I think I can help here. (Doing this off memory, apologies in advance.) First, I don't believe "set" needs =, so for example; set $buttonshirt = "[Caenarvon] Cosplay Pack Schooldays.esp:2311" Becomes; set $buttonshirt "[Caenarvon] Cosplay Pack Schooldays.esp:2311" Then with "if" - I'd love for this to be possible (it just feels right), but you cannot do; if actor_iswearing $system.self $buttonshirt So you either need to "set" your result into a variable and then use that in your "if" check; set $buttonshirttest1 resultfrom actor_iswearing $system.self $buttonshirt if $buttonshirttest1 == true Or use your most recent result with $$; actor_iswearing $system.self $buttonshirt if $$ == true And with your "if" blocks line 25 and beyond, only "option 1.1" is "if/endif" wrapped correctly besides the unnecesary "else" at the end and the faulty "if/elseif" checks as shown above, but that doesn't seem to matter because of the 2 other "options" above it breaking the "if/endif" flow. Here's an "option 1.1" before and after; if actor_iswearing $system.self $buttonshirt item_equip $system.self $buttonshirtlewd false true elseif actor_iswearing $system.self $pencilskirt item_equip $system.self $pencilskirtlewd false true elseif actor_iswearing $system.self $maidblouse item_equip $system.self $maidblouselewd false true else endif set $buttonshirtworn resultfrom actor_iswearing $system.self $buttonshirt set $pencilskirtworn resultfrom actor_iswearing $system.self $pencilskirt set $maidblouseworn resultfrom actor_iswearing $system.self $maidblouse if $buttonshirtworn == true item_equip $system.self $buttonshirtlewd false true elseif $pencilskirtworn == true item_equip $system.self $pencilskirtlewd false true elseif $maidblouseworn == true item_equip $system.self $maidblouselewd false true endif Could probably trim down on the bulk "set" in my example here by nesting them inside the relevant "if" checks or redoing this completely with subroutines, but I just wanted to untangle this for you. Regardless, hope this fixes (most of) your issues here. 👍 1
BredP Posted November 8, 2025 Posted November 8, 2025 @MannySauce Thank you for your help! Now it works but to a degree... out of the 3 clothing that was suppose to change if worn, one of them seems to not work. The work around again is to use only if & endif statements for each object. Elseif doesn't really work for all 3 clothing.....
MannySauce Posted November 8, 2025 Posted November 8, 2025 1 hour ago, BREADPIG said: @MannySauce Thank you for your help! Now it works but to a degree... out of the 3 clothing that was suppose to change if worn, one of them seems to not work. The work around again is to use only if & endif statements for each object. Elseif doesn't really work for all 3 clothing..... Can you share the current state of the script?
BredP Posted November 9, 2025 Posted November 9, 2025 (edited) @MannySauce This is the current working code for me Spoiler set $buttonshirt "[Caenarvon] Cosplay Pack Schooldays.esp:2311" set $pencilskirt "[Caenarvon] Cosplay Pack Schooldays.esp:2320" set $maidblouse "[Caenarvon] Cosplay Pack Maid.esp:3648" set $buttonshirtlewd "[Caenarvon] Cosplay Pack Schooldays.esp:3833" set $pencilskirtlewd "[Caenarvon] Cosplay Pack Schooldays.esp:3930" set $maidblouselewd "[Caenarvon] Cosplay Pack Maid.esp:3698" ;set $test "[Caenarvon] Cosplay Pack Schooldays.esp:3830" ;set $test2 "[Caenarvon] Cosplay Pack Schooldays.esp:3832" set $buttonshirtworn resultfrom actor_iswearing $system.self $buttonshirt set $pencilskirtworn resultfrom actor_iswearing $system.self $pencilskirt set $maidblouseworn resultfrom actor_iswearing $system.self $maidblouse if $buttonshirtworn == true item_equip $system.self $buttonshirtlewd false true endif if $pencilskirtworn == true item_equip $system.self $pencilskirtlewd false true endif if $maidblouseworn == true item_equip $system.self $maidblouselewd false true endif Edited November 9, 2025 by BREADPIG
hextun Posted November 9, 2025 Author Posted November 9, 2025 On 11/7/2025 at 11:37 PM, HugzSX said: How to add more tags to the available MCM options? Hi @HugzSX, Are you referring to the ability to configure which OStim actions map to one of Anal/Oral/Vaginal? If so, when you install the OStim extension, it should also install <mod install folder>/SKSE/Plugins/sl_triggers/ostim-configuration.json, which, by default, looks like: { "stringList": { "actions_vaginal": ["vaginalsex", "vaginal"], "actions_oral": ["blowjob", "deepthroat", "cunnilingus", "lickingvagina", "lickingpenis"], "actions_anal": ["analsex", "analnsex", "anal"] } } Either modify that copy in place (easy, not recommended) or do something like use MO2 to create an empty mod with the same file structure, but overriding that one file, and add any actions you want to associate with the given tag.
hextun Posted November 9, 2025 Author Posted November 9, 2025 On 11/5/2025 at 6:59 AM, tatkaa4 said: Thank you so much for your attention. Yes, you got it right. Trigger: SexLab End Filters: - Player Relationship: Player - Script 1: SexAfterEffect.sltscript SexAfterEffect.sltscript: ; runs a console command to push the player away from themself for 0 meters which should just knock them down console $system.player "player.pushactoraway 14 0" ; lots of options here; you could change the randon number range or just set them to a specific value or even just make them all the same set $mod_health resultfrom rnd_int -10 -1 set $mod_magicka resultfrom rnd_int -10 -1 set $mod_stamina resultfrom rnd_int -10 -1 av_mod $system.player Health $mod_health av_mod $system.player Magicka $mod_magicka av_mod $system.player Stamina $mod_stamina ; change this to however many seconds you want to wait util_wait 60.0 ; obviously the following lines might change depending on what you changed above (i.e. if you consolidated to a single variable) set $mod_health -1 * $mod_health set $mod_magicka -1 * $mod_magicka set $mod_stamina -1 * $mod_stamina av_mod $system.player Health $mod_health av_mod $system.player Magicka $mod_magicka av_mod $system.player Stamina $mod_stamina 1
hextun Posted November 9, 2025 Author Posted November 9, 2025 On 11/4/2025 at 3:51 PM, Sage Of The Seventh Dab said: How would I set a trigger to play a specific animation? I have a .hkx file from another mod that I want to set on a trigger. I tried using the Cry.sltscript as a template but when I set the trigger nothing happens. Is there a specific place I need to put the .hkx file? Any help would be appreciated. Cry.sltscript uses, among other things, "actor_playanim", which is a wrapper around Papyrus's Debug.SendAnimationEvent(). https://ck.uesp.net/w/index.php?title=SendAnimationEvent_-_Debug That function takes an ObjectReference (in this case the PlayerRef) and an "event name". Per the UESP docs: SendAnimationEvent uses "Anim Events" under the Idle Manager, not the IDs. For example, to make an actor play the animation of attacking left, you must use "AttackStartLeftHand", not "LeftHandAttack" (its ID). This means two things for you: - You must link your .hkx file via an IDLE record in an .esp in order for Skyrim's Havok implementation to get a shot at running your animation - You must reference the animation event, not the editorID. For IDLE records it is often found in the ENAM attribute of the IDLE record and I'm given to understand the canonical version of the data is stored within the .hkx itself Note: the UESP docs have several interesting things of note, including this lovely gem: This bypasses the check on ObjectReference that prevents sending events to actors. If you use it to send an event to actors, you will most likely mess up the actor permanently as the internal actor data may no longer match their animation state. So, be careful.
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