Jump to content

Recommended Posts

Ma come si configura il maledetto sexylab per me e un'impresa dato che sono all'inizio, vi sarei grato di dirmi come si fa grazie.

Questo è il thread per il "Sex Addict" mod ma sembra che si sta chiedendo per il "Laboratorio di sesso" mod. Per risparmiare la fatica cercherò di spiegare come configurare entrambi piuttosto che vi chiedo di andare al "Laboratorio di sesso" thread.

 

Per il "Sex Addict" configurazione mod è fornito tramite il "Addict Config Sex" incantesimo che viene aggiunto al tuo incantesimo e può essere selezionato e gettato per impostare i valori. A questo punto tutte le impostazioni sono in inglese quindi potrebbe essere necessario avere accesso a Google Translate su un altro dispositivo per tradurre il testo e le opzioni.

 

Il "Laboratorio Sex" mod utilizza un nuovo metodo di configurazione mods cui è possibile accedere premendo il tasto "Esc" e selezionare l'opzione di menu "Configurazione Mod".

Link to comment

New to this sort of mod, apologies for the Freshman Question.

When 2 NPC's or NPC+ Follower are going at it, is there anyway to reposition them? The opening posts list controls, but they appear to be active  only if the player is involved.

In the mod, no. There's no way to reposition NPCs. The game however provides an console command "tc" you might try, first enter player.tc to turn your player over to AI, then select one of the NPCs in action getting their ID to show in the console hud and type tc to take over their movement. You should be able to move that character into the clear and if all goes well their partner should join you. Enter TC again to release the NPC and enter player.tc to resume control of the player.

 

If the NPC you move gets moved back to the partner try selecting the partner and moving them instead.

 

That's all I can suggest but it could possibly work. I'd test it but I don't have a working version of the code loaded right now, I'm working on a plugin for SexLab.

Link to comment

How is the next update coming along?

Derailed. Making a Combat Rape plugin for SexLab out of the current combat rape part of the mod.

 

I will probably return and work on this mod some more but mainly for experimental purposes and may not ever release those unless they turn out very good. However I am considering how to implement some of my former plans for this mod into SexLab.

Link to comment

I'm confused on how to configure, do I have to create a whole another file, or do I alter something in the files given?

There is a spell you can cast to set the configuration and/or you can create a simple text file (or multiple files if you have multiple settings you like to use for multiple situations) which contains simple console commands to set the various switches the mod uses for configuring itself.
Link to comment

 

How is the next update coming along?

Derailed. Making a Combat Rape plugin for SexLab out of the current combat rape part of the mod.

 

I will probably return and work on this mod some more but mainly for experimental purposes and may not ever release those unless they turn out very good. However I am considering how to implement some of my former plans for this mod into SexLab.

 

 

Aww. That is very unfortunate to hear. Though sexlab is cool, but it is still not as same as this mod. All I wish for this mod is MCM support and more undress options.

Link to comment

 

I'm confused on how to configure, do I have to create a whole another file, or do I alter something in the files given?

There is a spell you can cast to set the configuration and/or you can create a simple text file (or multiple files if you have multiple settings you like to use for multiple situations) which contains simple console commands to set the various switches the mod uses for configuring itself.

 

 

Ah, now I see it, couldn't find it in the spell list, had to go to all, thank you very much.

Link to comment

 

How is the next update coming along?

Derailed. Making a Combat Rape plugin for SexLab out of the current combat rape part of the mod.

 

I will probably return and work on this mod some more but mainly for experimental purposes and may not ever release those unless they turn out very good. However I am considering how to implement some of my former plans for this mod into SexLab.

 

 

This is awesome news since well the sexlab framework is just awesome, the actors fit together most times in the animations, the framework has many more posibilities and some of your ideas from before i hope are able to come to realization in the plugin. If i had any prior knowledge of mods i'd be trying to make this exact mod as a plugin to sexlab as well hehe.

 

the feature i really like is the "sides" like one side loses when all players are disabled and then the gang rape begins

 

I have 2 suggestions for ideas, in the sexout framework someone did a rape mod that allowed you to rape NPC's, and if you did it enough they would get enthralled and come up to you and ask for sex, that was a neat touch.

 

Also i love all the options that exist at the moment, but one thing i wish i could toggle is if the random rapes affect everyone or just the player.

Link to comment

 

 

How is the next update coming along?

Derailed. Making a Combat Rape plugin for SexLab out of the current combat rape part of the mod.

 

I will probably return and work on this mod some more but mainly for experimental purposes and may not ever release those unless they turn out very good. However I am considering how to implement some of my former plans for this mod into SexLab.

 

 

This is awesome news since well the sexlab framework is just awesome, the actors fit together most times in the animations, the framework has many more posibilities and some of your ideas from before i hope are able to come to realization in the plugin. If i had any prior knowledge of mods i'd be trying to make this exact mod as a plugin to sexlab as well hehe.

 

the feature i really like is the "sides" like one side loses when all players are disabled and then the gang rape begins

 

I have 2 suggestions for ideas, in the sexout framework someone did a rape mod that allowed you to rape NPC's, and if you did it enough they would get enthralled and come up to you and ask for sex, that was a neat touch.

 

Also i love all the options that exist at the moment, but one thing i wish i could toggle is if the random rapes affect everyone or just the player.

 

 

Here's the page you'll find a way to change your random targets to only you on, but don't turn it up past seldom, or you'll regret it. lol

 

