Jump to content

SexoutNG - Beta (2.10.93b10) release thread


Recommended Posts

Posted

The inversion I mean is that it should be a >0 check. That function returns 0 if the form isn't valid, so that check (if 0 = ...) is only ever going to pass if the form isn't valid.

 

I think what I'm going to do is change it to do the approach right there (along with approach % test), take that part out of the spell, and then make it break out if it hits one successfully. That and a delay down to 5s or so instead of 30s should fix the issue along with the other fix.

Posted

There has never been any actual boomer content. Loogie had some ideas for it at one time, but none of it was ever released except the MCM setting, which has been gone for some time.

 

Cool I never really tried it before so I wouldn't know. Nice to see it cleaned up.

 

It also seems that my clumsy bumbling around beta testing has done some good :)

 

Sorry I couldn't be more scientific. I don't mod and thus don't know how they are working to be able to give a better descriptions :blush: .

 

Posted (edited)

Ok here's what I've got for the new effect script, bumping rev to 3 (and getting rid of the 00 prefix).

 

 

scn SexoutWorkingGirlEffectScriptV3
;
; Working Girl Script
; Rewrite of 00SexoutWorkingGirlEffectScriptV2, by prideslayer

; globals
ref self
int abort
int reason
ref walkAI
ref goal
int bRun

float elapsed

short redirect
short ChaScore
short BarScore
short wage

int bVeronica
int bCass
int bSunny

; *****************
; ScriptEffectStart
; *****************
Begin ScriptEffectStart
  set self to GetSelf
  set goal to playerREF
  set abort to 0

  ; is veronica available?
  set bVeronica to 0
  if (VeronicaREF.GetInSameCell player)
    if SexoutWorkingGirl.veronicaMode && VNPCFollowers.bVeronicaHired
      if SexoutWorkingGirl.veronicaMode == 1 || SexoutWorkingGirl.veronicaAgrees
        set bVeronica to 1
      elseif SexoutWorkingGirl.veronicaMode == 2
        set bVeronica to VMS49.nFinalState
        set SexoutWorkingGirl.veronicaAgrees to bVeronica
      endif
    endif
  endif

  set bCass to 0
  if (RoseofSharonCassidyREF.GetInSameCell player)
    if SexoutWorkingGirl.cassMode && VNPCFollowers.bCassHired
      if SexoutWorkingGirl.cassMode == 1 || SexoutWorkingGirl.cassAgrees
        set bCass to 1
      elseif SexoutWorkingGirl.cassMode == 2
        if GetStage VCassCompanion == 100
          set bCass to 1
        endif
      endif
      set SexoutWorkingGirl.cassAgrees to bCass
    endif
  endif

  set bSunny to 0
  if (SunnyREF.GetInSameCell player)
    if SexoutWorkingGirl.SunnyMode && SunnyREF.GetInSameCell Player
      if SexoutWorkingGirl.sunnyMode == 1 || SexoutWorkingGirl.sunnyAgrees
        set bSunny to 1
      elseif SexoutWorkingGirl.sunnyMode == 2
        set SexoutWorkingGirl.sunnyAgrees to bSunny
      endif
    endif
  endif

  set walkAI to SexoutWorkingGirlWalkToPlayer
  AddScriptPackage walkAI

  set abort to 0
  set elapsed to 0
  set redirect to 0
  set bRun to 1
End ; ScriptEffectStart

