Jump to content

XLovers Daedra Seed (XLDS) 1.1.31 - 2014-07-25


Recommended Posts

Wow, glad to see you back, Scotelic. Nice mod you've got here :)

 

I actually managed to solve my problems yesterday -  I upgraded OBSE to 21.4, and was able to start new game with all the mods I wanted, including XLDS, running smoothly together.

I tested it (seed via console) and it seems to be working just fine.

My old game still crashes tho, but it matters little as I was basically just testing my new setup.

I would post conscribe logs  - it's just that conscribe is not actually scribing anything now ;/

Will try to make it work tomorrow, maybe there's something curious.

 

Thanks again for your work!

Link to comment
  • 2 months later...

This is a neat mod, but I'm having problems with Find A Friend.

 

I get this error message: "XLDS while registering friend, final index 4 does not match array size 0" The error message pops up whenever seeded npcs attempt to have sex with one another, or whenever my player character agrees to have sex with one, and the animations will not play.

 

EDIT: Actually, it's more than just problems with registering friends and animations not playing. Creatures don't hatch, either. About the only things that works are the quest pop-ups and seeded characters spontaneously masturbating.

 

I doubt if this has anything to do with my load order or conflicting mods, but here's my load order anyway.

 

 

GameMode=Oblivion

Oblivion.esm=1
Cobl Main.esm=1
CM Partners.esm=1
Lovers with PK.esm=1
LoversCreature.esm=1
DLCShiveringIsles.esp=1
DLCMehrunesRazor - Unofficial Patch.esp=1
DLCBattlehornCastle.esp=1
DLCFrostcrag - Unofficial Patch.esp=1
DLCBattlehornCastle - Unofficial Patch.esp=1
DLCFrostcrag.esp=1
DLCMehrunesRazor.esp=1
DLCHorseArmor.esp=1
DLCHorseArmor - Unofficial Patch.esp=1
DLCOrrery.esp=1
DLCOrrery - Unofficial Patch.esp=1
DLCThievesDen.esp=1
DLCThievesDen - Unofficial Patch.esp=1
DLCThievesDen - Unofficial Patch - SSSB.esp=1
DLCSpellTomes.esp=1
DLCSpellTomes - Unofficial Patch.esp=1
DLCVileLair.esp=1
DLCVileLair - Unofficial Patch.esp=1
Unofficial Shivering Isles Patch.esp=1
Oblivion Citadel Door Fix.esp=1
Knights.esp=1
Knights - Unofficial Patch.esp=1
USIPS Additional Changes.esp=1
UOPS Additional Changes.esp=1
Circ Vamp Aesthetics.esp=1
UOP Vampire Aging & Face Fix.esp=1
Unofficial Oblivion Patch.esp=1
Cobl Tweaks.esp=1
Cobl Glue.esp=1
Cobl Si.esp=1
AleswellHomeQuest.esp=1
AleswellCOBLaddon.esp=1
EM_RedRoseManor.esp=1
EMRedRoseAddonCOBL.esp=1
Salmo the Baker, Cobl.esp=0
Oscuro's_Oblivion_Overhaul.esp=0
Custom Eye.esp=0
MaleBodyReplacerV4.esp=1
DMRAdarklightmithrilarmorFull.esp=1
Witch LongDress.esp=1
Dress WBBW DMRA+.esp=1
Sexy Mandarin Dress.esp=1
Like a Flower Outfits.esp=1
Simple Outfits Collection.esp=1
Black Leather Outfits.esp=1
Corean_hair_for_Original_race.esp=0
Dremora Females.esp=1
Light Elven Weapons and Mithril Armor.esp=1
Tactical Wears.esp=1
DMRA Stock Robe Replacer.esp=1
VipCxj_HighHeels.esp=1
VipCxjHHTest.esp=0
BisSP_RHH_2.esp=1
RFHighHeels HGEC Vipcxj.esp=1
Real_High_heels_RF.esp=0
Cute Summer Wears.esp=1
Breathing Idle Animations.esp=1
CTAddPose_glock3.esp=1
Edhildils Seductive Poison Armors.esp=1
Frill Short Dress and Halloween Backpack.esp=1
personality_idles4.esp=0
Edhildils Distraction Armors.esp=1
SW01Plus.esp=1
Ryk_Sandals_RHH.esp=1
SW01.esp=0
Exnem Pekka Pumps.esp=1
Nephs Stock Shoes Real High Heels SI.esp=1
Resort Beach Outfits.esp=1
Ryk_Swimwear.esp=1
Ronin's Puppet.esp=1
High Personality Namira Quest.esp=1
Helmet Toggle.esp=1
Sexy Shirt.esp=1
1SB_SisterNightfallOutfit.esp=1
SW01Minus.esp=0
IV Dress.esp=0
JP Dress.esp=1
Princess line Dress.esp=1
Pirates Outfits.esp=1
BBBRoseoftheGuard.esp=1
MannimarcoRevisited.esp=1
MannimarcoWardrobeChest.esp=1
Banes Guilds United Wardrobe Chest.esp=1
Banes Guilds United.esp=1
Simple Knit.esp=1
Room Wear.esp=1
Cardigan and One piece.esp=0
CM Partners More NPCs NE.esp=0
CM Partners More NPCs.esp=0
CM Partners NPC NE.esp=0
CM Partners NPC.esp=1
CM Partners Special NPCs.esp=0
CM Partners.esp=1
CM Partners Extra NPCs.esp=0
CM Partners Marker NPCs.esp=0
Apachii_Heroes_Store.esp=1
Valtierro_B1.esp=1
Valtierro_B1-NoCCRL.esp=0
Valtierro_B1-NoCC.esp=0
Apachii_Goddess_Store.esp=1
GizmodianSorceress.esp=0
Cobl Races.esp=1
Cottage.esp=0
WaterlilyCottage1.esp=1
WaterlilyCottageCOBLaddon.esp=1
LakesideHome.esp=1
LakesideHomeCOBLaddon.esp=1
Real Hunger, Cobl.esp=1
FF_Real_Thirst.esp=1
Highwood-Cobl-Support.esp=1
MushroomManor.esp=0
MushroomManorCobl.esp=1
Highwood.esp=1
Custom Arborwatch.esp=1
AncientGuardianRobe.esp=1
R18PN - Lingeries.esp=0
R18PN - Lingeries Plus.esp=1
DMRA BBB R18PN Lingerie.esp=1
SeductiveIdles.esp=1
zzEDialog.esp=1
Animation - Growlfs Body Resizing Mod.esp=1
CTAddPose_SPB_01.esp=1
Landmarks, w Wells.esp=1
DMRA BBB Complete Clothing and Armor Replacer.esp=1
DMRA BBB Knights of the Nine Replacer.esp=1
Neph's DMRA Robes - Knights.esp=1
Neph's DMRA Robes - Knights Revelation.esp=0
Neph's DMRA Robe Variety.esp=1
DMRA Stock Clothing Skimpy.esp=1
Nephs RHH Arena Raiments.esp=1
zzEstrus.esp=1
Lovers with PK.esp=1
LoversMB2.esp=1
LoversIdleAnimsPriority.esp=1
LoversAnimObjectsPriority.esp=1
LoversAdultPlayPlusforSSP.esp=1
LoversVoiceSSPplus.esp=1
LoversCreature.esp=1
FuroGeneratorTrap.esp=1
LoversRaperS.esp=1
LoversSpermSplashEx.esp=0
Lovers3dorgasmMB2.esp=0
Lovers3dorgasm.esp=0
LoversOrgy.esp=1
TentaclePlant.esp=1
xlds.esp=1
xldsFuro.esp=1
Dairanath Avari - male Companion.esp=1

 

