Nonseen Posted November 15, 2022 Posted November 15, 2022 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.
CliftonJD Posted November 15, 2022 Author Posted November 15, 2022 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 1
CliftonJD Posted November 15, 2022 Author Posted November 15, 2022 (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 November 15, 2022 by CliftonJD 1
Nonseen Posted November 15, 2022 Posted November 15, 2022 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.
Nonseen Posted November 15, 2022 Posted November 15, 2022 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.
CliftonJD Posted November 15, 2022 Author Posted November 15, 2022 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 1
Law23635 Posted November 16, 2022 Posted November 16, 2022 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
Nonseen Posted November 16, 2022 Posted November 16, 2022 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.
Law23635 Posted November 16, 2022 Posted November 16, 2022 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?
Nonseen Posted November 16, 2022 Posted November 16, 2022 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.
CliftonJD Posted November 16, 2022 Author Posted November 16, 2022 7 hours ago, Law23635 said: I added it, but I'm still not seeing logs appear in the script files. Is there something I'm missing? if you're using mo with separate profiles, it will eb something like this: https://forums.nexusmods.com/index.php?/topic/3018379-papyrus-log-mod-organizer-where-is-it/
Nonseen Posted November 16, 2022 Posted November 16, 2022 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.
CliftonJD Posted November 16, 2022 Author Posted November 16, 2022 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: 1
Nonseen Posted November 17, 2022 Posted November 17, 2022 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: 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?
CliftonJD Posted November 17, 2022 Author Posted November 17, 2022 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 1
Nonseen Posted November 17, 2022 Posted November 17, 2022 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. 1
Nonseen Posted November 18, 2022 Posted November 18, 2022 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 1
CliftonJD Posted November 18, 2022 Author Posted November 18, 2022 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 1
Will55 Posted November 19, 2022 Posted November 19, 2022 (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 November 19, 2022 by Will55
Nonseen Posted November 19, 2022 Posted November 19, 2022 (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 November 19, 2022 by Nonseen
CliftonJD Posted November 20, 2022 Author Posted November 20, 2022 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 2
Will55 Posted November 20, 2022 Posted November 20, 2022 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? ☹️ 1
Nonseen Posted November 20, 2022 Posted November 20, 2022 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 1
kohlteth Posted November 21, 2022 Posted November 21, 2022 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. 2
Will55 Posted November 21, 2022 Posted November 21, 2022 (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 November 21, 2022 by Will55
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now