Jump to content

Recommended Posts

@Waxenfigure

So far I have enjoyed this mod, thanks for making it. Some comments on your future plans, for the most part they all sound pretty good and I look forward to them, but some of your suggestions for the rape initiation animations I think would be a bit overdone.

One of the reasons I had been hoping that one day a mod like this would come along is that I am very much into realistic immersion, good or bad. And the chance of a lone female adventurer to get raped by a camp full of Orcs she happend to sneak into, seemed like a pretty likely scenario. So I welcome that sort of realism and yes I get a kick out of it.

The more realistic the animation the better, so the whole knowckdown and struggle sequence is a good idea, The idea that others would join in is also likely, but masturbating while they wait? That does not sound like a hardened warrior (pardon the pun) would act like that and I think that would really be over the top and ruin the immersion.

I hope you can keep it real as much as possible and thanks for all the good work.

Link to comment

Understood.

 

Hmmm interesting i was at 1.8.151.0.7 before i took a break from Skyrim. Steam is currently in Offline mode so i havent really updated to the next patch. So basically it seems like im about to loose some expressions, can live with that even though im really skeptical about updating.

 

Wonder if this mod can be incorporated into SA given that it seems to work with the latest patch: http://skyrim.nexusmods.com/mods/35303//?

 

The above suggestion may be totally ignorant, i am an experienced player but i know nothing about modding whatsoever.

 

WaxenFigure, please advise.

That expression mod is neat but it is also broken by the 1.9 release, it's noted in the Q&A part.

 

There is one expression I set in the current version but no one every noticed or commented on it and with 1.9 it isn't working anyway.

Link to comment

@Waxenfigure

So far I have enjoyed this mod, thanks for making it. Some comments on your future plans, for the most part they all sound pretty good and I look forward to them, but some of your suggestions for the rape initiation animations I think would be a bit overdone.

One of the reasons I had been hoping that one day a mod like this would come along is that I am very much into realistic immersion, good or bad. And the chance of a lone female adventurer to get raped by a camp full of Orcs she happend to sneak into, seemed like a pretty likely scenario. So I welcome that sort of realism and yes I get a kick out of it.

The more realistic the animation the better, so the whole knowckdown and struggle sequence is a good idea, The idea that others would join in is also likely, but masturbating while they wait? That does not sound like a hardened warrior (pardon the pun) would act like that and I think that would really be over the top and ruin the immersion.

I hope you can keep it real as much as possible and thanks for all the good work.

Actually I have a slow stroke masturbation animation just for that purpose. Not a frantic "get my rocks off now" thing but a slow "lets keep things stiff and ready to go" motion.
Link to comment

Don't mind me I'm just camping this page for the SA-Sexlab update.

 

I brought a tent, I realize it may be awhile.

I think I may revert to the 1.3 release and mod that to use SexLab. Fork the code there and have a version for working on my pet project while also getting everyone moved on to the new more abundant source of animations. I think I will start working on that this weekend because my pet project is not bad but it leaves a lot to be desired yet and it's been a long time since I provided an update.
Link to comment

Also WaxenFigure:

 

I was wondering if there are any plans for extensive foreplay animations yet? I have not gone through the entire Sex Lab thread yet but plan to over the weekend, however, when i say extensive i mean deep kissing, nibbling the neck etc. Is this something we can expect in the near future? Are all modders porting to SexLab over Sexis? Ive heard so many say that, is there a particular reason why? SO much has happened while ive been away so just working on catching up.

Link to comment

 

@Waxenfigure

So far I have enjoyed this mod, thanks for making it. Some comments on your future plans, for the most part they all sound pretty good and I look forward to them, but some of your suggestions for the rape initiation animations I think would be a bit overdone.

One of the reasons I had been hoping that one day a mod like this would come along is that I am very much into realistic immersion, good or bad. And the chance of a lone female adventurer to get raped by a camp full of Orcs she happend to sneak into, seemed like a pretty likely scenario. So I welcome that sort of realism and yes I get a kick out of it.

The more realistic the animation the better, so the whole knowckdown and struggle sequence is a good idea, The idea that others would join in is also likely, but masturbating while they wait? That does not sound like a hardened warrior (pardon the pun) would act like that and I think that would really be over the top and ruin the immersion.

I hope you can keep it real as much as possible and thanks for all the good work.

Actually I have a slow stroke masturbation animation just for that purpose. Not a frantic "get my rocks off now" thing but a slow "lets keep things stiff and ready to go" motion.

 

Thanks for the reply, I look forward to the update. I think the positions and animations are awesome in your mod and way better than what I have been using so far, however I have a problem with lining up the positions. Sometimes they line up just fine but more often I have been using the comands as described on the main page but they seem to do little but jerk the char around but not actually lining them up any better. Any suggestions and is the fine tuning of positions something you were planing to improve? Btw, the change position and other direct comand keys work fine, just not the lining up ones.

Link to comment

Image >

 

 

Step1.jpg

 

 

 

Press "Properties" button

 

 

 

Step2.jpg

 

 

Press "Auto-Fill All" button - then press "Ok" buttons until Quest dialogue is closed.  Then save modified mod.

Waxen:

 

 

Scriptname _SA_RandomRapeQuestScript extends Quest  
 
{
This mod uses the _SA_RaperQuest to set up the action.  An actor set as a potential rapist will also find another actor set as their potential victim.
The quest directs the potentisl rapist to sneak up to the potential victim and cast the rape spell on them, once the spell is cast the quest ends. This script 
also automatically ends the quest on the passing of a "registerforupdate" interval.
There are matching aliases set up for each rapist and victim that are used by the quest.
 
This script gets the list of NPCs in the area and will then (starting at a random position in the list) decides if they will be a rapist (based on the _SA_RQPercentage
value) and whether they qualify (based on settings).  Once a potential rapist is selected the list of NPCs is again examined also starting at a random point and 
searched to find a qualifying potential victim.  If no victim can be found then the slot is left open for the next potential rapist.  With a qualifying victim though
the rapist and selected victim are assigned to one of the quest alias pairs and the chase is on.
 
Note that we can have up to eight potential rapists and selected victims active at any given time (which is more than needed) and once a rape is started the next time 
this script cycles the free slot can be filled by a new rapist/victim pair.
}
 
Faction Property PlayerFollowerFaction auto
ReferenceAlias Property _SA_Rapist auto
ReferenceAlias Property _SA_Rapist000 auto
ReferenceAlias Property _SA_Rapist001 auto
ReferenceAlias Property _SA_Rapist002 auto
ReferenceAlias Property _SA_Rapist003 auto
ReferenceAlias Property _SA_Rapist004 auto
ReferenceAlias Property _SA_Rapist005 auto
ReferenceAlias Property _SA_Rapist006 auto
ReferenceAlias Property _SA_RapeVictim auto
ReferenceAlias Property _SA_RapeVictim000 auto
ReferenceAlias Property _SA_RapeVictim001 auto
ReferenceAlias Property _SA_RapeVictim002 auto
ReferenceAlias Property _SA_RapeVictim003 auto
ReferenceAlias Property _SA_RapeVictim004 auto
ReferenceAlias Property _SA_RapeVictim005 auto
ReferenceAlias Property _SA_RapeVictim006 auto
ReferenceAlias[] PotentialRapists = None
ReferenceAlias[] PotentialVictims = None
Quest Property _SA_WaitQuest auto
_SA_WaitQuestScript Property _SA_WQ Auto
GlobalVariable Property _SA_RQpercentage auto
Keyword Property ActorTypeNPC auto
Keyword Property ActorTypeCreature auto
Keyword Property ActorTypeAnimal auto
GlobalVariable Property _SA_NecroSwitch auto ; Allows or terminates sex after death of rape target, also controls having sex with already dead actors
GlobalVariable Property _SA_GuysOptions auto ; 0 = Gay or Straight, 1 = Straight only, 2 = Gay only, 3 = Neutered (No sex)
GlobalVariable Property _SA_GalsOptions auto ; 0 = Lesbian or Straight, 1 = Straight only, 2 = Lesbian only, 3 = Neutered (No sex)
Actor player
Cell playerCell
Int Interval = 10 ; Used to control how often the script set rapists and victims up, must not be too short or a rapist
; will not have time to travel to their victim to cast the spell.  
 
Event onInit()
registerForSingleUpdate(Interval) ; Controls how often we switch out who the potential rapists and the potential victims
; Longer update intervals give the potential rapists more time to apprach and cast the rape spell on their selected
; victim.  The original mod had a very short window but I find a longer window works better.
; Note that there is nothing preventing a potential victim from also being a potential rapist or even having
; two actors as potential rapists from targeting each other, someone will cast rape first and win and that's what matters.
PotentialRapists = new ReferenceAlias[8]
PotentialRapists[0] = _SA_Rapist
PotentialRapists[1] = _SA_Rapist000
PotentialRapists[2] = _SA_Rapist001
PotentialRapists[3] = _SA_Rapist002
PotentialRapists[4] = _SA_Rapist003
PotentialRapists[5] = _SA_Rapist004
PotentialRapists[6] = _SA_Rapist005
PotentialRapists[7] = _SA_Rapist006
PotentialVictims = new ReferenceAlias[8]
PotentialVictims [0] = _SA_RapeVictim
PotentialVictims [1] = _SA_RapeVictim000
PotentialVictims [2] = _SA_RapeVictim001
PotentialVictims [3] = _SA_RapeVictim002
PotentialVictims [4] = _SA_RapeVictim003
PotentialVictims [5] = _SA_RapeVictim004
PotentialVictims [6] = _SA_RapeVictim005
PotentialVictims [7] = _SA_RapeVictim006
endEvent
 
