Jump to content

Recommended Posts

Posted
On 7/26/2020 at 4:15 PM, Flegmenth said:

Is it possible to tied hands together after chopping block execution, just like your Interactive Gallows?

Yup, can do. will be in the coming update.

 

On 7/26/2020 at 4:15 PM, Flegmenth said:

Or will you creat a new execution animation to match your deadly furnitures?(Well, seems ask t.ara better lol)

I´m not an Animator, so yes, its t.ara again... (hopefully)

Posted
3 minutes ago, Pamatronic said:

For those of you who are in need of context, t.ara is talking about the new whipping Mod i briefly mentioned on the previous page.

It will be uploaded as a seperate mod soon.

Thank goodness for the explanation.  I was beginning to think that this was one of those cases where trying to follow the thread was just flogging a dead horse

Posted
On 7/9/2020 at 10:38 AM, Erholung said:

 

 

250468288_enb2020_07_0909_59_36_72.png.583635f9463d5656833844f52e301dc4.png

 

 

Hi Pama, is this bug currently not fixable in the new slightly fixed guillotine 1.5 Version?

 

And the whipping mod works perfectly. thanks for it :)

Posted
On 7/29/2020 at 5:24 AM, Pamatronic said:

Yup, can do. will be in the coming update.

 

I´m not an Animator, so yes, its t.ara again... (hopefully)

Thanks for your reply. Can't wait for your update!

Posted

@Erholung

Its difficult.

It has the same cause as the earlyer visible dupe Issue, which is the games unreliable nature when it comes to time sensitive stuff.

on my system, that error has an approximate 30% chance of occuring, but i will try to tweak the timers a bit to minimize it.

 

But Ultimately, this entire thing just really pushes the limits on whats possible with papyrus. And as i already mentioned, any more time spent on trying to counter a native game issue with papyrus is just a waste of time.

There is so much stuff i still want to make, and by now, this thing is just preventing me from doing it and having fun while doing it.

 

i hope you can understand that.

Posted

I fully agree with Pamatronic. I also think that it is necessary to move a bit forward. There are still many interesting furniture and other stuff that deserves attention.

 

Posted
2 hours ago, Pamatronic said:

@Erholung

Its difficult.

It has the same cause as the earlyer visible dupe Issue, which is the games unreliable nature when it comes to time sensitive stuff.

on my system, that error has an approximate 30% chance of occuring, but i will try to tweak the timers a bit to minimize it.

 

But Ultimately, this entire thing just really pushes the limits on whats possible with papyrus. And as i already mentioned, any more time spent on trying to counter a native game issue with papyrus is just a waste of time.

There is so much stuff i still want to make, and by now, this thing is just preventing me from doing it and having fun while doing it.

 

i hope you can understand that.

Hey Pama don’t be that serious like I am going to blame you. I just wonder if that bug could be fixed. I understand that and looking forward to seeing your progress on more projects in future :)

Posted

20200806013439_1.jpg.5c6159a73295e31bcb822b73b54773cc.jpgWhile I still need to do some scouting on a nice location for the new Execution Ground (thanks for the suggestions :) ), i´m gonna release the current version now.

 

As already mentioned extensively, the Guillotine has some issues, so please be merciful on me.

Especially the SE version has some more serious visual issues. But im not sure whether this is caused by SSE´s way of script execution, or by my heavily modded game.

Also, SSE users need to pay special attention during installation (see FrontPage).

 

This Upload also includes some other Features i wanted to get out, namely the MCM and the tied Hands as requested by Flegmenth.

see the update log for more.

 

But despite all the shortcomings, i hope you can still enjoy it.

Happy chopping :)

 

 

 

Posted

oh boy... this is getting better and better... 

Now I just hope we see mods that pick this up soon :D

@Inte alternate ending for POP sentence? :D

@DeepBlueFrog masters getting rid of lazy slaves? 

