Jump to content

Recommended Posts

Posted (edited)
34 minutes ago, bandetlol said:

 

I have several use cases for it that I did in old sl triggers

1. equipping cum meshes after sex i.e. the ones from babodialogue or https://kemono.cr/patreon/user/42557848/post/117736349

2. equipping a random DD item from a list. I.e. a list of collars.

 

for #1 your solution would work for me fine (and it would be improved by what you mentioned by equipping the existing one so if you could add that logic I would appreciate it)

for #2, the slot list would be helpful instead of just scanning for a specific item, so I could see for example if something was in slot 40 or whatever don't try because I don't know what exactly would be in slot 40, have any solution for that?

 

in my previous uses i just dealt with the duplicates lol

 

I was not able to see any content when visiting the kemono.cr link you posted; I'm guessing it's because I'm not registered or logged in or something. *shrug*.

 

Also, there is an abundance of documentation at the wiki: Home · lynnpye/sl_triggers Wiki and specific information about all available functions in the function library here: Function Libraries · lynnpye/sl_triggers Wiki :)

 

Here's a modification of the original script for the first use case. I also had a bug in it :P and have fixed that as well, with comment to point out where and what it is. This version now gets the count of that item on the actor and if greater than 0, calls item_adduse (which will add the item and then effectively call item_equip), otherwise it directly calls item_equip.

 

set $formId "whatevermod.esp:0x800"

actor_iswearing $system.self $formId

; original version had a bug where this check was flipped
if $$ == false ; i.e. not wearing
	item_getcount $system.self $formId
	
	if $$ < 1
		item_adduse $system.self $formId 1 1
	else
		item_equip $system.self $formId 0 1
	endif
endif

 

As for the second use case, can you elaborate a bit? For example, actor_worninslot will return true/false if the actor is wearing something in the specified slot, but it does not discriminate by item (so ANYTHING in that slot will return true). But do you have, like, a list of items per slot? 

 

Without knowing what exactly you want, here is a version that a) arbitrarily sets the targetSlot to 40, b) checks if the target is wearing anything in that slot, and c) if so, picks from a list, by slot, of formIds that would represent your DD devices and then equips it. In the example below, I only set up dummy lists for slots 32, 33, and 40; you'd have to add the necessary slots and lists yourself, along with setting the correct hex values for the formIds. Also, I arbitraily set the targetslot at the top of the script because I don't know what your criteria would be.

 

set $targetSlot 40 ; idk how you would pick, have to let me know

actor_worninslot $targetSlot

if $$  ; i.e. worn in slot
	return ; leave the script, nothing to be done because the slot isn't available
endif

set $formId "" ; not technically necessary, but I like to be explicit

if $targetSlot == 32
	; these formIDs are entirely made up, you'd have to get actual relative IDs from the mod
	set $formId resultfrom rnd_list "Devious Devices - Integration.esm:0x800"  "Devious Devices - Integration.esm:0x801" 
elseif $targetSlot == 33
	set $formId resultfrom rnd_list "Devious Devices - Integration.esm:0x802"  "Devious Devices - Integration.esm:0x803"  "Devious Devices - Integration.esm:0x804" 
elseif $targetSlot == 40
	set $formId resultfrom rnd_list "Devious Devices - Integration.esm:0x805"  "Devious Devices - Integration.esm:0x806"  "Devious Devices - Integration.esm:0x807" 
else
	; targetSlot was not valid, exit the script
	return
endif

; excess caution
if $formId &= ""
	; targetSlot was not valid, exit the script
	return
else
	item_getcount $system.self $formId
	
	if $$ < 1
		item_adduse $system.self $formId 1 1
	else
		item_equip $system.self $formId 0 1
	endif
endif

 

Edited by hextun
Posted
44 minutes ago, hextun said:

 

I was not able to see any content when visiting the kemono.cr link you posted; I'm guessing it's because I'm not registered or logged in or something. *shrug*.

 

Also, there is an abundance of documentation at the wiki: Home · lynnpye/sl_triggers Wiki and specific information about all available functions in the function library here: Function Libraries · lynnpye/sl_triggers Wiki :)

 

Here's a modification of the original script for the first use case. I also had a bug in it :P and have fixed that as well, with comment to point out where and what it is. This version now gets the count of that item on the actor and if greater than 0, calls item_adduse (which will add the item and then effectively call item_equip), otherwise it directly calls item_equip.

 

set $formId "whatevermod.esp:0x800"

actor_iswearing $system.self $formId

; original version had a bug where this check was flipped
if $$ == false ; i.e. not wearing
	item_getcount $system.self $formId
	
	if $$ < 1
		item_adduse $system.self $formId 1 1
	else
		item_equip $system.self $formId 0 1
	endif
endif

 

As for the second use case, can you elaborate a bit? For example, actor_worninslot will return true/false if the actor is wearing something in the specified slot, but it does not discriminate by item (so ANYTHING in that slot will return true). But do you have, like, a list of items per slot? 

 

Without knowing what exactly you want, here is a version that a) arbitrarily sets the targetSlot to 40, b) checks if the target is wearing anything in that slot, and c) if so, picks from a list, by slot, of formIds that would represent your DD devices and then equips it. In the example below, I only set up dummy lists for slots 32, 33, and 40; you'd have to add the necessary slots and lists yourself, along with setting the correct hex values for the formIds. Also, I arbitraily set the targetslot at the top of the script because I don't know what your criteria would be.

 