int kNPC = 43
Event onUpdate()
if (_SA_RQpercentage.getValue() == 0) ; Just exit if there's no random rape set up
registerForSingleUpdate(Interval)
return
endif
player = Game.getPlayer()
playerCell = player.getParentCell()
int i = playerCell.getNumRefs(kNPC) ; Not zero based, is actual count
int RapistRoster = 0
int indexRosters = 0
; Start rapists at a random point in the list of NPCs so we don't have the NPCs at the top of the list always being the rapists
; variable i is used to repeat the check once for each NPC in the local cell while RapistRoster is used to check each specific
; NPC to decide whether they are eligible to be a rapist and if it is decided they can rape to select a victim if we can find one
RapistRoster = Utility.randomInt(1, i)
while (i > -1)
RapistRoster -= 1
if (RapistRoster < 0)
RapistRoster = playerCell.getNumRefs(kNPC) - 1
endIf
Actor Rapist = playerCell.getNthRef(RapistRoster, kNPC) as Actor
ActorBase RapistBase = Rapist.getLeveledActorBase()
Race RapistRace = RapistBase.getRace()
Actor Victim
if (isEligibleToBeARapist(Rapist,RapistBase,RapistRace))
debug.trace(Rapist.getLeveledActorBase().getName() + " is potential rapist (race=" + RapistRace.getName() + ")")
Victim = FindAnEligibleVictim(Rapist)
if (Victim) ; We got a victim
debug.trace(Victim.getLeveledActorBase().getName() + " is designated victim of " + Rapist.getLeveledActorBase().getName() + " (race=" + Victim.getLeveledActorBase().getRace().getName() + ")")
PotentialRapists[indexRosters].forceRefTo(Rapist) ; Assigns this rapist to a quest alias
PotentialVictims[indexRosters].forceRefTo(Victim) ; Assigns this victim to a quest alias
indexRosters += 1
endif
if (indexRosters >= 8) ; if we've filled the quest aliases then exit the hunt
debug.trace("All quest aliases have been filled")
i = 0
endIf
endIf
i -= 1
endWhile
if (indexRosters < 8) ; Clear any residuals from previous runs
while indexRosters < 8
PotentialRapists[indexRosters].clear()
PotentialVictims[indexRosters].clear()
indexRosters += 1
endwhile
endif
registerForSingleUpdate(Interval)
endEvent
 
Actor Function FindAnEligibleVictim(Actor Rapist)
; Match a selected rapist with someone as a victim
int index = playerCell.getNumRefs(kNPC)
int MaxIndex = index
int NPCs = index
; Same as with the rapists, we'll start our hunt for victims at a random point so the NPCs at the top of the list don't always end up as the victims
; since the rapists are selected decending through the list the victims will be selected ascending through the list.
int VictimsRoster = Utility.randomInt(1,MaxIndex)
Actor SelectedVictim = playerCell.getNthRef(VictimsRoster, kNPC) as Actor
while (NPCs > -1 && (!isEligibleToBeRapedByThisRapist(Rapist, SelectedVictim)))
VictimsRoster += 1
if VictimsRoster > MaxIndex
VictimsRoster = 0
endif
SelectedVictim = playerCell.getNthRef(VictimsRoster, kNPC) as Actor
NPCs -= 1
EndWhile
if (NPCs > -1)
return SelectedVictim
endif
return none
EndFunction
 
Bool Function isEligibleToBeARapist(Actor Rapist,ActorBase RapistBase,Race RapistRace)
if ( (!Rapist) || (!Rapist.isEnabled()) || (!Rapist.Is3dLoaded())) ; Must exist be an active NPC and be loaded in the game
return false
endif
;debug.trace("Checking rapist eligibility for " + RapistBase.getName())
if (Rapist == player) ; Player is not a madness rapist  (perhaps in the future)
return false
endif
if (Rapist.IsChild() || RapistRace.IsChildRace()) ; No children
return false
endif
if (Rapist.IsInCombat()) ; Busy, will join in if combat rape is allowed
return false
endif
if (Rapist.isDead()) ; The dead do not rape (undead like vampires yes, but not the completely dead)
return false
endif
if ((!Rapist.hasKeyword(ActorTypeNPC))||RapistRace.hasKeyWord(ActorTypeCreature)||RapistRace.hasKeyword(ActorTypeAnimal)) ; Must be a NPC (this is where we exclude mannequins, animals and creatures)
return false
endif
if (_SA_WQ.isHavingSex(Rapist)) ; Already raping or being raped, obviously not eligible
return false
endif
if (Rapist.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 3) || (Rapist.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 3) ; Your sex has been excluded from all the fun
return false
endif
if (Utility.randomFloat(0,99) > _SA_RQpercentage.getValue()) ; Roll of the random number says you do not qualify
return false
endif
return true ; We have a rapist selected
EndFunction
 
Bool Function isEligibleToBeRapedByThisRapist(Actor Rapist, Actor Victim)
if ((!Victim) || (!Victim.isEnabled()) || (!Victim.Is3DLoaded()) || (Rapist == Victim)) ; Must exist and be an active NPC and not the Rapist
return false
endif
ActorBase VictimBase = Victim.getLeveledActorBase()
Race VictimRace = VictimBase.GetRace()
debug.trace(VictimBase.getName() + " is possible victim of " + Rapist.getLeveledActorBase().getName())
if (Victim.IsChild() || VictimRace.IsChildRace()) ; No Children
debug.trace("Victim can't be a child")
return false
endif
if (Victim.IsInCombat()) ; Busy, will join in as rapist or victim if combat rape is allowed
;debug.trace(VictimBase.getName() + " Victim can't be in Combat")
return false
endif
if (Victim.isDead() && _SA_NecroSwitch.getValue() != 1) ; Not allowing Necro
;debug.trace(VictimBase.getName() + " Victim is Dead and Necro not allowed")
return false
endif
if ((!Victim.hasKeyword(ActorTypeNPC))||VictimRace.hasKeyWord(ActorTypeCreature)||VictimRace.hasKeyword(ActorTypeAnimal)) ; Must be a NPC (this is where we exclude mannequins)
;debug.trace(VictimBase.getName() + " Victim is not a NPC, beastiality and sex with inaminate objects not implemented")
return false
endif
if (_SA_WQ.isHavingSex(Victim)) ; Already raping or being raped, obviously not eligible
;debug.trace(VictimBase.getName() + " Victim is already having Sex")
return false
endif
if (Victim.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 3) || (Victim.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 3) ; Your sex has been excluded from all the fun
;debug.trace(VictimBase.getName() + " Victim is not allowed any sex by preferences")
return false
endif
if (Victim.getLeveledActorBase().getSex() == 0 && Rapist.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 1) ; Gay sex not allowed
;debug.trace(VictimBase.getName() + " Victim would violate No Gay sex preference")
return false
endif
if (Victim.getLeveledActorBase().getSex() == 1 && Rapist.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 1) ; Lesbian sex not allowed
;debug.trace(VictimBase.getName() + " Victim would violate No Lesbian sex preference")
return false
endif
if (Rapist.getLeveledActorBase().getSex() == 0 && Victim.getLeveledActorBase().getSex() == 1 && _SA_GuysOptions.getValue() == 2) ; Guys are gay only 
;debug.trace(VictimBase.getName() + " Victim would violate Gay sex only preference")
return false
endif
if (Rapist.getLeveledActorBase().getSex() == 1 && Victim.getLeveledActorBase().getSex() == 0 && _SA_GalsOptions.getValue() == 2) ; Gals are lesbian only 
;debug.trace(VictimBase.getName() + " Victim would violate Lesbian sex only preference")
return false
endif
if (Victim <> player && !victim.IsInFaction(PlayerFollowerFaction))
return false
endif
return true ; We have a rape victim selected
EndFunction

 
Should the .psc look like this? Still isn't showing that last PlayerFollowerFaction line in my CK. 0 properties auto-filled. Changed it in properties in the actual game files too, but no change. No auto-fill will do anything until that last line shows up...
Link to comment

Hi , at first when i tried this mod it worked smoothly, however after awhile , the response time when i press the keys take very, very long, is there a way to fix this?

This is a memory issue With the whole game not just SA! As you play your memory is been used with the more cells you Enter ETC:, I recommend when you notice Any lagging Quick save Exit game & Start afresh...Pain in the Bum I know!!! But not the end of the world... :)

Link to comment

 

Image >

 

 

attachicon.gifStep1.jpg

 

 

 

Press "Properties" button

 

 

 

attachicon.gifStep2.jpg

 

 

Press "Auto-Fill All" button - then press "Ok" buttons until Quest dialogue is closed.  Then save modified mod.

Waxen:

 

 

 

Scriptname _SA_RandomRapeQuestScript extends Quest  

 

{

This mod uses the _SA_RaperQuest to set up the action.  An actor set as a potential rapist will also find another actor set as their potential victim.

The quest directs the potentisl rapist to sneak up to the potential victim and cast the rape spell on them, once the spell is cast the quest ends. This script 

also automatically ends the quest on the passing of a "registerforupdate" interval.

There are matching aliases set up for each rapist and victim that are used by the quest.

 

This script gets the list of NPCs in the area and will then (starting at a random position in the list) decides if they will be a rapist (based on the _SA_RQPercentage

value) and whether they qualify (based on settings).  Once a potential rapist is selected the list of NPCs is again examined also starting at a random point and 

searched to find a qualifying potential victim.  If no victim can be found then the slot is left open for the next potential rapist.  With a qualifying victim though

the rapist and selected victim are assigned to one of the quest alias pairs and the chase is on.

 

Note that we can have up to eight potential rapists and selected victims active at any given time (which is more than needed) and once a rape is started the next time 

this script cycles the free slot can be filled by a new rapist/victim pair.

}

 

Faction Property PlayerFollowerFaction auto

ReferenceAlias Property _SA_Rapist auto

ReferenceAlias Property _SA_Rapist000 auto

ReferenceAlias Property _SA_Rapist001 auto

ReferenceAlias Property _SA_Rapist002 auto

ReferenceAlias Property _SA_Rapist003 auto