Link to comment

This is a neat mod, but I'm having problems with Find A Friend.

 

I get this error message: "XLDS while registering friend, final index 4 does not match array size 0" The error message pops up whenever seeded npcs attempt to have sex with one another, or whenever my player character agrees to have sex with one, and the animations will not play.

 

EDIT: Actually, it's more than just problems with registering friends and animations not playing. Creatures don't hatch, either. About the only things that works are the quest pop-ups and seeded characters spontaneously masturbating.

 

I doubt if this has anything to do with my load order or conflicting mods, but here's my load order anyway

My guess is that the version of OBSE or pluggy are not compatible. What version of these mods do you have?

Link to comment

I'm now using pluggy v. 128 and obse version 0020.

 

UPDATE: I tried using other versions of pluggy and nothing changed.

 

I thought I was running version 0021 of obse, but it appears I wasn't. gonna try with obse 0021.

 

UPDATE UPDATE: tried various versions of pluggy with obse 0021 but to no avail.

Link to comment

All Required and Recommended mods and Tools ?

LAPF

LoversCreatures2

OBSE20 or better

Pluggy 126 or better

MenuQue

LoversMB2

Lovers Rapers Wappyone's Edition

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

Your Load order is .....

last Mods/esp must be

LoversMB2.esp
 Lovers3dorgasmMB2.esp
 LoversIdleAnimsPriority.esp
 Lovers3dorgasm.esp
 LoversAnimObjectsPriority.esp

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