set $targetSlot 40 ; idk how you would pick, have to let me know

actor_worninslot $targetSlot

if $$  ; i.e. worn in slot
	return ; leave the script, nothing to be done because the slot isn't available
endif

set $formId "" ; not technically necessary, but I like to be explicit

if $targetSlot == 32
	; these formIDs are entirely made up, you'd have to get actual relative IDs from the mod
	set $formId resultfrom rnd_list "Devious Devices - Integration.esm:0x800"  "Devious Devices - Integration.esm:0x801" 
elseif $targetSlot == 33
	set $formId resultfrom rnd_list "Devious Devices - Integration.esm:0x802"  "Devious Devices - Integration.esm:0x803"  "Devious Devices - Integration.esm:0x804" 
elseif $targetSlot == 40
	set $formId resultfrom rnd_list "Devious Devices - Integration.esm:0x805"  "Devious Devices - Integration.esm:0x806"  "Devious Devices - Integration.esm:0x807" 
else
	; targetSlot was not valid, exit the script
	return
endif

; excess caution
if $formId &= ""
	; targetSlot was not valid, exit the script
	return
else
	item_getcount $system.self $formId
	
	if $$ < 1
		item_adduse $system.self $formId 1 1
	else
		item_equip $system.self $formId 0 1
	endif
endif

 

 

 

So in my previous iteration I didn't scan slots or anything

 

Here's an example command I used. As you can see it basically just picks a random item from a defined list, in this case a list of  arm restraints.

When it happens a second time it adds a second device, and attempts to equip it (obviously fails as you already have something equipped).

So I would like it to see if the player has an item in a specific equipment slot before adding a new item and attempting to equip it.

{
	"cmd" : 
	[
        ["rnd_list", "Deviously Cursed Loot.esp:958681", "Deviously Cursed Loot.esp:715853", "Deviously Cursed Loot.esp:234088", "Deviously Cursed Loot.esp:207805", "Deviously Cursed Loot.esp:97433", "Devious Devices - Expansion.esm:341541", "Devious Devices - Expansion.esm:341545", "Devious Devices - Expansion.esm:10551472", "Devious Devices - Expansion.esm:306408", "Devious Devices - Expansion.esm:9392"],
        ["set", "$1", "$$"],
        ["item_addex", "$self", "$1", "1", "1"],        
        ["item_equipex", "$self", "$1", "0", "1"],
        ["actor_qnnu", "$self"]        
	]
}

 

The slot picked would be hard coded, I would typically have several different command files, say one for collars, one for arm cuffs.. so on and so forth, then you can do a basic command like if victim 5% chance for the aggressor to tie you up in restraints, or if victim of a draugr chance for them to add a plug at the end, that sort of thing.

It was a simple way to have a more controllable use for equipping devices on aggressors as well as adding custom/new devices that don't have real integrations and no way to normally get them equipped.

Posted
set $targetSlot 45 ; collar slot

actor_worninslot $targetSlot

if $$  ; i.e. worn in slot
	return ; leave the script, nothing to be done because the slot isn't available
endif

set $formId "" ; not technically necessary, but I like to be explicit

set $formId resultfrom rnd_list "Devious Wicked Devices.esp:112654"  "Devious Wicked Devices.esp:112656"  "Devious Wicked Devices.esp:112650"  "Devious Wicked Devices.esp:112641" 

; excess caution
if $formId &= ""
	; targetSlot was not valid, exit the script
	return
else
	item_getcount $system.self $formId
	
	if $$ < 1
		item_adduse $system.self $formId 1 1
	else
		item_equip $system.self $formId 0 1
	endif
endif

 

Alright here is a sample script to add a random collar from devious wicked devices.

 

Posted
20 minutes ago, bandetlol said:

Found a bug.. every 5th trigger added is cut off at the bottom of the screen and you can't set the variable's correct.

Yup. I posted about that earlier today and have a fix lined up that I will drop tomorrow. 
 

SkyYI, the mod responsible for providing MCM functionality, has a 128 element limit when displaying a single page. The page is a big two column grid and even the empty spots are components. 
 

I had extra padding to, in my opinion anyway, make it easier to navigate and prevent accidents, but that combined with recently added. Ew filter options for SexLab and OStim, meant I was using around 26 components per "card" (I.e. per trigger). With five cards per page, plus extra navigational elements, it runs out of space. 
 

In the next update I have compacted the layouts and also may be adding a per extension setting to adjust the cards per page as well, though that shouldn't be necessary just yet. 

Posted

So the script does add the dd items but it doesn't properly equip them, i have to unequip em then re-equip them after they get added for them to become locked. any ideas

Posted
1 hour ago, bandetlol said:

So the script does add the dd items but it doesn't properly equip them, i have to unequip em then re-equip them after they get added for them to become locked. any ideas

 

Do you get any popups when the device is added? I ask because on one of my modlists I play, one of the mods can apply DD items, but when it does, I get a popup asking e.g. "Hey, you just put this straitjacket on, do you want to lock it?" if I have lock manipulation enabled, and pops up something else even if I don't, like an informative "click Okay to continue" dialog.

 

