Jump to content

Paradise Halls Enhanced (pahe) Special Edition with the customary addons


Recommended Posts

Posted

Results of option B:

 

In sort total disaster.

 

long version:

i copied the original magic effect that pointed me for usage. this effect not worked. as i tryed give propertys to this effect ck say this script generated errors, not possible to manipulate propertys.

 

At first i tought maybe my ck get some tweaks that cause issues so i restored original status of my ck( and added some ini change to able use).

 

i say okay, lets try something... i opened the script source, ad started comment out lines that may cause this errors.

i found out this form of the script not generate tons of compile error:

 

Spoiler

Scriptname PAHCaptureEffectTest extends ActiveMagicEffect  
{capture npc victim}

PAHCore Property PAH Auto
Faction Property PAHCleaned Auto
Faction Property NoEnslave Auto
Faction Property PAH_CanBeCaptured Auto
Faction Property CaptiveFaction Auto
Faction Property PAHHasBeenPlayerSlaveFaction Auto


Event OnEffectStart(Actor akTarget, Actor akCaster)
    if !akTarget.IsInFaction(PAHCleaned) && !akTarget.IsInFaction(NoEnslave) && (akTarget.IsInFaction(PAH_CanBeCaptured) || akTarget.IsInFaction(CaptiveFaction) || akTarget.IsInFaction(PAHHasBeenPlayerSlaveFaction))
        PAH.Capture(akTarget)
    endif

EndEvent

yes its far from original but at least i can compile it.

 

upon compile i get this errors from ck:

Error: Unable to link type of variable "::PAH_var" on object "PAHCaptureEffectTest"
Error: Unable to link type of property "PAH" on object "PAHCaptureEffectTest"
 

hmm okay maybe its need something from the original files so lets open my esp with paradise_hall.esm and its  SLExtension.esp.

 

this not solved the issues. same error messages.

 

i done a quick attemt to reserve enginer the source of strange messages i recive in ck.

then realised my knowlage of papyrus scripts not going to make it.

 

maybe the source code not for last version of ck? or my clean up of my ck incomplite?

 

for the moment i dicided stop experiment with option "_B" this moment i run out of ideas how i can solve this issues.

 

if a spell or spell effect exist in paradisehall_SLexpansion.esp i can use and do the same as the enchantment do i think this one solve my current road block.

Posted
11 hours ago, Nonseen said:

it was not part of my plans :(

loking ways to fix it!

 

EDIT:

Found 2 possible solutions.

 

#1 - adding hp limit checks to my scripts, this check linked to global that edited by mcm menu. this way the target only get the capture effect if target hp below the limit of capture (my script updated i test it soon as possible)

 

#2 - using the magic effect you marked for usage, making a copy of it and changing type from contact to aim, this way i can make a spell from it, than call this spell end of my scripts.

 this has some possible draw back : if the original magic effect get updated/changed the new magic effect need updated to/remade.

i call this solution Beta ( to make more easy reference this version of scripts) and put a _B evry usage instance.

(this sulution under devlopment/testing)

 

i plan check out all possible aproach make prototype both to see what works best :) ( and witch one NOT ruin/damage the original PAHE gameplay expereince! )

ok, the existing magic effect is set to use the existing script and that script will check the health

for hp limit checks you can start with this in the capture effect:

Spoiler

    if (akTarget.GetActorValuePercentage("Health") <= 0.25) && !akTarget.IsInFaction(NoEnslave)
    ;    DoCapture(akTarget)
        PAH.Capture(akTarget)
    endif        

but if you're looking to upgrade that to the mcm settings, you'll need to check the global: PAHEHealthPercentage [GLOB:0B009C1C]

Spoiler

   if (akTarget.GetActorValuePercentage("Health") <= (PAHEHealthPercentage)) && !akTarget.IsInFaction(NoEnslave)
    ;    DoCapture(akTarget)
        PAH.Capture(akTarget)
    endif        

 

Posted (edited)
26 minutes ago, Nonseen said:

Results of option B:

 

In sort total disaster.

 

long version:

i copied the original magic effect that pointed me for usage. this effect not worked. as i tryed give propertys to this effect ck say this script generated errors, not possible to manipulate propertys.

 

At first i tought maybe my ck get some tweaks that cause issues so i restored original status of my ck( and added some ini change to able use).

 

i say okay, lets try something... i opened the script source, ad started comment out lines that may cause this errors.

i found out this form of the script not generate tons of compile error:

 

  Hide contents

Scriptname PAHCaptureEffectTest extends ActiveMagicEffect  
{capture npc victim}

PAHCore Property PAH Auto
Faction Property PAHCleaned Auto
Faction Property NoEnslave Auto
Faction Property PAH_CanBeCaptured Auto
Faction Property CaptiveFaction Auto
Faction Property PAHHasBeenPlayerSlaveFaction Auto


Event OnEffectStart(Actor akTarget, Actor akCaster)
    if !akTarget.IsInFaction(PAHCleaned) && !akTarget.IsInFaction(NoEnslave) && (akTarget.IsInFaction(PAH_CanBeCaptured) || akTarget.IsInFaction(CaptiveFaction) || akTarget.IsInFaction(PAHHasBeenPlayerSlaveFaction))
        PAH.Capture(akTarget)
    endif

EndEvent

yes its far from original but at least i can compile it.

 

upon compile i get this errors from ck:

Error: Unable to link type of variable "::PAH_var" on object "PAHCaptureEffectTest"
Error: Unable to link type of property "PAH" on object "PAHCaptureEffectTest"
 

