Jump to content

Recommended Posts

Guest Shadd Ashborn
Posted

Yeah, I got it. :) Though I still hope that I will manage how to return player role to script and make effects depend on was player def or off. Eh.

Guest Shadd Ashborn
Posted
14 minutes ago, fejeena said:

set offender and defender

 

Oh, this may be helpful. Seems that I just need to check if those tokens are in player's inventory?

 

 

Posted

You can add in the "ppxLoversPenaltyFunction" script a position check.

The off an def position has token in the Lovers with PK esm

xLoversOff "Lovers Attacker" [CLOT:0103BFCF]

xLoversDef "Lovers Reciever" [CLOT:0103D454]

 

Spoiler

scn ppxLoversPenaltyFunction

ref me
;short s0
ref spell
short LPowerRandom

Begin Function { me }
    if me.GetDead || me.GetDisabled || me != player
        set me to 0
    endif


    if me.GetItemCount xLoversPkrEquipFuncItem == 0

        set LPowerRandom to GetRandomPercent


;;;;;;;;;;;;;;;;;;;;;;;; Hardcore Mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        If Player.GetItemCount ppxLoversPenaltyHardcoreToken >= 1

            If Player.GetIsSex male == 1   ;  Player is male

                if LPowerRandom < 11                                 ;10%
                    set spell to ppxLoversPowerSpellFiller1Hm
                elseif LPowerRandom == 11                            ;1%
                    set spell to ppxLoversPowerSpell16Hm
                elseif LPowerRandom == 12                            ;1%
                    set spell to ppxLoversPowerSpell17Hm
                elseif LPowerRandom >= 13 && LPowerRandom < 15       ;2%
                    set spell to ppxLoversPowerSpell18Hm
                elseif LPowerRandom >= 15 && LPowerRandom < 17       ;2%
                    set spell to ppxLoversPowerSpell19Hm
                elseif LPowerRandom >= 17 && LPowerRandom < 19       ;2%
                    set spell to ppxLoversPowerSpell20Hm
                elseif LPowerRandom == 19                            ;1%
                    set spell to ppxLoversPowerSpell21Hm
                elseif LPowerRandom == 20                            ;1%
                    set spell to ppxLoversPowerSpell22Hm
                elseif LPowerRandom >= 21 && LPowerRandom < 26       ;5%
                    set spell to ppxLoversPowerSpell0Hm

 