In the mean time, try this version, which replaces the adduse with explicit add and equip calls:

 

set $targetSlot 45 ; collar slot

actor_worninslot $targetSlot

if $$  ; i.e. worn in slot
	return ; leave the script, nothing to be done because the slot isn't available
endif

set $formId resultfrom rnd_list "Devious Wicked Devices.esp:112654"  "Devious Wicked Devices.esp:112656"  "Devious Wicked Devices.esp:112650"  "Devious Wicked Devices.esp:112641" 

; excess caution
if $formId &= ""
	; targetSlot was not valid, exit the script
	return
else
	item_getcount $system.self $formId
	
	; replace item_adduse
	; now one call to item_add if necessary
	; also using the SKSE equipex instead of vanilla equip
	if $$ < 1
		item_add $system.self $formId 1 1
	endif
	item_equipex $system.self $formId $targetSlot 0 1
endif

 

 

=========

And in other news, v134 is now available:

- fixes the MCM issue (it's more compact now and I'm going to have to rethink it if I keep adding filter options)

- you can also reduce the number of "cards" (i.e. cards of information, card per trigger) displayed per page. doesn't really do much now but may be of use in the future

- listadd can now accept multiple values, as it should always have

- new functions: listresize, listslice: does what it says on the tin

- fleshed out the storageutil and jsonutil functions, adding list related functions and adding "form" support

  - this should mean coverage of StorageUtil and JsonUtil functions is pretty solid

- added actorbase_dogetter, actorbase_doconsumer, actorbase_dofunction

  - this adds ActorBase bindings directly to CreationKit functions

  - this means you should be able to use e.g.:

    - set $someActorBase resultfrom actor_dogetter $someNPC GetActorBase

    - actorbase_doconsumer $someActorBase SetInvulnerable true

Posted
2 hours ago, bandetlol said:

So the script does add the dd items but it doesn't properly equip them, i have to unequip em then re-equip them after they get added for them to become locked. any ideas

 

I just realized your original script also uses item_addex in addition to item_equipex. Here is the updated copy for SLTScript:

 

set $targetSlot 45 ; collar slot

actor_worninslot $targetSlot

if $$  ; i.e. worn in slot
	return ; leave the script, nothing to be done because the slot isn't available
endif

set $formId resultfrom rnd_list "Devious Wicked Devices.esp:112654"  "Devious Wicked Devices.esp:112656"  "Devious Wicked Devices.esp:112650"  "Devious Wicked Devices.esp:112641" 

; excess caution
if $formId &= ""
	; targetSlot was not valid, exit the script
	return
else
	item_getcount $system.self $formId
	
	; replace item_adduse
	; now one call to item_add if necessary
	; also using the SKSE equipex instead of vanilla equip
	if $$ < 1
		item_addex $system.self $formId 1 1
	endif
	item_equipex $system.self $formId $targetSlot 0 1
endif
Posted

Is there a way to remove certain item from player and replace it with another in certain conditions?

 

rnd_list "ZaZAnimationPack.esm:159069" "ZaZAnimationPack.esm:159070"
set $1 $$
item_equip $system.player $1 1 0
actor_qnnu $system.player
util_waitforend $system.player
item_unequipex $system.player $1 0
item_remove $system.player $1 1 1
actor_qnnu $system.player

I use this at start of SL scene. But I would like to replace the "leak" item with a "squirt" item during orgasm. Tried making basically copypaste of this but with squirt item and orgasm condition, but looks like it is not equipping anything before the previous item has been removed. Waitforend lasts till scene ends. I need something to remove it mid scene at SLSO orgasm.

Posted
1 hour ago, PenBoozerX said:

Is there a way to remove certain item from player and replace it with another in certain conditions?

 

rnd_list "ZaZAnimationPack.esm:159069" "ZaZAnimationPack.esm:159070"
set $1 $$
item_equip $system.player $1 1 0
actor_qnnu $system.player
util_waitforend $system.player
item_unequipex $system.player $1 0
item_remove $system.player $1 1 1
actor_qnnu $system.player

I use this at start of SL scene. But I would like to replace the "leak" item with a "squirt" item during orgasm. Tried making basically copypaste of this but with squirt item and orgasm condition, but looks like it is not equipping anything before the previous item has been removed. Waitforend lasts till scene ends. I need something to remove it mid scene at SLSO orgasm.

 

If I'm understanding you correctly, your current script runs at start, equips an item, waits for end, and unequips it. And instead, you want to equip one item at start, and then swap it out for a different item on orgasm, and presumably removing either on end?

 

Posted
8 hours ago, hextun said:

 

If I'm understanding you correctly, your current script runs at start, equips an item, waits for end, and unequips it. And instead, you want to equip one item at start, and then swap it out for a different item on orgasm, and presumably removing either on end?

 

You understood correctly :)

Posted
1 hour ago, PenBoozerX said:

You understood correctly :)

 

Okay, first I'm going to point out that that means that on orgasm the squirt will keep playing until the scene finishes. I'm wondering if you would instead prefer to have the squirt happen for a period of time and then go back to the leak effect. That would add a bit more complexity, but I thought I would mention it.

 

