Jump to content

Trying to patch bathing in skyrim to use slavetasts


2Dimm

Recommended Posts

Posted

seeing that no one achieved to do this yet, me as a complete newbie in papyrus thought that i could do it... buuut of course i failed

 

you see, what i'm trying to do is so that bathing in skyrim doesnt just apply a shader that conflicts with the sexlab cum effect, so the plan is to use slave tats, which makes it easy to use nioverride... well if i knew anything about papyrus scripting

 
i tried doing everything based in pee and fart which does basically what i want just in a different place
 
so here is my progress so far:
first i removed the original shader from the dirtiness magic effects from BIS (bathing in skyrim)
 
then tried to find where in the code BIS adds the dirtiness spells, its probably at "Function ApplyDirt()" at "mzinGetDirtyOverTime"
 
i need to check if there is already a dirt slave tats applied, i copied from pee and fart what appears to be what i need
 
 
Spoiler

bool function HasTattooApplied(Actor DirtyActor, string dirtLevel)

bool dirt_applied = false

int template = JValue.addToPool(JMap.object(), "Dirty_Tattoo_JMAP")

int matches = JValue.addToPool(JArray.object(), "Dirty_Tattoo_JMAP") 

JMap.setStr(template, "section", "Dirt")

JMap.setStr(template, "name", dirtLevel) 

JArray.clear(matches) 

if (SlaveTats.query_applied_tattoos(a_actor, template, matches))

JValue.cleanPool("Dirty_Tattoo_JMAP")

return false

endif 

if JArray.count(matches) > 0

JValue.cleanPool("Dirty_Tattoo_JMAP")

dirt_applied = true

endif 

JValue.cleanPool("Dirty_Tattoo_JMAP") 

return dirt_applied

endfunction

 

now together with the Dirtiness Spells ( as they wont apply the shaders but are required for scripts checks) i tried including the dirt slavetasts from zaz 8.0

 

 

Spoiler

 

if (!HasTattooApplied(DirtyActor, "Dirt_1")) 

SlaveTats.simple_add_tattoo(DirtyActor, "Dirt", "Dirt_1", last = false)

elseif(!HasTattooApplied(DirtyActor, "Dirt_2")) 

SlaveTats.simple_add_tattoo(DirtyActor, "Dirt", "Dirt_2", last = false) 

elseif(!HasTattooApplied(DirtyActor, "Dirt_3")) 

SlaveTats.simple_add_tattoo(DirtyActor, "Dirt", "Dirt_3", last = false) 

endif

 

 

 

i think thats all i need... but just one line from slave tats (SlaveTats.simple_add_tattoo(Game.GetPlayer(), "Dirt", "Dirt_1") for exemple) is enough to make everything fail to copile, without the slavetats lines the script copiles just fine...

 

 

sorry for the wall text, but i really wanted to be able to do this patch, if anyone has experience with slave tats and is willing to help me out i would be really glad

 

 

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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