ReferenceAlias Property _SA_Rapist004 auto

ReferenceAlias Property _SA_Rapist005 auto

ReferenceAlias Property _SA_Rapist006 auto

ReferenceAlias Property _SA_RapeVictim auto

ReferenceAlias Property _SA_RapeVictim000 auto

ReferenceAlias Property _SA_RapeVictim001 auto

ReferenceAlias Property _SA_RapeVictim002 auto

ReferenceAlias Property _SA_RapeVictim003 auto

ReferenceAlias Property _SA_RapeVictim004 auto

ReferenceAlias Property _SA_RapeVictim005 auto

ReferenceAlias Property _SA_RapeVictim006 auto

ReferenceAlias[] PotentialRapists = None

ReferenceAlias[] PotentialVictims = None

Quest Property _SA_WaitQuest auto

_SA_WaitQuestScript Property _SA_WQ Auto

GlobalVariable Property _SA_RQpercentage auto

Keyword Property ActorTypeNPC auto

Keyword Property ActorTypeCreature auto

Keyword Property ActorTypeAnimal auto

GlobalVariable Property _SA_NecroSwitch auto ; Allows or terminates sex after death of rape target, also controls having sex with already dead actors

GlobalVariable Property _SA_GuysOptions auto ; 0 = Gay or Straight, 1 = Straight only, 2 = Gay only, 3 = Neutered (No sex)

GlobalVariable Property _SA_GalsOptions auto ; 0 = Lesbian or Straight, 1 = Straight only, 2 = Lesbian only, 3 = Neutered (No sex)

Actor player

Cell playerCell

Int Interval = 10 ; Used to control how often the script set rapists and victims up, must not be too short or a rapist

; will not have time to travel to their victim to cast the spell.  

 

Event onInit()

registerForSingleUpdate(Interval) ; Controls how often we switch out who the potential rapists and the potential victims

; Longer update intervals give the potential rapists more time to apprach and cast the rape spell on their selected

; victim.  The original mod had a very short window but I find a longer window works better.

; Note that there is nothing preventing a potential victim from also being a potential rapist or even having

; two actors as potential rapists from targeting each other, someone will cast rape first and win and that's what matters.

PotentialRapists = new ReferenceAlias[8]

PotentialRapists[0] = _SA_Rapist

PotentialRapists[1] = _SA_Rapist000

PotentialRapists[2] = _SA_Rapist001

PotentialRapists[3] = _SA_Rapist002

PotentialRapists[4] = _SA_Rapist003

PotentialRapists[5] = _SA_Rapist004

PotentialRapists[6] = _SA_Rapist005

PotentialRapists[7] = _SA_Rapist006

PotentialVictims = new ReferenceAlias[8]

PotentialVictims [0] = _SA_RapeVictim

PotentialVictims [1] = _SA_RapeVictim000

PotentialVictims [2] = _SA_RapeVictim001

PotentialVictims [3] = _SA_RapeVictim002

PotentialVictims [4] = _SA_RapeVictim003

PotentialVictims [5] = _SA_RapeVictim004

PotentialVictims [6] = _SA_RapeVictim005

PotentialVictims [7] = _SA_RapeVictim006

endEvent

 

int kNPC = 43

Event onUpdate()

if (_SA_RQpercentage.getValue() == 0) ; Just exit if there's no random rape set up

registerForSingleUpdate(Interval)

return

endif

player = Game.getPlayer()

playerCell = player.getParentCell()

int i = playerCell.getNumRefs(kNPC) ; Not zero based, is actual count

int RapistRoster = 0

int indexRosters = 0

; Start rapists at a random point in the list of NPCs so we don't have the NPCs at the top of the list always being the rapists

; variable i is used to repeat the check once for each NPC in the local cell while RapistRoster is used to check each specific

; NPC to decide whether they are eligible to be a rapist and if it is decided they can rape to select a victim if we can find one

RapistRoster = Utility.randomInt(1, i)

while (i > -1)

RapistRoster -= 1

if (RapistRoster < 0)

RapistRoster = playerCell.getNumRefs(kNPC) - 1

endIf

Actor Rapist = playerCell.getNthRef(RapistRoster, kNPC) as Actor

ActorBase RapistBase = Rapist.getLeveledActorBase()

Race RapistRace = RapistBase.getRace()

Actor Victim

if (isEligibleToBeARapist(Rapist,RapistBase,RapistRace))

debug.trace(Rapist.getLeveledActorBase().getName() + " is potential rapist (race=" + RapistRace.getName() + ")")

Victim = FindAnEligibleVictim(Rapist)

if (Victim) ; We got a victim

debug.trace(Victim.getLeveledActorBase().getName() + " is designated victim of " + Rapist.getLeveledActorBase().getName() + " (race=" + Victim.getLeveledActorBase().getRace().getName() + ")")

PotentialRapists[indexRosters].forceRefTo(Rapist) ; Assigns this rapist to a quest alias

PotentialVictims[indexRosters].forceRefTo(Victim) ; Assigns this victim to a quest alias

indexRosters += 1

endif

if (indexRosters >= 8) ; if we've filled the quest aliases then exit the hunt

debug.trace("All quest aliases have been filled")

i = 0

endIf

endIf

i -= 1

endWhile

if (indexRosters < 8) ; Clear any residuals from previous runs

while indexRosters < 8

PotentialRapists[indexRosters].clear()

PotentialVictims[indexRosters].clear()

indexRosters += 1

endwhile

endif

registerForSingleUpdate(Interval)

endEvent

 

Actor Function FindAnEligibleVictim(Actor Rapist)

; Match a selected rapist with someone as a victim

int index = playerCell.getNumRefs(kNPC)

int MaxIndex = index

int NPCs = index

; Same as with the rapists, we'll start our hunt for victims at a random point so the NPCs at the top of the list don't always end up as the victims

; since the rapists are selected decending through the list the victims will be selected ascending through the list.

int VictimsRoster = Utility.randomInt(1,MaxIndex)

Actor SelectedVictim = playerCell.getNthRef(VictimsRoster, kNPC) as Actor

while (NPCs > -1 && (!isEligibleToBeRapedByThisRapist(Rapist, SelectedVictim)))

VictimsRoster += 1

if VictimsRoster > MaxIndex

VictimsRoster = 0

endif

SelectedVictim = playerCell.getNthRef(VictimsRoster, kNPC) as Actor

NPCs -= 1

EndWhile

if (NPCs > -1)

return SelectedVictim

endif

return none

EndFunction

 

Bool Function isEligibleToBeARapist(Actor Rapist,ActorBase RapistBase,Race RapistRace)

if ( (!Rapist) || (!Rapist.isEnabled()) || (!Rapist.Is3dLoaded())) ; Must exist be an active NPC and be loaded in the game

return false

endif

;debug.trace("Checking rapist eligibility for " + RapistBase.getName())

if (Rapist == player) ; Player is not a madness rapist  (perhaps in the future)

return false

endif

if (Rapist.IsChild() || RapistRace.IsChildRace()) ; No children

return false

endif

if (Rapist.IsInCombat()) ; Busy, will join in if combat rape is allowed

return false

endif

if (Rapist.isDead()) ; The dead do not rape (undead like vampires yes, but not the completely dead)

return false

endif

if ((!Rapist.hasKeyword(ActorTypeNPC))||RapistRace.hasKeyWord(ActorTypeCreature)||RapistRace.hasKeyword(ActorTypeAnimal)) ; Must be a NPC (this is where we exclude mannequins, animals and creatures)

return false

endif

if (_SA_WQ.isHavingSex(Rapist)) ; Already raping or being raped, obviously not eligible

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 3) || (Rapist.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 3) ; Your sex has been excluded from all the fun

return false

endif

if (Utility.randomFloat(0,99) > _SA_RQpercentage.getValue()) ; Roll of the random number says you do not qualify

return false

endif

return true ; We have a rapist selected

EndFunction

 

Bool Function isEligibleToBeRapedByThisRapist(Actor Rapist, Actor Victim)

if ((!Victim) || (!Victim.isEnabled()) || (!Victim.Is3DLoaded()) || (Rapist == Victim)) ; Must exist and be an active NPC and not the Rapist

return false

endif

ActorBase VictimBase = Victim.getLeveledActorBase()

Race VictimRace = VictimBase.GetRace()

debug.trace(VictimBase.getName() + " is possible victim of " + Rapist.getLeveledActorBase().getName())

if (Victim.IsChild() || VictimRace.IsChildRace()) ; No Children

debug.trace("Victim can't be a child")

return false

endif

if (Victim.IsInCombat()) ; Busy, will join in as rapist or victim if combat rape is allowed

;debug.trace(VictimBase.getName() + " Victim can't be in Combat")

return false

endif

if (Victim.isDead() && _SA_NecroSwitch.getValue() != 1) ; Not allowing Necro

;debug.trace(VictimBase.getName() + " Victim is Dead and Necro not allowed")

return false

endif

if ((!Victim.hasKeyword(ActorTypeNPC))||VictimRace.hasKeyWord(ActorTypeCreature)||VictimRace.hasKeyword(ActorTypeAnimal)) ; Must be a NPC (this is where we exclude mannequins)

;debug.trace(VictimBase.getName() + " Victim is not a NPC, beastiality and sex with inaminate objects not implemented")

return false

endif

if (_SA_WQ.isHavingSex(Victim)) ; Already raping or being raped, obviously not eligible

;debug.trace(VictimBase.getName() + " Victim is already having Sex")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 3) || (Victim.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 3) ; Your sex has been excluded from all the fun

;debug.trace(VictimBase.getName() + " Victim is not allowed any sex by preferences")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 0 && Rapist.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 1) ; Gay sex not allowed

;debug.trace(VictimBase.getName() + " Victim would violate No Gay sex preference")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 1 && Rapist.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 1) ; Lesbian sex not allowed