That said, using two scripts and a global variable will, I think, satisfy your specific requirements. Because the scripts explicitly target the player, I am assuming all of these events are targeted at the player (otherwise the guy plowing your player having an orgasm would cause your player to squirt which...okay? :) ).

 

Script 1 should be run like your current script, on start, targeting the player. In fact, it is almost identical except instead of using local variable $1, I am using a global variable, $global.leakOrSquirtItem, to hold the currently equipped item. The script starts, equips the leak (which I changed to use hex values because I find them easier to read), waits for end, then unequips whatever is specified in the global variable:

; 0x**026D5D 'ZaZ F2 01ALeakyPussyDrops'
; 0x**026D5E 'ZaZ F2 01BLeakyPussyDrops'
set $global.leakOrSquirtItem resultfrom rnd_list "ZaZAnimationPack.esm:0x26D5D" "ZaZAnimationPack.esm:0x26D5E"

item_equip $system.player $global.leakOrSquirtItem 1 0
actor_qnnu $system.player
util_waitforend $system.player
item_unequipex $system.player $global.leakOrSquirtItem 0
item_remove $system.player $global.leakOrSquirtItem 1 1
actor_qnnu $system.player

 

Script 2 should be configured to run on orgasm, also targeting the player. It first unequips whatever is specified by the global variable, then changes the value of the global variable to a random squirt effect (listed in the new script), then exits. It does not hang around. But by changing the value in the global variable, when the first script wraps up, it will unequip the squirt effect since that is what is in the global.

item_unequipex $system.player $global.leakOrSquirtItem 0
item_remove $system.player $global.leakOrSquirtItem 1 1
actor_qnnu $system.player

; 0x**026D61 'ZaZ F2 03ASquirtingPussy'
; 0x**026D62 'ZaZ F2 03BSquirtingPussy'
; 0x**026D63 'ZaZ F2 04ASquirtingPussy'
; 0x**026D64 'ZaZ F2 04BSquirtingPussy'
set $global.leakOrSquirtItem resultfrom rnd_list "ZaZAnimationPack.esm:0x26D61" "ZaZAnimationPack.esm:0x26D62" "ZaZAnimationPack.esm:0x26D63" "ZaZAnimationPack.esm:0x26D64"

item_equip $system.player $global.leakOrSquirtItem 1 0
actor_qnnu $system.player

 

For what it's worth, if you wanted to run the squirt for e.g. 3 seconds, you could add to script 2, with a util_wait 3.0 followed by using sl_isin to verify you are still in a scene, exiting if you are not. Then, if still in a scene, unequipping the squirt, reassigning the global back to one of the leaks, and equipping it. Here's the alternate version to do so.

; store the original leak
set $oldLeak $global.leakOrSquirtItem

; unequip
item_unequipex $system.player $global.leakOrSquirtItem 0
item_remove $system.player $global.leakOrSquirtItem 1 1
actor_qnnu $system.player

; 0x**026D61 'ZaZ F2 03ASquirtingPussy'
; 0x**026D62 'ZaZ F2 03BSquirtingPussy'
; 0x**026D63 'ZaZ F2 04ASquirtingPussy'
; 0x**026D64 'ZaZ F2 04BSquirtingPussy'
set $global.leakOrSquirtItem resultfrom rnd_list "ZaZAnimationPack.esm:0x26D61" "ZaZAnimationPack.esm:0x26D62" "ZaZAnimationPack.esm:0x26D63" "ZaZAnimationPack.esm:0x26D64"

item_equip $system.player $global.leakOrSquirtItem 1 0
actor_qnnu $system.player

; alternate to only squirt for a time then return to a drip
util_wait 3.0

sl_isin $system.player

if $$ == false
	return
endif

item_unequipex $system.player $global.leakOrSquirtItem 0
item_remove $system.player $global.leakOrSquirtItem 1 1

set $global.leakOrSquirtItem $oldLeak

item_equip $system.player $global.leakOrSquirtItem 1 0
actor_qnnu $system.player

 

 

Posted (edited)
On 8/11/2025 at 9:11 AM, hextun said:

 

Do you get any popups when the device is added? I ask because on one of my modlists I play, one of the mods can apply DD items, but when it does, I get a popup asking e.g. "Hey, you just put this straitjacket on, do you want to lock it?" if I have lock manipulation enabled, and pops up something else even if I don't, like an informative "click Okay to continue" dialog.

 

 

No I get no popups at all.  Your script wasn't working correctly, I got it working correctly.

 

I had to do 

item_equipex $system.self $formId $targetSlot 0 0

 

which the second 0 allows you to attempt to remove it which prompts the pop up struggle menu.

 

Thanks for the assistance!

 

Do you think you can add an other trigger for "Harvest Ingredient"?

Edited by bandetlol
Posted (edited)

wow I see you added locations! Nice.

 

I'm trying to make a quick script to equip mod equipment at the end of SL scene.

the trigger is properly detected (because I created debug scripts/I see msg notify).

It goes into the loops e.g. chooses option 3.

but the item is not equipped nor in the inventory of the npc.

 

I think it doesn't do anything because it doesn't find the item, because the reference might be wrong (I asked Claude with a screenshot).

 

Could you help me identify how to reference the mod item properly?

 

Spoiler

; option 1
; kimahri closed black
; mouth mask black

; option 2
; kimahri open black
; mouth mask black

; option 3
; kimahri open black