Hope you have not installed your game in  C:\ program files .....

Load order, BOSS , OBSE, and many tips in my yellow Link below .

Only the Lovers load order here  http://www.loverslab.com/topic/4487-please-read-before-posting-here/

Link to comment

Great mod. The only problem I'm experiencing [again] is when my PC (male) is approached by another actor (usually a [female] dremora). What happens is my pc ends up on the receiving end instead of the giving end. Whenever a line of text like "let us join together in lust and passion," or "my warm cunt yearns for your cold flesh to enter it" prompts me to respond, the gender of the asker is ignored and my male pc gets pegged. :lol:

Link to comment
  • 1 month later...

Maybe someone can help me resolve an issue i'm having, the only problem i have is with using this mod with the FuroGeneratorTrap as using both i get attacked while in the chair and if i disable XLovers Daedra Seed then i'm not attacked while in the FuroTrap Improved: Tentacles! v6.91 , anyway i can fix this?

 

 

GameMode=Oblivion

Oblivion.esm=1
Lovers with PK.esm=1
LoversCreature.esm=1
Unofficial Oblivion Patch.esp=1
UOPS Additional Changes.esp=1
UOP Vampire Aging & Face Fix.esp=1
Oblivion Citadel Door Fix.esp=1
DLCShiveringIsles.esp=1
Unofficial Shivering Isles Patch.esp=1
USIPS Additional Changes.esp=1
DLCHorseArmor.esp=1
DLCHorseArmor - Unofficial Patch.esp=1
DLCOrrery.esp=1
DLCOrrery - Unofficial Patch.esp=1
DLCVileLair.esp=1
DLCVileLair - Unofficial Patch.esp=1
DLCMehrunesRazor.esp=1
DLCMehrunesRazor - Unofficial Patch.esp=1
DLCSpellTomes.esp=1
DLCSpellTomes - Unofficial Patch.esp=1
DLCThievesDen.esp=1
DLCThievesDen - Unofficial Patch.esp=1
DLCThievesDen - Unofficial Patch - SSSB.esp=1
DLCBattlehornCastle.esp=1
DLCBattlehornCastle - Unofficial Patch.esp=1
DLCFrostcrag.esp=1
DLCFrostcrag - Unofficial Patch.esp=1
Knights.esp=1
Knights - Unofficial Patch.esp=1
Damsels In Distress.esp=1
Luchaire's Neck Seam Concealer.esp=1
Crowded Cities 30.esp=1
Crowded Roads.esp=1
Populated Prisons.esp=1
Ryk_Swimwear.esp=1
Fingernails For HGEC.esp=1
Bonds Studio Apartment.esp=1
delivery_job.esp=1
Apachii_Goddess_Store.esp=1
Apachii_Wigs_MaleFemale.esp=1
HackdirtAlive.esp=1
RMDailyIncomeV2.esp=1
LoversDRader.esp=1
LoversAdultPlayPlusforSSP.esp=1
LoversHooker.esp=1
LoversAdultPlayPlusforSSP_HookerPatch.esp=1
LoversVoiceSSPplus.esp=1
LoversRaperS.esp=1
LoversBed.esp=1
Lovers with PK.esp=1
LoversCreature.esp=1
LoversCreature_SexualOrgans.esp=1
LoversCreature_SexualOrgans_Scale.esp=1
LoversBackup2.esp=1
LoversStalkerMN.esp=1
LoversRapeSlave.esp=1
LoversTrueCrimeEx.esp=1
LoversSlaveTrader.esp=1
LoversStalkerM.esp=1
BudongsNarcolepsySpell.esp=1
L'Nobody.esp=1
Lucha's She Imperial.esp=1
Lucha's She Breton.esp=1
Lucha's She Nord.esp=1
Lucha's She Redguard.esp=1
Moonshadow Elves - NoSc.esp=1
The Forgotten.esp=1
DKImperials.esp=1
AsharasSirensAndTritons.esp=1
X.Races.Comp.esp=1
Lorene.esp=1
SwingDressSet.esp=1
LunasGothicMaidenRace.esp=1
FuroGeneratorTrap.esp=1
PlayerSlaveEncounters.esp=1
LoversPayBandit.esp=1
PSE-PayBandit-Patch.esp=1
PSE-HackdirtAlive-Patch.esp=1
Colourwheels Sexy Oblivion OverHaul.esp=1
LoversMB2.esp=1
LoversIdleAnimsPriority.esp=1
LoversAnimObjectsPriority.esp=1
xlds.esp=0
xldsFuro.esp=0

 

