Eradoryn Posted May 26, 2024 Posted May 26, 2024 when the frogtie pieces are applied the characters are floating and movement is done by the hopping animation just without feet. do you know how to fix that?
Naraku02 Posted May 27, 2024 Posted May 27, 2024 (edited) Hi. So, let's see... That's a great mod, really. The restraints are nicely done, the fact that struggling is actually animated and unlimited contrary to devious devices is an absolute pleasure to behold, alonfgside the fact that even while idle, my caracter don't just stand there, but does try to free herself. Buuuut... I have a tiny little problem, Just one. When using self bondage, everything works perfectly fine. The pip-boy reactivate the instant the hands are free. No trouble at all. On the other hand, being bound by the mod "AAF violate" make the pip-boy totally invisible, even with the hands free once the scene ends (note that my character's legs were bound by this mods, but that her hands were bound in tront of her by institute's handcuffs). It's menu does appears, but not the item or his contents and because of that, not only I can't finish freeing my character, but I can't even close the damn thing once opened, forcing me to go back to a older save. Does anyone here have the same problem ? I also have Real handcuffs and Devious Devices activated, so perhaps it's a case of incompatibility, but I want to make sure before uninstalling anything. Edited May 27, 2024 by Naraku02
vaultbait Posted May 27, 2024 Posted May 27, 2024 6 minutes ago, Naraku02 said: On the other hand, being bound by the mod "AAF violate" make the pip-boy totally invisible, even with the hands free once the scene ends (note that my character's legs were bound by this mods, but that her hands were bound in tront of her by institute's handcuffs). It's menu does appears, but not the item or his contents and because of that, not only I can't finish freeing my character, but I can't even close the damn thing once opened, forcing me to go back to a older save. Does anyone here have the same problem ? I also have Real handcuffs and Devious Devices activated, so perhaps it's a case of incompatibility, but I want to make sure before uninstalling anything. Are you using the vanilla game Pip-Boy, or a replacer like Pip-Pad or Tactical Tablet? I use Pip-Pad and yes it does disappear for me after escaping, but I can usually just dismiss the invisible interface and then bring it back up again and it's back to normal. Once recently I did get it stuck like you describe after using the patched version of DD Armorbench Unlocker to escape from some KFT items, but I was able to bring up the pause menu, save, load that save, dismiss the invisible interface and then my Pip-Pad was working fine thereafter.
Naraku02 Posted May 27, 2024 Posted May 27, 2024 (edited) 3 minutes ago, vaultbait said: Are you using the vanilla game Pip-Boy, or a replacer like Pip-Pad or Tactical Tablet? I use Pip-Pad and yes it does disappear for me after escaping, but I can usually just dismiss the invisible interface and then bring it back up again and it's back to normal. Once recently I did get it stuck like you describe after using the patched version of DD Armorbench Unlocker to escape from some KFT items, but I was able to bring up the pause menu, save, load that save, dismiss the invisible interface and then my Pip-Pad was working fine thereafter. I'm using "black widow armor and pip boy"... Don't know if it count as a replacer... Besides that, no, though I technically have a pip-boy replacer incorporated in an anti-material rifle AX50 mod who apparently add a watch... But I didn't activate the plugin Edited May 27, 2024 by Naraku02
valcon767 Posted May 27, 2024 Posted May 27, 2024 4 hours ago, Naraku02 said: On the other hand, being bound by the mod "AAF violate" make the pip-boy totally invisible, even with the hands free once the scene ends (note that my character's legs were bound by this mods, but that her hands were bound in tront of her by institute's handcuffs). It's menu does appears, but not the item or his contents and because of that, not only I can't finish freeing my character, but I can't even close the damn thing once opened, forcing me to go back to a older save. the institute handcuffs are from devious devices. as for the bug i do not remember hitting that specific one, but i do remember hitting something that made me get the DD Armor Bench Unlocker (https://www.loverslab.com/files/file/17448-dd-armorbench-unlocker/) mod because i could not get loose otherwise (other than a random SH approach releasing me).
Naraku02 Posted May 27, 2024 Posted May 27, 2024 11 minutes ago, valcon767 said: the institute handcuffs are from devious devices. as for the bug i do not remember hitting that specific one, but i do remember hitting something that made me get the DD Armor Bench Unlocker (https://www.loverslab.com/files/file/17448-dd-armorbench-unlocker/) mod because i could not get loose otherwise (other than a random SH approach releasing me). ok, I'll try that then. Thank you
egonm68 Posted May 27, 2024 Posted May 27, 2024 tricky thing with most "pipboy hiding" function, I guess. Works ok most of the time for me, but sometimes I end up staring at my left forearm instead of the pipboy. The console command player.equipitem 00021b3b will reequip the pipboy. At least if one is using the vanilla one. If you are using a replacer, it might also work - but that depends on how the replacer-mod in question works.
jbezorg Posted May 28, 2024 Posted May 28, 2024 So, this compiles but fails to equip items where "AngTechSuit" is an armor ref var[] akArgs = new var[4] akArgs[0] = Player akArgs[1] = AngTechSuit akArgs[2] = True akArgs[3] = True KZEB_API.CallFunction( "EquipDevice", akArgs ) Where as, this does work so I know the KZEB_API is valid var[] akArgs = new var[4] akArgs[0] = akActor akArgs[1] = None akArgs[2] = False akArgs[3] = True KZEB_API.CallFunction("EquipLeveledDevice", akArgs) Do I need to do something like this? var[] akArgs = new var[4] akArgs[0] = Player akArgs[1] = AngTechSuit.GetBaseObject() as ObjectReference akArgs[2] = True akArgs[3] = True KZEB_API.CallFunction( "EquipDevice", akArgs )
EgoBallistic Posted May 29, 2024 Author Posted May 29, 2024 4 hours ago, jbezorg said: So, this compiles but fails to equip items where "AngTechSuit" is an armor ref That first example should work. assuming KZEB_API is the right type of ScriptObject etc. If the second example works then KZEB_API is correct. The third example won't work because you can't cast a base object as a reference. Do you get any errors in the Papyrus log? That would be the first thing I'd look for. Note that whatever you pass in as akArgs[1] must actually be a KZEB device, i.e., have the KZEB:KZEB_BondageDeviceScript or one of its extenders attached. You can't call this on normal armors.
jbezorg Posted May 29, 2024 Posted May 29, 2024 14 minutes ago, EgoBallistic said: That first example should work. assuming KZEB_API is the right type of ScriptObject etc. If the second example works then KZEB_API is correct. The third example won't work because you can't cast a base object as a reference. Do you get any errors in the Papyrus log? That would be the first thing I'd look for. Note that whatever you pass in as akArgs[1] must actually be a KZEB device, i.e., have the KZEB:KZEB_BondageDeviceScript or one of its extenders attached. You can't call this on normal armors. Here's the related sections. Tried "AngTechSuit" defined as Armor and an ObjectReferance with no luck. Under the same conditions "EquipLeveledDevice" pulls from the leveled lists w/out an issue. It's just when I specify a specific item and use "EquipDevice" that things fail. ;--------------------------------------------------------------- Group KziitdFetishToolset Bool Property KFTInstalled = false Auto Conditional ScriptObject Property KZEB_API Auto Hidden MiscObject Property KZEB_DeviceKey01 Auto Hidden endGroup ~~~~~~~ ; Kziitd Fetish Toolset ; https://www.loverslab.com/files/file/32791-kft-kziitd-fetish-toolset/ sModName = "KziitdFetishToolset.esm" KFTInstalled = Game.IsPluginInstalled( sModName ) If KFTInstalled KZEB_DeviceKey01 = Game.GetFormFromFile(0x0523AE, sModName ) as MiscObject ; KZEB_DeviceKey01 "Fetish Device Key" [MISC:010523AE] Quest KZEB_MainQuest = Game.GetFormFromFile(0x00924A, sModName ) as Quest KZEB_API = KZEB_MainQuest.CastAs("KZEB:KZEB_API") endIf
EgoBallistic Posted May 29, 2024 Author Posted May 29, 2024 (edited) 44 minutes ago, jbezorg said: er the same conditions "EquipLeveledDevice" pulls from the leveled lists w/out an issue. It's just when I specify a specific item and use "EquipDevice" that things fail. Ah I think I see the problem. When you use CallFunction() you have to strictly adhere to the types of the function parameters. In this case akArgs[1] has to be cast as a Form. I did this to equip an Armor on the Player and it works: Function EquipKFT(Actor akActor) Armor kziitd_gag19 = Game.GetFormFromFile(0x00084A, "KziitdFetishToolset.esm") as Armor Quest KZEB_MainQuest = Game.GetFormFromFile(0x00924A, "KziitdFetishToolset.esm" ) as Quest ScriptObject KZEB_API = KZEB_MainQuest.CastAs("KZEB:KZEB_API") var[] akArgs = new var[4] akArgs[0] = akActor akArgs[1] = kziitd_gag19 as Form akArgs[2] = True akArgs[3] = True KZEB_API.CallFunction( "EquipDevice", akArgs ) EndFunction If you want to pass in an ObjectReference instead of an Armor, it works the same way: Function EquipKFT(Actor akActor) Armor kziitd_gag19 = Game.GetFormFromFile(0x00084A, "KziitdFetishToolset.esm") as Armor Quest KZEB_MainQuest = Game.GetFormFromFile(0x00924A, "KziitdFetishToolset.esm" ) as Quest ScriptObject KZEB_API = KZEB_MainQuest.CastAs("KZEB:KZEB_API") ObjectReference GagRef = akActor.PlaceAtMe(kziitd_gag19, 1) var[] akArgs = new var[4] akArgs[0] = akActor akArgs[1] = GagRef as Form akArgs[2] = True akArgs[3] = True KZEB_API.CallFunction( "EquipDevice", akArgs ) EndFunction Of course, if you don't mind having a script dependency and making KFT a required master for your plugin, it's much cleaner to do it like this: KZEB:KZEB_API Property KZEB_API Auto Const Armor Property kziitd_gag19 Auto Const Function EquipKFT(Actor akActor) KZEB_API.EquipDevice(akActor, kziitd_gag19, true, true) EndFunction Notice that in this case you don't have to cast the kziitd_gag19 parameter, it automatically gets cast as a Form for you by the function call. You just need to fill the KZEB_API and kziitd_gag19 properties and everything will work. But your mod won't work unless the user has KFT installed. So it's a tradeoff. Edited May 29, 2024 by EgoBallistic 2
jbezorg Posted May 29, 2024 Posted May 29, 2024 (edited) 19 hours ago, EgoBallistic said: Ah I think I see the problem. When you use CallFunction() you have to strictly adhere to the types of the function parameters. In this case akArgs[1] has to be cast as a Form. I did this to equip an Armor on the Player and it works: Function EquipKFT(Actor akActor) Armor kziitd_gag19 = Game.GetFormFromFile(0x00084A, "KziitdFetishToolset.esm") as Armor Quest KZEB_MainQuest = Game.GetFormFromFile(0x00924A, "KziitdFetishToolset.esm" ) as Quest ScriptObject KZEB_API = KZEB_MainQuest.CastAs("KZEB:KZEB_API") var[] akArgs = new var[4] akArgs[0] = akActor akArgs[1] = kziitd_gag19 as Form akArgs[2] = True akArgs[3] = True KZEB_API.CallFunction( "EquipDevice", akArgs ) EndFunction If you want to pass in an ObjectReference instead of an Armor, it works the same way: Function EquipKFT(Actor akActor) Armor kziitd_gag19 = Game.GetFormFromFile(0x00084A, "KziitdFetishToolset.esm") as Armor Quest KZEB_MainQuest = Game.GetFormFromFile(0x00924A, "KziitdFetishToolset.esm" ) as Quest ScriptObject KZEB_API = KZEB_MainQuest.CastAs("KZEB:KZEB_API") ObjectReference GagRef = akActor.PlaceAtMe(kziitd_gag19, 1) var[] akArgs = new var[4] akArgs[0] = akActor akArgs[1] = GagRef as Form akArgs[2] = True akArgs[3] = True KZEB_API.CallFunction( "EquipDevice", akArgs ) EndFunction Of course, if you don't mind having a script dependency and making KFT a required master for your plugin, it's much cleaner to do it like this: KZEB:KZEB_API Property KZEB_API Auto Const Armor Property kziitd_gag19 Auto Const Function EquipKFT(Actor akActor) KZEB_API.EquipDevice(akActor, kziitd_gag19, true, true) EndFunction Notice that in this case you don't have to cast the kziitd_gag19 parameter, it automatically gets cast as a Form for you by the function call. You just need to fill the KZEB_API and kziitd_gag19 properties and everything will work. But your mod won't work unless the user has KFT installed. So it's a tradeoff. Thank you! I think I may enforce that rule at the function level. That way if the device is cast wrong the script won't compile Bool function EquipKFTDevice( Actor akActor, Form akDevice ) If KFTInstalled var[] akArgs = new var[4] akArgs[0] = akActor akArgs[1] = akDevice akArgs[2] = True akArgs[3] = True return KZEB_API.CallFunction( "EquipDevice", akArgs ) as Bool else return false endIf EndFunction ( Tested and yep, that was the problem. akArgs[1] not cast as a Form ) Edited May 29, 2024 by jbezorg 1
ciribello Posted May 30, 2024 Posted May 30, 2024 Frist of all, ALL of your mods are absolute gems, secondly I'm curious if there's a way to exclude certain sex animation while using specific types of your restraints. For example, Bound in Pubblic can call gallows furniture and if the character is wearing "helpless fuckdoll" or "frogtie", it will break immersion, since it hasn't/can't use leg. If not in your plans, maybe I can figure it out myself how to do ot, if can you give me a hint or maybe something to read. Thanks in advance!
EgoBallistic Posted May 30, 2024 Author Posted May 30, 2024 34 minutes ago, leonardofiore15 said: Frist of all, ALL of your mods are absolute gems, secondly I'm curious if there's a way to exclude certain sex animation while using specific types of your restraints. For example, Bound in Pubblic can call gallows furniture and if the character is wearing "helpless fuckdoll" or "frogtie", it will break immersion, since it hasn't/can't use leg. If not in your plans, maybe I can figure it out myself how to do ot, if can you give me a hint or maybe something to read. Thanks in advance! Hey thanks. I do have plans to include a mechanism like that in KFT. I was originally going to include a function that would scan the wearer and report back a list of "excluded" tags, for example if you were wearing a closed-mouth gag then "blowjob" would be excluded. Animation mods would then add that to the list of excluded tags in the AAF scene settings. However, the upcoming release of AAF is going to introduce a new way to specify animation participants based on "parts matching", which will greatly simplify the need for XML and the use of tags. Mods like KFT will be able to modify which "parts" a wearer has available. So I'm holding off on implementing this mechanism until the new AAF is ready. That being said, the above really specifically applies to sex animations. Other animations aren't so easily categorized, so avoiding certain unimmersive combinations of restraint and animations might have to be done more explicitly, i.e. by checking for device types and acting accordingly. If !akActor.WornHasKeyword("KZEB_DeviceType_Frogtie") ; play gallows animation Else ; play some other animation EndIf All of the device type keywords are listed in KZEB_API.psc under the "Group DeviceTypeKeywords" property category.
ciribello Posted May 30, 2024 Posted May 30, 2024 17 minutes ago, EgoBallistic said: Hey thanks. I do have plans to include a mechanism like that in KFT. I was originally going to include a function that would scan the wearer and report back a list of "excluded" tags, for example if you were wearing a closed-mouth gag then "blowjob" would be excluded. Animation mods would then add that to the list of excluded tags in the AAF scene settings. However, the upcoming release of AAF is going to introduce a new way to specify animation participants based on "parts matching", which will greatly simplify the need for XML and the use of tags. Mods like KFT will be able to modify which "parts" a wearer has available. So I'm holding off on implementing this mechanism until the new AAF is ready. That being said, the above really specifically applies to sex animations. Other animations aren't so easily categorized, so avoiding certain unimmersive combinations of restraint and animations might have to be done more explicitly, i.e. by checking for device types and acting accordingly. If !akActor.WornHasKeyword("KZEB_DeviceType_Frogtie") ; play gallows animation Else ; play some other animation EndIf All of the device type keywords are listed in KZEB_API.psc under the "Group DeviceTypeKeywords" property category. Gotcha, didn't knew about the upcoming AAF, that's great. I suspected that for my request I needed to specify the exclusions. I will take a look if I figure out something. Great mod and great framework again! 1
BYJE137 Posted May 30, 2024 Posted May 30, 2024 (edited) Hi @EgoBallistic I've played modded Skyrim for quite a while, but I've never even installed FO4. I think this mod was what it took for me to finally decide to give FO4 a try. It sounds like you have done (/are still doing...) some amazing work (also with other mods) and I'm looking forward to trying it out. Update: Oh, and also thanks to @jbezorg for obviously also doing great work on this stuff! Edited May 30, 2024 by BYJE137 1
Kharos Posted June 1, 2024 Posted June 1, 2024 @EgoBallistic While hunting down a situation where stuff temporarily equipped on NPCs by a mod was suddenly "missing", I discovered that KZEB_BondageDeviceScript will unequip any item equipped on the NPC (even when it is not conflicting), unless either container menu or pip boy menu are open (or we add a special keyword into KZEB_NoRemoveKeywords to prevent this). This mechanism has a pretty large chance of breaking other mods that modify NPC equipment... I assume that you are aware and have good reasons?
wssb2024 Posted June 1, 2024 Posted June 1, 2024 (edited) How do I get these?🥵 Edited June 1, 2024 by wssb2024
EgoBallistic Posted June 1, 2024 Author Posted June 1, 2024 3 hours ago, Kharos said: This mechanism has a pretty large chance of breaking other mods that modify NPC equipment... I assume that you are aware and have good reasons? This is to handle the case where sometimes unloaded NPCs will reload with their default outfit equipped. Depending on the base outfit, this could lead to cases like a naked tied-up NPC respawning with their leg armor equipped. It wasn't a super common occurrence but at the time I was trying to squash every annoying engine behavior. You could always modify HandleOnItemEquipped and remove the "akActor != KZEB_API.PlayerRef ||" part of the condition.
EgoBallistic Posted June 1, 2024 Author Posted June 1, 2024 51 minutes ago, wssb2024 said: How do I get these? Open console and do "help fuckdoll 4" You'll see a list of items like ARMO: (110009A5) 'FuckDoll-NoLegs' To equip one of them, run the command "player.equipitem 110009A5" (substituting the number for the item you want)
wssb2024 Posted June 1, 2024 Posted June 1, 2024 8 minutes ago, EgoBallistic said: Open console and do "help fuckdoll 4" 打开控制台并执行“help fuckdoll 4” You'll see a list of items like 您将看到一个项目列表,例如 ARMO: (110009A5) 'FuckDoll-NoLegs' ARMO:(110009A5) 'FuckDoll-NoLegs' To equip one of them, run the command "player.equipitem 110009A5" (substituting the number for the item you want) 要装备其中之一,请运行命令“player.equipitem 110009A5”(用数字替换所需的物品) That's great! But can I only do this in console? Can't it be like the bad end?😢
EgoBallistic Posted June 1, 2024 Author Posted June 1, 2024 Just now, wssb2024 said: That's great! But can I only do this in console? Can't it be like the bad end?😢 Someone would have to make a mod do that. 1
wssb2024 Posted June 1, 2024 Posted June 1, 2024 8 minutes ago, EgoBallistic said: Someone would have to make a mod do that. The someone go for it!😂 you're my hero If you do make it!💋
JB. Posted June 1, 2024 Posted June 1, 2024 1 hour ago, EgoBallistic said: Someone would have to make a mod do that. 4
Kharos Posted June 2, 2024 Posted June 2, 2024 18 hours ago, EgoBallistic said: This is to handle the case where sometimes unloaded NPCs will reload with their default outfit equipped. Depending on the base outfit, this could lead to cases like a naked tied-up NPC respawning with their leg armor equipped. It wasn't a super common occurrence but at the time I was trying to squash every annoying engine behavior. You could always modify HandleOnItemEquipped and remove the "akActor != KZEB_API.PlayerRef ||" part of the condition. Ah yes, that is a very annoying engine behavior even if it is rare 👍.
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