; kimahri open black
; "KimahriShadowMan.esp:0xFE000802"

; mouth mask black  
; "KimahriShadowMan.esp:0xFE000804"

; kimahri closed black
; "KimahriShadowMan.esp:0xFE000801"

; Debug: Function start
msg_notify "equipveil: script started"

; 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 + black mage college robes
	set $formId "KimahriShadowMan.esp:0xFE000801"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0xFE000804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x020146A5"
	gosub equipitem
elseif $option == 2
	; Option 2: kimahri open black + mouth mask black + black mage college robes
	set $formId "KimahriShadowMan.esp:0xFE000802"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0xFE000804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x020146A5"
	gosub equipitem
else
	; Option 3: kimahri open black + black mage college robes
	set $formId "KimahriShadowMan.esp:0xFE000802"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x020146A5"
	gosub equipitem
endif

return

beginsub equipitem
	actor_iswearing $system.self $formId
	
	if $$ == false ; i.e. not wearing
		item_getcount $system.self $formId
		
		if $$ < 1
			item_adduse $system.self $formId 1 1
		else
			item_equip $system.self $formId 0 1
		endif
	endif
endsub

 

i tried this too, doesn't work

 

"KimahriShadowMan.esp:801" 
"KimahriShadowMan.esp:802" 
"KimahriShadowMan.esp:804"

 

SSedit mod with the item.

The other mod doesn't work either.

 

image.png.ad3df83ae645e868d35be6e1e70f7c35.png

 

 

Edited by Fraying9981
Posted (edited)
13 minutes ago, Fraying9981 said:

wow I see you added locations! Nice.

 

I'm trying to make a quick script to equip mod equipment at the end of SL scene.

the trigger is properly detected (because I created debug scripts/I see msg notify).

It goes into the loops e.g. chooses option 3.

but the item is not equipped nor in the inventory of the npc.

 

I think it doesn't do anything because it doesn't find the item, because the reference might be wrong (I asked Claude with a screenshot).

 

Could you help me identify how to reference the mod item properly?

 

  Hide contents

; option 1
; kimahri closed black
; mouth mask black

; option 2
; kimahri open black
; mouth mask black

; option 3
; kimahri open black


; kimahri open black
; "KimahriShadowMan.esp:0xFE000802"

; mouth mask black  
; "KimahriShadowMan.esp:0xFE000804"

; kimahri closed black
; "KimahriShadowMan.esp:0xFE000801"

; Debug: Function start
msg_notify "equipveil: script started"

; 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 + black mage college robes
	set $formId "KimahriShadowMan.esp:0xFE000801"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0xFE000804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x020146A5"
	gosub equipitem
elseif $option == 2
	; Option 2: kimahri open black + mouth mask black + black mage college robes
	set $formId "KimahriShadowMan.esp:0xFE000802"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0xFE000804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x020146A5"
	gosub equipitem
else
	; Option 3: kimahri open black + black mage college robes
	set $formId "KimahriShadowMan.esp:0xFE000802"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x020146A5"
	gosub equipitem
endif

return

beginsub equipitem
	actor_iswearing $system.self $formId
	
	if $$ == false ; i.e. not wearing
		item_getcount $system.self $formId
		
		if $$ < 1
			item_adduse $system.self $formId 1 1
		else
			item_equip $system.self $formId 0 1
		endif
	endif
endsub

 

SSedit mod with the item.

The other mod doesn't work either.

 

Preview of F1C9DC9B142D4037A1213093C22E82C2.png

 

 

 

Ah, the problem you're having is with your formIDs. They are all absolute instead of relative, but are being used with a modname instead of by themselves.

See this: https://github.com/lynnpye/sl_triggers/wiki/Scripts#formid-forms-and-you and this: https://www.nexusmods.com/skyrimspecialedition/articles/6629

 

Where you have, for instance: "KimahriShadowMan.esp:0xFE000802", you want "KimahriShadowMan.esp:0x802".

 

Each mod gets a set of high order bits. In your load order, KimahriShadowMan.esp is an ESL flagged .esp, since it starts with 0xFE. An ESL flagged .esp has 5 hex digits for its high order bits, so the 0xFE000 prefix. So where you say "KimahriShadowMan.esp", that already is enough for the masking to know to use 0xFE000 at the front. All that's left is the "802".

 

Note that for non-ESL flagged .esps/.esms, only the first two hex digits are the high order bits. Since ESLs get the whole 0xFE space, that means anything starting with 0x00 through 0xFD can be assumed to be a non-ESL flagged .esp and you only need to mask out the first two digits. "Black Mage Armor SE.esp:020146A5" would be an example. The high order bits here are "0x02", so here you would use "Black Mage Armor SE.esp:0x0146A5".

 

Also, keep in mind too that for a number to be treated like it is in hexadecimal format, it must be prefixed with 0x.

 

"Black Mage Armor SE.esp:0x0146A5" -- this works

"Black Mage Armor SE.esp:0146A5" -- this does not

 

You *can* use absolute formIDs, but then of course if you change your load order, they will break. You can use editorIDs as well, which might be more descriptive and easier to use in the script. And you can use a relative formID with a modname. But no combining absolute formIDs with modnames.

Edited by hextun
Posted (edited)
19 minutes ago, hextun said:

 