hmm okay maybe its need something from the original files so lets open my esp with paradise_hall.esm and its  SLExtension.esp.

 

this not solved the issues. same error messages.

 

i done a quick attemt to reserve enginer the source of strange messages i recive in ck.

then realised my knowlage of papyrus scripts not going to make it.

 

maybe the source code not for last version of ck? or my clean up of my ck incomplite?

 

for the moment i dicided stop experiment with option "_B" this moment i run out of ideas how i can solve this issues.

 

if a spell or spell effect exist in paradisehall_SLexpansion.esp i can use and do the same as the enchantment do i think this one solve my current road block.

if you're attempting to copy the magic effect instead of using the existing magic effect, you'll need to also copy the script properties....or your scripting abilities need to step up to be able to define pah to pahcore:

 

in pahecapture pah is defined in the script properties as PAH "Slave Tracker" [QUST:0801FAEF]

if you're attempting to do that with out assigning the properties, you'll need to learn to softlink the script to its masters:

Spoiler

Quest Property PAH Auto
PAHCore Property Core Auto
    If (Game.GetModByName("paradise_halls.esm") != 255)
        PAH = Game.GetFormFromFile(0x01FAEF, "paradise_halls.esm") As Quest
         Core = (PAH as PAHCore)
        if (akTarget.GetActorValuePercentage("Health") <= 0.25) && !akTarget.IsInFaction(NoEnslave)
          Core.Capture(akTarget)
         endif        
     EndIf

 

Edited by CliftonJD
Posted
1 hour ago, CliftonJD said:

ok, the existing magic effect is set to use the existing script and that script will check the health

for hp limit checks you can start with this in the capture effect:

  Hide contents

    if (akTarget.GetActorValuePercentage("Health") <= 0.25) && !akTarget.IsInFaction(NoEnslave)
    ;    DoCapture(akTarget)
        PAH.Capture(akTarget)
    endif        

but if you're looking to upgrade that to the mcm settings, you'll need to check the global: PAHEHealthPercentage [GLOB:0B009C1C]

  Hide contents

   if (akTarget.GetActorValuePercentage("Health") <= (PAHEHealthPercentage)) && !akTarget.IsInFaction(NoEnslave)
    ;    DoCapture(akTarget)
        PAH.Capture(akTarget)
    endif        

 

 

First of all thank you for quick replay and trying help me, teaching me how thing can be done :) :)

 

in my part i made communication error i think :(

 

i changed the capture effect script i made to check the heath of the target:

Spoiler

Scriptname PAHECaptureEffectScript extends ActiveMagicEffect  
{PAHE Capture Weapons and Magic tigger Script: Calls For PAHE Capture if target looks valid.}

;spell property PAHCaptureEffect auto
;in case other spell needed to be used this one need uncommented...

EVENT OnEffectStart(Actor target, Actor caster)
    debug.Trace("PAHE Capture Weapons and Magic tigger Script: weapon used starting check")
    
;check hp percentage of the target, if not in valid capture range stop the procces
    globalvariable glhplimit = Game.GetFormFromFile(0x009C1C,"paradise_halls_SLExtension.esp") as globalvariable ;geting in the pahe global hp limit for capture
    if glhplimit == none
        debug.Trace("PAHE Capture Weapons and Magic tigger Script: Critical error! Failed to load paradise_halls_SLExtension.esp hplimit global!")
        return
    endif
    
    ;get the hp limit percantage from the global for checking, then compare
    if(target.GetAVPercentage("Health")) >= glhplimit.GetValue()
        return ;if target hp above the hp limit or equal process stops
    endif

;load the spell that used capture slaves, check its loaded
    spell PAHCaptureEffect = Game.GetFormFromFile(0x023789, "paradise_halls_SLExtension.esp") as spell
    if PAHCaptureEffect == none ;checking spell for capture is loaded
        debug.Trace("PAHE Capture Weapons and Magic tigger Script: Critical error! Failed to load capture spell!")
        return
    endif

;check target is not the player
    actor playerref=game.getplayer()

    if target == playerref ;if the target is the player we need stop run the script
        debug.Trace("PAHE Capture Weapons and Magic tigger Script: Player targeted, by capture spell aborting")
        return
    endif

;need check target is not a current follower, avoid accidental capture
    faction FactionCheck=Game.GetFormFromFile(0x05C84E,"skyrim.esm") as faction

    if target.GetFactionRank(FactionCheck) >= 0
        return  ;target is a follower, stoping the process
    endif

    bool buser=false;this used determinate user is valid or not

;check user is player
    if caster== playerref ;if player is a wepon user then valid user
        buser=true
    endif

;check user is a current follower
    if caster.GetFactionRank(FactionCheck) >=0 ;follower okay to capture
        buser=true
    endif

;check target is a houscarl
    FactionCheck=Game.GetFormFromFile(0x0A2C8D,"skyrim.esm") as faction
    
    if  target.GetFactionRank(FactionCheck) >= 0
        return  ;target is houscarl not valid
    endif

    if caster.GetFactionRank(FactionCheck) >=0
        buser=true ;houscar can capture
    endif

;check target is a follower 
    FactionCheck=Game.GetFormFromFile(0x084D1B,"skyrim.esm") as faction
    if  target.GetFactionRank(FactionCheck) >= 0
        return  ;target  not valid
    endif

    if caster.GetFactionRank(FactionCheck) >=0
        buser=true ;user can capture
    endif

;check target and user is a slave or not
    FactionCheck=Game.GetFormFromFile(0x0047DB,"paradise_halls.esm") as faction
    if caster.GetFactionRank(FactionCheck) >=0
        buser=true ;user can capture
    endif
    if target.GetFactionRank(FactionCheck) >= 0
        return  ;target  not valid
    endif

;all check done, if user is valid tigger capture process
    if buser == true
        debug.Trace("PAHE Capture Weapons and Magic tigger Script: Valid user detected, attempting capture")
        PAHCaptureEffect.cast(caster, target)
    endif
endevent

During testing i discovered, the spell that apply this script as effect need to be active few secund to avoid mutipple application on same target.

i made this a  spell effect activation requierment in ck.

 

i thinking adding a keyword or a faction to the target that under the effect of this script. so no other instance of this script will start apply on.

i plan do this to make script more easy to implement by other modders. this way no propertys, no other settings need to be added the magic effects... maybe the script alone can be added to existing magic effects. this way making implementation more easy and less prone to human error.

 

all in all my gola with this to make modder frendly as possible, and efficent as possible. 

 

i plan test out this changes make my solution safe so one hit - killing a npc, not make the npc a slave.

Posted
1 hour ago, CliftonJD said:

if you're attempting to copy the magic effect instead of using the existing magic effect, you'll need to also copy the script properties....or your scripting abilities need to step up to be able to define pah to pahcore:

 

in pahecapture pah is defined in the script properties as PAH "Slave Tracker" [QUST:0801FAEF]

if you're attempting to do that with out assigning the properties, you'll need to learn to softlink the script to its masters:

  Reveal hidden contents

Quest Property PAH Auto
PAHCore Property Core Auto
    If (Game.GetModByName("paradise_halls.esm") != 255)
        PAH = Game.GetFormFromFile(0x01FAEF, "paradise_halls.esm") As Quest
         Core = (PAH as PAHCore)
        if (akTarget.GetActorValuePercentage("Health") <= 0.25) && !akTarget.IsInFaction(NoEnslave)
          Core.Capture(akTarget)
         endif        
     EndIf

 

THANK YOU! :)

 