;Example  if you do not like this Disease is def position you add


                elseif LPowerRandom >= 26 && LPowerRandom < 31

                    If Player.getitemcount xLoversDef >= 1

                       ; add nothing   or add another disease

                    else
                        set spell to ppxLoversPowerSpell1Hm

                     endif


                elseif LPowerRandom >= 31 && LPowerRandom < 36
                    set spell to ppxLoversPowerSpell2Hm
                elseif LPowerRandom >= 36 && LPowerRandom < 41
                    set spell to ppxLoversPowerSpell3Hm
                elseif LPowerRandom >= 41 && LPowerRandom < 46
                    set spell to ppxLoversPowerSpell4Hm
                elseif LPowerRandom >= 46 && LPowerRandom < 51
                    set spell to ppxLoversPowerSpell5Hm
                elseif LPowerRandom >= 51 && LPowerRandom < 56      ;5%
                    set spell to ppxLoversPowerSpell6Hm
                elseif LPowerRandom >= 56 && LPowerRandom < 59      ;3%
                    set spell to ppxLoversPowerSpell7Hm
                elseif LPowerRandom >= 59 && LPowerRandom < 62
                    set spell to ppxLoversPowerSpell8Hm
                elseif LPowerRandom >= 62 && LPowerRandom < 65
                    set spell to ppxLoversPowerSpell9Hm
                elseif LPowerRandom >= 65 && LPowerRandom < 68     ;3
                    set spell to ppxLoversPowerSpell10Hm
                elseif LPowerRandom >= 68 && LPowerRandom < 70     ;2%
                    set spell to ppxLoversPowerSpell11Hm
                elseif LPowerRandom >= 70 && LPowerRandom < 72     ;2%
                    set spell to ppxLoversPowerSpell12Hm            
                elseif LPowerRandom >= 72 && LPowerRandom < 77     ;5%
                    set spell to ppxLoversPowerSpell13Hm                     
                elseif LPowerRandom >= 77 && LPowerRandom < 80     ;3%
                    set spell to ppxLoversPowerSpell14Hm             
                elseif LPowerRandom == 80
                    set spell to ppxLoversPowerSpell15Hm           
                elseif LPowerRandom >= 81 && LPowerRandom < 91   ;10%
                    set spell to ppxLoversPowerSpellFiller3Hm
                elseif LPowerRandom >= 91                        ;10%  
                    set spell to ppxLoversPowerSpellFiller4Hm

                endif
            endif

            If Player.GetIsSex female == 1

                if LPowerRandom < 11                                 ;10%
                    set spell to ppxLoversPowerSpellFiller1Hf
                elseif LPowerRandom == 11                            ;1%
                    set spell to ppxLoversPowerSpell16Hf
                elseif LPowerRandom == 12                            ;1%
                    set spell to ppxLoversPowerSpell17Hf
                elseif LPowerRandom >= 13 && LPowerRandom < 15       ;2%
                    set spell to ppxLoversPowerSpell18Hf
                elseif LPowerRandom >= 15 && LPowerRandom < 17       ;2%
                    set spell to ppxLoversPowerSpell19Hf
                elseif LPowerRandom >= 17 && LPowerRandom < 19       ;2%
                    set spell to ppxLoversPowerSpell20Hf
                elseif LPowerRandom == 19                            ;1%
                    set spell to ppxLoversPowerSpell21Hf
                elseif LPowerRandom == 20                            ;1%
                    set spell to ppxLoversPowerSpell22Hf
                elseif LPowerRandom >= 21 && LPowerRandom < 26       ;5%
                    set spell to ppxLoversPowerSpell0Hf
                elseif LPowerRandom >= 26 && LPowerRandom < 31
                    set spell to ppxLoversPowerSpell1Hf
                elseif LPowerRandom >= 31 && LPowerRandom < 36
                    set spell to ppxLoversPowerSpell2Hf
                elseif LPowerRandom >= 36 && LPowerRandom < 41
                    set spell to ppxLoversPowerSpell3Hf
                elseif LPowerRandom >= 41 && LPowerRandom < 46
                    set spell to ppxLoversPowerSpell4Hf
                elseif LPowerRandom >= 46 && LPowerRandom < 51
                    set spell to ppxLoversPowerSpell5Hf
                elseif LPowerRandom >= 51 && LPowerRandom < 56      ;5%
                    set spell to ppxLoversPowerSpell6Hf
                elseif LPowerRandom >= 56 && LPowerRandom < 59      ;3%
                    set spell to ppxLoversPowerSpell7Hf
                elseif LPowerRandom >= 59 && LPowerRandom < 62
                    set spell to ppxLoversPowerSpell8Hf
                elseif LPowerRandom >= 62 && LPowerRandom < 65
                    set spell to ppxLoversPowerSpell9Hf
                elseif LPowerRandom >= 65 && LPowerRandom < 68     ;3
                    set spell to ppxLoversPowerSpell10Hf
                elseif LPowerRandom >= 68 && LPowerRandom < 70     ;2%
                    set spell to ppxLoversPowerSpell11Hf
                elseif LPowerRandom >= 70 && LPowerRandom < 72     ;2%
                    set spell to ppxLoversPowerSpell12Hf           
                elseif LPowerRandom >= 72 && LPowerRandom < 77     ;5%
                    set spell to ppxLoversPowerSpell13Hf                    
                elseif LPowerRandom >= 77 && LPowerRandom < 80     ;3%
                    set spell to ppxLoversPowerSpell14Hf             
                elseif LPowerRandom == 80
                    set spell to ppxLoversPowerSpell15Hf           
                elseif LPowerRandom >= 81 && LPowerRandom < 91   ;10%
                    set spell to ppxLoversPowerSpellFiller3Hf
                elseif LPowerRandom >= 91                        ;10%  
                    set spell to ppxLoversPowerSpellFiller4Hf

                endif
            endif
        endif


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Normal Mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        If Player.GetItemCount ppxLoversPenaltyHardcoreToken == 0

            If Player.GetIsSex male == 1

                if LPowerRandom < 11                                 ;10%