Edit: here, that's what the .psc should look like

 

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

 

Link to comment

you assume i'm proficient in CK, you're speaking some alien language to me here, i've gone back to those pages and trying to follow along but it's not going so well...

 

 

THis is all i keep getting, i change the psc to look like what you put up there and it wont let me save it

attachicon.gifError.jpg

Crap, I'm sorry! :-/ It seems like damn there everyone here is some kind of genius. lol Ok, go to C:\program files\steam\steamapps\common\skyrim\data\scripts\source and find this file: _SA_RandomRapeQuestScript.psc

Double click and a notepad will open up with a lot of confusing shit all over it. At the top is where this goes, a quote from WaxenFigure...

Add this line to the declarations near the top:

 

Faction Property PlayerFollowerFaction auto

 

find the isEligibleToBeRapedByThisRapist function (last function in the file):

 

Insert this code just before the

return true ; We have a rape victim selected

line:

 

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

return false

endif

 

Be sure you open the properties of the script after you compile the changes and use the "AutoFill All" button to hook the newly added PlayerFollowerFaction property. 

So when you load SexAddicts.esp in your CK and make it the active file, find the _SA_RandomRapeQuest under the file tab under where you save files (top left) and double-click it to open it's menus 

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

, then click on "quest data" (at the top) and on the right you'll see "compile all papyrus scripts" (or something, don't have it active right now), click that, hit yes, go to "scripts" (top right) and click on your _SARandomRapeQuestScript to see "properties" light up (bottom one), click it and click "auto fill all", and you should be good.You have to save before you leave (top left file tab). Don't set it higher than "seldom", or suffer the consequences!

 

Link to comment

well thanks for trying but i give up, i'm just going to wait for the sexlab plugin anyhow. I am tempted to keep trying out of sheer stubbornness as i can't stand not being able to accomplish something once i set my mind to it, but i cannot get it to work. I followed every step in your post, and was actually finally able to figure out the previous back and forth pretty well after a bit. I even tried someone elses suggestion of different code using == instead of <> and such, still not dice, the bloody thing will just not compile...

 

I've tried to make sure the text in the notepad was exactly lined up the same using TAB, i tried variations, i tried everything i could bloody think of but still got this.

 

post-130700-0-35311200-1368623665_thumb.jpg

 

this is even a shot of the script looking correct on the bottom part (the top is correct, fairly easy without the coding language)

 

post-130700-0-49719100-1368623691_thumb.jpg

 

i really don't want to give up, but its pissing me off lol

Link to comment

A while back I mentioned that I was working on an MCM menu for this mod, with Waxen's permission.

 

Since Waxen has stated that he's working on the SexLab port for SA right now, until then, if anyone is interested, I could post my MCM menu for everyone to use.

 

It's not perfect, it still probably has bugs and things that need changing, but I would be more than willing to let you all have a gander at using it. And I would want you to go ahead and let me know what still needs changing in it. (things like text changing, wording, things that aren't working).

 

Aaran

Link to comment

I'm so glad I finally got this mod to work.  The only thing is that I wish it had more creampies.  It'd be nice if the creampies built up overtime if raped by several and dripped down the legs.

 

is it bizarre that when i saw "creampies", the first thing that came to mind was Three Stooges pie fights?

Link to comment

I haven't read the entire thread as it's a lot.  I did see someone say they wanted to make it a class thing,  where you couldn't persaude someone more noble.  I'd prefer to keep things as they are.  I was very amused when I tried this on the Jarl of Whiterun and he gave me full access to his home.

 

Would also like to persuade Waxen not to give up on this mod.  Some mods are more difficult to install and use than others.  I really don't want to have to install SexLabs.

Link to comment

I haven't read the entire thread as it's a lot.  I did see someone say they wanted to make it a class thing,  where you couldn't persaude someone more noble.  I'd prefer to keep things as they are.  I was very amused when I tried this on the Jarl of Whiterun and he gave me full access to his home.

 

Would also like to persuade Waxen not to give up on this mod.  Some mods are more difficult to install and use than others.  I really don't want to have to install SexLabs.

 

Everyone is using the Sexlab framework as the new standard because its far superior to what we had before, keeping this mod as is would be like strapping wheels to your horse and saying "come on betsy! we can keep up with them new fangled auto-mo-biles now!"

Link to comment

Well,  I just finally installed Sexlabs and I disagree.  While it may have more positions,  it has a tendency to misalign the positions 50% of the time and I don't feel like being hassled with that.  So I don't agree with your opinion. 

Link to comment

Sexlab is the up and coming new mod. Waxen is porting this over and working on a mod for that. Undoubtedly, the further along that Ashal gets on SL, the better it will get. It is your choice to continue using SA if you wish. I personally am waiting for more mods to come out for SL, though there are quite a few already being released as WIP.

 

Speaking of which, we need a definitive list of SL mods, like there is for Sexout.

Link to comment

 

There will likely soon be a complete SexLab forum separate from the Downloads and the add-on mods for it will be moved there.

 

Once there I expect there will be a sticky thread at the top listing all the mods, noting their current support status and have links to them much as is done for the sex frameworks for Fallout and Oblivion.

 

The point right now is that we have had a sex framework available for Skyrim only a few months and the first framework has already fallen by the wayside and the new framework is only a few weeks old but already there are a number of mods using it. That should be exciting and since the new framework is supported by someone we can be sure will last as long as this forum it's a safe bet to build a mod using it.

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