Ah, the problem you're having is with your formIDs. They are all absolute instead of relative, but are being used with a modname instead of by themselves.

See this: https://github.com/lynnpye/sl_triggers/wiki/Scripts#formid-forms-and-you and this: https://www.nexusmods.com/skyrimspecialedition/articles/6629

 

Where you have, for instance: "KimahriShadowMan.esp:0xFE000802", you want "KimahriShadowMan.esp:0x802".

 

Each mod gets a set of high order bits. In your load order, KimahriShadowMan.esp is an ESL flagged .esp, since it starts with 0xFE. An ESL flagged .esp has 5 hex digits for its high order bits, so the 0xFE000 prefix. So where you say "KimahriShadowMan.esp", that already is enough for the masking to know to use 0xFE000 at the front. All that's left is the "802".

 

Note that for non-ESL flagged .esps/.esms, only the first two hex digits are the high order bits. Since ESLs get the whole 0xFE space, that means anything starting with 0x00 through 0xFD can be assumed to be a non-ESL flagged .esp and you only need to mask out the first two digits. "Black Mage Armor SE.esp:020146A5" would be an example. The high order bits here are "0x02", so here you would use "Black Mage Armor SE.esp:0x0146A5".

 

Also, keep in mind too that for a number to be treated like it is in hexadecimal format, it must be prefixed with 0x.

 

"Black Mage Armor SE.esp:0x0146A5" -- this works

"Black Mage Armor SE.esp:0146A5" -- this does not

 

You *can* use absolute formIDs, but then of course if you change your load order, they will break. You can use editorIDs as well, which might be more descriptive and easier to use in the script. And you can use a relative formID with a modname. But no combining absolute formIDs with modnames.

 

 

thank you! so i updated the script.

but still nothing equipped.

what should i do?

 

it does say which option chosen + trying to equip form ID xxx

fyi kimahrishadowman is an esp flagged as esl

and black mage is an esp

 

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 (v4)"

; 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 + black mage college robes
	set $formId "KimahriShadowMan.esp:0x801"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
elseif $option == 2
	; Option 2: kimahri open black + mouth mask black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x802"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
else
	; Option 3: kimahri open black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x802"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
endif

return

beginsub equipitem
	msg_notify "equipveil: Trying to equip FormID: " $formId
	
	actor_iswearing $system.self $formId
	msg_notify "equipveil: Already wearing? " $$
	
	if $$ == false ; i.e. not wearing
		item_getcount $system.self $formId
		msg_notify "equipveil: Item count in inventory: " $$
		
		if $$ < 1
			msg_notify "equipveil: Adding and using item"
			item_adduse $system.self $formId 1 1
		else
			msg_notify "equipveil: Equipping existing item"
			item_equip $system.self $formId 0 1
		endif
	endif
endsub

 

 

Edited by Fraying9981
Posted (edited)
4 hours ago, Fraying9981 said:

 

 

thank you! so i updated the script.

but still nothing equipped.

what should i do?

 

it does say which option chosen + trying to equip form ID xxx

fyi kimahrishadowman is an esp flagged as esl

and black mage is an esp

 

  Reveal hidden contents

; 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 (v4)"

; 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 + black mage college robes
	set $formId "KimahriShadowMan.esp:0x801"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
elseif $option == 2
	; Option 2: kimahri open black + mouth mask black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x802"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
else
	; Option 3: kimahri open black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x802"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
endif

return

beginsub equipitem
	msg_notify "equipveil: Trying to equip FormID: " $formId
	
	actor_iswearing $system.self $formId
	msg_notify "equipveil: Already wearing? " $$
	
	if $$ == false ; i.e. not wearing
		item_getcount $system.self $formId
		msg_notify "equipveil: Item count in inventory: " $$
		
		if $$ < 1
			msg_notify "equipveil: Adding and using item"
			item_adduse $system.self $formId 1 1
		else
			msg_notify "equipveil: Equipping existing item"
			item_equip $system.self $formId 0 1
		endif
	endif
endsub

 

 

 

Does it reach line 57 with "msg_notify "equipveil: Already wearing? " $$"?

Could possibly be line 59 with "if $$ == false ; i.e. not wearing" is failing because line 56 with "actor_iswearing $system.self $formId" is giving 1/0 instead of true/false?

And if that's not it, maybe try to set line 56 into a var before using it at line 59? I dunno, could be a quirk.

 

Edited by MannySauce
tide rof nosaeR
Posted
13 hours ago, MannySauce said:

 

Does it reach line 57 with "msg_notify "equipveil: Already wearing? " $$"?

Could possibly be line 59 with "if $$ == false ; i.e. not wearing" is failing because line 56 with "actor_iswearing $system.self $formId" is giving 1/0 instead of true/false?

And if that's not it, maybe try to set line 56 into a var before using it at line 59? I dunno, could be a quirk.

 

 

I wanted to address this rq: actor_iswearing returns bool (I need to go back and update descriptions) but even if it didn't, int values of 1/0 when used in a comparison with bool truth will still compare correctly. :)

This is a documentation shortfall on my part, but equality with bool generally works for checking truthiness of other types.

 