;                        nothing happens
                elseif LPowerRandom >= 11 && LPowerRandom < 21       ;10%
                    set spell to ppxLoversPowerSpellFillerN1m
                elseif LPowerRandom >= 21 && LPowerRandom < 26       ;5%
                    set spell to ppxLoversPowerSpell0m
                elseif LPowerRandom >= 26 && LPowerRandom < 31
                    set spell to ppxLoversPowerSpell1m
                elseif LPowerRandom >= 31 && LPowerRandom < 36
                    set spell to ppxLoversPowerSpell2m
                elseif LPowerRandom >= 36 && LPowerRandom < 41
                    set spell to ppxLoversPowerSpell3m
                elseif LPowerRandom >= 41 && LPowerRandom < 46
                    set spell to ppxLoversPowerSpell4m
                elseif LPowerRandom >= 46 && LPowerRandom < 51
                    set spell to ppxLoversPowerSpell5m
                elseif LPowerRandom >= 51 && LPowerRandom < 56      ;5%
                    set spell to ppxLoversPowerSpell6m
                elseif LPowerRandom >= 56 && LPowerRandom < 59      ;3%
                    set spell to ppxLoversPowerSpell7m
                elseif LPowerRandom >= 59 && LPowerRandom < 62
                    set spell to ppxLoversPowerSpell8m
                elseif LPowerRandom >= 62 && LPowerRandom < 65
                    set spell to ppxLoversPowerSpell9m
                elseif LPowerRandom >= 65 && LPowerRandom < 68     ;3
                    set spell to ppxLoversPowerSpell10m
                elseif LPowerRandom >= 68 && LPowerRandom < 70     ;2%
                    set spell to ppxLoversPowerSpell11m
                elseif LPowerRandom >= 70 && LPowerRandom < 72     ;2%
                    set spell to ppxLoversPowerSpell12m            
                elseif LPowerRandom >= 72 && LPowerRandom < 77     ;5%
                    set spell to ppxLoversPowerSpell13m                     
                elseif LPowerRandom >= 77 && LPowerRandom < 80     ;3%
                    set spell to ppxLoversPowerSpell14m            
                elseif LPowerRandom == 80
                    set spell to ppxLoversPowerSpell15m          
                elseif LPowerRandom >= 81 && LPowerRandom < 91   ;10%
                    set spell to ppxLoversPowerSpellFillerN2m
                elseif LPowerRandom >= 91                        ;10%  
;                        nothing happens

                endif
            endif


            If Player.GetIsSex female == 1

                if LPowerRandom < 11                                 ;10%
;                        nothing happens
                elseif LPowerRandom >= 11 && LPowerRandom < 21       ;10%
                    set spell to ppxLoversPowerSpellFillerN1f
                elseif LPowerRandom >= 21 && LPowerRandom < 26       ;5%
                    set spell to ppxLoversPowerSpell0f
                elseif LPowerRandom >= 26 && LPowerRandom < 31
                    set spell to ppxLoversPowerSpell1f
                elseif LPowerRandom >= 31 && LPowerRandom < 36
                    set spell to ppxLoversPowerSpell2f
                elseif LPowerRandom >= 36 && LPowerRandom < 41
                    set spell to ppxLoversPowerSpell3f
                elseif LPowerRandom >= 41 && LPowerRandom < 46
                    set spell to ppxLoversPowerSpell4f
                elseif LPowerRandom >= 46 && LPowerRandom < 51
                    set spell to ppxLoversPowerSpell5f
                elseif LPowerRandom >= 51 && LPowerRandom < 56       ;5%
                    set spell to ppxLoversPowerSpell6f
                elseif LPowerRandom >= 56 && LPowerRandom < 59       ;3%
                    set spell to ppxLoversPowerSpell7f
                elseif LPowerRandom >= 59 && LPowerRandom < 62
                    set spell to ppxLoversPowerSpell8f
                elseif LPowerRandom >= 62 && LPowerRandom < 65
                    set spell to ppxLoversPowerSpell9f
                elseif LPowerRandom >= 65 && LPowerRandom < 68     ;3
                    set spell to ppxLoversPowerSpell10f
                elseif LPowerRandom >= 68 && LPowerRandom < 70     ;2%
                    set spell to ppxLoversPowerSpell11f
                elseif LPowerRandom >= 70 && LPowerRandom < 72     ;2%
                    set spell to ppxLoversPowerSpell12f         
                elseif LPowerRandom >= 72 && LPowerRandom < 77     ;5%
                    set spell to ppxLoversPowerSpell13f                  
                elseif LPowerRandom >= 77 && LPowerRandom < 80     ;3%
                    set spell to ppxLoversPowerSpell14f             
                elseif LPowerRandom == 80
                    set spell to ppxLoversPowerSpell15f           
                elseif LPowerRandom >= 81 && LPowerRandom < 91   ;10%
                    set spell to ppxLoversPowerSpellFillerN2f
                elseif LPowerRandom >= 91                        ;10%  