;debug.trace(VictimBase.getName() + " Victim would violate No Lesbian sex preference")

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 0 && Victim.getLeveledActorBase().getSex() == 1 && _SA_GuysOptions.getValue() == 2) ; Guys are gay only 

;debug.trace(VictimBase.getName() + " Victim would violate Gay sex only preference")

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 1 && Victim.getLeveledActorBase().getSex() == 0 && _SA_GalsOptions.getValue() == 2) ; Gals are lesbian only 

;debug.trace(VictimBase.getName() + " Victim would violate Lesbian sex only preference")

return false

endif

if (Victim <> player && !victim.IsInFaction(PlayerFollowerFaction))

return false

endif

return true ; We have a rape victim selected

EndFunction

 

 

 

Should the .psc look like this? Still isn't showing that last PlayerFollowerFaction line in my CK. 0 properties auto-filled. Changed it in properties in the actual game files too, but no change. No auto-fill will do anything until that last line shows up...

 

You have to compile the script before the new property will be added. Go to the "Quest Data" tab of the Quest and push the "Recompile All Papyrus Scripts" button. Once the compiles are completed return to the "Scripts" tab and then you can assign the property. Note that the property will only need to be "auto assigned" once.
Link to comment

 

 

Image >

 

 

attachicon.gifStep1.jpg

 

 

 

Press "Properties" button

 

 

 

attachicon.gifStep2.jpg

 

 

Press "Auto-Fill All" button - then press "Ok" buttons until Quest dialogue is closed.  Then save modified mod.

Waxen:

 

 

 

Scriptname _SA_RandomRapeQuestScript extends Quest  

 

{

This mod uses the _SA_RaperQuest to set up the action.  An actor set as a potential rapist will also find another actor set as their potential victim.

The quest directs the potentisl rapist to sneak up to the potential victim and cast the rape spell on them, once the spell is cast the quest ends. This script 

also automatically ends the quest on the passing of a "registerforupdate" interval.

There are matching aliases set up for each rapist and victim that are used by the quest.

 

This script gets the list of NPCs in the area and will then (starting at a random position in the list) decides if they will be a rapist (based on the _SA_RQPercentage

value) and whether they qualify (based on settings).  Once a potential rapist is selected the list of NPCs is again examined also starting at a random point and 

searched to find a qualifying potential victim.  If no victim can be found then the slot is left open for the next potential rapist.  With a qualifying victim though

the rapist and selected victim are assigned to one of the quest alias pairs and the chase is on.

 

Note that we can have up to eight potential rapists and selected victims active at any given time (which is more than needed) and once a rape is started the next time 

this script cycles the free slot can be filled by a new rapist/victim pair.

}

 

Faction Property PlayerFollowerFaction auto

ReferenceAlias Property _SA_Rapist auto

ReferenceAlias Property _SA_Rapist000 auto

ReferenceAlias Property _SA_Rapist001 auto

ReferenceAlias Property _SA_Rapist002 auto

ReferenceAlias Property _SA_Rapist003 auto

ReferenceAlias Property _SA_Rapist004 auto

ReferenceAlias Property _SA_Rapist005 auto

ReferenceAlias Property _SA_Rapist006 auto

ReferenceAlias Property _SA_RapeVictim auto

ReferenceAlias Property _SA_RapeVictim000 auto

ReferenceAlias Property _SA_RapeVictim001 auto

ReferenceAlias Property _SA_RapeVictim002 auto

ReferenceAlias Property _SA_RapeVictim003 auto

ReferenceAlias Property _SA_RapeVictim004 auto

ReferenceAlias Property _SA_RapeVictim005 auto

ReferenceAlias Property _SA_RapeVictim006 auto

ReferenceAlias[] PotentialRapists = None

ReferenceAlias[] PotentialVictims = None

Quest Property _SA_WaitQuest auto

_SA_WaitQuestScript Property _SA_WQ Auto

GlobalVariable Property _SA_RQpercentage auto

Keyword Property ActorTypeNPC auto

Keyword Property ActorTypeCreature auto

Keyword Property ActorTypeAnimal auto

GlobalVariable Property _SA_NecroSwitch auto ; Allows or terminates sex after death of rape target, also controls having sex with already dead actors

GlobalVariable Property _SA_GuysOptions auto ; 0 = Gay or Straight, 1 = Straight only, 2 = Gay only, 3 = Neutered (No sex)

GlobalVariable Property _SA_GalsOptions auto ; 0 = Lesbian or Straight, 1 = Straight only, 2 = Lesbian only, 3 = Neutered (No sex)

Actor player

Cell playerCell

Int Interval = 10 ; Used to control how often the script set rapists and victims up, must not be too short or a rapist

; will not have time to travel to their victim to cast the spell.  

 

Event onInit()

registerForSingleUpdate(Interval) ; Controls how often we switch out who the potential rapists and the potential victims

; Longer update intervals give the potential rapists more time to apprach and cast the rape spell on their selected

; victim.  The original mod had a very short window but I find a longer window works better.

; Note that there is nothing preventing a potential victim from also being a potential rapist or even having

; two actors as potential rapists from targeting each other, someone will cast rape first and win and that's what matters.

PotentialRapists = new ReferenceAlias[8]

PotentialRapists[0] = _SA_Rapist

PotentialRapists[1] = _SA_Rapist000

PotentialRapists[2] = _SA_Rapist001

PotentialRapists[3] = _SA_Rapist002

PotentialRapists[4] = _SA_Rapist003

PotentialRapists[5] = _SA_Rapist004

PotentialRapists[6] = _SA_Rapist005

PotentialRapists[7] = _SA_Rapist006

PotentialVictims = new ReferenceAlias[8]

PotentialVictims [0] = _SA_RapeVictim

PotentialVictims [1] = _SA_RapeVictim000

PotentialVictims [2] = _SA_RapeVictim001

PotentialVictims [3] = _SA_RapeVictim002

PotentialVictims [4] = _SA_RapeVictim003

PotentialVictims [5] = _SA_RapeVictim004

PotentialVictims [6] = _SA_RapeVictim005

PotentialVictims [7] = _SA_RapeVictim006

endEvent

 

int kNPC = 43

Event onUpdate()

if (_SA_RQpercentage.getValue() == 0) ; Just exit if there's no random rape set up

registerForSingleUpdate(Interval)

return

endif

player = Game.getPlayer()

playerCell = player.getParentCell()

int i = playerCell.getNumRefs(kNPC) ; Not zero based, is actual count

int RapistRoster = 0

int indexRosters = 0

; Start rapists at a random point in the list of NPCs so we don't have the NPCs at the top of the list always being the rapists

; variable i is used to repeat the check once for each NPC in the local cell while RapistRoster is used to check each specific

; NPC to decide whether they are eligible to be a rapist and if it is decided they can rape to select a victim if we can find one

RapistRoster = Utility.randomInt(1, i)

while (i > -1)

RapistRoster -= 1

if (RapistRoster < 0)

RapistRoster = playerCell.getNumRefs(kNPC) - 1

endIf

Actor Rapist = playerCell.getNthRef(RapistRoster, kNPC) as Actor

ActorBase RapistBase = Rapist.getLeveledActorBase()

Race RapistRace = RapistBase.getRace()

Actor Victim

if (isEligibleToBeARapist(Rapist,RapistBase,RapistRace))

debug.trace(Rapist.getLeveledActorBase().getName() + " is potential rapist (race=" + RapistRace.getName() + ")")

Victim = FindAnEligibleVictim(Rapist)

if (Victim) ; We got a victim

debug.trace(Victim.getLeveledActorBase().getName() + " is designated victim of " + Rapist.getLeveledActorBase().getName() + " (race=" + Victim.getLeveledActorBase().getRace().getName() + ")")

PotentialRapists[indexRosters].forceRefTo(Rapist) ; Assigns this rapist to a quest alias

PotentialVictims[indexRosters].forceRefTo(Victim) ; Assigns this victim to a quest alias

indexRosters += 1

endif

if (indexRosters >= 8) ; if we've filled the quest aliases then exit the hunt

debug.trace("All quest aliases have been filled")

i = 0

endIf

endIf

i -= 1

endWhile

if (indexRosters < 8) ; Clear any residuals from previous runs

while indexRosters < 8

PotentialRapists[indexRosters].clear()

PotentialVictims[indexRosters].clear()

indexRosters += 1

endwhile

endif

registerForSingleUpdate(Interval)

endEvent

 

Actor Function FindAnEligibleVictim(Actor Rapist)

; Match a selected rapist with someone as a victim

int index = playerCell.getNumRefs(kNPC)

int MaxIndex = index

int NPCs = index

; Same as with the rapists, we'll start our hunt for victims at a random point so the NPCs at the top of the list don't always end up as the victims

; since the rapists are selected decending through the list the victims will be selected ascending through the list.

int VictimsRoster = Utility.randomInt(1,MaxIndex)

Actor SelectedVictim = playerCell.getNthRef(VictimsRoster, kNPC) as Actor

while (NPCs > -1 && (!isEligibleToBeRapedByThisRapist(Rapist, SelectedVictim)))

VictimsRoster += 1

if VictimsRoster > MaxIndex

VictimsRoster = 0

endif

SelectedVictim = playerCell.getNthRef(VictimsRoster, kNPC) as Actor

NPCs -= 1

EndWhile

if (NPCs > -1)

return SelectedVictim

endif

return none

EndFunction

 

Bool Function isEligibleToBeARapist(Actor Rapist,ActorBase RapistBase,Race RapistRace)

if ( (!Rapist) || (!Rapist.isEnabled()) || (!Rapist.Is3dLoaded())) ; Must exist be an active NPC and be loaded in the game

return false

endif

;debug.trace("Checking rapist eligibility for " + RapistBase.getName())

if (Rapist == player) ; Player is not a madness rapist  (perhaps in the future)

return false

endif

if (Rapist.IsChild() || RapistRace.IsChildRace()) ; No children