i do try out this solutions and attempt to make working condition of plan "_B".

 

in the first place i started change the existing source file becuse the copy of the original effect not worked :(

the idea making new effect script instead using existing one that you provided is a fail safe option to me.

 

but thinking of it, if its okay to you if i use part of the scripts showen to me, maybe i attempt make a variant of this scripts that not require property or other outside settups.

just like my other scripts "plug and play" style, easy to use ( and i hope performance frendly).

 

i read some guide how to make quick as possible my scripts, i know pahe is a big and complex script system. i wish not make other burden for papyrus that can be avoided.

Posted
1 hour ago, Nonseen said:

During testing i discovered, the spell that apply this script as effect need to be active few secund to avoid mutipple application on same target.

i made this a  spell effect activation requierment in ck.

in the object effect of the enchantment, set it to extend duration on recast like these in 0x012E55 to 0x012E5C:

paradise_halls_SLExtension.esp

should prevent that issue

 

Posted
On 11/14/2022 at 2:57 PM, CliftonJD said:

sure thing

no collars or whips in his study could just be that you haven't enabled farengar's study from your mod manager, its in the optionals. can you send a papyrus log of starting pahe

I made sure to enable it, and how would i get it to record Papyrus logs? Its not sending any logs to the script file and i can't figure out why

Posted
12 minutes ago, Law23635 said:

I made sure to enable it, and how would i get it to record Papyrus logs?

in Documents\My Games\Skyrim Special Edition

you find skyrim.ini

 

end of this file need enable logging for papyrus.

i use this settings:

 

Quote

[Papyrus]
fPostLoadUpdateTimeMS=2000.0
bEnableLogging=1
bEnableTrace=1
bLoadDebugInformation=0

i can enable final settings if i wish see super detailed logs.

Posted
1 hour ago, Nonseen said:

in Documents\My Games\Skyrim Special Edition

you find skyrim.ini

 

end of this file need enable logging for papyrus.

i use this settings:

 

i can enable final settings if i wish see super detailed logs.

I added it, but I'm still not seeing logs appear in the script files. Is there something I'm missing?

Posted
1 hour ago, Law23635 said:

I added it, but I'm still not seeing logs appear in the script files. Is there something I'm missing?

 

normaly logs shown here. evry time a skyrim game run a new shown here if ini settings okay.

Documents\My Games\Skyrim Special Edition\Logs\Script

 

to me maximum 4 log exist any given time. a new one always named "Papyrus.0.log" the oldest "Papyrus.3.log"

 

if i start the game agin the last one get deleted and all the others moved the number in the logs name  incrased by one.

Posted
22 hours ago, CliftonJD said:

in the object effect of the enchantment, set it to extend duration on recast like these in 0x012E55 to 0x012E5C:

paradise_halls_SLExtension.esp 1.54 MB · 1 download

should prevent that issue

 

i not found the referenced effects in thae sample.

to me xedit not show anithing in the referenced formid :(

 

on my wond i made lot of advance! :)

pahxCaptureTester.psc

PAHXFactionClear.psc

PAHE_Capture_Effects_Sample.esp

 

my solutions not complite but fallowing things working:

-no slave duble capture

-no capture of slaves that 1 hit killed

 

missing functions, but exist in other scripts i need add to this:

-check the target is valid  ( based on examples i seen original how you handle this expectations)

-check the weapon user is valid( if not player its need wear slav collar, this way player can control with slave allowed to capture other slaves)

 

problems i owercome and how:

1-dubble capture. if a target get defeated can be captured mutiple time. if hitt mutiple time before original get killed.

 

Owercome this i created EWCaptureON faction and add to this a target before capture starts.

 

2-always capture the slave, one hitt kill not kill the target but enslave them.

my solution is come with a spell that the capture effect places on the target. script name here is PAHXFactionClear

this script added a spell that remain 1 hour.

as this effect on i use register for single update , this give me 0.2 sec time so if target get killed the target has "time to die"

after that i check target has more than 1 hp then initiate capture.

 

originaly this script ment only handle slaves removal from EWCaptureON faction. after enslavment complited.

 

all in all to me looks like "_B" going to work this way far better than the normal opcion.

 

negative side effect need add a spell, a spell effect, a faction to the mod that going to use it :(

i thining how i can reduce this things.

Posted
3 hours ago, Nonseen said:

i not found the referenced effects in thae sample.

to me xedit not show anithing in the referenced formid :(

 

on my wond i made lot of advance! :)

pahxCaptureTester.psc 1.51 kB · 0 downloads

PAHXFactionClear.psc 1.31 kB · 0 downloads

PAHE_Capture_Effects_Sample.esp 50.77 kB · 0 downloads

 

my solutions not complite but fallowing things working:

-no slave duble capture

-no capture of slaves that 1 hit killed

 

missing functions, but exist in other scripts i need add to this:

-check the target is valid  ( based on examples i seen original how you handle this expectations)

-check the weapon user is valid( if not player its need wear slav collar, this way player can control with slave allowed to capture other slaves)

 

problems i owercome and how:

1-dubble capture. if a target get defeated can be captured mutiple time. if hitt mutiple time before original get killed.

 

Owercome this i created EWCaptureON faction and add to this a target before capture starts.

 

2-always capture the slave, one hitt kill not kill the target but enslave them.

my solution is come with a spell that the capture effect places on the target. script name here is PAHXFactionClear

this script added a spell that remain 1 hour.

as this effect on i use register for single update , this give me 0.2 sec time so if target get killed the target has "time to die"

after that i check target has more than 1 hp then initiate capture.

 

originaly this script ment only handle slaves removal from EWCaptureON faction. after enslavment complited.

 

all in all to me looks like "_B" going to work this way far better than the normal opcion.

 

negative side effect need add a spell, a spell effect, a faction to the mod that going to use it :(

i thining how i can reduce this things.

ok, here's a few changes to extend duration on recast and conditions to check the target is valid to be captured and a skyrim lore based timer for the spell condition:

PAHE_Capture_Effects_Sample.esp

and here's some screenshots of how and where its done:

2141095805_extenddurationrecast.JPG.21794aabcee41c86930aa01517e2c021.JPG

 

 

Posted
7 hours ago, CliftonJD said:

ok, here's a few changes to extend duration on recast and conditions to check the target is valid to be captured and a skyrim lore based timer for the spell condition:

PAHE_Capture_Effects_Sample.esp 51.1 kB · 0 downloads

and here's some screenshots of how and where its done:

2141095805_extenddurationrecast.JPG.21794aabcee41c86930aa01517e2c021.JPG

 

 

i understand now, if i use extend duration flag the recast of the spell not generate "event OnStart" so the script that watching this effect not run agin.

 

i assume to this to work the spell effect should not to flagged as:  "no recast" and "no effect time" and the spell need to effective at least 1 sec

 

final question what is quicker from papyrus stend point( or other words what version cost less from papyrus stress):

adding condition to spell effect to preverent effect start working

 

OR

 

adding same requieremnts to the script directly?

Posted
10 hours ago, Nonseen said:

i understand now, if i use extend duration flag the recast of the spell not generate "event OnStart" so the script that watching this effect not run agin.

 

i assume to this to work the spell effect should not to flagged as:  "no recast" and "no effect time" and the spell need to effective at least 1 sec

 

final question what is quicker from papyrus stend point( or other words what version cost less from papyrus stress):

adding condition to spell effect to preverent effect start working

 

OR

 

adding same requieremnts to the script directly?

my opinion or my experience with it seems to find less bugs and closer to real time effects if the conditions are written into the esp value than if its written into script value

Posted
2 hours ago, CliftonJD said:

my opinion or my experience with it seems to find less bugs and closer to real time effects if the conditions are written into the esp value than if its written into script value

thank you for the advice and the informations :)

i making more use this case the condtion system.

 

mean while i run lot of trial run with the modified esp you put here.

 

my assumtion about the enchantment inner working proven to be correct.

this has some side effect not allow to capture the victim unless reaching blead out state.

after i removed the recast flag the enchantment started work like a charm :)

 

i added the pahe capture keyword my secund spell that cast by the enchantment( and you added this to condition ). this secund spell call for pahe capture so if this secund spell not tigger to times on same target i okay.

this change made my faction solution obsalate :) so one less step need taken by papyrus.

 