;                        nothing happens

                endif
            endif
        endif


        ppxLoversPenaltyActivatorRef.MoveTo me
        ppxLoversPenaltyActivatorRef.Cast spell me
        ppxLoversPenaltyActivatorRef.MoveTo ppxLoversPenaltyResetMarker

        set me to 0
    endif

    SetFunctionValue me
End
;<CSEBlock>
;<CSECaretPos> 0 </CSECaretPos>
;</CSEBlock>

 

Guest Shadd Ashborn
Posted

Yeah, seems that things are pretty easy with tokens system (forgot about it while Sexout used it long time ago, new versions use strings system that doesnt use any tokens at all, so I naturally began to searc flags in main framework scripts and stuff). :)

 

Guest Shadd Ashborn
Posted

So... Script doesn't seem to work at all like that. Token presence check for player just always fails (I made debug printC to check it).

 

I have this script:


 

Spoiler

 


scn ppxLoversPenaltyFunction

ref me
;short s0
ref spell
ref ActorR
short LPowerRandom

Begin Function { me }

Set ActorR to player

	if me.GetDead || me.GetDisabled || me != player
		set me to 0
	endif


	if me.GetItemCount xLoversPkrEquipFuncItem == 0

		set LPowerRandom to GetRandomPercent


;;;;;;;;;;;;;;;;;;;;;;;; Hardcore Mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

		If Player.GetItemCount ppxLoversPenaltyHardcoreToken >= 1

		If Player.Getitemcount xLoversOff >= 1

				if LPowerRandom < 11                                 ;10%
					set spell to ppxLoversPowerSpellFiller1Hm
				elseif LPowerRandom == 11                            ;1%
					set spell to ppxLoversPowerSpell16Hm
				elseif LPowerRandom == 12                            ;1%
					set spell to ppxLoversPowerSpell17Hm
				elseif LPowerRandom >= 13 && LPowerRandom < 15       ;2%
					set spell to ppxLoversPowerSpell18Hm
				elseif LPowerRandom >= 15 && LPowerRandom < 17       ;2%
					set spell to ppxLoversPowerSpell19Hm
				elseif LPowerRandom >= 17 && LPowerRandom < 19       ;2%
					set spell to ppxLoversPowerSpell20Hm
				elseif LPowerRandom == 19                            ;1%
					set spell to ppxLoversPowerSpell21Hm
				elseif LPowerRandom == 20                            ;1%
					set spell to ppxLoversPowerSpell22Hm
				elseif LPowerRandom >= 21 && LPowerRandom < 26       ;5%
					set spell to ppxLoversPowerSpell0Hm
				elseif LPowerRandom >= 26 && LPowerRandom < 31
					set spell to ppxLoversPowerSpell1Hm
				elseif LPowerRandom >= 31 && LPowerRandom < 36
					set spell to ppxLoversPowerSpell2Hm
				elseif LPowerRandom >= 36 && LPowerRandom < 41
					set spell to ppxLoversPowerSpell3Hm
				elseif LPowerRandom >= 41 && LPowerRandom < 46
					set spell to ppxLoversPowerSpell4Hm
				elseif LPowerRandom >= 46 && LPowerRandom < 51
					set spell to ppxLoversPowerSpell5Hm
				elseif LPowerRandom >= 51 && LPowerRandom < 56      ;5%
					set spell to ppxLoversPowerSpell6Hm
				elseif LPowerRandom >= 56 && LPowerRandom < 59      ;3%
					set spell to ppxLoversPowerSpell7Hm
				elseif LPowerRandom >= 59 && LPowerRandom < 62
					set spell to ppxLoversPowerSpell8Hm
				elseif LPowerRandom >= 62 && LPowerRandom < 65
					set spell to ppxLoversPowerSpell9Hm
				elseif LPowerRandom >= 65 && LPowerRandom < 68     ;3
					set spell to ppxLoversPowerSpell10Hm
				elseif LPowerRandom >= 68 && LPowerRandom < 70     ;2%
					set spell to ppxLoversPowerSpell11Hm
				elseif LPowerRandom >= 70 && LPowerRandom < 72     ;2%
					set spell to ppxLoversPowerSpell12Hm            
				elseif LPowerRandom >= 72 && LPowerRandom < 77     ;5%
					set spell to ppxLoversPowerSpell13Hm                     
				elseif LPowerRandom >= 77 && LPowerRandom < 80     ;3%
					set spell to ppxLoversPowerSpell14Hm             
				elseif LPowerRandom == 80
					set spell to ppxLoversPowerSpell15Hm           
				elseif LPowerRandom >= 81 && LPowerRandom < 91   ;10%
					set spell to ppxLoversPowerSpellFiller3Hm
				elseif LPowerRandom >= 91                        ;10%  
					set spell to ppxLoversPowerSpellFiller4Hm

				endif
			Else
