Jump to content

Curious about modifying SL scripts


Recommended Posts

Posted

Hi there,

I've recently been messing around with the werewolf content quite a bit and couldn't help but notice that the cum effects just looked... odd, to say the least, since they are meant to work on the humanoid textures, not the werewolf ones.
I experimentally tried to see if I could add a check for the target being a werewolf and disable or add a new spell with either custom or blank textures to avoid that.

For some reason once I activate the mod that alters the sllActorLibrary script which contains the addCum function I modified [see spoiler below for details] I always get "actor not supported" as error when I try to start an animation, tested between argonian and werewolf, validation failed on both.

 

Spoiler

function AddCum(Actor ActorRef, bool Vaginal = true, bool Oral = true, bool Anal = true)
	if !Vaginal && !Oral && !Anal
		return ; Nothing to do
	endIf

	int kVaginal = ((Vaginal || ActorRef.HasMagicEffectWithKeyword(CumVaginalStackedKeyword)) as int) + (ActorRef.HasMagicEffectWithKeyword(CumVaginalKeyword) as int)
	int kOral    = ((Oral || ActorRef.HasMagicEffectWithKeyword(CumOralStackedKeyword)) as int)       + (ActorRef.HasMagicEffectWithKeyword(CumOralKeyword) as int)
	int kAnal    = ((Anal || ActorRef.HasMagicEffectWithKeyword(CumAnalStackedKeyword)) as int)       + (ActorRef.HasMagicEffectWithKeyword(CumAnalKeyword) as int)
	Log("Vaginal:"+Vaginal+"-"+kVaginal+" Oral:"+Oral+"-"+kOral+" Anal:"+Anal+"-"+kAnal)

	if kVaginal == 1 && kOral == 1 && kAnal == 1 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal1Oral1Anal1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 1 && kOral == 1 && kAnal == 1 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 2 && kOral == 1 && kAnal == 1 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal2Oral1Anal1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 2 && kOral == 1 && kAnal == 1 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 2 && kOral == 2 && kAnal == 1 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal2Oral2Anal1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 2 && kOral == 2 && kAnal == 1 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 2 && kOral == 1 && kAnal == 2 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal2Oral1Anal2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 2 && kOral == 1 && kAnal == 2 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)	
	elseif kVaginal == 1 && kOral == 2 && kAnal == 1 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal1Oral2Anal1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 1 && kOral == 2 && kAnal == 1 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 1 && kOral == 2 && kAnal == 2 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal1Oral2Anal2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 1 && kOral == 2 && kAnal == 2 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 1 && kOral == 1 && kAnal == 2 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal1Oral1Anal2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 1 && kOral == 1 && kAnal == 2 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 2 && kOral == 2 && kAnal == 2 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal2Oral2Anal2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 2 && kOral == 2 && kAnal == 2 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 0 && kOral == 1 && kAnal == 1 && ActorRef.GetRace() != "WerewolfBeastRace"
		Oral1Anal1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 0 && kOral == 1 && kAnal == 1 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 0 && kOral == 2 && kAnal == 1 && ActorRef.GetRace() != "WerewolfBeastRace"
		Oral2Anal1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 0 && kOral == 2 && kAnal == 1 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)	
	elseif kVaginal == 0 && kOral == 1 && kAnal == 2 && ActorRef.GetRace() != "WerewolfBeastRace"
		Oral1Anal2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 0 && kOral == 1 && kAnal == 2 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)	
	elseif kVaginal == 0 && kOral == 2 && kAnal == 2 && ActorRef.GetRace() != "WerewolfBeastRace"
		Oral2Anal2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 0 && kOral == 2 && kAnal == 2 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumOralAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 1 && kOral == 1 && kAnal == 0 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal1Oral1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 1 && kOral == 1 && kAnal == 0 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 2 && kOral == 1 && kAnal == 0 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal2Oral1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 2 && kOral == 1 && kAnal == 0 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 1 && kOral == 2 && kAnal == 0 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal1Oral2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 1 && kOral == 2 && kAnal == 0 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 2 && kOral == 2 && kAnal == 0 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal2Oral2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 2 && kOral == 2 && kAnal == 0 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalOralWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 1 && kOral == 0 && kAnal == 1 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal1Anal1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 1 && kOral == 0 && kAnal == 1 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 2 && kOral == 0 && kAnal == 1 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal2Anal1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 2 && kOral == 0 && kAnal == 1 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 1 && kOral == 0 && kAnal == 2 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal1Anal2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 1 && kOral == 0 && kAnal == 2 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 2 && kOral == 0 && kAnal == 2 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal2Anal2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 2 && kOral == 0 && kAnal == 2 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 1 && kOral == 0 && kAnal == 0 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 1 && kOral == 0 && kAnal == 0 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 2 && kOral == 0 && kAnal == 0 && ActorRef.GetRace() != "WerewolfBeastRace"
		Vaginal2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 2 && kOral == 0 && kAnal == 0 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumVaginalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 0 && kOral == 1 && kAnal == 0 && ActorRef.GetRace() != "WerewolfBeastRace"
		Oral1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 0 && kOral == 1 && kAnal == 0 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumOralWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 0 && kOral == 2 && kAnal == 0 && ActorRef.GetRace() != "WerewolfBeastRace"
		Oral2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 0 && kOral == 2 && kAnal == 0 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumOralWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 0 && kOral == 0 && kAnal == 1 && ActorRef.GetRace() != "WerewolfBeastRace"
		Anal1.Cast(ActorRef, ActorRef)
	elseif kVaginal == 0 && kOral == 0 && kAnal == 1 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumAnalWerewolfSpell.Cast(ActorRef, ActorRef)		
	elseif kVaginal == 0 && kOral == 0 && kAnal == 2 && ActorRef.GetRace() != "WerewolfBeastRace"
		Anal2.Cast(ActorRef, ActorRef)
	elseif kVaginal == 0 && kOral == 0 && kAnal == 2 && ActorRef.GetRace() == "WerewolfBeastRace"
		CumAnalWerewolfSpell.Cast(ActorRef, ActorRef)
	endIf
endFunction

 

 

Papyrus log is attached, disabling the mod containing the modified script fixes everything, so that is the cause, but the log didn't look helpful to me.
I don't know all too much about the way SL is set up to work though, so maybe I am unknowingly messing something up by doing that, I just didn't see a way to do it in a separate script.

I'm sorry if this is the wrong place to ask or a stupid question, I'm still new to posting and asking for help. :confused:

 

Edit: This is not supposed to become public unless I can get all the permissions needed, but for now there are no plans on actually publishing anything and I am just doing this for personal use.

 

Papyrus.0.log

Archived

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

  • Recently Browsing   0 members

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