Link to comment
  • 1 month later...

Does anyone still use this mod, and is it still being maintained? Because I would like some help with something. Basically there seems to be a major bug where if you get infected and then cured, for whatever reason the mod still thinks you're infected. Which means suddenly and randomly exploding in lust when not infected, and no matter how much sex you have it never goes back down. Accidentally killed a few people and creatures finding this out from too much sex lol. I always have to end up using the debug spell to reinfect then re-un-infect my char to temporarily fix the issue (because the bug pops up again later no matter what). Otherwise this mod works really good and I've always enjoyed it.

Link to comment
  • 2 weeks later...

Hi, As you noticed, I have not maintained this mod for a while. I blame Skyrim and Sexlab for that. :) Since I last made updates, the following issues have been reported:
- Male characters being pegged by female Daedra contrary to preceding conversation. This is due to my lack of knowledge on using the sex framework. If anyone know of a good guide to the various flag settings, please send me a link.
- Incurable lust. I made a recent change were your lust still increases post infection, but I believe it was supposed to die down eventually. I will check.
- getting attacked while Furotrapped. I patched Furotrap to integrate better with Lovers, but I though a character was set to being uncounscious while Furotrapped. Again, I'll need to investigate.
- separating enhanced messages into it's own mod. I'm not sure if I will get to this or not. Not in the near future in any case.

I'll try to spend some time on these issues soon and see if I can fix them.

Thanks as always for the feedback!

 

-- edit --

 

Sorry, I tried to get back to this, but couldn't get my own mod working. Has anyone else run into the problem where the eggs cast a spell, but no spell shoots out from them? I see the top of them glow red briefly, but the spell itself never shoots out.  :(

Link to comment
  • 2 months later...

Hi there, while I haven't run into the egg spell failure issue, I have had the dominating female issue. Whenever a female initiates sex with either my character or a male NPC she will take the giving role regardless of RaperS settings.

 

Going to try older versions (starting with 1.1.30) and see if any of those work.

Link to comment
  • 8 months later...
  • 1 month later...
  • 1 month later...

While I'm not getting the hatchable array issue, I did fix the spell issue (I think). It at least doesn't have the glow any more. I figured it was meant to be more like an affect it would have on surrounding npcs, that's what the name of the spell led me to believe anyways. I changed it so it's area effect ignores LOS and removed the red glow.

 

xlds.esp

 

This is the 1.1.31 esp

Link to comment
  • 1 year later...

Bump. I've been looking around in the scripts, and have found 2 (I think) that may determine the sex/role of the seeder/feeder and the target. XLDSeedMainScript, XLDSFindAFriend however, I'm not familiar with the code for any .esp. It was easily readable as I'm familiar with several programming languages, and meaningful names were used for the better part when variables, methods and the like were declared and referenced.

 

Can someone point me in the direction where I can learn "how-to" more? I may be able to fix this myself. XLDS does call some Xlovers scripts, which I thought so because LAPF is what causes the "fun" to happen, or so I think I understand anyway.  I would assume that XLDS calls a function, and passes a variable or constant to the Xlover script responsible for assigning what actors get what role in the animation scene. I don't know though.

 