printc "screwed up"
		Endif

			If Player.Getitemcount xLoversDef >= 1

				if LPowerRandom < 11                                 ;10%
					set spell to ppxLoversPowerSpellFiller1Hf
				elseif LPowerRandom == 11                            ;1%
					set spell to ppxLoversPowerSpell16Hf
				elseif LPowerRandom == 12                            ;1%
					set spell to ppxLoversPowerSpell17Hf
				elseif LPowerRandom >= 13 && LPowerRandom < 15       ;2%
					set spell to ppxLoversPowerSpell18Hf
				elseif LPowerRandom >= 15 && LPowerRandom < 17       ;2%
					set spell to ppxLoversPowerSpell19Hf
				elseif LPowerRandom >= 17 && LPowerRandom < 19       ;2%
					set spell to ppxLoversPowerSpell20Hf
				elseif LPowerRandom == 19                            ;1%
					set spell to ppxLoversPowerSpell21Hf
				elseif LPowerRandom == 20                            ;1%
					set spell to ppxLoversPowerSpell22Hf
				elseif LPowerRandom >= 21 && LPowerRandom < 26       ;5%
					set spell to ppxLoversPowerSpell0Hf
				elseif LPowerRandom >= 26 && LPowerRandom < 31
					set spell to ppxLoversPowerSpell1Hf
				elseif LPowerRandom >= 31 && LPowerRandom < 36
					set spell to ppxLoversPowerSpell2Hf
				elseif LPowerRandom >= 36 && LPowerRandom < 41
					set spell to ppxLoversPowerSpell3Hf
				elseif LPowerRandom >= 41 && LPowerRandom < 46
					set spell to ppxLoversPowerSpell4Hf
				elseif LPowerRandom >= 46 && LPowerRandom < 51
					set spell to ppxLoversPowerSpell5Hf
				elseif LPowerRandom >= 51 && LPowerRandom < 56      ;5%
					set spell to ppxLoversPowerSpell6Hf
				elseif LPowerRandom >= 56 && LPowerRandom < 59      ;3%
					set spell to ppxLoversPowerSpell7Hf
				elseif LPowerRandom >= 59 && LPowerRandom < 62
					set spell to ppxLoversPowerSpell8Hf
				elseif LPowerRandom >= 62 && LPowerRandom < 65
					set spell to ppxLoversPowerSpell9Hf
				elseif LPowerRandom >= 65 && LPowerRandom < 68     ;3
					set spell to ppxLoversPowerSpell10Hf
				elseif LPowerRandom >= 68 && LPowerRandom < 70     ;2%
					set spell to ppxLoversPowerSpell11Hf
				elseif LPowerRandom >= 70 && LPowerRandom < 72     ;2%
					set spell to ppxLoversPowerSpell12Hf           
				elseif LPowerRandom >= 72 && LPowerRandom < 77     ;5%
					set spell to ppxLoversPowerSpell13Hf                    
				elseif LPowerRandom >= 77 && LPowerRandom < 80     ;3%
					set spell to ppxLoversPowerSpell14Hf             
				elseif LPowerRandom == 80
					set spell to ppxLoversPowerSpell15Hf           
				elseif LPowerRandom >= 81 && LPowerRandom < 91   ;10%
					set spell to ppxLoversPowerSpellFiller3Hf
				elseif LPowerRandom >= 91                        ;10%  
					set spell to ppxLoversPowerSpellFiller4Hf

				endif
			endif
		Else
