mcnv Posted August 4, 2024 Posted August 4, 2024 I've been a casual user of Triggers for some time and I was wondering, are there freely accessible modules for it? I saw in the forums people appear to be coding for new triggers, some dot files for download but I'm not sure if I should use them or how. I know there's a guide in the .txt files to make your own triggers. beyond that, I'm also trying to find a way to strip the player when a scene occurred, as in remove an equipped clothing item from their inventory. I figured Triggers might be able to do that. 1
kamoewarrior Posted August 9, 2024 Posted August 9, 2024 (edited) Does anyone have a sample .json config for npc race (nords, orcs, etc.) specific trigger that gives one item? I cannot make heads or tails of the documentation. I do not understand the add item script. It says here that parameter 2 is the item ID, which in the example is "skyrim.esm:15". I know that gold's Form ID is "F" but where does the "15" come from? If "Item ID" is different from Form ID how do I know the Item IDs of items? item_add: add item into actors inventory - parameter 1: targets actor ID - parameter 2: item ID - parameter 3: count, how many - parameter 4: "0", display msg on screen, "1" do it without msg on screen Example: ["item_add", "$self", "skyrim.esm:15", "10", "0"] add 10 gold. Edited August 9, 2024 by kamoewarrior
Lucci213 Posted August 18, 2024 Posted August 18, 2024 On 8/9/2024 at 12:05 PM, kamoewarrior said: Does anyone have a sample .json config for npc race (nords, orcs, etc.) specific trigger that gives one item? I cannot make heads or tails of the documentation. I do not understand the add item script. It says here that parameter 2 is the item ID, which in the example is "skyrim.esm:15". I know that gold's Form ID is "F" but where does the "15" come from? If "Item ID" is different from Form ID how do I know the Item IDs of items? item_add: add item into actors inventory - parameter 1: targets actor ID - parameter 2: item ID - parameter 3: count, how many - parameter 4: "0", display msg on screen, "1" do it without msg on screen Example: ["item_add", "$self", "skyrim.esm:15", "10", "0"] add 10 gold. there are 2 types of itemIDs that skyrim uses: Hex and Decimal when you are using the in-game console, you are using Hex. the Hex itemID for Gold is [ F ] the sample.json uses the Decimal version of the itemID the Decimal conversion of [ F ] is [ 15 ] thus [ "skyrim.esm:15" ] just google any Hex to Decimal converter to get equivalent itemIDs alternatively, this mod does allow you to use Hex itemIDs but you need to add [ 0 ] at the start of the Hex itemIDs so: ["item_add", "$self", "skyrim.esm:15", "10", "0"] becomes: ["item_add", "$self", "skyrim.esm:0F", "10", "0"] and both will work
libertyordeath Posted September 4, 2024 Posted September 4, 2024 (edited) Feature request: Expand the "IF ACTOR" condition to include "IS ACTOR 1" and "IS NOT ACTOR 1". Right now the if-actor condition only allows testing for victim/aggressor in aggressive animations. The above two options would allow testing if an actor is the "receiver" or "giver" in an animation, regardless of aggressive or consensual. Yes, testing for actor slot 1 is not perfect for this, but it should work for 95% of cases, and it's super simple. Frankly, i'm not sure why this doesn't exist yet. Edited September 4, 2024 by libertyordeath
ssskn Posted September 9, 2024 Posted September 9, 2024 Is there a way to do a keypress? I want to trigger a defeat surrender at the end of a scene. util_waitforkbd >> util_kbd? maybe? I want to do something like 50% to surrender into defeat or 50% into naked defeat. By pressing their respective surrender keys. I can do it right now but it requires scripting a magic effect and assigning that to a food or something else. I would like to do it directly with this mod, skipping the ingestion.
Omnishade Posted September 9, 2024 Posted September 9, 2024 When using an item or casting a spell from a mod that isn't Skyrim.esm, does it need the two first digits of the form id?
nilead Posted September 9, 2024 Posted September 9, 2024 4 minutes ago, RoninDog said: When using an item or casting a spell from a mod that isn't Skyrim.esm, does it need the two first digits of the form id? No, it only needs meaningfull digits. First two relate to order of plugins loading, wich is irrelevant, you only ever need last six, possibly less as you skip 3rd if its zero, same for foruth and so on. So, a spell with an ID: FE00080B has meaningfull part of 80b. Now, i believe i saw something about sl_triggers changelogs about accepting HEX as well as decimal, but im not sure. I still convert it to decimal for the habit sake, wich would equate to 2059 in this case. So a spell from PluginName.esp with an ID: FE00080B would be refered to in Sl_triggers as PluginName.esp:2059. 1
Omnishade Posted September 9, 2024 Posted September 9, 2024 (edited) 4 hours ago, nilead said: No, it only needs meaningfull digits. First two relate to order of plugins loading, wich is irrelevant, you only ever need last six, possibly less as you skip 3rd if its zero, same for foruth and so on. So, a spell with an ID: FE00080B has meaningfull part of 80b. Now, i believe i saw something about sl_triggers changelogs about accepting HEX as well as decimal, but im not sure. I still convert it to decimal for the habit sake, wich would equate to 2059 in this case. So a spell from PluginName.esp with an ID: FE00080B would be refered to in Sl_triggers as PluginName.esp:2059. Okay, so I tried to make a spell that boosts the players magicka after sex for a limited time. I used the alchemy effect for this since it is similar to what I'm looking for. The meaningfull id of the spell I made is 2DDB, which is 11739 converted to decimal. Spoiler { "cmd" : [ ["spell_cast", "sl_triggers.esp:11739", "$self"] ] } But for some reason it has no effect. Any idea why? Same for adding and drinking a potion with an id of 2DDD: Spoiler { "cmd" : [ ["rnd_list", "sl_triggers.esp:11741" ], ["set", "$1", "$$"], ["item_adduse", "$self", "$1", "1", "0"] ] } Tried to use an edited version of "stats good" instead: Spoiler "cmd" : [ ["rnd_int", "0", "0"], ["av_mod", "$self", "Health", "$$"], ["rnd_int", "1", "25"], ["av_mod", "$self", "Magicka", "$$"], ["rnd_int", "0", "0"], ["av_mod", "$self", "Stamina", "$$"], ["rnd_int", "0", "10"], ["msg_notify", "$$", ": attributes increased"] ] Not even that worked, but tbh I don't think the original version worked either. There is a difference between the code for bad and good stats that doesn't make sense. The bad stats json doesn't have the last ["rnd_int", "0", "10"], so is it the numbers before or after the attribute that determines the number to add? Edited September 9, 2024 by RoninDog
nilead Posted September 10, 2024 Posted September 10, 2024 (edited) 9 hours ago, RoninDog said: But for some reason it has no effect. Any idea why? Spells with SL triggers are fiddly, my understanding limited me to trial and error. Depending on exact type of the spell, their implementation varies. For example, stat modification via ability spell looks like this: ["spell_add", "NileadSLUtilities.esp:35180", "$self"], however a different spell from ScocLB will only works using cast option ["spell_cast", "ScocLB.esm:33562017", "$player"]. There is a third way, for specific spells that are on-hit basicly, never touched that. Id recommend skipping randomization and conditions, and try straight up apllication first, like your first option, wich honestly looks good to me. Try replacing spell_cast with spell_add in the same command? One of those should work. There is some info in script description txt that ships with SL triggers to use as reference. Edited September 10, 2024 by nilead
Omnishade Posted September 10, 2024 Posted September 10, 2024 (edited) 7 hours ago, nilead said: Spells with SL triggers are fiddly, my understanding limited me to trial and error. Depending on exact type of the spell, their implementation varies. For example, stat modification via ability spell looks like this: ["spell_add", "NileadSLUtilities.esp:35180", "$self"], however a different spell from ScocLB will only works using cast option ["spell_cast", "ScocLB.esm:33562017", "$player"]. There is a third way, for specific spells that are on-hit basicly, never touched that. Id recommend skipping randomization and conditions, and try straight up apllication first, like your first option, wich honestly looks good to me. Try replacing spell_cast with spell_add in the same command? One of those should work. There is some info in script description txt that ships with SL triggers to use as reference. I see. So is this correct for the potion script? Spoiler { "cmd" : [ ["item_adduse", "$self", "sl_triggers.esp:11741", "1", "0"] ] } Regarding the spell I made. It doesn't work if I add it with player.addspell in the console. I've tried a few options but haven't succeeded in making a spell that has a visible effect by adding it this way. Edited September 10, 2024 by RoninDog
nilead Posted September 10, 2024 Posted September 10, 2024 1 hour ago, RoninDog said: Regarding the spell I made. It doesn't work if I add it with player.addspell in the console. I've tried a few options but haven't succeeded in making a spell that has a visible effect by adding it this way. I see, then you have to fix the spell first. Yep, that looks about right for using an item.
aslab Posted October 23, 2024 Posted October 23, 2024 (edited) I am trying to make a very basic command where the PC loses a bar of soap, and I can’t get it to work. The forum Id of the item I am trying to remove is “A9000D63” I am under the impression that the first two digits and the leading zeros don’t count which leaves me with “D63”. I converted “D63” into “3427”. I then tried two different commands and neither worked they are { "cmd" : [ ["set", "$1", "Bathing in Skyrim - Main.esp:3427"], ["item_remove", "$self", "$1", "1", "0"] ] } For my second attempt I did { "cmd" : [ ["item_remove", "$self", "Bathing in Skyrim - Main.esp:3427", "5", "0"] ] } Anybody know why these commands are not working? Edited October 23, 2024 by aslab
nopse0 Posted October 26, 2024 Posted October 26, 2024 (edited) On 10/23/2024 at 4:04 PM, aslab said: I am trying to make a very basic command where the PC loses a bar of soap, and I can’t get it to work. The forum Id of the item I am trying to remove is “A9000D63” I am under the impression that the first two digits and the leading zeros don’t count which leaves me with “D63”. I converted “D63” into “3427”. I then tried two different commands and neither worked they are { "cmd" : [ ["set", "$1", "Bathing in Skyrim - Main.esp:3427"], ["item_remove", "$self", "$1", "1", "0"] ] } For my second attempt I did { "cmd" : [ ["item_remove", "$self", "Bathing in Skyrim - Main.esp:3427", "5", "0"] ] } Anybody know why these commands are not working? $self isn't neccessarily the player, try $player instead. Have a look at slTriggersMain.psc, sl triggers traverts pairs of actors involved in a sex scene. $self is the one at the current index, and the second actor is the one at index+1 (the "partner") in the race conditions. What I am missing, is, that you can define two race conditions for the self actor. E.g.: condition 1: Partner is player condition 2: Self is race Humanoid Command: "cmd" : [ ["item_add", "$player", "spermalchemyingredients.esp:16779265", "1", "0"] ] (bottle of "FreshSperm" from Has perhaps someone already extended the conditions in "SL Triggers" ? (would save a lot of work) Edit: Ok, quick hack, added the options 11-13: triggerIfRaceNames = new string[14] triggerIfRaceNames[ 0] = "Any" triggerIfRaceNames[ 1] = "Humanoid" triggerIfRaceNames[ 2] = "Creature" triggerIfRaceNames[ 3] = "Player" triggerIfRaceNames[ 4] = "Not Player" triggerIfRaceNames[ 5] = "Undead" triggerIfRaceNames[ 6] = "Partner Humanoid" triggerIfRaceNames[ 7] = "Partner Creature" triggerIfRaceNames[ 8] = "Partner Player" triggerIfRaceNames[ 9] = "Partner Not Player" triggerIfRaceNames[10] = "Partner Undead" triggerIfRaceNames[11] = "Partner Player, Self Humanoid" triggerIfRaceNames[12] = "Partner Player, Self Creature" triggerIfRaceNames[13] = "Partner Player, Self Undead" That's sufficient for me. Uploaded a patch. But it's a pain to force the MCM to update the choices (=> reinstall). MyChanges - SL Triggers.7z Edited October 26, 2024 by nopse0
Anunya Posted November 8, 2024 Posted November 8, 2024 Is there a relatively easy way to trigger a time limited Magic Effect on the PC after sex or aggressive sex (rape), using SL triggers? Basically I'd like to use OAR to apply some animation variations to the PC after sex, and I think (but am no expert) that using the OAR condition HasMagicEffect would be the way to do this. Any ideas?
zeelok Posted November 9, 2024 Posted November 9, 2024 4 hours ago, Anunya said: Is there a relatively easy way to trigger a time limited Magic Effect on the PC after sex or aggressive sex (rape), using SL triggers? Basically I'd like to use OAR to apply some animation variations to the PC after sex, and I think (but am no expert) that using the OAR condition HasMagicEffect would be the way to do this. Any ideas? You can use the spell_cast command to cast a spell on the PC that applies the magic effect. The spell can define the duration. Something like the following { "cmd" : [ ["spell_cast", "somemod.esp:###", "$player"] ] }
bandetlol Posted November 10, 2024 Posted November 10, 2024 (edited) On 10/26/2024 at 5:52 AM, nopse0 said: $self isn't neccessarily the player, try $player instead. Have a look at slTriggersMain.psc, sl triggers traverts pairs of actors involved in a sex scene. $self is the one at the current index, and the second actor is the one at index+1 (the "partner") in the race conditions. What I am missing, is, that you can define two race conditions for the self actor. E.g.: condition 1: Partner is player condition 2: Self is race Humanoid Command: "cmd" : [ ["item_add", "$player", "spermalchemyingredients.esp:16779265", "1", "0"] ] (bottle of "FreshSperm" from Has perhaps someone already extended the conditions in "SL Triggers" ? (would save a lot of work) Edit: Ok, quick hack, added the options 11-13: triggerIfRaceNames = new string[14] triggerIfRaceNames[ 0] = "Any" triggerIfRaceNames[ 1] = "Humanoid" triggerIfRaceNames[ 2] = "Creature" triggerIfRaceNames[ 3] = "Player" triggerIfRaceNames[ 4] = "Not Player" triggerIfRaceNames[ 5] = "Undead" triggerIfRaceNames[ 6] = "Partner Humanoid" triggerIfRaceNames[ 7] = "Partner Creature" triggerIfRaceNames[ 8] = "Partner Player" triggerIfRaceNames[ 9] = "Partner Not Player" triggerIfRaceNames[10] = "Partner Undead" triggerIfRaceNames[11] = "Partner Player, Self Humanoid" triggerIfRaceNames[12] = "Partner Player, Self Creature" triggerIfRaceNames[13] = "Partner Player, Self Undead" That's sufficient for me. Uploaded a patch. But it's a pain to force the MCM to update the choices (=> reinstall). MyChanges - SL Triggers.7z 11.58 kB · 1 download Can you do the inverse? I.e. "Self Player, Partner Humanoid" "Self Player, Partner Undead" "Self Player, Partner Creature" For example if I wanted to have an effect that was applied to the player, when involved with undead, but not have it apply to anyone else but the player. If i set it to "player", then I cannot also set "undead". If I used "Partner Player, Self Undead" it would apply the effect to the undead, not the player. Or should i format my commands to be like $player instead of $self and then I can use your tweak. Edited November 10, 2024 by bandetlol
nopse0 Posted November 10, 2024 Posted November 10, 2024 2 hours ago, bandetlol said: Can you do the inverse? I.e. "Self Player, Partner Humanoid" "Self Player, Partner Undead" "Self Player, Partner Creature" For example if I wanted to have an effect that was applied to the player, when involved with undead, but not have it apply to anyone else but the player. If i set it to "player", then I cannot also set "undead". If I used "Partner Player, Self Undead" it would apply the effect to the undead, not the player. Or should i format my commands to be like $player instead of $self and then I can use your tweak. Yes, exactly, the latter, that's what I did. I changed the commands from "sperm alchemy ingredients" to use $player instead $self, and then used e.g. "Partner Player, Self Creature" so that a bottle of creature sperm is given to the player, not to the creature. I did this this way, because all the other conditions in SL Triggers, actor (any, aggressor, victim) and gender (any, male, female) are checked on $self. So for example, I can define a rule, that a bottle of creature sperm is given to the player, if the player is raped by a male creature (actor=aggressor, gender=male)
Diver13666 Posted November 11, 2024 Posted November 11, 2024 If I make a trigger, e.g. "eat sweets", with orgasm SLSO condition and actor partner XX, who actually gonna eat sweets, me or my partner? And whose orgasm counts as trigger? I'd like to create a situation where PC (and PC only) eats a snack when partner orgasms 😃
Deliah Blue Posted December 14, 2024 Posted December 14, 2024 On 9/13/2019 at 12:44 PM, SomeDragonbornGuy said: Got it to work with 2 spells. One to give you more warmth for 3mins (For friendly encounter scenes) so you dont die, and gives a small cold heal and then a last spell that gives a cold buff for 20mins (Lesser than the first) and heals your cold effects more than the first. You will not top off from really low cold health, but will help you not to die in most cases. Thank you for your help Warlock3000 & nanashi50 I'll test it more then post it. Did this end up working? If so could you share it?
Ildon Posted January 21, 2025 Posted January 21, 2025 Is there some sort of command we can add to custom item_adduse jsons to not actually see lines of message dialogue text for the add/use of the item in-game?
effrenatus Posted March 4, 2025 Posted March 4, 2025 Hello! I got here by searching a way to let Sexlab orgasm (using SLSO too) give a character a small food/drink satiation for INeed. But honestly after reading the description, i am not sure how to make that happen... I mean, if i just make her drink something then usually a drinking animation would start. So i guess i would need to aim for the actual effect... Did anyone figured out already how to use that for ineed satiation? (If there is already an SL-ineed-integration patch somewhere, then please let me know. I did not find any.)
SsssjsssS Posted March 17, 2025 Posted March 17, 2025 Anyone know why this happened? It is showing boxes instead of numbers
hextun Posted March 18, 2025 Posted March 18, 2025 Hi folks, First time contributing here. I'm throwing a few things over the wall here. To begin with, this is all focused on the Pet Collar mod and providing a way for your followers to put on and take off the keyless pet collar without the player's intervention. It relies on two things, though. One is a modification to the sl_triggersCmd.psc script to add an "actor_iswearing" function which does what you would expect. The other is the use of https://www.nexusmods.com/skyrimspecialedition/mods/84743 (Actor Value Generator) to create a custom AV, "PetCollarTime", to store an incrementing integer value to count the number of times the script has processed the check since the last status change (i.e. collar added or removed). I target this script for "Partner Player" and "Begin" but feel free to play with the numbers and events. Each time it runs it compares a random(1,100) to "PetCollarTime". If the result is greater, "PetCollarTime" gets incremented. If not, "PetCollarTime" is set to zero and the collar status is reversed. So the keyless pet collar would be applied if not worn or removed if worn. SLT_PetCollar_Game.7z
hextun Posted March 19, 2025 Posted March 19, 2025 It occurs to me that more events than just the four SLSO events could be used. Imagine a Daily or Hourly event. Or an Add Follower event. Or a Location Change event. I'm not opposed to doing the work if there's interest.
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