I plan continue experiemnt with condition system and flags, trying optimalize my scripts/spells.

 

Based on recent experiences i plan re disign the system this way:

 

the first magic effect i call tigger  this one run the primary checks on the victim:

-its okay to enslave this target?

-its hp below capture treshold?

-the weapon user allowed to do capture? 

(this one not part of pahe i feel need add it to avoid situation where npcs capture other npcs to player aginst the player will. concept is i check the weapon user is player or a slave or a follower who wearing a slav collar, this 3 requierment probably not filled by accident and not need new item to be added/used)

 

if all this requierment checked out the script cast a spell that handle the capture process. i call this spell capture handler.

 

the capture handler link the pahecore quest to self and make the call for enslavment after made sure the victim is alive and not killed during capture process.

this spell effect keyworded as pahe capture magic effect and canot be cast if a target under this effect. same true for the tigger effect.

this way no dubble capture ever happen.

 

by disegn this aproch looks to me very flexible, becuse tigger not linket any resource other than a spell and keyword.

This spell can be hard coded into the script so no property need sett up, just the tigger script need to be added a magic effect. ( plus the spell or enchanctment need to be set with right conditions.)

 

so a mod maker can change easy the conditons of capture in the future witout need re complie any script.

(this can be a bead thing if some one delete conditions that should not be deleted. maybe wise to add primary checks to the capture spell conditions? i mean checks that preverent capture of no enslave faction members, ect... )

 