printc "screwed up"
		endif


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Normal Mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

		If Player.GetItemCount ppxLoversPenaltyHardcoreToken == 0

	If Player.Getitemcount xLoversOff >= 1

				if LPowerRandom < 11                                 ;10%
;                        nothing happens
				elseif LPowerRandom >= 11 && LPowerRandom < 21       ;10%
					set spell to ppxLoversPowerSpellFillerN1m
				elseif LPowerRandom >= 21 && LPowerRandom < 26       ;5%
					set spell to ppxLoversPowerSpell0m
				elseif LPowerRandom >= 26 && LPowerRandom < 31
					set spell to ppxLoversPowerSpell1m
				elseif LPowerRandom >= 31 && LPowerRandom < 36
					set spell to ppxLoversPowerSpell2m
				elseif LPowerRandom >= 36 && LPowerRandom < 41
					set spell to ppxLoversPowerSpell3m
				elseif LPowerRandom >= 41 && LPowerRandom < 46
					set spell to ppxLoversPowerSpell4m
				elseif LPowerRandom >= 46 && LPowerRandom < 51
					set spell to ppxLoversPowerSpell5m
				elseif LPowerRandom >= 51 && LPowerRandom < 56      ;5%
					set spell to ppxLoversPowerSpell6m
				elseif LPowerRandom >= 56 && LPowerRandom < 59      ;3%
					set spell to ppxLoversPowerSpell7m
				elseif LPowerRandom >= 59 && LPowerRandom < 62
					set spell to ppxLoversPowerSpell8m
				elseif LPowerRandom >= 62 && LPowerRandom < 65
					set spell to ppxLoversPowerSpell9m
				elseif LPowerRandom >= 65 && LPowerRandom < 68     ;3
					set spell to ppxLoversPowerSpell10m
				elseif LPowerRandom >= 68 && LPowerRandom < 70     ;2%
					set spell to ppxLoversPowerSpell11m
				elseif LPowerRandom >= 70 && LPowerRandom < 72     ;2%
					set spell to ppxLoversPowerSpell12m            
				elseif LPowerRandom >= 72 && LPowerRandom < 77     ;5%
					set spell to ppxLoversPowerSpell13m                     
				elseif LPowerRandom >= 77 && LPowerRandom < 80     ;3%
					set spell to ppxLoversPowerSpell14m            
				elseif LPowerRandom == 80
					set spell to ppxLoversPowerSpell15m          
				elseif LPowerRandom >= 81 && LPowerRandom < 91   ;10%
					set spell to ppxLoversPowerSpellFillerN2m
				elseif LPowerRandom >= 91                        ;10%  
;                        nothing happens
				endif
		Else
printc "screwed up"
		Endif

			If Player.Getitemcount xLoversDef >= 1

				if LPowerRandom < 11                                 ;10%