; *****************
; ScriptEffectUpdate
; *****************
Begin ScriptEffectUpdate
  set elapsed to elapsed + ScriptEffectElapsedSeconds
  
  if (0 == bRun)
    ; how did we even get here?
    dispel SexoutWorkingGirlEffect
    return
  else
    if (elapsed >= SexoutWorkingGirl.elapsedMax)
      CIOS SexoutWorkingGirlFailedEffect
      set bRun to 999
      set abort to 999
    endif
  endif
  
  if (1000 == bRun)
    ; aborted and waiting to die

  elseif (999 == bRun)
    ; abort
    PrintToConsole "WorkingGirl: %i : Aborting %.0f (%.0fs)" self abort elapsed

    if GetIsCurrentPackage walkAI
      RemoveScriptPackage walkAI
    endif

    set bRun to 1000
    dispel SexoutWorkingGirlEffect
    EvaluatePackage

  elseif (30 == bRun)
    ; Sexytime!
    ; New system, let sexout handle the random aspect and respect player wishes as
    ; indicated in MCM.  Also sexout has more effects for male, female, male-as-female,
    ; and female-as-male, which are more reliable than the SCR/SSR strapon lists.
    set SexoutNG.ActorA to Self
    set SexoutNG.ActorB to Goal
    CIOS SexoutBegin
    CIOS SexoutWorkingGirlOldEffect

    if sexoutworkinggirl.Gom == 1
      set ChaScore to (goal.getAV Charisma * SexoutWorkingGirl.ProstitutionLevel)
      set BarScore to (goal.getAV Barter / 10)
      set wage to ChaScore + BarScore
      SexoutWorkingGirlWageBoxREF.additem Caps001 wage
    elseif sexoutworkinggirl.Wrang == 1
      set ChaScore to (goal.getAV Charisma * SexoutWorkingGirl.ProstitutionLevel)
      set BarScore to (goal.getAV Barter / 20)
      set wage to ChaScore + BarScore
      SexoutWorkingGirlWageBoxREF.additem Caps001 wage
    endif

    if goal == player
      set SexoutWorkingGirl.tricks to SexoutWorkingGirl.tricks + 1
    endif
    set bRun to 999
  
  elseif (20 == bRun)
    ; Player is having sex, find alternate target
    if bVeronica && (0 == VeronicaREF.GetItemCount 00SexoutActor)
      set walkAI to SexoutWorkingGirlWalkToVeronica
      set goal to VeronicaREF
      AddScriptPackage walkAI
      set bRun to 1
    elseif bCass && (0 == RoseOfSharonCassidyREF.GetItemCount 00SexoutActor)
      set walkAI to SexoutWorkingGirlWalkToCass
      set goal to RoseOfSharonCassidyREF
      AddScriptPackage walkAI
      set bRun to 1
    elseif bSunny && (0 == SunnyREF.GetItemCount 00SexoutActor)
      set walkAI to SexoutWorkingGirlWalkToSunny
      set goal to SunnyREF
      AddScriptPackage walkAI
      set bRun to 1
    else
      ; no buddies available, abort
      set abort to 31
      set bRun to 999
    endif
    
    if bRun == 1
      set redirect to (redirect + 1)
    endif
    
  elseif (10 == bRun)
    ; We have arrived, final preflight check
    if (0 == GetItemCount 00SexoutActor) && (0 == goal.GetItemCount 00SexoutActor)
      set bRun to 30
    else
      set bRun to 20
    endif

  elseif (1 == bRun)
    ; The waiting game
    if GetDistance goal <= 160
      PrintToConsole "WorkingGirl: %i : finished chasing %n in %.0fs" self goal elapsed
      set bRun to 10
      if GetIsCurrentPackage walkAI
        RemoveScriptPackage walkAI
      endif
    endif

    ; If self starts having sex with someone, abort
    if GetItemCount 00SexoutActor
      set abort to 2
      set bRun to 999
    endif
  endif
end

; *******************
; ScriptEffectFinish
; *******************
Begin ScriptEffectFinish
  PrintToConsole "WorkingGirl: %n : Done {%n for %.0fs [%.0f %.0f %.0f]}" self goal elapsed bRun abort redirect
End ; ScriptEffectFinish

 

 

Rundown is basically this.

EffectStart:

set b* flags for companions to 0, update to 1 if in cell, available, etc.

set goal to player

add the AI package

runstage to 1

 

EffectUpdate:

get elapsed value

If timer elapsed, stage -> 999

 

if/elseif block for runstage:

 

stage 1:

If self starts having sex, stage -> 999, elseif distance < 160 stage -> 10 and remove package.

 

stage 10:

if goal and self have no sexout tokens stage -> 30 else stage -> 20

 

stage 20:

if any companion is availble according to flag and not having sex, update package and goal, then stage -> 1

else stage -> 999

 

stage 30:

SexoutBegin and WorkingGirlOldEffect

Do payout

Stage -> 999

 

stage 999:

Print abort message, remove package, evp, dispel, and stage -> 1000

 

stage 1000:

do nothing, waiting on dispel.

 

 

Goal here was to update for the change to approach now being in the quest script, get rid of all the different flag vars and mid-script-returns in favor of a single flag/stage var. I also removed some other semi-wrong stuff from the effect script, things that should be handled by sexout itself. The anal/oral/vaginal, as this is handled by players sexout prefs in MCM. Also I removed all the male/female/strapon checks as sexout should already be managing those correctly through the heshemale and whatnot effects of the strapons.

 

It will also redirect now an 'unlimited' number of times provided that the effect does not expire, and at least one of the valid targets is available. Check to only send male johns is removed, ladies may need lovin' and be willing to pay for it as well.

 

The quest script scans 'twice' now. The first one is a simple abort if any NPC is approaching anyone via the working girl effect above. If that doesn't abort, then the normal scanner kicks off tests the approach percent, and if it succeeds sends them off towards the player.

 

Going to test it out now and post an update if it works as intended.

Edited by prideslayer
Posted

ok, new WG beta version attached, just to this post for now. I'll update the SSR beta with it if it works for those of you interested.

 

*just* has a fixed scanner. I have not looked into why the tossouts aren't working, but they may all be related given the issues with the quest script that are now fixed.

 