return false

endif

if (Rapist.IsInCombat()) ; Busy, will join in if combat rape is allowed

return false

endif

if (Rapist.isDead()) ; The dead do not rape (undead like vampires yes, but not the completely dead)

return false

endif

if ((!Rapist.hasKeyword(ActorTypeNPC))||RapistRace.hasKeyWord(ActorTypeCreature)||RapistRace.hasKeyword(ActorTypeAnimal)) ; Must be a NPC (this is where we exclude mannequins, animals and creatures)

return false

endif

if (_SA_WQ.isHavingSex(Rapist)) ; Already raping or being raped, obviously not eligible

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 3) || (Rapist.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 3) ; Your sex has been excluded from all the fun

return false

endif

if (Utility.randomFloat(0,99) > _SA_RQpercentage.getValue()) ; Roll of the random number says you do not qualify

return false

endif

return true ; We have a rapist selected

EndFunction

 

Bool Function isEligibleToBeRapedByThisRapist(Actor Rapist, Actor Victim)

if ((!Victim) || (!Victim.isEnabled()) || (!Victim.Is3DLoaded()) || (Rapist == Victim)) ; Must exist and be an active NPC and not the Rapist

return false

endif

ActorBase VictimBase = Victim.getLeveledActorBase()

Race VictimRace = VictimBase.GetRace()

debug.trace(VictimBase.getName() + " is possible victim of " + Rapist.getLeveledActorBase().getName())

if (Victim.IsChild() || VictimRace.IsChildRace()) ; No Children

debug.trace("Victim can't be a child")

return false

endif

if (Victim.IsInCombat()) ; Busy, will join in as rapist or victim if combat rape is allowed

;debug.trace(VictimBase.getName() + " Victim can't be in Combat")

return false

endif

if (Victim.isDead() && _SA_NecroSwitch.getValue() != 1) ; Not allowing Necro

;debug.trace(VictimBase.getName() + " Victim is Dead and Necro not allowed")

return false

endif

if ((!Victim.hasKeyword(ActorTypeNPC))||VictimRace.hasKeyWord(ActorTypeCreature)||VictimRace.hasKeyword(ActorTypeAnimal)) ; Must be a NPC (this is where we exclude mannequins)

;debug.trace(VictimBase.getName() + " Victim is not a NPC, beastiality and sex with inaminate objects not implemented")

return false

endif

if (_SA_WQ.isHavingSex(Victim)) ; Already raping or being raped, obviously not eligible

;debug.trace(VictimBase.getName() + " Victim is already having Sex")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 3) || (Victim.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 3) ; Your sex has been excluded from all the fun

;debug.trace(VictimBase.getName() + " Victim is not allowed any sex by preferences")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 0 && Rapist.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 1) ; Gay sex not allowed

;debug.trace(VictimBase.getName() + " Victim would violate No Gay sex preference")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 1 && Rapist.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 1) ; Lesbian sex not allowed

;debug.trace(VictimBase.getName() + " Victim would violate No Lesbian sex preference")

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 0 && Victim.getLeveledActorBase().getSex() == 1 && _SA_GuysOptions.getValue() == 2) ; Guys are gay only 

;debug.trace(VictimBase.getName() + " Victim would violate Gay sex only preference")

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 1 && Victim.getLeveledActorBase().getSex() == 0 && _SA_GalsOptions.getValue() == 2) ; Gals are lesbian only 

;debug.trace(VictimBase.getName() + " Victim would violate Lesbian sex only preference")

return false

endif

if (Victim <> player && !victim.IsInFaction(PlayerFollowerFaction))

return false

endif

return true ; We have a rape victim selected

EndFunction

 

 

 

Should the .psc look like this? Still isn't showing that last PlayerFollowerFaction line in my CK. 0 properties auto-filled. Changed it in properties in the actual game files too, but no change. No auto-fill will do anything until that last line shows up...

 

You have to compile the script before the new property will be added. Go to the "Quest Data" tab of the Quest and push the "Recompile All Papyrus Scripts" button. Once the compiles are completed return to the "Scripts" tab and then you can assign the property. Note that the property will only need to be "auto assigned" once.

 

Do I need to learn scripting and study the CK tutorials to do this? I thought it would be a piece of cake. :( I get a few "failed" errors when I go to the quest data tab and press recompile all papyrus scripts. Same errors I showed you in my PM. It appears to not have anything to add. Where exactly am I supposed to add those lines in (Faction Property PlayerFollowerFaction auto and if (Victim <> player && !victim.IsInFaction(PlayerFollowerFaction))

return false

endif)? I've done this twice now and I don't understand why it's not finding this info. .psc in my comp files using notepad, and random rape quest sript in CK. I just keep trying and trying and nothing seems to work. Always compiles nothing.

Link to comment

Hey I just installed this mod, did everything that was asked for in the installation instructions, but the game is only playing 1 animation, the doggy style one. Isn't there supposed to be more? How do I fix this?

Make sure you are running the game from the Skse loader.

Link to comment

 

Hey I just installed this mod, did everything that was asked for in the installation instructions, but the game is only playing 1 animation, the doggy style one. Isn't there supposed to be more? How do I fix this?

Make sure you are running the game from the Skse loader.

 

LOL, I don't think that is the problem.

 

Hey I just installed this mod, did everything that was asked for in the installation instructions, but the game is only playing 1 animation, the doggy style one. Isn't there supposed to be more? How do I fix this?

The animations start with doggy you have to hold the H key down for 2 or 3 seconds to get it to switch animations.

Link to comment

I just got done installing this and everything seemed to work fine. But then I used the rape spell on my waifu and the scene started and can't seem to advance it despite hitting h and holding it for a few seconds. Then again, none of the commands appear to function for me for some reason. Any ideas what I did wrong?

---------------------

Apparently I'm supposed to use the SKSE to run it but when I tried it gives me an error saying it can't find a .dll file. Which is quite odd considering they're both in my main Skyrim directory. Anybody know what's wrong? I even attempted using 'run as admin' and that didn't help either.

Link to comment

 

 

 

Image >

 

 

attachicon.gifStep1.jpg

 

 

 

Press "Properties" button

 

 

 

attachicon.gifStep2.jpg

 

 

Press "Auto-Fill All" button - then press "Ok" buttons until Quest dialogue is closed.  Then save modified mod.

Waxen:

 

 

 

Scriptname _SA_RandomRapeQuestScript extends Quest  

 

{

This mod uses the _SA_RaperQuest to set up the action.  An actor set as a potential rapist will also find another actor set as their potential victim.

The quest directs the potentisl rapist to sneak up to the potential victim and cast the rape spell on them, once the spell is cast the quest ends. This script 

also automatically ends the quest on the passing of a "registerforupdate" interval.

There are matching aliases set up for each rapist and victim that are used by the quest.

 

This script gets the list of NPCs in the area and will then (starting at a random position in the list) decides if they will be a rapist (based on the _SA_RQPercentage

value) and whether they qualify (based on settings).  Once a potential rapist is selected the list of NPCs is again examined also starting at a random point and 

searched to find a qualifying potential victim.  If no victim can be found then the slot is left open for the next potential rapist.  With a qualifying victim though

the rapist and selected victim are assigned to one of the quest alias pairs and the chase is on.

 

Note that we can have up to eight potential rapists and selected victims active at any given time (which is more than needed) and once a rape is started the next time 

this script cycles the free slot can be filled by a new rapist/victim pair.

}

 

Faction Property PlayerFollowerFaction auto

ReferenceAlias Property _SA_Rapist auto

ReferenceAlias Property _SA_Rapist000 auto

ReferenceAlias Property _SA_Rapist001 auto

ReferenceAlias Property _SA_Rapist002 auto

ReferenceAlias Property _SA_Rapist003 auto

ReferenceAlias Property _SA_Rapist004 auto

ReferenceAlias Property _SA_Rapist005 auto

ReferenceAlias Property _SA_Rapist006 auto

ReferenceAlias Property _SA_RapeVictim auto

ReferenceAlias Property _SA_RapeVictim000 auto

ReferenceAlias Property _SA_RapeVictim001 auto

ReferenceAlias Property _SA_RapeVictim002 auto

ReferenceAlias Property _SA_RapeVictim003 auto

ReferenceAlias Property _SA_RapeVictim004 auto

ReferenceAlias Property _SA_RapeVictim005 auto

ReferenceAlias Property _SA_RapeVictim006 auto

ReferenceAlias[] PotentialRapists = None

ReferenceAlias[] PotentialVictims = None

Quest Property _SA_WaitQuest auto

_SA_WaitQuestScript Property _SA_WQ Auto

GlobalVariable Property _SA_RQpercentage auto

Keyword Property ActorTypeNPC auto

Keyword Property ActorTypeCreature auto

Keyword Property ActorTypeAnimal auto

GlobalVariable Property _SA_NecroSwitch auto ; Allows or terminates sex after death of rape target, also controls having sex with already dead actors

GlobalVariable Property _SA_GuysOptions auto ; 0 = Gay or Straight, 1 = Straight only, 2 = Gay only, 3 = Neutered (No sex)

GlobalVariable Property _SA_GalsOptions auto ; 0 = Lesbian or Straight, 1 = Straight only, 2 = Lesbian only, 3 = Neutered (No sex)

Actor player

Cell playerCell

Int Interval = 10 ; Used to control how often the script set rapists and victims up, must not be too short or a rapist

; will not have time to travel to their victim to cast the spell.  

 

Event onInit()

registerForSingleUpdate(Interval) ; Controls how often we switch out who the potential rapists and the potential victims

; Longer update intervals give the potential rapists more time to apprach and cast the rape spell on their selected

; victim.  The original mod had a very short window but I find a longer window works better.

; Note that there is nothing preventing a potential victim from also being a potential rapist or even having

; two actors as potential rapists from targeting each other, someone will cast rape first and win and that's what matters.

PotentialRapists = new ReferenceAlias[8]

PotentialRapists[0] = _SA_Rapist

PotentialRapists[1] = _SA_Rapist000

PotentialRapists[2] = _SA_Rapist001

PotentialRapists[3] = _SA_Rapist002

PotentialRapists[4] = _SA_Rapist003

PotentialRapists[5] = _SA_Rapist004

PotentialRapists[6] = _SA_Rapist005

PotentialRapists[7] = _SA_Rapist006

PotentialVictims = new ReferenceAlias[8]

PotentialVictims [0] = _SA_RapeVictim

PotentialVictims [1] = _SA_RapeVictim000

PotentialVictims [2] = _SA_RapeVictim001

PotentialVictims [3] = _SA_RapeVictim002

PotentialVictims [4] = _SA_RapeVictim003

PotentialVictims [5] = _SA_RapeVictim004

PotentialVictims [6] = _SA_RapeVictim005

PotentialVictims [7] = _SA_RapeVictim006

endEvent

 

int kNPC = 43

Event onUpdate()

if (_SA_RQpercentage.getValue() == 0) ; Just exit if there's no random rape set up

registerForSingleUpdate(Interval)

return

endif

player = Game.getPlayer()

playerCell = player.getParentCell()

int i = playerCell.getNumRefs(kNPC) ; Not zero based, is actual count

int RapistRoster = 0

int indexRosters = 0

; Start rapists at a random point in the list of NPCs so we don't have the NPCs at the top of the list always being the rapists

; variable i is used to repeat the check once for each NPC in the local cell while RapistRoster is used to check each specific

; NPC to decide whether they are eligible to be a rapist and if it is decided they can rape to select a victim if we can find one

RapistRoster = Utility.randomInt(1, i)

while (i > -1)

RapistRoster -= 1

if (RapistRoster < 0)

RapistRoster = playerCell.getNumRefs(kNPC) - 1

endIf

Actor Rapist = playerCell.getNthRef(RapistRoster, kNPC) as Actor

ActorBase RapistBase = Rapist.getLeveledActorBase()

Race RapistRace = RapistBase.getRace()

Actor Victim

if (isEligibleToBeARapist(Rapist,RapistBase,RapistRace))

debug.trace(Rapist.getLeveledActorBase().getName() + " is potential rapist (race=" + RapistRace.getName() + ")")

Victim = FindAnEligibleVictim(Rapist)

if (Victim) ; We got a victim

debug.trace(Victim.getLeveledActorBase().getName() + " is designated victim of " + Rapist.getLeveledActorBase().getName() + " (race=" + Victim.getLeveledActorBase().getRace().getName() + ")")

PotentialRapists[indexRosters].forceRefTo(Rapist) ; Assigns this rapist to a quest alias

PotentialVictims[indexRosters].forceRefTo(Victim) ; Assigns this victim to a quest alias

indexRosters += 1

endif

if (indexRosters >= 8) ; if we've filled the quest aliases then exit the hunt

debug.trace("All quest aliases have been filled")

i = 0

endIf

endIf

i -= 1

endWhile

if (indexRosters < 8) ; Clear any residuals from previous runs

while indexRosters < 8

PotentialRapists[indexRosters].clear()

PotentialVictims[indexRosters].clear()

indexRosters += 1

endwhile

endif

registerForSingleUpdate(Interval)

endEvent

 

Actor Function FindAnEligibleVictim(Actor Rapist)

; Match a selected rapist with someone as a victim

int index = playerCell.getNumRefs(kNPC)

int MaxIndex = index

int NPCs = index

; Same as with the rapists, we'll start our hunt for victims at a random point so the NPCs at the top of the list don't always end up as the victims

; since the rapists are selected decending through the list the victims will be selected ascending through the list.

int VictimsRoster = Utility.randomInt(1,MaxIndex)

Actor SelectedVictim = playerCell.getNthRef(VictimsRoster, kNPC) as Actor

while (NPCs > -1 && (!isEligibleToBeRapedByThisRapist(Rapist, SelectedVictim)))

VictimsRoster += 1

if VictimsRoster > MaxIndex

VictimsRoster = 0

endif

SelectedVictim = playerCell.getNthRef(VictimsRoster, kNPC) as Actor

NPCs -= 1

EndWhile

if (NPCs > -1)

return SelectedVictim

endif

return none

EndFunction

 

Bool Function isEligibleToBeARapist(Actor Rapist,ActorBase RapistBase,Race RapistRace)

if ( (!Rapist) || (!Rapist.isEnabled()) || (!Rapist.Is3dLoaded())) ; Must exist be an active NPC and be loaded in the game

return false

endif

;debug.trace("Checking rapist eligibility for " + RapistBase.getName())

if (Rapist == player) ; Player is not a madness rapist  (perhaps in the future)

return false

endif

if (Rapist.IsChild() || RapistRace.IsChildRace()) ; No children

return false

endif

if (Rapist.IsInCombat()) ; Busy, will join in if combat rape is allowed

return false

endif

if (Rapist.isDead()) ; The dead do not rape (undead like vampires yes, but not the completely dead)

return false

endif

if ((!Rapist.hasKeyword(ActorTypeNPC))||RapistRace.hasKeyWord(ActorTypeCreature)||RapistRace.hasKeyword(ActorTypeAnimal)) ; Must be a NPC (this is where we exclude mannequins, animals and creatures)

return false

endif

if (_SA_WQ.isHavingSex(Rapist)) ; Already raping or being raped, obviously not eligible

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 3) || (Rapist.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 3) ; Your sex has been excluded from all the fun