;                        nothing happens
				elseif LPowerRandom >= 11 && LPowerRandom < 21       ;10%
					set spell to ppxLoversPowerSpellFillerN1f
				elseif LPowerRandom >= 21 && LPowerRandom < 26       ;5%
					set spell to ppxLoversPowerSpell0f
				elseif LPowerRandom >= 26 && LPowerRandom < 31
					set spell to ppxLoversPowerSpell1f
				elseif LPowerRandom >= 31 && LPowerRandom < 36
					set spell to ppxLoversPowerSpell2f
				elseif LPowerRandom >= 36 && LPowerRandom < 41
					set spell to ppxLoversPowerSpell3f
				elseif LPowerRandom >= 41 && LPowerRandom < 46
					set spell to ppxLoversPowerSpell4f
				elseif LPowerRandom >= 46 && LPowerRandom < 51
					set spell to ppxLoversPowerSpell5f
				elseif LPowerRandom >= 51 && LPowerRandom < 56       ;5%
					set spell to ppxLoversPowerSpell6f
				elseif LPowerRandom >= 56 && LPowerRandom < 59       ;3%
					set spell to ppxLoversPowerSpell7f
				elseif LPowerRandom >= 59 && LPowerRandom < 62
					set spell to ppxLoversPowerSpell8f
				elseif LPowerRandom >= 62 && LPowerRandom < 65
					set spell to ppxLoversPowerSpell9f
				elseif LPowerRandom >= 65 && LPowerRandom < 68     ;3
					set spell to ppxLoversPowerSpell10f
				elseif LPowerRandom >= 68 && LPowerRandom < 70     ;2%
					set spell to ppxLoversPowerSpell11f
				elseif LPowerRandom >= 70 && LPowerRandom < 72     ;2%
					set spell to ppxLoversPowerSpell12f         
				elseif LPowerRandom >= 72 && LPowerRandom < 77     ;5%
					set spell to ppxLoversPowerSpell13f                  
				elseif LPowerRandom >= 77 && LPowerRandom < 80     ;3%
					set spell to ppxLoversPowerSpell14f             
				elseif LPowerRandom == 80
					set spell to ppxLoversPowerSpell15f           
				elseif LPowerRandom >= 81 && LPowerRandom < 91   ;10%
					set spell to ppxLoversPowerSpellFillerN2f
				elseif LPowerRandom >= 91                        ;10%  
;                        nothing happens

				endif
			endif
		Else
printc "screwed up"
;nothing
		endif


		ppxLoversPenaltyActivatorRef.MoveTo me
		ppxLoversPenaltyActivatorRef.Cast spell me
		ppxLoversPenaltyActivatorRef.MoveTo ppxLoversPenaltyResetMarker

		set me to 0
	endif

	SetFunctionValue me
End
;<CSEBlock>
;<CSECaretPos> 0 </CSECaretPos>
;</CSEBlock>

 

 

 

 

But somehow it doesn't work at all. Or, to be more concrete, it works, but fails to find tokens in Player's inventory. I always end up with printC "screwed up" condition which, in theory, means that player doesn't have tokens in his inventory when function executes.

 

More to say, I have printC message two times in a row which, again, in teory means that all script runs independant from if player have hardcore token or not. 

Posted

I must check it in game.

Yes not all token are  in the inventory until the sex ends.

 

And I just saw it will not work, the Disease is add after the sex

 

This line

if me.GetItemCount xLoversPkrEquipFuncItem == 0

 

0  xLoversPkrEquipFuncItem token =  no sex, sex is over.

 

So You have to add a Token  or script variable during the sex  that you check after the sex in the "ppxLoversPenaltyFunction" script .

 

Will check the other  scripts and see what I can do.

Guest Shadd Ashborn
Posted

"During the sex" - is it in Callback script? Those that checks for 3rd stage of actual act, as I understood.

Posted

Yes during the call pack script you can check if player is off  or def and set a script variable in the Quest script.

 

And this variable you can check in the "ppxLoversPenaltyFunction" script .

 

So in the ppxLoversPenaltyQuestScript  you add a new

short PlayerIsOff

 

 

And in the ppxLoversPenaltyCallback  script you check the token

If Player.getitemcount  xLoversOff >= 1

set ppxLoversPenaltyQuest.PlayerIsOff to 1