Did not test it with any followers, but seems to be working fine solo. Unfortunately I just don't have any saves with companions right now.

Posted

The inversion I mean is that it should be a >0 check. That function returns 0 if the form isn't valid, so that check (if 0 = ...) is only ever going to pass if the form isn't valid.

 

I think what I'm going to do is change it to do the approach right there (along with approach % test), take that part out of the spell, and then make it break out if it hits one successfully. That and a delay down to 5s or so instead of 30s should fix the issue along with the other fix.

I meant, the very first code was

if 0 == IsFormValid scanner

  return

endif

 

:)

Posted

Oh.. that's not what I have in the current official download.. it was simply added to the bigger if statement allowing the actor to be selected. Somebody must've combined and forgot to flip the equality check. ;)

Posted

r78b5 promoted to release and beta downloads, except SSRified mods, removed from OP.

 

I'm going to spend some time trying to track down any bugs in tryouts now, and see what in sexout or NX is causing the game & geck unload crashes. There will be no new additions to SSR until everything needed from SCR is copied over, if anything is missing. I'm going to try to keep them from diverging, formid wise, until compatability is assured.

Posted

Not sure if a true bug or not, but when using bDontUndress, if the actor its called on isn't wearing anything in slot 2 (upperbody) then all actors being used freeze in place permanently. I was calling it on the player at the time.

 

Exact code I was using, just in case it was a mistake on my part, I added a check for "rVictim.GetEqObj 2 != 0" and it quit freezing when called.

if (rRapistA.GetIsCreature) && (SexAssault.iSmartRape)
     rVictim.NX_SetEVFl "Sexout:Start::bDontUndressB" 1
endif
Posted

 

Not sure if a true bug or not, but when using bDontUndress, if the actor its called on isn't wearing anything in slot 2 (upperbody) then all actors being used freeze in place permanently. I was calling it on the player at the time.

 

Exact code I was using, just in case it was a mistake on my part, I added a check for "rVictim.GetEqObj 2 != 0" and it quit freezing when called.

if (rRapistA.GetIsCreature) && (SexAssault.iSmartRape)
     rVictim.NX_SetEVFl "Sexout:Start::bDontUndressB" 1
endif

This sounds like the issue I found with Bodyswapping, if the script tried to remove "nothing" or GetHealth "nothing" it crashed the script.

I have to do a check:

 

Set rOutfit to player.GetEquipped 2

If rOutfit

 <Do stuff>

endif 

Posted

Is there a reason for only having the SSR on the main OP? I don't see Sexout beta anywhere.

The beta was upgraded to a release, there is no beta yet............

Posted

I have 2.6.78b5. Is this the lastest "release"? the reason I am asking is I wanted to your latest SCR beta. I needed at least 2.6.78. I wanted the latest that was being used for any last minute bug fixes of course. ;)

Posted

Thanks Pride I was looking at the older  threads. Duh. Now I have found the new thread.

 

I was looking for the file in the "Download" not on the forum page where if I just looked I would of seen the new relase. It would probably help the confusion of others if the downloads section was updated as well.

 

The b was from the previous testing "beta" Not anything to do with the release verison.

Posted

I have 2.6.78b5. Is this the lastest "release"? the reason I am asking is I wanted to your latest SCR beta. I needed at least 2.6.78. I wanted the latest that was being used for any last minute bug fixes of course. ;)

It probably works fine with 2.6.77, it doesn't use any new features or anything, it's just I make a point of doing my testing with latest releases.

  • 4 weeks later...
Posted

SSRv1b6 is available in the OP. This has an updated working girl ESP that should reenable approaches in the casinos.

 

I'm testing right now to see if this is the case, but I think the addition of that esp breaks the NCR "Tour of Duty" quest. Just FYI.

Posted

 

SSRv1b6 is available in the OP. This has an updated working girl ESP that should reenable approaches in the casinos.

 

I'm testing right now to see if this is the case, but I think the addition of that esp breaks the NCR "Tour of Duty" quest. Just FYI.

 

 

Tour of Duty has nothing to do with Working Girl.

Posted

 

 

SSRv1b6 is available in the OP. This has an updated working girl ESP that should reenable approaches in the casinos.

 

I'm testing right now to see if this is the case, but I think the addition of that esp breaks the NCR "Tour of Duty" quest. Just FYI.

 

 

Tour of Duty has nothing to do with Working Girl.

 

 

Yeah, I messed up something when I was loading. Made the NCR Prostitute Outfit not register as one so I had to get a new one. Sorry.

 

Posted

Just a FYI.

 

For the most recent RELEASE SexoutNG download, see here.

Your link is no longer working.

 

That link points to astymma's latest upload (2.6.76/7?) to the files section of the site. I deleted that page to avoid confusion with the latest release version that's only in the pinned thread in this forum section (2.6.78).

 

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...