I also wonder if it could be a simple public exectution quest + scenes that can be triggered by Simple Slavery, POP or other mods if needed. 
Aaaah, I wish I would be better at scripting :(

Posted
3 hours ago, Pamatronic said:

20200806013439_1.jpg.5c6159a73295e31bcb822b73b54773cc.jpgWhile I still need to do some scouting on a nice location for the new Location (thanks for the suggestions :) ), i´m gonna release the current version now.

 

As already mentioned extensively, the Guillotine has some issues, so please be merciful on me.

Especially the SE version has some more serious visual issues. But im not sure whether this is caused by SSE´s way of script execution, or by my heavily modded game.

Also, SSE users need to pay special attention during installation (see FrontPage).

 

This Upload also includes some other Features i wanted to get out, namely the MCM and the tied Hands as requested by Flegmenth.

see the update log for more.

 

But despite all the shortcomings, i hope you can still enjoy it.

Happy chopping :)

 

 

 

Download at once, chop tons of head haha⊙▽⊙. 

It seems that you use part of vanilla execution script to kill victim? Amazing idea! Thanks Pama!

Posted

I have a question that has nothing to do with your mod. Which Bikini Armor Mod do you use?
With all the different versions of TAWOBA on the internet you won't know which one to use.

I only ask because in one of your pictures Lydia is wearing shoes with quite high heels, which I have never seen before.

 

and then I would like to know which bodyslide you use for your bijin warmaids?

Posted
10 hours ago, vjtod said:

Thank you so much pama. One question, how do I take of the corpse off from the Guillotine?

currently you have to resort to using the disable/enable console commands on the victim. after decapitation, the victim gets stuck in the front part of the guillotine.

I´ll try to remove the collision block and see if that works.

Posted
7 minutes ago, Pamatronic said:

currently you have to resort to using the disable/enable console commands on the victim. after decapitation, the victim gets stuck in the front part of the guillotine.

I´ll try to remove the collision block and see if that works.

Thank you so much. Right now I am using body collecting mod to solve this problem. Looking forward to your next update XD

Posted
7 hours ago, AreaGamer said:

I have a question that has nothing to do with your mod. Which Bikini Armor Mod do you use?
With all the different versions of TAWOBA on the internet you won't know which one to use.

I only ask because in one of your pictures Lydia is wearing shoes with quite high heels, which I have never seen before.

 

and then I would like to know which bodyslide you use for your bijin warmaids?

 

The Boots come with Bad Dogs Armor replacer. but they have a small issue which becomes more apparent if you don't have a dark backdrop to mask it:

20200806201138_1.jpg.4845fcaac20a75239ab7ce458fbcfb3f.jpg

I'm using the CBBE SMP conversion, but maybe this issue isn't present in the original UNP version (i doubt it, but you can see yourself)

 

If anyone here knows how to fix this, that would be very welcome. I believe it has something to do with partitions, but i don't have much knowledge in that field.

Heres the shape Data:

BD 3BF Steel boots.nifBD 3BF Steel boots.osd

 

As For the Bodyslide preset:

I do believe i made it myself, using the CBBE 3BBB Advanced Body as a base and trying to stay true to the standard shape of Bijin Warmaidens (CBBE), but of course i forgot to save it as a preset. sorry ?

 

Posted

Amazing work. We get closer to a grim dark skyrim each time you update. 

About your guillotine... what can i say. 

In the words of todd howard, it just works.  :) 

I got a few questions.

The MCM menu options for gallows are for your other mod, or do you plan to add a gallow furniture in this mod ?

Any plans to add MCM option, damage per second for garrotte ?

Any plans for a guillotine with facing up body position ? 

Posted
7 hours ago, Pamatronic said:

 

The Boots come with Bad Dogs Armor replacer. but they have a small issue which becomes more apparent if you don't have a dark backdrop to mask it:

20200806201138_1.jpg.4845fcaac20a75239ab7ce458fbcfb3f.jpg

I'm using the CBBE SMP conversion, but maybe this issue isn't present in the original UNP version (i doubt it, but you can see yourself)

 

If anyone here knows how to fix this, that would be very welcome. I believe it has something to do with partitions, but i don't have much knowledge in that field.