else

set ppxLoversPenaltyQuest.PlayerIsOff to 0

endif

 

 

 

And in the ppxLoversPenaltyFunction script you check the short

 

If ppxLoversPenaltyQuest.PlayerIsOff == 1

or

if ppxLoversPenaltyQuest.PlayerIsOff == 0

 

Guest Shadd Ashborn
Posted

Yup, ended up with similar solution and it seems to work. :)

 

I saw rape tokens in RaperS mod and have thoughts that it may be used same way to make hardcor-ish debuffs be consequences of rape/raped (will make mod dependant of rapers).

Guest Shadd Ashborn
Posted

UPD Hm, seems that three items count is exactly rape identifier for Lovers framework and seems that Penalty itself exactly about rape/raped (I assume LoversPower is counterpart for consensual encounters). LoversVoiseSSP reveals many secrets about how lovers handle such things. :p

 

I got another idea and already tested it, fancy message boxes right after rough action that describes particular, erm, damage to player's body or honour. :) 

Posted

Almost everything is done with token.

 

Also the token that stay in the inventory you can use .  e.g for dialogs.

If you check if a NPC has a "raped by player" token in the dialog greeting contitions  she/he can react the next time you talk to him after you have raped him.

Most  token are in Lovers with PK esm.  But other usefull token are in other Lovers Mods.

 

I use many token in my Mods ( in my privat Mods. I add sex to many Quest or new villages Mods )

LoversVoiseSSP  has the public sex token so you do not have to search a privat place to have sex.

In LoversSlaveTrader you have the  xLSTInviolableToken, so he/she can not be enslaved , but think can also do not buy slaves.

In Lovers Rapers you have token to block NPCs to rape

... and other Mods

 

 

 

And you can add the token with scripts so that a Mod does not need all the masterfiles. Only Lovers with PK esm should be the masterfile.

 

Spoiler


short  muggHasLST
short muggHasVoiceSSPplus
short muggHasRapers
ref muggLSTSlavetoken
ref muggNoSlaveToken
ref muggServiceToken
ref muggPublicSex
ref muggNoRape
ref muggNothingRape
 

 

BEGIN GameMode

    if GetGameLoaded
        set muggHasLST to 0
        set muggHasVoiceSSPplus to 0
        set muggHasRapers to 0      

 

        if muggHasLST == 0

            if (IsModLoaded "LoversSlaveTrader.esp")

                Set muggLSTSlavetoken to GetFormFromMod "LoversSlaveTrader.esp" 001D36
                Set muggNoSlaveToken to GetFormFromMod "LoversSlaveTrader.esp" 022DC8
                set muggServiceToken to GetFormFromMod "LoversSlaveTrader.esp" 006F4B
                Set muggHasLST to 1

            endif

        endif

 

        if muggHasVoiceSSPplus == 0
            if (IsModLoaded "LoversVoiceSSPplus.esp")

                Set muggPublicSex to GetFormFromMod "LoversVoiceSSPplus.esp" 002360        
                Set muggHasVoiceSSPplus to 1
            endif
        endif


        if muggHasRapers == 0

            if (IsModLoaded "LoversRaperS.esp")
                set muggNoRape to GetFormFromMod "LoversRaperS.esp" 01A1A5
                set muggNothingRape to GetFormFromMod "LoversRaperS.esp" 0496B7
                set muggHasRapers to 1

            endif
        endif

 

;;;;;   After you have the ref for all the token you can add them

 

        if muggHasRapers == 1

            If a0MuggfilthycuntRef.GetItemCount muggNoRape == 0
                a0MuggfilthycuntRef.AddItem muggNoRape 1
            endif

 

;;;;; and so on with all NPCs that should get token and all the Mods you used above.

;;;  And you can also stop adding a token.

 

        if muggHasLST == 1

            If a0MuggfilthycuntRef.GetItemCount muggNoSlaveToken == 0  && GetStage Questxy < 60
                a0MuggfilthycuntRef.AddItem muggNoSlaveToken 1
            endif
        endif

 

;;; You remove the token during a quest ( stage 60 )  and when you start the game again the token is not added again.

 

 

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