what is your tought about my ideas? i probably blind the holes in it. :(

Posted
On 11/15/2022 at 8:26 PM, CliftonJD said:

in the object effect of the enchantment, set it to extend duration on recast like these in 0x012E55 to 0x012E5C:

paradise_halls_SLExtension.esp 1.54 MB · 2 downloads

should prevent that issue

 

i missunderstund you :(

 

i started cheking inside this file with ck and now i see what you mean.

I see new enchantments here and looks promising! :)

 

if i understand coretly the intention is if a target hp fall below the limit that sett up in the conditions and meet all other condition target get enslaved. Plus same time the effect time make longer each hit that land on target :)

 

cheking up with conditions i have some questions:

in PAHWEaponEnchantment 1 (PAHWeaponEnchantment1 "PAH slavery enchantment" [ENCH:0x012E55])

i see the fallowing conditions (with all need to be subject):

actor = 1 AND

dead = 0 AND

faction PAHSlave = 0  AND

faction noenslave = 0  AND

bleading out = 1 OR

fleeing = 1 OR

Sleeping = 1 OR (not exact copy but this is the maning i think)

under paralysis effect = 1  OR (alchemy, magical, enchant)

current heath precantage <= PAHE capture limit AND

faction  PAHECanBeCaptured = 1 AND

 

if all checks true the fallowing effect called in:

PAHCaptureEffectContact "Capture" [MGEF:0x0047D9]

 

this effect comes with own requierments i belive upon called this condtions checked ( pls let me know if i mistaken)

The condition i see is the fallowings here  (with all need to be subject):

 

actor = 1 AND

faction PAHSlave = 0  AND

faction noenslave = 0  AND

race.dwarven centurion race = 0 AND

essential = 0 AND

 

keyworded  as ActorTypeNPC = 1  OR

keyworded  as ActorTypeDwaren  = 1 OR

race. atronach flame = 1 OR

race. falmer = 1 AND

 

my questions:

A - the game engine going to check first the enchantment condtions then if all meet checks the effects conditions one by one then apply that can be applyed on target?

 

B-if i understand coretly the enchantment case the target get effected if at least one of the fallowing conditions need to meet before the enchantment effect start working:

-sleeping

-paralyzed

-in fear

-bleading out

 

C-Last statment of spell effect contain this: " race.falmer = 1 AND" this not going to cause issues? i not sure i understand how condition system works. :( i checked diferent condations you made and see most cases last condtion status is AND i dont know why :(

 

D-what happen if the conditions only sett up the effect side? i mean i not setting up any condition to the spell/enchantment only adding condtions to the magic effect.

its safe to do this?

 

E-pahe can be captured faction (PAHECanBeCaptured [FACT:0x0325C8])is a strange looking one.

i see the victim need to be part of this faction. this means to me all possible npc and other thing i can enslave.

i checked in the xedit, this say only 27 reference. Some reference some npcs in pine watch, other reference perks.

 

To me seems some "magic" happening in running time that make use quests and mcm menu somehow( its looks like to me this perks linked somehow to mcm menu options, maybe this way recorded waht mcm menu option enabled and what not? ) .

its looks very intresting :)

 

i can do some testing for your scripts if it help to devlop new weapons to pahe :)

Posted
1 hour ago, Nonseen said:

i missunderstund you :(

 

i started cheking inside this file with ck and now i see what you mean.

I see new enchantments here and looks promising! :)

 

if i understand coretly the intention is if a target hp fall below the limit that sett up in the conditions and meet all other condition target get enslaved. Plus same time the effect time make longer each hit that land on target :)

 

cheking up with conditions i have some questions:

in PAHWEaponEnchantment 1 (PAHWeaponEnchantment1 "PAH slavery enchantment" [ENCH:0x012E55])

i see the fallowing conditions (with all need to be subject):

actor = 1 AND

dead = 0 AND

faction PAHSlave = 0  AND

faction noenslave = 0  AND

bleading out = 1 OR

fleeing = 1 OR

Sleeping = 1 OR (not exact copy but this is the maning i think)

under paralysis effect = 1  OR (alchemy, magical, enchant)

current heath precantage <= PAHE capture limit AND

faction  PAHECanBeCaptured = 1 AND

 

if all checks true the fallowing effect called in:

PAHCaptureEffectContact "Capture" [MGEF:0x0047D9]

 

this effect comes with own requierments i belive upon called this condtions checked ( pls let me know if i mistaken)

The condition i see is the fallowings here  (with all need to be subject):

 

actor = 1 AND

faction PAHSlave = 0  AND

faction noenslave = 0  AND