Heres the shape Data:

BD 3BF Steel boots.nif 172.68 kB · 0 downloads BD 3BF Steel boots.osd 214.56 kB · 0 downloads

 

As For the Bodyslide preset:

I do believe i made it myself, using the CBBE 3BBB Advanced Body as a base and trying to stay true to the standard shape of Bijin Warmaidens (CBBE), but of course i forgot to save it as a preset. sorry ?

 

 

Thanks for the answer.

I did not know that the "CBBE 3BBB Advanced Body" was also available for Oldrim.

But here is a version of "BD's 3BB Armor and Clothes Replacer" for SE

 

Too bad you don't have your body bodyslide anymore.

Posted
11 hours ago, Pamatronic said:

 

The Boots come with Bad Dogs Armor replacer. but they have a small issue which becomes more apparent if you don't have a dark backdrop to mask it:

 

Spoiler

 

Spoiler

20200806201138_1.jpg.4845fcaac20a75239ab7ce458fbcfb3f.jpg

 

 

I'm using the CBBE SMP conversion, but maybe this issue isn't present in the original UNP version (i doubt it, but you can see yourself)

 

If anyone here knows how to fix this, that would be very welcome. I believe it has something to do with partitions, but i don't have much knowledge in that field.

Heres the shape Data:

BD 3BF Steel boots.nif 172.68 kB · 0 downloads BD 3BF Steel boots.osd 214.56 kB · 0 downloads

 

As For the Bodyslide preset:

I do believe i made it myself, using the CBBE 3BBB Advanced Body as a base and trying to stay true to the standard shape of Bijin Warmaidens (CBBE), but of course i forgot to save it as a preset. sorry ?

 

 

 

I think the problem is not in the shoes, but in the body. The body, which is contained in the clothes, lacks part of the legs.  It will probably be necessary to replace the body with a body that is complete.  If you send me a link to this outfit (armor), I can try to fix it.

PS: My skills are small, but maybe I can do it ?

 

 

Posted
30 minutes ago, poblivion said:

I think the problem is not in the shoes, but in the body. The body, which is contained in the clothes, lacks part of the legs.  It will probably be necessary to replace the body with a body that is complete.  If you send me a link to this outfit (armor), I can try to fix it.

yup you're right, I´m an idiot. just looked again at the nif and there is indeed no triShape data for the legs.

Thanks For your Offer, its this one: https://www.nexusmods.com/skyrimspecialedition/mods/32518.

Boots in Question being the steelboots (duh...)

Posted
4 hours ago, AreaGamer said:

I did not know that the "CBBE 3BBB Advanced Body" was also available for Oldrim.

But here is a version of "BD's 3BB Armor and Clothes Replacer" for SE

 

Too bad you don't have your body bodyslide anymore.

Its not available for Oldrim, the screenshots are all from my SSE game.

so i´m using the one you linked( well, actually the merged version from nexus, rather than the patch, but same result)

 

Also, i went over my existing presets again and remembered that the unsaved one for the Bijin´s was a derivative of the shape i use for the default femaleBody.

It only had a slight difference in the Breast shape.

I tried recreating it, and it should be almost identical to the one used in the screenshots:Bijin Imitation.xml

Posted

I tried to improve the guillotine script for my own because the idea is interesting. First of all I added two NiNodes to the guillotine table and changed the animation to sleep instat of sit. After that I changed the sleeping position so that the npc will sleep with the neck in the hole.  Then my script  reads the position and switch-over the animation. But see for your self.

 

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

 

Scriptname pamaGuiloutineMkIIFurniture extends ObjectReference  

GlobalVariable Property Global_Xoffset Auto
GlobalVariable Property Global_Yoffset Auto
GlobalVariable Property Global_Zoffset Auto
GlobalVariable Property Global_Roffset Auto
GlobalVariable Property Global_Timer Auto

GlobalVariable Property Global_ContructOffset Auto
GlobalVariable Property Global_DeathTimer Auto