return false

endif

if (Utility.randomFloat(0,99) > _SA_RQpercentage.getValue()) ; Roll of the random number says you do not qualify

return false

endif

return true ; We have a rapist selected

EndFunction

 

Bool Function isEligibleToBeRapedByThisRapist(Actor Rapist, Actor Victim)

if ((!Victim) || (!Victim.isEnabled()) || (!Victim.Is3DLoaded()) || (Rapist == Victim)) ; Must exist and be an active NPC and not the Rapist

return false

endif

ActorBase VictimBase = Victim.getLeveledActorBase()

Race VictimRace = VictimBase.GetRace()

debug.trace(VictimBase.getName() + " is possible victim of " + Rapist.getLeveledActorBase().getName())

if (Victim.IsChild() || VictimRace.IsChildRace()) ; No Children

debug.trace("Victim can't be a child")

return false

endif

if (Victim.IsInCombat()) ; Busy, will join in as rapist or victim if combat rape is allowed

;debug.trace(VictimBase.getName() + " Victim can't be in Combat")

return false

endif

if (Victim.isDead() && _SA_NecroSwitch.getValue() != 1) ; Not allowing Necro

;debug.trace(VictimBase.getName() + " Victim is Dead and Necro not allowed")

return false

endif

if ((!Victim.hasKeyword(ActorTypeNPC))||VictimRace.hasKeyWord(ActorTypeCreature)||VictimRace.hasKeyword(ActorTypeAnimal)) ; Must be a NPC (this is where we exclude mannequins)

;debug.trace(VictimBase.getName() + " Victim is not a NPC, beastiality and sex with inaminate objects not implemented")

return false

endif

if (_SA_WQ.isHavingSex(Victim)) ; Already raping or being raped, obviously not eligible

;debug.trace(VictimBase.getName() + " Victim is already having Sex")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 3) || (Victim.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 3) ; Your sex has been excluded from all the fun

;debug.trace(VictimBase.getName() + " Victim is not allowed any sex by preferences")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 0 && Rapist.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 1) ; Gay sex not allowed

;debug.trace(VictimBase.getName() + " Victim would violate No Gay sex preference")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 1 && Rapist.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 1) ; Lesbian sex not allowed

;debug.trace(VictimBase.getName() + " Victim would violate No Lesbian sex preference")

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 0 && Victim.getLeveledActorBase().getSex() == 1 && _SA_GuysOptions.getValue() == 2) ; Guys are gay only 

;debug.trace(VictimBase.getName() + " Victim would violate Gay sex only preference")

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 1 && Victim.getLeveledActorBase().getSex() == 0 && _SA_GalsOptions.getValue() == 2) ; Gals are lesbian only 

;debug.trace(VictimBase.getName() + " Victim would violate Lesbian sex only preference")

return false

endif

if (Victim <> player && !victim.IsInFaction(PlayerFollowerFaction))

return false

endif

return true ; We have a rape victim selected

EndFunction

 

 

 

Should the .psc look like this? Still isn't showing that last PlayerFollowerFaction line in my CK. 0 properties auto-filled. Changed it in properties in the actual game files too, but no change. No auto-fill will do anything until that last line shows up...

 

You have to compile the script before the new property will be added. Go to the "Quest Data" tab of the Quest and push the "Recompile All Papyrus Scripts" button. Once the compiles are completed return to the "Scripts" tab and then you can assign the property. Note that the property will only need to be "auto assigned" once.

 