race.dwarven centurion race = 0 AND

essential = 0 AND

 

keyworded  as ActorTypeNPC = 1  OR

keyworded  as ActorTypeDwaren  = 1 OR

race. atronach flame = 1 OR

race. falmer = 1 AND

 

my questions:

A - the game engine going to check first the enchantment condtions then if all meet checks the effects conditions one by one then apply that can be applyed on target?

not sure the exact order it follows to run the checks but that sounds like the idea behind it anyway

1 hour ago, Nonseen said:

B-if i understand coretly the enchantment case the target get effected if at least one of the fallowing conditions need to meet before the enchantment effect start working:

-sleeping

-paralyzed

-in fear

-bleading out

yes, the script needs to be updated for those to work and the health threshold will be there as well so the script no longer need to check the health of the target

2 hours ago, Nonseen said:

C-Last statment of spell effect contain this: " race.falmer = 1 AND" this not going to cause issues? i not sure i understand how condition system works. :( i checked diferent condations you made and see most cases last condtion status is AND i dont know why :(

that is just a bug in how it displays the last condition. normally its understood as always "and" unless its "or". since there's no other condition to check, it won't be "or" so it must be "and"            (looks like another form of binary)

2 hours ago, Nonseen said:

D-what happen if the conditions only sett up the effect side? i mean i not setting up any condition to the spell/enchantment only adding condtions to the magic effect.

its safe to do this?

yes, it can be done that way also, i could even change it so all the conditions are written to the object effect. i split the conditions in order to better organize the permanent factions that must always be true against the npc versus dwarven or falmer in the magic effect, then later check sleeping, paralysis, fear conditions that can vary, the script still needs to be updated for this part to work. you'll also notice in the sneak peek i last sent that i've adjusted some of the conditions on the spell and its magic effect. the spell is used in other ways so i'll need to check into that before i can add the same conditions i used on the enchantment...this method of organisation is set to account for this:

21 hours ago, Nonseen said:

the capture handler link the pahecore quest to self and make the call for enslavment after made sure the victim is alive and not killed during capture process.

this spell effect keyworded as pahe capture magic effect and canot be cast if a target under this effect. same true for the tigger effect.

this way no dubble capture ever happen.

 

by disegn this aproch looks to me very flexible, becuse tigger not linket any resource other than a spell and keyword.

This spell can be hard coded into the script so no property need sett up, just the tigger script need to be added a magic effect. ( plus the spell or enchanctment need to be set with right conditions.)

 

so a mod maker can change easy the conditons of capture in the future witout need re complie any script.

(this can be a bead thing if some one delete conditions that should not be deleted. maybe wise to add primary checks to the capture spell conditions? i mean checks that preverent capture of no enslave faction members, ect... )

 

what is your tought about my ideas? i probably blind the holes in it. :(

basically with the magic effect setting the race faction rules that must always remain true, it becomes easier to adjust the conditions written into the object effect for a new rule to be added later to the object effect without risking the magic effect conditions. say for example if a modder wish to invent a trap to enslave, the magic effect has already declared what always must be true and the new trap need only set object effect conditions to that of the new trap

2 hours ago, Nonseen said:

 

E-pahe can be captured faction (PAHECanBeCaptured [FACT:0x0325C8])is a strange looking one.

i see the victim need to be part of this faction. this means to me all possible npc and other thing i can enslave.

i checked in the xedit, this say only 27 reference. Some reference some npcs in pine watch, other reference perks.

 

To me seems some "magic" happening in running time that make use quests and mcm menu somehow( its looks like to me this perks linked somehow to mcm menu options, maybe this way recorded waht mcm menu option enabled and what not? ) .

its looks very intresting :)

yes, its given to those 2 at pinewatch, but otherwise only seen when the mark key is used. the enchantment has this faction set as an "or" condition meaning they can be in this faction or they can be below the health limit or they can be sleeping or they can be in bleedout...

2 hours ago, Nonseen said:

i can do some testing for your scripts if it help to devlop new weapons to pahe :)

thinking the first sword or bow should be added to farengar's and alternate start, then later try adding it to leveled lists

Posted (edited)

WRT 8.1.4

Just noticed something that seems more exaggerated than previously: slaves who are restrained, with submission and pose at 100 and told to be polite now often become angry and this is irrespective of whether they are locked up in a cell, or in a open nicely furnished cellar (hinting at what is possible once restraints are removed) and whether there are unrestrained slaves walking around using the facilities or not.

Now I can understand why they are angry BUT they are ONLY alive as I did not choose to kill them at the time and the one primary condition for removing restraints once submission is 100 is NO verbal abuse and politeness towards their owner.  I transferred some 20+ 100 sub restrained slaves to LVM cellar and told them to be polite. "Yes, I understand" was the 100% response. So, I returned several days later, to check upon their politeness and remove their restraints and only ONE did not give me a mouthful which forced my char into 20+ whippings so as not to lose face WRT the other slaves.

Surely this is wrong as a 100 submission gives NO right to express anger. Sure, they can be angry but tough luck. as they are slaves.

Any ideas? And no, I don't use DOM.

Edited by Will55
Posted (edited)
17 hours ago, CliftonJD said:
20 hours ago, Nonseen said:

can do some testing for your scripts if it help to devlop new weapons to pahe :)

thinking the first sword or bow should be added to farengar's and alternate start, then later try adding it to leveled lists

i done some testing, theory crafting and then some (lot) bug hunting and fixing. during this i made notes myself to record what need to be done and what has ben done.