Armor Property InvisibleBody Auto
;Armor Property InvisibleHands Auto
Armor Property InvisibleHead Auto
Armor Property DecapBody Auto
Armor Property DecapHead Auto
Armor Property cuffs Auto

ReferenceAlias Property DupeAlias Auto
ReferenceAlias Property BlockAlias Auto

Objectreference Property Blade Auto
Objectreference Property Lever Auto


string lh ="NPC L Hand [LHnd]"
string rh ="NPC R Hand [RHnd]"
string  rf ="NPC R Foot [Rft ]"
string  lf ="NPC L Foot [Lft ]"
string lt = "NPC L Thigh [LThg]"
string rt = "NPC R Thigh [RThg]"
string gh = "HalsLoch"
string gfb = "FussBrett"
string NeckAttachNode = "npc neck [neck]"

float x_
float y_
float z_

actor victim
actor dupe
objectreference dummy
objectReference leverPlacementHelperDummy
objectreference AuxBlock

bool phase1underway = false
bool phase2underway = false

bool tieFeet = true

bool bladeDown = false


Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack,  bool abBashAttack, bool abHitBlocked)
    if !Blade
        construction()
    endIf
EndEvent


Event OnActivate(ObjectReference akActionRef)

    if !dummy || !AuxBlock
        spawnDummys()
    endIf

 
    If akActionRef != Lever && !phase1underway && !phase2underway && !BladeDown
        victim = akActionRef as Actor
                                       
        commence()

    ElseIf akActionRef == lever && victim != none
        if DupeAlias.getRef()
            debug.notification("Wait for the other execution to be finished")
            return
        EndIf
        phase1()
        
    ElseIf akActionRef == lever && BladeDown
        debug.Notification("resetting Blade")    
        dupe.delete()
        blade.activate(self)
        bladeDown=false
        self.blockActivation(false)

    ElseIf akActionRef == AuxBlock && !phase2underway
        phase2()

    Else
        debug.notification("No Victim or Blade not reset")
        return
    EndIf    

EndEvent

;Update Block///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Event OnUpdate()


EndEvent

 

;End Update Block / Start Function Block+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Function commence()

    if victim != game.getPlayer()
        
                       victim.equipItem(cuffs, true, true)
                        AttachHavocConstraints()                
        AlignmentCorrection()
        victim.setUnconscious(true)    
                    
    else
        cleanupConstraints()
        AlignmentCorrection()

        Game.setPlayerAIDriven(true)
        Game.DisablePlayerControls(abMovement = true, abFighting = true, abCamSwitch = false, abLooking = false, abSneaking = true, abMenu = true,  abActivate = true,  abJournalTabs = false, aiDisablePOVType = 0)

        Game.SetGameSettingFloat("fPlayerDeathReloadTime", Global_DeathTimer.getValue())

        victim.equipItem(cuffs, true, true)
        phase1()
    EndIf

EndFunction

Function phase1()        
        
    If !BladeDown && !phase1underway && !phase2underway

        self.blockactivation(true)

        phase1underway = true
        debug.Notification("commencing murderization in 5, 4, ...")    
    
        dupe = dummy.placeatme(victim.getActorBase()) as actor
        dupe.removeallitems()
        ;dupe.setscale(0.0)

        utility.wait(0.3)

        dupe.equipitem(invisibleHead, false, true)
        dupe.equipitem(invisibleBody, true, true)
        ;dupe.equipitem(invisibleHands, true, true)
        
        dupe.translateTo(translateLocal(0.0, -70.0, true), translateLocal(0.0, -70.0, false), Z+(0.0), 0, 0, self.getAngleZ()+(180.0), 1000.0, 0.0)
        

        BlockAlias.forceRefto(AuxBlock)
        DupeAlias.forceRefTo(dupe)
        dupe.evaluatePackage()

        ;phase1underway=false
    else
        return    
    endIf

EndFunction