Do I need to learn scripting and study the CK tutorials to do this? I thought it would be a piece of cake. :( I get a few "failed" errors when I go to the quest data tab and press recompile all papyrus scripts. Same errors I showed you in my PM. It appears to not have anything to add. Where exactly am I supposed to add those lines in (Faction Property PlayerFollowerFaction auto and if (Victim <> player && !victim.IsInFaction(PlayerFollowerFaction))

return false

endif)? I've done this twice now and I don't understand why it's not finding this info. .psc in my comp files using notepad, and random rape quest sript in CK. I just keep trying and trying and nothing seems to work. Always compiles nothing.

 

 

 

 

I made this change in my game but not working too well, so I made in this way! 
Try change <>  this for this == then save and compile the script if success, test in the game too see o resulted. 
Sorry for my lazy English and thanks for Waxen for the code.
Link to comment

 

 

Hey I just installed this mod, did everything that was asked for in the installation instructions, but the game is only playing 1 animation, the doggy style one. Isn't there supposed to be more? How do I fix this?

Make sure you are running the game from the Skse loader.

 

LOL, I don't think that is the problem.

 

Hey I just installed this mod, did everything that was asked for in the installation instructions, but the game is only playing 1 animation, the doggy style one. Isn't there supposed to be more? How do I fix this?

The animations start with doggy you have to hold the H key down for 2 or 3 seconds to get it to switch animations.

 

"H" switches stages of the current animation, "Y" switches animations to another position.
Link to comment

I just got done installing this and everything seemed to work fine. But then I used the rape spell on my waifu and the scene started and can't seem to advance it despite hitting h and holding it for a few seconds. Then again, none of the commands appear to function for me for some reason. Any ideas what I did wrong?

---------------------

Apparently I'm supposed to use the SKSE to run it but when I tried it gives me an error saying it can't find a .dll file. Which is quite odd considering they're both in my main Skyrim directory. Anybody know what's wrong? I even attempted using 'run as admin' and that didn't help either.

Double-check the installation instructions for SKSE, you must have missed something.
Link to comment

 

 

 

 

Image >

 

 

attachicon.gifStep1.jpg

 

 

 

Press "Properties" button

 

 

 

attachicon.gifStep2.jpg

 

 

Press "Auto-Fill All" button - then press "Ok" buttons until Quest dialogue is closed.  Then save modified mod.

Waxen:

 

 

 

Scriptname _SA_RandomRapeQuestScript extends Quest  

 

{

This mod uses the _SA_RaperQuest to set up the action.  An actor set as a potential rapist will also find another actor set as their potential victim.

The quest directs the potentisl rapist to sneak up to the potential victim and cast the rape spell on them, once the spell is cast the quest ends. This script 

also automatically ends the quest on the passing of a "registerforupdate" interval.

There are matching aliases set up for each rapist and victim that are used by the quest.

 

This script gets the list of NPCs in the area and will then (starting at a random position in the list) decides if they will be a rapist (based on the _SA_RQPercentage

value) and whether they qualify (based on settings).  Once a potential rapist is selected the list of NPCs is again examined also starting at a random point and 

searched to find a qualifying potential victim.  If no victim can be found then the slot is left open for the next potential rapist.  With a qualifying victim though

the rapist and selected victim are assigned to one of the quest alias pairs and the chase is on.

 

Note that we can have up to eight potential rapists and selected victims active at any given time (which is more than needed) and once a rape is started the next time 

this script cycles the free slot can be filled by a new rapist/victim pair.

}

 

Faction Property PlayerFollowerFaction auto

ReferenceAlias Property _SA_Rapist auto

ReferenceAlias Property _SA_Rapist000 auto

ReferenceAlias Property _SA_Rapist001 auto

ReferenceAlias Property _SA_Rapist002 auto

ReferenceAlias Property _SA_Rapist003 auto

ReferenceAlias Property _SA_Rapist004 auto

ReferenceAlias Property _SA_Rapist005 auto

ReferenceAlias Property _SA_Rapist006 auto

ReferenceAlias Property _SA_RapeVictim auto

ReferenceAlias Property _SA_RapeVictim000 auto

ReferenceAlias Property _SA_RapeVictim001 auto

ReferenceAlias Property _SA_RapeVictim002 auto

ReferenceAlias Property _SA_RapeVictim003 auto

ReferenceAlias Property _SA_RapeVictim004 auto

ReferenceAlias Property _SA_RapeVictim005 auto

ReferenceAlias Property _SA_RapeVictim006 auto

ReferenceAlias[] PotentialRapists = None

ReferenceAlias[] PotentialVictims = None

Quest Property _SA_WaitQuest auto

_SA_WaitQuestScript Property _SA_WQ Auto

GlobalVariable Property _SA_RQpercentage auto

Keyword Property ActorTypeNPC auto

Keyword Property ActorTypeCreature auto

Keyword Property ActorTypeAnimal auto

GlobalVariable Property _SA_NecroSwitch auto ; Allows or terminates sex after death of rape target, also controls having sex with already dead actors

GlobalVariable Property _SA_GuysOptions auto ; 0 = Gay or Straight, 1 = Straight only, 2 = Gay only, 3 = Neutered (No sex)

GlobalVariable Property _SA_GalsOptions auto ; 0 = Lesbian or Straight, 1 = Straight only, 2 = Lesbian only, 3 = Neutered (No sex)

Actor player

Cell playerCell

Int Interval = 10 ; Used to control how often the script set rapists and victims up, must not be too short or a rapist

; will not have time to travel to their victim to cast the spell.  

 

Event onInit()

registerForSingleUpdate(Interval) ; Controls how often we switch out who the potential rapists and the potential victims

; Longer update intervals give the potential rapists more time to apprach and cast the rape spell on their selected

; victim.  The original mod had a very short window but I find a longer window works better.

; Note that there is nothing preventing a potential victim from also being a potential rapist or even having

; two actors as potential rapists from targeting each other, someone will cast rape first and win and that's what matters.

PotentialRapists = new ReferenceAlias[8]

PotentialRapists[0] = _SA_Rapist

PotentialRapists[1] = _SA_Rapist000

PotentialRapists[2] = _SA_Rapist001

PotentialRapists[3] = _SA_Rapist002

PotentialRapists[4] = _SA_Rapist003

PotentialRapists[5] = _SA_Rapist004

PotentialRapists[6] = _SA_Rapist005

PotentialRapists[7] = _SA_Rapist006

PotentialVictims = new ReferenceAlias[8]

PotentialVictims [0] = _SA_RapeVictim

PotentialVictims [1] = _SA_RapeVictim000

PotentialVictims [2] = _SA_RapeVictim001

PotentialVictims [3] = _SA_RapeVictim002

PotentialVictims [4] = _SA_RapeVictim003

PotentialVictims [5] = _SA_RapeVictim004

PotentialVictims [6] = _SA_RapeVictim005

PotentialVictims [7] = _SA_RapeVictim006

endEvent

 

int kNPC = 43

Event onUpdate()

if (_SA_RQpercentage.getValue() == 0) ; Just exit if there's no random rape set up

registerForSingleUpdate(Interval)

return

endif

player = Game.getPlayer()

playerCell = player.getParentCell()

int i = playerCell.getNumRefs(kNPC) ; Not zero based, is actual count

int RapistRoster = 0

int indexRosters = 0

; Start rapists at a random point in the list of NPCs so we don't have the NPCs at the top of the list always being the rapists

; variable i is used to repeat the check once for each NPC in the local cell while RapistRoster is used to check each specific

; NPC to decide whether they are eligible to be a rapist and if it is decided they can rape to select a victim if we can find one

RapistRoster = Utility.randomInt(1, i)

while (i > -1)

RapistRoster -= 1

if (RapistRoster < 0)

RapistRoster = playerCell.getNumRefs(kNPC) - 1

endIf

Actor Rapist = playerCell.getNthRef(RapistRoster, kNPC) as Actor

ActorBase RapistBase = Rapist.getLeveledActorBase()

Race RapistRace = RapistBase.getRace()

Actor Victim

if (isEligibleToBeARapist(Rapist,RapistBase,RapistRace))

debug.trace(Rapist.getLeveledActorBase().getName() + " is potential rapist (race=" + RapistRace.getName() + ")")

Victim = FindAnEligibleVictim(Rapist)

if (Victim) ; We got a victim

debug.trace(Victim.getLeveledActorBase().getName() + " is designated victim of " + Rapist.getLeveledActorBase().getName() + " (race=" + Victim.getLeveledActorBase().getRace().getName() + ")")

PotentialRapists[indexRosters].forceRefTo(Rapist) ; Assigns this rapist to a quest alias

PotentialVictims[indexRosters].forceRefTo(Victim) ; Assigns this victim to a quest alias

indexRosters += 1

endif

if (indexRosters >= 8) ; if we've filled the quest aliases then exit the hunt

debug.trace("All quest aliases have been filled")

i = 0

endIf

endIf

i -= 1

endWhile

if (indexRosters < 8) ; Clear any residuals from previous runs

while indexRosters < 8

PotentialRapists[indexRosters].clear()

PotentialVictims[indexRosters].clear()

indexRosters += 1

endwhile

endif

registerForSingleUpdate(Interval)

endEvent

 

Actor Function FindAnEligibleVictim(Actor Rapist)

; Match a selected rapist with someone as a victim

int index = playerCell.getNumRefs(kNPC)

int MaxIndex = index

int NPCs = index

; Same as with the rapists, we'll start our hunt for victims at a random point so the NPCs at the top of the list don't always end up as the victims

; since the rapists are selected decending through the list the victims will be selected ascending through the list.

int VictimsRoster = Utility.randomInt(1,MaxIndex)

Actor SelectedVictim = playerCell.getNthRef(VictimsRoster, kNPC) as Actor

while (NPCs > -1 && (!isEligibleToBeRapedByThisRapist(Rapist, SelectedVictim)))

VictimsRoster += 1

if VictimsRoster > MaxIndex

VictimsRoster = 0

endif

SelectedVictim = playerCell.getNthRef(VictimsRoster, kNPC) as Actor

NPCs -= 1

EndWhile

if (NPCs > -1)

return SelectedVictim

endif

return none

EndFunction

 

Bool Function isEligibleToBeARapist(Actor Rapist,ActorBase RapistBase,Race RapistRace)

if ( (!Rapist) || (!Rapist.isEnabled()) || (!Rapist.Is3dLoaded())) ; Must exist be an active NPC and be loaded in the game

return false

endif

;debug.trace("Checking rapist eligibility for " + RapistBase.getName())

if (Rapist == player) ; Player is not a madness rapist  (perhaps in the future)

return false

endif

if (Rapist.IsChild() || RapistRace.IsChildRace()) ; No children

return false

endif

if (Rapist.IsInCombat()) ; Busy, will join in if combat rape is allowed

return false

endif

if (Rapist.isDead()) ; The dead do not rape (undead like vampires yes, but not the completely dead)

return false

endif

if ((!Rapist.hasKeyword(ActorTypeNPC))||RapistRace.hasKeyWord(ActorTypeCreature)||RapistRace.hasKeyword(ActorTypeAnimal)) ; Must be a NPC (this is where we exclude mannequins, animals and creatures)

return false

endif

if (_SA_WQ.isHavingSex(Rapist)) ; Already raping or being raped, obviously not eligible

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 3) || (Rapist.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 3) ; Your sex has been excluded from all the fun