BUT... @MannySauce makes a good point; you call actor_iswearing, and you added a msg_notify referencing $$ afterward, but you then try to reference $$ again afterward, when it's return value would have been reset by calling a new function (i.e $$ would now have the 'empty' return value from msg_notify). You'll want to slurp that into a variable for use later if you want to output it.

 

18 hours ago, Fraying9981 said:

 

 

thank you! so i updated the script.

but still nothing equipped.

what should i do?

 

it does say which option chosen + trying to equip form ID xxx

fyi kimahrishadowman is an esp flagged as esl

and black mage is an esp

 

  Reveal hidden contents

; 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 (v4)"

; 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 + black mage college robes
	set $formId "KimahriShadowMan.esp:0x801"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
elseif $option == 2
	; Option 2: kimahri open black + mouth mask black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x802"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
else
	; Option 3: kimahri open black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x802"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
endif

return

beginsub equipitem
	msg_notify "equipveil: Trying to equip FormID: " $formId
	
	actor_iswearing $system.self $formId
	msg_notify "equipveil: Already wearing? " $$
	
	if $$ == false ; i.e. not wearing
		item_getcount $system.self $formId
		msg_notify "equipveil: Item count in inventory: " $$
		
		if $$ < 1
			msg_notify "equipveil: Adding and using item"
			item_adduse $system.self $formId 1 1
		else
			msg_notify "equipveil: Equipping existing item"
			item_equip $system.self $formId 0 1
		endif
	endif
endsub

 

 

 

I just noticed your screenshot. Records 801 and 802 are ArmorAddons which, if I'm not mistaken, cannot (or at least should not?) be equipped/added like regular Armor records.

 

As a result, I *think* what you would want to do, based on the editorIDs and your comments in your script, is replace 801 with 806, and replace 802 with 805. 

 

Here is an updated version with the changes I think are needed (formID changed from 801/802 to 806/805 respectively), and the flag handling changed. Try it and let me know how it goes:

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 (v4)"

; 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 + black mage college robes
	set $formId "KimahriShadowMan.esp:0x806"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
elseif $option == 2
	; Option 2: kimahri open black + mouth mask black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x805"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
else
	; Option 3: kimahri open black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x805"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	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 and using item"
			item_adduse $system.self $formId 1 1
		else
			msg_notify "equipveil: Equipping existing item"
			item_equip $system.self $formId 0 1
		endif
	endif
endsub

 

 

Posted

Also, I just noticed that I broke trigger addition, such that adding a new trigger does not appear to show the filters until you leave and reenter. It came in when I introduced the MCM optimization, which involved moving that logic into the plugin, whereupon I apparently decided to change a key behavior without reason. I am apparently weird that way.

 

It will be fixed in the next release.

Posted
On 8/12/2025 at 9:10 AM, bandetlol said:

Do you think you can add an other trigger for "Harvest Ingredient"?

 

So I've added some functionality for this and in testing what I get is this:

There are FLOR (Flora) objects and TREE (Tree) objects which I can set up detection for. Interestingly, a lot of things you might expect to be Flora are actually considered Trees (e.g. Mountain Flowers, Snowberries). And Mora Tapinella, the mushroom you get from trees, registers as Flora. As does Brook Bass, the fish. :)

 

But, Blue Butterflies are just ACTI (Activator) objects, and I don't have a good way to easily filter those out; filtering for ACTI would be too broad, and I would have to do something like create a list of known ACTI things that should still be handled. And even then I don't have a good way to determine what ingredient they drop (which I was hoping to provide in the request data).

 

So right now, with minimal work, I could get something which would probably work for a chunk of the harvestable things, but it would also pick up fish (which you might not want) and would miss some things like butterflies (which you would probably want).

 

And that's putting aside whether you actually got anything from the harvest. That is, I can determine what the ingredient would be if it dropped something, but if nothing dropped for some reason, my event would still fire (since I can't at the moment tell if you actually got something).

 

This is me trying to be as unobtrusive as possible, using existing events.

Posted (edited)
4 hours ago, hextun said:

 

I wanted to address this rq: actor_iswearing returns bool (I need to go back and update descriptions) but even if it didn't, int values of 1/0 when used in a comparison with bool truth will still compare correctly. :)

This is a documentation shortfall on my part, but equality with bool generally works for checking truthiness of other types.

 

BUT... @MannySauce makes a good point; you call actor_iswearing, and you added a msg_notify referencing $$ afterward, but you then try to reference $$ again afterward, when it's return value would have been reset by calling a new function (i.e $$ would now have the 'empty' return value from msg_notify). You'll want to slurp that into a variable for use later if you want to output it.

 

 

I just noticed your screenshot. Records 801 and 802 are ArmorAddons which, if I'm not mistaken, cannot (or at least should not?) be equipped/added like regular Armor records.

 

As a result, I *think* what you would want to do, based on the editorIDs and your comments in your script, is replace 801 with 806, and replace 802 with 805. 

 

Here is an updated version with the changes I think are needed (formID changed from 801/802 to 806/805 respectively), and the flag handling changed. Try it and let me know how it goes:

  Reveal hidden contents
; 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 (v4)"

; 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 + black mage college robes
	set $formId "KimahriShadowMan.esp:0x806"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
elseif $option == 2
	; Option 2: kimahri open black + mouth mask black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x805"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