Function phase2()
    phase1underway=false
    phase2underway=true

    utility.wait(3.0)

            victim.SetDontMove(false)
            Game.RemoveHavokConstraints(Self, gh, victim, "NeckAttachNode")
            Game.RemoveHavokConstraints(Self, gfb, victim, rf)   
            Game.RemoveHavokConstraints(Self, gfb, victim, lf)    
            
    Blade.activate(self)       
            
    dupe.equipItem(DecapHead, true, true)
            dupe.MoveToNode(self, gh)                
            float dx = dupe.GetPositionX()
            float dy = dupe.GetPositionY()
            float dz = dupe.GetPositionZ()
            
     dupe.SetPosition(dx  , dy  + 10.0,  dz - 90.0 )  
            
    victim.equipItem(DecapBody, true, true)

            victim.SetAV("Paralysis", 1)           
    victim.killessential(game.getplayer())

            dupe.SetAV("Paralysis", 1)             

    dupe.killessential(game.getplayer())
            
    victim.SetPosition(x_  , y_  - 10.0,  z_ +40.0 )    
    utility.wait(0.2)            
            self.PushActorAway(victim,0.001)     
       
    utility.wait(0.1)
            
            float fh = victim.GetActorValue("Health")
            victim.DamageActorValue("Health", fh)
            victim.ModAV("Health", -fh)
            
            fh = dupe.GetActorValue("Health")
            victim.DamageActorValue("Health", fh)
            dupe.ModAV("Health", -fh)
            
            victim.AllowPCDialogue(false)

    BladeDown=true    
    cleanup()
            
EndFunction


Function spawnDummys()
    dummy= self.placeAtMe(Game.GetFormFromFile(0x000D19BA, "Skyrim.esm"))
    AuxBlock= self.placeAtMe(Game.GetFormFromFile(0x0300CAFB, "PamaFurnitureScr.esp"))
    utility.wait (0.1)
    AuxBlock.setScale(0.01)
    (AuxBlock as pamaAuxiliaryBlock).ParentFurn = self
    utility.wait(0.5)
    ;dummy.translateTo(translateLocal(0.0, -70.0, true), translateLocal(0.0, -70.0, false), Z-(10.0), 0, 0, self.getAngleZ()+(180.0), 1000.0, 0.0)
    dummy.translateTo(translateLocal(0.0, -70.0, true), translateLocal(0.0, -70.0, false), Z+(1000.0), 0, 0, self.getAngleZ()+(180.0), 1000.0, 0.0)
    AuxBlock.translateTo(translateLocal(90.0, 0.0, true), translateLocal(90.0, 0.0, false), Z+(0.0), 0, 0, self.getAngleZ()-(90.0), 1000.0, 0.0)
EndFunction

Function AttachHavocConstraints()
    game.addHavokBallAndSocketConstraint(victim,rh,victim,lh,0,0,0)

            
    if(TieFeet)
    game.addHavokBallAndSocketConstraint(victim,rf,victim,lf,8,0,0)
    EndIf
EndFunction

Function CleanupConstraints()
    game.removeHavokConstraints(victim, rf, victim, rf)
    game.removeHavokConstraints(victim, lf, victim, lf)
    game.removeHavokConstraints(victim, lh, victim, lh)
    game.removeHavokConstraints(victim, rh, victim, rh)
EndFunction

Function Cleanup()
    phase2underway=false
    phase1underway=false
    victim=none
    DupeAlias.clear()
    BlockAlias.clear()    
EndFunction

Function AlignmentCorrection()
                      
           x_ = victim.GetPositionX()
           y_ = victim.GetPositionY()
           z_ = victim.GetPositionZ()  
           
           victim.SetDontMove()
           Game.FadeOutGame(false, true, 5.0, 8.0)             
           Debug.SendAnimationevent(victim, "ZaZAPCSHME2")
           Utility.Wait(0.1)           
    victim.SetPosition(x_ , y_  ,  z_ + 44.5 )

            Game.AddHavokBallAndSocketConstraint(Self, gh, victim, "NeckAttachNode", 40.0, 0.0, 4.0)
            Game.AddHavokBallAndSocketConstraint(Self, gfb, victim, rf, 10.0, 0.0, 50.0)   
            Game.AddHavokBallAndSocketConstraint(Self, gfb, victim, lf, 10.0, 0.0, 50.0)  
                 