I notice the femaleActor variable  in XLDSFindAFriend is set to either "1" or "0" but when the situation isn't MxM or FxF there is no if-statement to handle a FxM (where F is female, who approached a male-- like the player in some of our cases). So maybe that's why male players get pegged? Nevermind, just read the Mod Author's post finally. lol.

 

Here's XLDSFindAFriend for anyone interested:

Spoiler

ScriptName XLDSFindAFriend

ref seededActor
long femaleActor
ref possibleFriend
long femaleFriend
long possibleFriendScore
ref bestFriend
long bestFriendScore
short dispositionValue
short personalityValue
long distanceValue
long loopCount
long allowMOnM
long allowFOnF
long debugFindAFriend
string_var xLDSMessage
string_var eol

Begin Function { seededActor }
    DebugPrint "XLDS %n is looking for a friend" seededActor
    set bestFriend to 0
    set loopCount to 0
    set allowFOnF to XLDSMainQuest.allowFOnF
    set allowMOnM to XLDSMainQuest.allowMOnM
    set debugFindAFriend to XLDSMainQuest.debugFindAFriend
    set xLDSMessage to XLDSMainQuest.xLDSMessage
    set eol to sv_Construct "%r"
    set femaleActor to seededActor.IsFemale
    if debugFindAFriend
        let xLDSMessage += eol + "XLDS debugging find a friend for " + seededActor.GetName
    endif
    set possibleFriend to player
    while possibleFriend
        set loopCount to loopCount + 1
        if loopCount >= 1000
            MessageBoxEX "XLDS error possible friend loop reached 1000 iterations%rpossible friend %n %i" possibleFriend possibleFriend
            break
        endif
        
        if possibleFriend == seededActor
            if debugFindAFriend
                let xLDSMessage += eol + possibleFriend.GetName + " cannot be their own best friend"
            endif
        elseif 0 < call xLoversCmnIsReady possibleFriend
            set dispositionValue to seededActor.GetDisposition possibleFriend
            set femaleFriend to possibleFriend.IsFemale
            if allowFOnF == 0 && femaleActor == 1 && femaleFriend == 1
                if debugFindAFriend
                    let xLDSMessage += eol + possibleFriend.GetName + " is rejected because female friends are not allowed"
                endif
            elseif allowMOnM == 0 && femaleActor == 0 && femaleFriend == 0
                if debugFindAFriend
                    let xLDSMessage += eol + possibleFriend.GetName + " is rejected because male friends are not allowed"
                endif
            elseif 0 < dispositionValue
                set personalityValue to possibleFriend.GetActorValue Personality
                set distanceValue to seededActor.GetDistance possibleFriend / 100
                set possibleFriendScore to 200 + distanceValue - dispositionValue - personalityValue
                if femaleActor == femaleFriend
                    set possibleFriendScore to possibleFriendScore + 25
                endif
                if possibleFriendScore < bestFriendScore || bestFriend == 0
                    set bestFriend to possibleFriend
                    set bestFriendScore to possibleFriendScore
                    if debugFindAFriend
                        let xLDSMessage += eol + possibleFriend.GetName + " is being set as the current best friend (distance " + $(distanceValue) + " disposition " + $(dispositionValue) + " personality " + $(personalityValue) + " score " + $(possibleFriendScore) + ")"
                    endif
                else
                    if debugFindAFriend
                        let xLDSMessage += eol + possibleFriend.GetName + " is rejected (distance " + $(distanceValue) + " disposition " + $(dispositionValue) + " personality " + $(personalityValue) + " score " + $(possibleFriendScore) + ")"
                    endif
                endif                
            else
                if debugFindAFriend
                    let xLDSMessage += eol + possibleFriend.GetName + " is rejected due to a disposition of " + $(dispositionValue)
                endif
            endif
        else
            if debugFindAFriend
                let xLDSMessage += eol + possibleFriend.GetName + " is rejected because they are busy"
            endif
        endif

        if possibleFriend == player
            set possibleFriend to seededActor.GetFirstRef 35 1
        else
            set possibleFriend to seededActor.GetNextRef
            if possibleFriend == player
                set possibleFriend to seededActor.GetNextRef
            endif
        endif
    loop

    if debugFindAFriend
        if bestFriend
            let xLDSMessage += eol + seededActor.GetName + " would go to talk to " + bestFriend.GetName + " if this was a real check"
        else
            let xLDSMessage += eol + seededActor.GetName + " could not find a friend they are interested in"
        endif
    elseif bestFriend
        DebugPrint "XLDS %n is going to talk to their best friend, %n" seededActor bestFriend
        if bestFriend == player
            seededActor.StartConversation bestFriend XLDSGreeting
        else
            seededActor.StartConversation bestFriend XLDSHello
        endif
    endif        
    sv_Destruct eol