return false

endif

if (Utility.randomFloat(0,99) > _SA_RQpercentage.getValue()) ; Roll of the random number says you do not qualify

return false

endif

return true ; We have a rapist selected

EndFunction

 

Bool Function isEligibleToBeRapedByThisRapist(Actor Rapist, Actor Victim)

if ((!Victim) || (!Victim.isEnabled()) || (!Victim.Is3DLoaded()) || (Rapist == Victim)) ; Must exist and be an active NPC and not the Rapist

return false

endif

ActorBase VictimBase = Victim.getLeveledActorBase()

Race VictimRace = VictimBase.GetRace()

debug.trace(VictimBase.getName() + " is possible victim of " + Rapist.getLeveledActorBase().getName())

if (Victim.IsChild() || VictimRace.IsChildRace()) ; No Children

debug.trace("Victim can't be a child")

return false

endif

if (Victim.IsInCombat()) ; Busy, will join in as rapist or victim if combat rape is allowed

;debug.trace(VictimBase.getName() + " Victim can't be in Combat")

return false

endif

if (Victim.isDead() && _SA_NecroSwitch.getValue() != 1) ; Not allowing Necro

;debug.trace(VictimBase.getName() + " Victim is Dead and Necro not allowed")

return false

endif

if ((!Victim.hasKeyword(ActorTypeNPC))||VictimRace.hasKeyWord(ActorTypeCreature)||VictimRace.hasKeyword(ActorTypeAnimal)) ; Must be a NPC (this is where we exclude mannequins)

;debug.trace(VictimBase.getName() + " Victim is not a NPC, beastiality and sex with inaminate objects not implemented")

return false

endif

if (_SA_WQ.isHavingSex(Victim)) ; Already raping or being raped, obviously not eligible

;debug.trace(VictimBase.getName() + " Victim is already having Sex")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 3) || (Victim.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 3) ; Your sex has been excluded from all the fun

;debug.trace(VictimBase.getName() + " Victim is not allowed any sex by preferences")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 0 && Rapist.getLeveledActorBase().getSex() == 0 && _SA_GuysOptions.getValue() == 1) ; Gay sex not allowed

;debug.trace(VictimBase.getName() + " Victim would violate No Gay sex preference")

return false

endif

if (Victim.getLeveledActorBase().getSex() == 1 && Rapist.getLeveledActorBase().getSex() == 1 && _SA_GalsOptions.getValue() == 1) ; Lesbian sex not allowed

;debug.trace(VictimBase.getName() + " Victim would violate No Lesbian sex preference")

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 0 && Victim.getLeveledActorBase().getSex() == 1 && _SA_GuysOptions.getValue() == 2) ; Guys are gay only 

;debug.trace(VictimBase.getName() + " Victim would violate Gay sex only preference")

return false

endif

if (Rapist.getLeveledActorBase().getSex() == 1 && Victim.getLeveledActorBase().getSex() == 0 && _SA_GalsOptions.getValue() == 2) ; Gals are lesbian only 

;debug.trace(VictimBase.getName() + " Victim would violate Lesbian sex only preference")

return false

endif

if (Victim <> player && !victim.IsInFaction(PlayerFollowerFaction))

return false

endif

return true ; We have a rape victim selected

EndFunction

 

 

 

Should the .psc look like this? Still isn't showing that last PlayerFollowerFaction line in my CK. 0 properties auto-filled. Changed it in properties in the actual game files too, but no change. No auto-fill will do anything until that last line shows up...

 

You have to compile the script before the new property will be added. Go to the "Quest Data" tab of the Quest and push the "Recompile All Papyrus Scripts" button. Once the compiles are completed return to the "Scripts" tab and then you can assign the property. Note that the property will only need to be "auto assigned" once.

 

Do I need to learn scripting and study the CK tutorials to do this? I thought it would be a piece of cake. :( I get a few "failed" errors when I go to the quest data tab and press recompile all papyrus scripts. Same errors I showed you in my PM. It appears to not have anything to add. Where exactly am I supposed to add those lines in (Faction Property PlayerFollowerFaction auto and if (Victim <> player && !victim.IsInFaction(PlayerFollowerFaction))

return false

endif)? I've done this twice now and I don't understand why it's not finding this info. .psc in my comp files using notepad, and random rape quest sript in CK. I just keep trying and trying and nothing seems to work. Always compiles nothing.

 

 

I made this change in my game but not working too well, so I made in this way! 

Try change <>  this for this == then save and compile the script if success, test in the game too see o resulted. 

Sorry for my lazy English and thanks for Waxen for the code.

 

if (!Victim == player && !victim.IsInFaction(PlayerFollowerFaction))

 

This is how it should look, I sometimes try to use the comparison syntax from the language I use in my day job and have to fix it because it won't compile.  Note BOTH of the changes in RED.

Link to comment

Holy shit it worked...woohoo! :lol:  That took forEVER! It got to the point where it wasn't about the mod anymore. I just wanted CK to do what yours was doing, WaxenFigure. Damn compile error BS! Thank you like crazy! :D Haven't even checked to see if it worked in game yet, but I'll check it out right about.........now!

Link to comment

I am mentioning first that I am the oddly strong silent type. That means I might not even remember I made this post for a couple of hours to who knows how many days. Sad isn't it?

 

Anyway, I have been *silently* looking for a sex mod and this fits the bill. For one because it actually works. *Tried animated prostitution and at any given time only one half of the 'duo' worked properly. I kind of gave up on getting it to work for fallout... went off topic, sorry* 

 

Be it a curse with me and mods or some weird computer spirit trying to shame me. I'm having a slight issue.

 

The Combat Rape animation isn't working. To be more specific, The spell works even in combat so no problem there. The NPC random rape appears to work *though I think I had a mod conflict because it crashed my game just when it was about to start. I had the pc exclusive mod that I believe was listed would likely conflict. I'll find out soon after this is posted if that's the case or nowt*  The Combat rape however doesn't seem to do it. When it's follower NPC vs NPC and it tries to start, they just keep killing each other despite the message saying that A decided to insert B into enemy slot C.  In the case of my unfortunate ass kicking, the fighting stops, then we just stand around unable to move. The game not frozen but no animations are taking place. Not even the striping.

 

So that is the issue I'm having. In combat. The NPC on NPC says it is doing it but the fighting does not stop. And NPC on Player, IT says it is going to start even stopping the fighting and the ability to move but no stripping or animation. 

 

Tis there any idea what could cause that and how to fix it?

 

Beyond this spewing of barely readable consciousness  I will say thinking for the creation and maintenance of this mod. I am happy *in the not perverted way*  and grateful for the work that was put into this and the allowance of its use.

Link to comment

can't find this anywhere...and the detailing on the actual variable in the intro is a bit vague...what exactly does the "pimping" part of this do...been trying to sell my companion for hours XD

 

This is not a prostitution setting.  What it does is when your PC has sex with an NPC, there is a random possibility of the NPC becoming a lover.  This gives the PC a key to the lover's home (if possible), which the PC can enter freely (and also take most items from the lover's home without it considered stealing).  Again, it's not a prostitution setting - you are not pimping yourself or your followers out for septims.

Link to comment

I am mentioning first that I am the oddly strong silent type. That means I might not even remember I made this post for a couple of hours to who knows how many days. Sad isn't it?

 

Anyway, I have been *silently* looking for a sex mod and this fits the bill. For one because it actually works. *Tried animated prostitution and at any given time only one half of the 'duo' worked properly. I kind of gave up on getting it to work for fallout... went off topic, sorry* 

 

Be it a curse with me and mods or some weird computer spirit trying to shame me. I'm having a slight issue.

 

The Combat Rape animation isn't working. To be more specific, The spell works even in combat so no problem there. The NPC random rape appears to work *though I think I had a mod conflict because it crashed my game just when it was about to start. I had the pc exclusive mod that I believe was listed would likely conflict. I'll find out soon after this is posted if that's the case or nowt*  The Combat rape however doesn't seem to do it. When it's follower NPC vs NPC and it tries to start, they just keep killing each other despite the message saying that A decided to insert B into enemy slot C.  In the case of my unfortunate ass kicking, the fighting stops, then we just stand around unable to move. The game not frozen but no animations are taking place. Not even the striping.

 

So that is the issue I'm having. In combat. The NPC on NPC says it is doing it but the fighting does not stop. And NPC on Player, IT says it is going to start even stopping the fighting and the ability to move but no stripping or animation. 

 

Tis there any idea what could cause that and how to fix it?

 

Beyond this spewing of barely readable consciousness  I will say thinking for the creation and maintenance of this mod. I am happy *in the not perverted way*  and grateful for the work that was put into this and the allowance of its use.

 

Hoping that I don't sound at all like I'm a broken record, or that I'm nagging... but have you made sure you have all the requirements listed in the first post on and working?

 

Checklist:

  • Installed SKSE - Downloaded and installed as per it's instructions?
  • Installed FNIS (fores new idles in Skyrim) - You HAVE to install this, or no animations for the mod will ever be played, and in fact, some vanilla skyrim anims might be broken. You install it, and it comes with a piece of software called 'GenerateFNISforUsers.exe'... you have to run that every time you install or uninstall an animation mod.

Those are the two main things. In the future, SKYUI will be needed, but it's not quite yet.

 

Regards,

Aaran

Link to comment

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...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use