EndFunction

Function construction()
    self.translateTo(X, Y, Z, 0, 0, self.getAngleZ(), 1000, 1000)
    
    leverPlacementHelperDummy=self.placeAtMe(Game.GetFormFromFile(0x000D19BA, "Skyrim.esm"))

    leverPlacementHelperDummy.translateTo(translateLocal(0.0, 4.0+Global_ContructOffset.getValue(), true), translateLocal(0.0, 4.0+Global_ContructOffset.getValue(), false), Z, 0.0, 0.0, self.getAngleZ(), 10000, 10000)
    ;utility.wait(0.5)
    Blade= leverPlacementHelperDummy.placeAtMe(Game.GetFormFromFile(0x03008FA4, "PamaFurnitureScr.esp"), 1, true, false)

    leverPlacementHelperDummy.translateTo(translateLocal(20.3, 85.5+Global_ContructOffset.getValue(), true), translateLocal(20.3, 85.5+Global_ContructOffset.getValue(), false), Z+97.4, 90.0, self.getAngleZ()*(-1), 0, 1000, 1000)
    utility.wait(0.5)
    lever = leverPlacementHelperDummy.placeAtMe(Game.GetFormFromFile(0x03009A71, "PamaFurnitureScr.esp"), 1, true, false)

    leverPlacementHelperDummy.delete()

    (lever as activatorForExecutioner).targetFurn = self

    spawnDummys()

    Debug.notification("Guilotine ready!")
EndFunction


;Diagnostics and Utility////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


float Function translateLocal(float OffsetX, float OffsetY, bool XorY)
    ;XorY=true >> calculate x offset / XorY=true >> calculate y offset
    float tmpRotation =self.getAngleZ()+(90.0)

    if XorY
        return X+(math.sin(tmpRotation)*OffsetX)+ (math.cos(tmpRotation)*OffsetY)    
    else
        return Y+(math.sin(tmpRotation)*-(OffsetY))+ (math.cos(tmpRotation)*OffsetX)    
    EndIf

EndFunction

Function diagnostics()

    ;Debug.Notification("selfAngle= "+self.getAngleZ())
    ;Debug.notification("lever Offset X= "+ (lever.getPositionX() -self.getPositionX()))
    ;Debug.notification("lever Offset Y= "+ (lever.getPositionY() -self.getPositionY()))
    ;Debug.notification("lever Offset Z= "+ (lever.getPositionZ() -self.getPositionZ()))
    Debug.notification("lever rotation X = " + lever.getAngleX())
    Debug.notification("lever rotation  Y= " + lever.getAngleY())
EndFunction

 

 

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

 

Actually the two new NiNodes are not important. Important is that the Npc needs to sleep witch the neck in the hole after entering the table. ( you can change the position with NifScope. )

 

 

example.jpg

zazGuiloutineTable01.nif

Posted

@Nersond

Ok, first off:

please, for the Love of God, use the spoiler Function when posting such a huge textwall.

 

About your changes: I gave it a try, and my conclusion is:

 

Nette Idee, aber das mit der Ausführung üben wir nochmal. (can be translated as: "I´m not fully convinced")

20200808002653_1.jpg.c2d1991fa9d1d7752009bc6d399fb8a6.jpg

Im not quite sure why you would make this into a sleep marker. this will only cause issues when used by the player. also, you kinda butchered the AlignmentCorrection() Function.

And the the victim and the head have a tendency to wildly fly in all directions upon death.

Also, im not quite sure what purpose the additional 2 NiNodes serve. the havocConstraints you apply on them wont have any effect on a living actor. (and you accidentally scaled the whole table up.)

 

But the Up-facing Animation is a nice Idea, i think i will do some experimentation with that.

20200808002516_1.jpg.7e5bd1fb536828b4963b16f320012853.jpg

 

 

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