End

;<CSEBlock>
;<CSECaretPos> 1407 </CSECaretPos>
;</CSEBlock>

edit: is there some kind of debug-mode I can enable so I can see what functions and scripts are being used? Output to a log or the console?

edit2: I also just saw another script that might be it . . . will look at it later though (XLDSHandleActiveActors):

Spoiler

ScriptName XLDSHandleActiveActors

string_var debugString
array_var highActors
long numberOfHighActors
long currentActorIndex
ref currentActor
short showHandling
string_var tempString
float currentTime
float timeOfNextEvent
long furoGeneratorTrapLoaded
long foodCount
long tempCount
long hungerCount
ref mbToken
ref mb2Token
long mbDetectedTokenCount
long mbTokenCount
long modValue
long innerLoopCount
long levelValue
string_var xLDSMessage
ref mbSpellMain
long playerMaxHungerLevel

Begin Function {}
    SetFunctionValue 0
    set debugString to XLDSMainQuest.debugString
    let debugString += "%rXLDSHandleActiveActors script beginning"
    set currentTime to XLDSMainQuest.currentTime
    let highActors := XLDSMainQuest.highActors
    let numberOfHighActors := XLDSMainQuest.numberOfHighActors
    let currentActorIndex := numberOfHighActors
    let tempString := sv_Construct "%.0f" numberOfHighActors
    let debugString += "%rNumber of actors: " + tempString
    sv_Destruct    tempString
    set mbToken to XLDSMainQuest.mbToken
    set mb2Token to XLDSMainQuest.mb2Token
    ;DebugPrint "XLDSHandleActiveActors entering main loop"
    While currentActorIndex >= 0
        let currentActorIndex -= 1
        ;debugPrint "r 1 %g" currentActorIndex
        if currentActorIndex >= 0
            let currentActor := highActors[currentActorIndex]
        else
            let currentActor := PlayerRef
        endif
        let debugString += "%r%rChecking " + currentActor.GetName + " : "

        ;debugPrint "r 2"
        set foodCount to currentActor.GetItemCount xLDSFood
        set hungerCount to currentActor.GetItemCount xLDSHunger

        if currentActor.GetInFaction MythicDawn || currentActor.GetInFaction MythicDawnAssassins || currentActor.GetInFaction MythicDawnCG || currentActor.GetInFaction MythicDawnCGAssassin
            let debugString += "Mythic Dawn detected. "
            if furoGeneratorTrapLoaded
                if currentActor.HasSpell xLDSLpEggSpell == 0
                    currentActor.AddSpellNS xLDSLpEggSpell
                    let debugString += "Added xLDSLpEggSpell. "
                endif
            endif
            if foodCount < 0
                let debugString += "Adding daedra seed. "
                currentActor.AddItemNS xLDSFood 1
                call XLDSProcessFood currentActor
                set foodCount to 1
            endif
        endif

        ;debugPrint "r 3"
        if eval currentActor.GetInFaction XLDSSeeders || currentActor.GetInFaction DaedraFaction || currentActor.GetInFaction DremoraFaction
            ;debugPrint "r 3.1"
            call XLDSHandleDaedra currentActor
            ;debugPrint "r 3.2"
            continue
        endif

        ;debugPrint "r 4"
        if foodCount == 0
            let debugString += "Is not seeded. "
            continue
        endif

        if currentActor.GetDead || currentActor.GetDisabled
            ;debugPrint "r 4.5"
            let debugString += "Seeded actor inactive or dead. "
            if currentActor.GetDead
                ;debugPrint "r 5"
                let debugString += "Dead seeded actor generating daedra. "
                if 0.1 < currentActor.GetTimeDead
                    let tempCount := 0
                    While foodCount != tempCount
                        let tempCount := foodCount
                        let foodCount -= call XLDSGenerateEggs currentActor 1
                    Loop
                else
                    call XLDSGenerateEggs currentActor 0
                endif
            endif
            call XLDSRemoveHunger currentActor 4
            continue
        endif

        if hungerCount > 2 && currentActor != PlayerRef
            ;debugPrint "r 6"
            if currentActor.GetCurrentAIPackage != 6
                if call xLoversCmnIsReady currentActor
                    let debugString += "finding a friend. "
                    call XLDSFindAFriend currentActor
                endif
            endif
        endif

        ;debugPrint "r 7"
        set mbDetectedTokenCount to currentActor.GetItemCount xLDSMBDetectedToken
        set mbTokenCount to currentActor.GetItemCount mbToken
        if mb2Token
            set mbTokenCount to mbTokenCount + currentActor.GetItemCount mb2Token
        endif
        if mbDetectedTokenCount
            ;debugPrint "r 8"
            if mbTokenCount == 0
                let debugString += "mb ending. "
                ;remove detected token and process
                currentActor.RemoveItemNS xLDSMBDetectedToken mbDetectedTokenCount
                if hungerCount > 3
                    set modValue to 1 - 0.5 * currentActor.GetActorValue Health
                    currentActor.ModActorValue2 Health modValue
    
                    set modValue to 0 - currentActor.GetActorValue Magicka
                    currentActor.ModActorValue2 Magicka modValue
    
                    set modValue to 0 - 1 - currentActor.GetActorValue Fatigue
                    currentActor.ModActorValue2 Fatigue modValue
                endif
                if hungerCount > 2
                    currentActor.RemoveItemNS xLDSHunger 1
                    set hungerCount to hungerCount - 1
                    call XLDSRemoveHunger currentActor 0
                endif
                set timeOfNextEvent to call XLDSGetTimeOfNextEvent currentActor 0
                call XLDSArraySetFloatInRefInfoForKey currentActor "timeOfNextEvent" timeOfNextEvent
            else
                let debugString += "mb in progress. "
            endif
        elseif mbTokenCount
            ;debugPrint "r 9"
            let debugString += "mb beginning. "
            currentActor.AddItemNS xLDSMBDetectedToken 1
        endif            

        ;debugPrint "r 10"
        if 0 == call XLDSArrayInfoForRefHasKey currentActor "timeOfNextEvent"
            set timeOfNextEvent to call XLDSGetTimeOfNextEvent currentActor 0
            call XLDSArraySetFloatInRefInfoForKey currentActor "timeOfNextEvent" timeOfNextEvent
            let debugString += "timeOfNextEvent initialized. "
        else
            set timeOfNextEvent to call XLDSArrayGetRefInfoForKey currentActor "timeOfNextEvent"
        endif

        ;debugPrint "r 11"
        if currentTime >= timeOfNextEvent
            let debugString += "hunger events. "
            set levelValue to currentActor.GetLevel

            set innerLoopCount to 0
            while currentTime >= timeOfNextEvent
                set innerLoopCount to innerLoopCount + 1
                if innerLoopCount >= 1000
                    MessageBoxEX "XLDS: Error hunger increase handling loop has reached 1000 iterations%r%n currentTime %f nextTime %f" currentActor currentTime timeOfNextEvent
                    let debugString += "loop error. "
                    break
                endif
                currentActor.addItemNS xLDSHunger 1
                set hungerCount to hungerCount + 1
                set timeOfNextEvent to call XLDSGetTimeOfNextEvent currentActor timeOfNextEvent
            loop            
            if hungerCount > 4
                let debugString += "hunger > 4 handling. "
                currentActor.RemoveItemNS xLDSHunger hungerCount
                if currentActor == player
                    set xLDSMessage to XLDSMainQuest.xLDSMessage
                    let xLDSMessage := xLDSMessage + "You are soaked with your own cum down below. You don't recall when it happened though. "
                    currentActor.addItemNS xLDSHunger 4
                    set hungerCount to 4