so be prepared a big wall of text!

 


using original conditions test aginst centurion, bandits result is:
bandit no capture. same hold for centurion in centurion case i got message centurion resisted the magic.

 

This point i start working solution for that:
i worked out a solution here it is ( i written this down to my self to check out the plan and see i doing things right):

Spoiler

my theory how ideal to organize the magic effect and enchantment that based on sad magic effect: 
(((side note: in my expereince if a spell has fallowing settings: fire and forget (FF), contact.  only used in enchantments, spells not accept them)

1 - i assume the magic effect has mutiple usage i mean used lot of way
2 - i assume (and hope) i know what is the critical condition of the script right execution
3 - i hope i correct how game engine handle the conditions we set up.


based on what iread on ck wiki and what i know about pahe inner workings i amde this changes:
A - Made decision that categorize the requieremnt for the script start 2 type: hard requieremnts (or critical) and soft requierment (non critical)
A - Hard = pahe not allow us to capture: other than normal npc, essentials, dwamer centurions, special npcs amrked no capture
A - soft = in pahe we can set up allowing capture: trolls, fire atronach, dwamers(expect centurion race), falmers, target must below hp limit or target under paralyzis, fear,sleep

B - i pan organize hard and soft requierments a fallowing way:
B - magic effects side condtions: must conditioned only hard requierments that need always meet witout question ( the ones we normaly set up with AND)
B - Enchantment/spell side conditions: must all optional situational condition go here

C - Changes of the original conditions:
in enchantment, target hp must below the hp limit changed to OR 
reason: 
if target is sleeping or in fear no need target hp go below the limit

 

in enchantment, is actor = 1 AND reamined untached
reason:
make sure we have at leas one and end in the condition list, and anyway we only accept acctors

 

in magic effect added target not player
reason:
player canot be sent enslavment by this way this needed if player lose the wepon or somehow get under effect of its own spell.

 

magic effect, added all allowed race to capture for conditions as OR
reason:
if i udnerstand evrything right the system checks the conditions and at least one OR need to meet to advance if all OR gruped as one.

 

problems with this aproch:
maybe not fallow by leatter fail quick pratice... ( qucik to stop script run so check first the most propable reason why not execute the script)
good side is all ciritical element of the script requierment this way always checked.


after this canges made new problems detected:
dont know why but this settings the target hp get ignored so i started tweak the settings and capture of my bandit test npc started
this point i repalced the original script a new one that pop up a debug message box so i see exactly the capture process shuld started or not.
make to me more easy to see things works or not.

 

with testing i found the faulty condition:
is sleep
cheked the ck wiki found this:
https://www.creationkit.com/index.php?title=GetSleeping
point of failure: the check operation: ">=" instead of "=="

after changing this condition capture started working as intended!

 

if i added hp check only i get this result:
mutiple hits on same target delay the capture process if target hp above the capture limit
if i stoped hiting the target then capture been started

this can be good thing if player using the weapon if npcs not so.

 

so i canged the enchantment: no longer improve the efect duration if hit mutiple times same target, this fixed this

 

to avoid multi capture call for single target i added a new keyword to the esp, same keyword added to the magic effect, and the conditions of this magic effect. this way the magic effect not tigger if alredy in the working.

 

after all this testing i decided check with the original capture script.

this point i hit a wall named CK.

i think important to note:
EVRY and all change i make its done from ck i use xedit only to read out values and maybe fix things that cant be fixed from ck.

i compile scripts from ck to.

Ck not liked the original script and not allowed to be uesed, refused attach to this magic effect.
so i started step by step change the original to see what is ck problem maybe i find a solution or work around.

 

first i added the pahecore script integration to the script as shown me, and disabled evrything other than the capture command in the script.
this worked well no ck error about propertys or other things, so i on the right track hunt down some nasty problem sources!

 

step by step i found the sources of ck error messages in the onstart event:
"if Core.GetSlave(akTarget) != None"

in the function that not in use i found fallowing lines if enabled cause ck error:
"Core.AddSlave(captive)"
"if Core.clonifier.GetClone(captive) == None"
"captive =Core.clonifier.SwitchClone(captive)"

 

tha strange thing about all of this papyrus compiler okay this lines no error no warning evrything okay and sune sine...
Then CK refuse load the script says script is broken ect...

 

For test porpuses i changed the original script i got my hand so the pahe capture function can be checked in full effect.
aginst normal bandits seems work well.

 

the source:

Spoiler

Scriptname PAHT_CaptureEffectScript extends activemagiceffect  

 

Quest Property PAH Auto
PAHCore Property Core Auto

 

Event OnEffectStart(Actor akTarget, Actor akCaster)

 

;check pahe is installed if not, stop
    If (Game.GetModByName("paradise_halls.esm") == 255)
        debug.messagebox("Error PAHE NOT installed!")
        return
    endif

 

;pahecore link up with this script
    PAH = Game.GetFormFromFile(0x01FAEF, "paradise_halls.esm") As Quest
    PAHT_CaptureEffectScript.pexCore = (PAH as PAHCore)

 

;capture the victim
    Core.Capture(akTarget)

EndEvent

 

to test out things i dicidedd adding some new special made enemys to my test everyment...by the way all test done near riverwood.
with using a for a test made pahet-encweapontester.esp


the new enemys are: atronach and dwamer spider both made unagressive, help nobady and run for life.
so easy to capture :)

 

to me seams evrything works well.
if i attack something i get message target resisted the attack, after hp go below treshold target get captured.

 

slaves canot be re captured.
centurion canot be captured.

dwamer spider atronach can be captured :)