else
	; Option 3: kimahri open black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x805"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	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 and using item"
			item_adduse $system.self $formId 1 1
		else
			msg_notify "equipveil: Equipping existing item"
			item_equip $system.self $formId 0 1
		endif
	endif
endsub

 

 

 

 

thanks, so now items get equipped but the npcs suddenly unequip them :/

how do you solve this?

 

Edit: to be precise, after playing a bit more, it does work on certain NPCs. It's overridden on others. Namely this mod's NPCs: https://www.nexusmods.com/skyrimspecialedition/mods/595?tab=description

As if their package controls what they are wearing and removes it. 
Is there a workaround?

 

Edited by Fraying9981
Posted
2 hours ago, Fraying9981 said:

 

 

thanks, so now items get equipped but the npcs suddenly unequip them :/

how do you solve this?

 

Edit: to be precise, after playing a bit more, it does work on certain NPCs. It's overridden on others. Namely this mod's NPCs: https://www.nexusmods.com/skyrimspecialedition/mods/595?tab=description

As if their package controls what they are wearing and removes it. 
Is there a workaround?

 

 

I went to the nexus mods page you linked, went to the 'Posts' tab and searched for "equip" and saw a number of people saying they had troubles equipping items, though they also said they had success using the console commands to equip items (i.e. equipitem <itemid> 1), which should be identical functionally to the item_equip and item_adduse functions.

 

That said, there is item_addex, which Fotogen wrote which is supposed to try to handle some NPC armor equippage issues.

 

So here is another slightly more altered version, to make use of item_addex. Try this and let me know how it goes. 

; 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 (v4)"

; 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 + black mage college robes
	set $formId "KimahriShadowMan.esp:0x806"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
elseif $option == 2
	; Option 2: kimahri open black + mouth mask black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x805"
	gosub equipitem
	set $formId "KimahriShadowMan.esp:0x804"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	gosub equipitem
else
	; Option 3: kimahri open black + black mage college robes
	set $formId "KimahriShadowMan.esp:0x805"
	gosub equipitem
	set $formId "Black Mage Armor SE.esp:0x0146A5"
	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

 

Posted

New version is up, v135. I have removed older versions due to a breaking bug, but the upgrade *should* be savegame compatible.

 

Items of interest:

 

Bugfix: request scope variables were not working; they should be working now.

Bugfix: MCM filters would not display when you picked an event type for a newly created trigger until you exited the MCM and reentered; this has been fixed 

 

And on to the main course. We have a feast today, albeit, very lightly tested, so feedback is very much desired and very much appreciated.

 

New Core events:

- Harvesting - Should fire when picking from bushes/flowers/butterflies/fish/mushrooms - please report false positives as well as false negatives

- Fast Travel Arrival - as it says on the tin

- Vampire Transitions - cured, contracted (disease progression to vampire), shifting into vampire lord form, shifting out of vampire lord form

- Werewolf Transitions - cured, contracted, shifting into werewolf form, shifting out of werewolf form

- Vampire Feeding - as it says on the tin

 

Most of these also come with new request variables (that should actually work now), in case your script needs to handle specifics about what was harvested or what state of transition you are in.

 

Go forth and be scriptastic.

Posted (edited)
util_wait 3
actor_dogetter $system.player IsDead
if $$ = 1
spell_cast "Private Needs - Orgasm.esp:2116" $system.player
set $timer resultfrom rnd_float 8 10
util_wait $timer
spell_dispel "Private Needs - Orgasm.esp:2116" $system.player

Hello, I have tried to run the script after typing kill in the console, consider player is already dead, pee should be appear after 3 seconds, but nothing happen, any suggestions to modify to make this script work?

Edited by aoF_6sSQ
Posted
7 hours ago, aoF_6sSQ said:
util_wait 3
actor_dogetter $system.player IsDead
if $$ = 1
spell_cast "Private Needs - Orgasm.esp:2116" $system.player
set $timer resultfrom rnd_float 8 10
util_wait $timer
spell_dispel "Private Needs - Orgasm.esp:2116" $system.player

Hello, I have tried to run the script after typing kill in the console, consider player is already dead, pee should be appear after 3 seconds, but nothing happen, any suggestions to modify to make this script work?

 

So, I gotta say, I hadn't expect to deal with this. :)

 

First, the answer: SLTR (and the original SLT) use an ActiveMagicEffect (i.e. the effect from a custom spell) to run each script. When the script finishes, the effect ends. But the MGEF records are not flagged with "No Death Dispel" which means on death, they will be removed. You mention, however, trying to run the script *after* using the kill command. If you're doing this via the console (i.e. 'slt run "scriptname"), make sure it says it is running the script on the player. If not, use 'prid player' before running the slt run command to make sure the player is selected. And even then, I have to say... I had not considered the possibility of someone wanting to run anything on the player's cold corpse. :) I have to be honest, I'm not sure if a spell cast in this case is even *supposed* to work. But I'll take a look at the issue.

 

And if you're wondering how we got here, remember that SLT started off primarily as a method of running scripts related specifically to SexLab scenes, where one is not usually concerned with death or responding to it or in spite of it. And until now, that architecture seemed entirely reasonable.

 

Would you mind telling me how you keep the game running (i.e. without the fade to black/restart) once the player is dead, long enough to expect the script to run? I mean, I'm not really even sure how to begin testing this.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...