`                else
                    ;assume NPC sated themselves somehow
                    currentActor.addItemNS xLDSHunger 1
                    set hungerCount to 1
                    set foodCount to 2 + SquareRoot foodCount
                    currentActor.AddItemNS xLDSFood foodCount
                    call XLDSProcessFood currentActor
                endif
            endif
            call XLDSArraySetFloatInRefInfoForKey currentActor "timeOfNextEvent" timeOfNextEvent
            
            DebugPrint "XLDS: running event for %n %i hunger %.0f" currentActor currentActor hungerCount

            if currentActor == player
                let debugString += "update player info. "
                set playerMaxHungerLevel to XLDSMainQuest.playerMaxHungerLevel
                if hungerCount > playerMaxHungerLevel
                    set XLDSMainQuest.playerMaxHungerLevel to hungerCount
                endif
                call xLoversCmnPlayVoice currentActor 2 0
                if hungerCount > 1 && 15 > GetStage XLDSStoryLineQuest
                    if XLDSMainQuest.sawDaedraEggsHatch
                        set XLDSMainQuest.mainStoryNewStage to 16
                    else
                        set XLDSMainQuest.mainStoryNewStage to 15
                    endif
                endif
            endif
            call XLDSRemoveHunger currentActor 0
            if hungerCount > 3
                let debugString += "hunger = 4 handling. "

                if call xLoversCmnIsReady currentActor
                    if currentActor == Player
                        MessageBox "Your desire is unbearable! Your body feels like it's burning. You need to masturbate quickly! "
                        set modValue to 1 - 0.5 * currentActor.GetActorValue Health
                        currentActor.ModActorValue2 Health modValue
                    else
                        set mbSpellMain to XLDSMainQuest.mbSpellMain
                        if mbSpellMain
                            currentActor.AddSpellNS mbSpellMain
                        endif
                    endif
                endif
            endif
        endif ;end of if currentTime > timeOfNextEvent
    Loop
    
    set showHandling to XLDSMainQuest.showActiveActorHandling
    if showHandling
        set XLDSMainQuest.showActiveActorHandling to 0
        MessageBoxEX "XLDSHandleActiveActors%r%z" debugString
    endif
    SetFunctionValue 1
End


;<CSEBlock>
;<CSECaretPos> 3121 </CSECaretPos>
;</CSEBlock>

edit3: Well, looking at the debug output-- I can't see what function is called that determines the roles of the actors. After the FindAFriend completes the debug output says their friendship has been added to the array, and then "Lovers: START (female_npc_name) (refid) and (player_name)(ref_id) / total_pairs = 1" . . . so somewhere inbetween those two outputs I guess.

edit4: I noticed in XLDSeedMainScript that a "set" is made to xLoversQuest . . . but the only script (in the xlds.esp) close I found was xLoversQuestScript. The latter does have Offence and Defence in it though.

Link to comment

@randompeep: About last, 4th point, here's good rational custom to name questscripts using name of quest ("MyVeryImportantQuest") plus suffix "Script" (="MyVeryImportantQuestScript"). It helps with readability, yes. Also, it was slightly confusing at first, but for external access to their variables, you should think they're   quest variables (and not  questscript variables), so their external  name is NOT  ThatQuestScriptName.VarName, BUT  ThatQuestName.VarName.

If i correctly understand all other your questions, it would be fruitful to read "mainframe", LAPF thread, there should be very much useful info for coders (i must confess, i didn't raed more than 1/3 of it all.. because of my laziness).

Link to comment
On ‎7‎/‎20‎/‎2016 at 1:11 AM, Comrade Fienyx said:

While I'm not getting the hatchable array issue, I did fix the spell issue (I think). It at least doesn't have the glow any more. I figured it was meant to be more like an affect it would have on surrounding npcs, that's what the name of the spell led me to believe anyways. I changed it so it's area effect ignores LOS and removed the red glow.

 

xlds.esp

 

This is the 1.1.31 esp

While trying that esp out. I noticed that the scamps now spawn for the furo trap, but the messages at the top of the screen are now missing. Also, I still have the hatching error and when an NPC approaches me, I selected the option to have sex, but nothing still happens.

 

On another note, I made an NPC and i set the script to  XLDSAddCreatureToHatcheableCreaturesArray to test it, but it didn't work. I honestly wasn't sure if it would. I may need to read up some more on how the scripting works. I do believe that the hatching error is due to a possible error in the script to tag creatures for it?

Link to comment
  • 4 years later...

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