here is the test files, and the script + source i used during the testing.

i hope this will hellp to devlop pahe better :) :)

 

PAHET-EnchWEaponTester.espPAHT_CaptureEffectScript.pexPAHT_CaptureEffectScript.psc

Edited by Nonseen
Posted
17 hours ago, Will55 said:

WRT 8.1.4

Just noticed something that seems more exaggerated than previously: slaves who are restrained, with submission and pose at 100 and told to be polite now often become angry and this is irrespective of whether they are locked up in a cell, or in a open nicely furnished cellar (hinting at what is possible once restraints are removed) and whether there are unrestrained slaves walking around using the facilities or not.

Now I can understand why they are angry BUT they are ONLY alive as I did not choose to kill them at the time and the one primary condition for removing restraints once submission is 100 is NO verbal abuse and politeness towards their owner.  I transferred some 20+ 100 sub restrained slaves to LVM cellar and told them to be polite. "Yes, I understand" was the 100% response. So, I returned several days later, to check upon their politeness and remove their restraints and only ONE did not give me a mouthful which forced my char into 20+ whippings so as not to lose face WRT the other slaves.

Surely this is wrong as a 100 submission gives NO right to express anger. Sure, they can be angry but tough luck. as they are slaves.

Any ideas? And no, I don't use DOM.

you're asking them to respect you, that respect is going to be based on their respect training, not their submission

16 hours ago, Nonseen said:

in the function that not in use i found fallowing lines if enabled cause ck error:
"Core.AddSlave(captive)"
"if Core.clonifier.GetClone(captive) == None"
"captive =Core.clonifier.SwitchClone(captive)"

those lines were intentionally commented out of the script for depreciation, the clonifier script is obsolete

 

the computer died, hoping to get my laptop to run skyrim, but i'll hold onto that for now

Posted
6 hours ago, CliftonJD said:

you're asking them to respect you, that respect is going to be based on their respect training, not their submission

those lines were intentionally commented out of the script for depreciation, the clonifier script is obsolete

 

Thank you for the reply.

 

Ohh! respect?  It was obvious had I thought for a second. 

It has been so long now since I actually had a number of slaves stable at 100 sub/pose that I have forgotten totally how to gain respect.

Any chance of a hint? Or do i just keep whipping? ☹️

Posted
10 hours ago, CliftonJD said:

those lines were intentionally commented out of the script for depreciation, the clonifier script is obsolete

i aggre those lines not get executed at any point so safe to ignore.

My theory is CK run a check evry script we load in for use and check all the lines that not comented out. CK cannot tell we use this part of code or not. Based on my last expereinces i come this conclusion. 

 

sometimes i dont know what i fight: the game engine, the hidden bugs in skyrim, papyrus limitation, own errors and human faults, or CK buggs.

 

10 hours ago, CliftonJD said:

the computer died, hoping to get my laptop to run skyrim, but i'll hold onto that for now

:(

 

Good luck fixing :)

Posted

I just have to share this with you all just in case you like me had major lag when trying to transfer from PAHE to HSH or AYGAS or just enslaving took longer than it should. 

 

(in my case probably my own fault due to my SSE running at around 15gig memory when playing) 

 

https://www.nexusmods.com/skyrimspecialedition/mods/77779?tab=description

 

Papyrus Tweaks NG

Things that would take anywhere from 20 seconds to sometimes minutes to happen, are now INSTANT or near to. check it out !! The 

  • Run Scripts On Main Thread

Feature is a LIFESAVER when playing a rather Mod heavy game if you have a PC that is not a potato. 

Posted (edited)
5 hours ago, kohlteth said:

I just have to share this with you all just in case you like me had major lag when trying to transfer from PAHE to HSH or AYGAS or just enslaving took longer than it should. 

 

(in my case probably my own fault due to my SSE running at around 15gig memory when playing) 

 

https://www.nexusmods.com/skyrimspecialedition/mods/77779?tab=description

 

 

I

Ironic, and timely,  as I was just about to beg CliftonJD for a reverse teleport feature WRT slaves as even beating them, let alone sexually punishing them becomes bogged down scriptwise as a direct function of the NPC number in the same cell. Seeing as I tend to force submission in small, locked cells, then at 100 transfer them to open, pleasant locations (LVMC. THC) these latter two often have 20+ NPCs present which creates massive script lag.

I was going to try and see if a slave teleported in, could be teleported back to her original position/place once "servicing/disciplining" was completed as frankly doing so with 20+ nearby almost locks up any animation and it reminds me of the "good ol' dialup days" of MMOs.

 

I wanted to be able to TP them to a "nice" even private, location, then force respect and send them back to their original place

 

So, rather than overload CliftonJD even more I will try this and see. I only have 30 mouthy b*tches left with whom I need to induce "respect" and I can see where my day's gameplay is going.☹️

 

So far it seemed slightly better until I CTD'd. The NPC number in the cell was closer to 60 than 20..serves me right I guess

 

Addendum. I had to dump it as everything slowed to a snail pace and often just stopped. and had the opposite effect of what I needed. A real pity as the concept seemed so good.

So, I LHS unclicked then spent 3 mins in an empty (staff only) Old Hroldan Inn trying to begin to play my lute. I hope that my game does not continue this slow-motion effect as in LVM I had to wait >5mins to rape an unruly slave before I gave up. Before this mod, it was 60secs in the same area. Not Happy!

Edited by Will55

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