Jump to content

Creation Kit ForceGreets


Recommended Posts

Posted

Hi Folks,

 

i need help with forcegreet packages in CK.

Iam writing a scripts, where a queue is standing outside of a room, (7 People in total) and then the first one is approaching the player.

Weirdly, my force greet package doesnt work. 

 

How It works:

As soon as one Guy is finished, he should leave the queue and all other guys move one position forward.

Which is why i had to make object references to make sure that the queue is also randomly filled.

 

Now iam trying forced the Alias for the forcegreet to the first guy. Nothing happens. Since they are no actors, but object references, i had to set the actor as object ref.

But still, nothing works. No ForceGreet, therefore no dialogue.

 

any tips how to solve this issue?

 

Spoiler

;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment
;NEXT FRAGMENT INDEX 22
Scriptname QF_pchsProstitutionQuest001_0A00AA0C Extends Quest Hidden

;BEGIN FRAGMENT Fragment_18
Function Fragment_18()
;BEGIN CODE
pchsFindCustomer2()
pchsFindCustomer3()
pchsFindCustomer4()
pchsFindCustomer5()
pchsFindCustomer6()
pchsFindCustomer7()

(Customer20 as Actor).removeFromFaction(pchsProstitution2Faction)
(Customer30 as Actor).removeFromFaction(pchsProstitution3Faction)
(Customer40 as Actor).removeFromFaction(pchsProstitution4Faction)
(Customer50 as Actor).removeFromFaction(pchsProstitution5Faction)
(Customer60 as Actor).removeFromFaction(pchsProstitution6Faction)
(Customer70 as Actor).removeFromFaction(pchsProstitution7Faction)

(Customer20 as Actor).addToFaction(pchsProstitution1Faction)
(Customer30 as Actor).addToFaction(pchsProstitution2Faction)
(Customer40 as Actor).addToFaction(pchsProstitution3Faction)
(Customer50 as Actor).addToFaction(pchsProstitution4Faction)
(Customer60 as Actor).addToFaction(pchsProstitution5Faction)
(Customer70 as Actor).addToFaction(pchsProstitution6Faction)

pchscustomermarker2.clear()
pchscustomermarker3.clear()
pchscustomermarker4.clear()
pchscustomermarker5.clear()
pchscustomermarker6.clear()
pchscustomermarker7.clear()

pchscustomer1package.ForceRefTo(Customer20)
pchscustomermarker2.ForceRefTo(Customer30)
pchscustomermarker3.ForceRefTo(Customer40)
pchscustomermarker4.ForceRefTo(Customer50)
pchscustomermarker5.ForceRefTo(Customer60)
pchscustomermarker6.ForceRefTo(Customer70)

pchsProstitutionQuest001.reset()
pchsProstitutionQuest001.setstage(30)

    If Game.GetPlayer().GetDistance(Customer30) > 5000
    Game.GetPlayer().AddToFaction(pchsProstitutionFinishFaction)
EndIf
;END CODE
EndFunction
;END FRAGMENT

;BEGIN FRAGMENT Fragment_16
Function Fragment_16()
;BEGIN CODE
pchsForcegreetRepeat()
    
        pchscustomer1package.clear()
             
        pchscustomerLeave00.ForceRefTo(Customer10)
        pchsProstitutionQuest001.setstage(40)
;END CODE
EndFunction
;END FRAGMENT

;BEGIN FRAGMENT Fragment_2
Function Fragment_2()
;BEGIN CODE
getcustomer()
    customer.moveto(XMarkerpchsqueue01)
        customer10 = customer
        pchscustomermarker2.ForceRefTo(customer10)
        (Customer10 as Actor).AddToFaction(pchsProstitution1Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue02)
        customer20 = customer
        pchscustomermarker3.ForceRefTo(customer20)
        (Customer20 as Actor).AddToFaction(pchsProstitution2Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue03)
        customer30 = customer
        pchscustomermarker4.ForceRefTo(customer30)
        (Customer30 as Actor).AddToFaction(pchsProstitution3Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue04)
        customer40 = customer
        pchscustomermarker5.ForceRefTo(customer40)
        (Customer40 as Actor).AddToFaction(pchsProstitution4Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue05)
        customer50 = customer
        pchscustomermarker6.ForceRefTo(customer50)
        (Customer50 as Actor).AddToFaction(pchsProstitution5Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue06)
        customer60 = customer
        pchscustomermarker7.ForceRefTo(customer60)
        (Customer60 as Actor).AddToFaction(pchsProstitution6Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue07)
        customer10 = customer
        pchscustomermarker8.ForceRefTo(customer70)
        (Customer70 as Actor).AddToFaction(pchsProstitution7Faction)
        utility.wait(0.1)
;END CODE
EndFunction
;END FRAGMENT

;BEGIN FRAGMENT Fragment_11
Function Fragment_11()
;BEGIN CODE
pchsForcegreetRepeat()
        
        pchscustomer1package.ForceRefTo(Customer10)
        pchsFatherAlias.ForceRefTo(FatherRef)
;END CODE
EndFunction
;END FRAGMENT

;BEGIN FRAGMENT Fragment_20
Function Fragment_20()
;BEGIN CODE
Utility.wait(10)
        customer1.disable()
        customer2.disable()
        customer3.disable()
        customer4.disable()
        customer5.disable()
        customer6.disable()
        customer7.disable()
;END CODE
EndFunction
;END FRAGMENT

;END FRAGMENT CODE - Do not edit anything between this and the begin comment

Function GetCustomer()
    Int CustomerNumber = Utility.RandomInt(1,7)
    IF CustomerNumber == 1 && Customer1A == true
    Customer1.enable()
        Customer = Customer1
        Customer1A = false
    ElseIf CustomerNumber == 2 && Customer2A == true
    Customer2.enable()
        Customer = Customer2
        Customer2A = false
    ElseIf CustomerNumber == 3 && Customer3A == true
    Customer3.enable()
        Customer = Customer3
        Customer3A = false
    ElseIf CustomerNumber == 4 && Customer4A == true
    Customer4.enable()
        Customer = Customer4
        Customer4A = false
    ElseIf CustomerNumber == 5 && Customer5A == true
    Customer5.enable()
        Customer = Customer5
        Customer5A = false
    ElseIf CustomerNumber == 6 && Customer6A == true
    Customer6.enable()
        Customer = Customer6
        Customer6A = false
    ElseIf CustomerNumber == 7 && Customer7A == true
    Customer7.enable()
        Customer = Customer7
        Customer7A = false
   Else
    getcustomer()
utility.wait(0.1)

EndIf
EndFunction


Function pchsForcegreetRepeat()
            Customer10 = Game.FindRandomActorFromRef(XMarkerpchsqueue01, 5.0)
            If (customer10 as Actor).IsInFaction(pchsProstitution1Faction )==False
            Utility.wait(0.1)
            pchsForcegreetRepeat()
            EndIf
EndFunction

Function pchsFindCustomer2()
            Customer20 = Game.FindRandomActorFromRef(XMarkerpchsqueue02, 5.0)
            If (customer20 as Actor).IsInFaction(pchsProstitution2Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer2()
            EndIf
EndFunction

Function pchsFindCustomer3()
            Customer30 = Game.FindRandomActorFromRef(XMarkerpchsqueue03, 5.0)
            If (customer30 as Actor).IsInFaction(pchsProstitution3Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer3()
            EndIf
EndFunction

Function pchsFindCustomer4()
            Customer40 = Game.FindRandomActorFromRef(XMarkerpchsqueue04, 5.0)
            If (customer40 as Actor).IsInFaction(pchsProstitution4Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer4()
            EndIf
EndFunction

Function pchsFindCustomer5()
            Customer50 = Game.FindRandomActorFromRef(XMarkerpchsqueue05, 5.0)
            If (customer50 as Actor).IsInFaction(pchsProstitution5Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer5()
            EndIf
EndFunction

Function pchsFindCustomer6()
            Customer60 = Game.FindRandomActorFromRef(XMarkerpchsqueue06, 5.0)
            If (customer60 as Actor).IsInFaction(pchsProstitution6Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer6()
            EndIf
EndFunction

Function pchsFindCustomer7()
            Customer70 = Game.FindRandomActorFromRef(XMarkerpchsqueue07, 5.0)
            If (customer70 as Actor).IsInFaction(pchsProstitution7Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer7()
            EndIf
EndFunction

Function next()

EndFunction


Quest Property pchsProstitutionQuest001 Auto
Quest Property pchsProstitutionDialogueQuest Auto
Quest Property pchsProstitutionQuest Auto

bool Property Customer1A = true Auto
bool Property Customer2A = true Auto
bool Property Customer3A = true Auto
bool Property Customer4A = true Auto
bool Property Customer5A = true Auto
bool Property Customer6A = true Auto
bool Property Customer7A = true Auto

ObjectReference Property Customer Auto
ObjectReference Property Customer1 Auto
ObjectReference Property Customer2 Auto
ObjectReference Property Customer3 Auto
ObjectReference Property Customer4 Auto
ObjectReference Property Customer5 Auto
ObjectReference Property Customer6 Auto
ObjectReference Property Customer7 Auto

ObjectReference Property Customer10 Auto
ObjectReference Property Customer20 Auto
ObjectReference Property Customer30 Auto
ObjectReference Property Customer40 Auto
ObjectReference Property Customer50 Auto
ObjectReference Property Customer60 Auto
ObjectReference Property Customer70 Auto

ObjectReference Property XMarkerpchsqueue01 Auto
ObjectReference Property XMarkerpchsqueue02 Auto
ObjectReference Property XMarkerpchsqueue03 Auto
ObjectReference Property XMarkerpchsqueue04 Auto
ObjectReference Property XMarkerpchsqueue05 Auto
ObjectReference Property XMarkerpchsqueue06 Auto
ObjectReference Property XMarkerpchsqueue07 Auto

Faction Property pchsProstitution1Faction Auto
Faction Property pchsProstitution2Faction Auto
Faction Property pchsProstitution3Faction Auto
Faction Property pchsProstitution4Faction Auto
Faction Property pchsProstitution5Faction Auto
Faction Property pchsProstitution6Faction Auto
Faction Property pchsProstitution7Faction Auto
Faction Property pchsProstitutionFinishFaction Auto

ReferenceAlias Property pchscustomer1package Auto
ReferenceAlias Property pchscustomermarker2 Auto
ReferenceAlias Property pchscustomermarker3 Auto
ReferenceAlias Property pchscustomermarker4 Auto
ReferenceAlias Property pchscustomermarker5 Auto
ReferenceAlias Property pchscustomermarker6 Auto
ReferenceAlias Property pchscustomermarker7 Auto
ReferenceAlias Property pchscustomermarker8 Auto
ReferenceAlias Property pchsProstitutionGoodMorning Auto
ReferenceAlias Property pchscustomerLeave00 Auto
ReferenceAlias Property pchsFatherAlias Auto

SexLabFramework Property SexLab  Auto 

Actor Property PlayerRef  Auto  
Actor Property FatherRef Auto

ReferenceAlias Property pchsProstitutionCustomerApproach  Auto  
 

 

Posted

Stupid question perhaps but are you sure the forcegreet is not happening? I can't really think of a way to test it, which leads to the next question: did you generate the sequence file for your quest containing the dialogue?

Posted (edited)
7 hours ago, adle said:

Hi Folks,

 

i need help with forcegreet packages in CK.

Iam writing a scripts, where a queue is standing outside of a room, (7 People in total) and then the first one is approaching the player.

Weirdly, my force greet package doesnt work. 

 

How It works:

As soon as one Guy is finished, he should leave the queue and all other guys move one position forward.

Which is why i had to make object references to make sure that the queue is also randomly filled.

 

Now iam trying forced the Alias for the forcegreet to the first guy. Nothing happens. Since they are no actors, but object references, i had to set the actor as object ref.

But still, nothing works. No ForceGreet, therefore no dialogue.

 

any tips how to solve this issue?

 

  Reveal hidden contents

;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment
;NEXT FRAGMENT INDEX 22
Scriptname QF_pchsProstitutionQuest001_0A00AA0C Extends Quest Hidden

;BEGIN FRAGMENT Fragment_18
Function Fragment_18()
;BEGIN CODE
pchsFindCustomer2()
pchsFindCustomer3()
pchsFindCustomer4()
pchsFindCustomer5()
pchsFindCustomer6()
pchsFindCustomer7()

(Customer20 as Actor).removeFromFaction(pchsProstitution2Faction)
(Customer30 as Actor).removeFromFaction(pchsProstitution3Faction)
(Customer40 as Actor).removeFromFaction(pchsProstitution4Faction)
(Customer50 as Actor).removeFromFaction(pchsProstitution5Faction)
(Customer60 as Actor).removeFromFaction(pchsProstitution6Faction)
(Customer70 as Actor).removeFromFaction(pchsProstitution7Faction)

(Customer20 as Actor).addToFaction(pchsProstitution1Faction)
(Customer30 as Actor).addToFaction(pchsProstitution2Faction)
(Customer40 as Actor).addToFaction(pchsProstitution3Faction)
(Customer50 as Actor).addToFaction(pchsProstitution4Faction)
(Customer60 as Actor).addToFaction(pchsProstitution5Faction)
(Customer70 as Actor).addToFaction(pchsProstitution6Faction)

pchscustomermarker2.clear()
pchscustomermarker3.clear()
pchscustomermarker4.clear()
pchscustomermarker5.clear()
pchscustomermarker6.clear()
pchscustomermarker7.clear()

pchscustomer1package.ForceRefTo(Customer20)
pchscustomermarker2.ForceRefTo(Customer30)
pchscustomermarker3.ForceRefTo(Customer40)
pchscustomermarker4.ForceRefTo(Customer50)
pchscustomermarker5.ForceRefTo(Customer60)
pchscustomermarker6.ForceRefTo(Customer70)

pchsProstitutionQuest001.reset()
pchsProstitutionQuest001.setstage(30)

    If Game.GetPlayer().GetDistance(Customer30) > 5000
    Game.GetPlayer().AddToFaction(pchsProstitutionFinishFaction)
EndIf
;END CODE
EndFunction
;END FRAGMENT

;BEGIN FRAGMENT Fragment_16
Function Fragment_16()
;BEGIN CODE
pchsForcegreetRepeat()
    
        pchscustomer1package.clear()
             
        pchscustomerLeave00.ForceRefTo(Customer10)
        pchsProstitutionQuest001.setstage(40)
;END CODE
EndFunction
;END FRAGMENT

;BEGIN FRAGMENT Fragment_2
Function Fragment_2()
;BEGIN CODE
getcustomer()
    customer.moveto(XMarkerpchsqueue01)
        customer10 = customer
        pchscustomermarker2.ForceRefTo(customer10)
        (Customer10 as Actor).AddToFaction(pchsProstitution1Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue02)
        customer20 = customer
        pchscustomermarker3.ForceRefTo(customer20)
        (Customer20 as Actor).AddToFaction(pchsProstitution2Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue03)
        customer30 = customer
        pchscustomermarker4.ForceRefTo(customer30)
        (Customer30 as Actor).AddToFaction(pchsProstitution3Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue04)
        customer40 = customer
        pchscustomermarker5.ForceRefTo(customer40)
        (Customer40 as Actor).AddToFaction(pchsProstitution4Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue05)
        customer50 = customer
        pchscustomermarker6.ForceRefTo(customer50)
        (Customer50 as Actor).AddToFaction(pchsProstitution5Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue06)
        customer60 = customer
        pchscustomermarker7.ForceRefTo(customer60)
        (Customer60 as Actor).AddToFaction(pchsProstitution6Faction)
        utility.wait(0.1)
getcustomer()
    customer.moveto(XMarkerpchsqueue07)
        customer10 = customer
        pchscustomermarker8.ForceRefTo(customer70)
        (Customer70 as Actor).AddToFaction(pchsProstitution7Faction)
        utility.wait(0.1)
;END CODE
EndFunction
;END FRAGMENT

;BEGIN FRAGMENT Fragment_11
Function Fragment_11()
;BEGIN CODE
pchsForcegreetRepeat()
        
        pchscustomer1package.ForceRefTo(Customer10)
        pchsFatherAlias.ForceRefTo(FatherRef)
;END CODE
EndFunction
;END FRAGMENT

;BEGIN FRAGMENT Fragment_20
Function Fragment_20()
;BEGIN CODE
Utility.wait(10)
        customer1.disable()
        customer2.disable()
        customer3.disable()
        customer4.disable()
        customer5.disable()
        customer6.disable()
        customer7.disable()
;END CODE
EndFunction
;END FRAGMENT

;END FRAGMENT CODE - Do not edit anything between this and the begin comment

Function GetCustomer()
    Int CustomerNumber = Utility.RandomInt(1,7)
    IF CustomerNumber == 1 && Customer1A == true
    Customer1.enable()
        Customer = Customer1
        Customer1A = false
    ElseIf CustomerNumber == 2 && Customer2A == true
    Customer2.enable()
        Customer = Customer2
        Customer2A = false
    ElseIf CustomerNumber == 3 && Customer3A == true
    Customer3.enable()
        Customer = Customer3
        Customer3A = false
    ElseIf CustomerNumber == 4 && Customer4A == true
    Customer4.enable()
        Customer = Customer4
        Customer4A = false
    ElseIf CustomerNumber == 5 && Customer5A == true
    Customer5.enable()
        Customer = Customer5
        Customer5A = false
    ElseIf CustomerNumber == 6 && Customer6A == true
    Customer6.enable()
        Customer = Customer6
        Customer6A = false
    ElseIf CustomerNumber == 7 && Customer7A == true
    Customer7.enable()
        Customer = Customer7
        Customer7A = false
   Else
    getcustomer()
utility.wait(0.1)

EndIf
EndFunction


Function pchsForcegreetRepeat()
            Customer10 = Game.FindRandomActorFromRef(XMarkerpchsqueue01, 5.0)
            If (customer10 as Actor).IsInFaction(pchsProstitution1Faction )==False
            Utility.wait(0.1)
            pchsForcegreetRepeat()
            EndIf
EndFunction

Function pchsFindCustomer2()
            Customer20 = Game.FindRandomActorFromRef(XMarkerpchsqueue02, 5.0)
            If (customer20 as Actor).IsInFaction(pchsProstitution2Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer2()
            EndIf
EndFunction

Function pchsFindCustomer3()
            Customer30 = Game.FindRandomActorFromRef(XMarkerpchsqueue03, 5.0)
            If (customer30 as Actor).IsInFaction(pchsProstitution3Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer3()
            EndIf
EndFunction

Function pchsFindCustomer4()
            Customer40 = Game.FindRandomActorFromRef(XMarkerpchsqueue04, 5.0)
            If (customer40 as Actor).IsInFaction(pchsProstitution4Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer4()
            EndIf
EndFunction

Function pchsFindCustomer5()
            Customer50 = Game.FindRandomActorFromRef(XMarkerpchsqueue05, 5.0)
            If (customer50 as Actor).IsInFaction(pchsProstitution5Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer5()
            EndIf
EndFunction

Function pchsFindCustomer6()
            Customer60 = Game.FindRandomActorFromRef(XMarkerpchsqueue06, 5.0)
            If (customer60 as Actor).IsInFaction(pchsProstitution6Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer6()
            EndIf
EndFunction

Function pchsFindCustomer7()
            Customer70 = Game.FindRandomActorFromRef(XMarkerpchsqueue07, 5.0)
            If (customer70 as Actor).IsInFaction(pchsProstitution7Faction )==False
            Utility.wait(0.1)
            pchsFindCustomer7()
            EndIf
EndFunction

Function next()

EndFunction


Quest Property pchsProstitutionQuest001 Auto
Quest Property pchsProstitutionDialogueQuest Auto
Quest Property pchsProstitutionQuest Auto

bool Property Customer1A = true Auto
bool Property Customer2A = true Auto
bool Property Customer3A = true Auto
bool Property Customer4A = true Auto
bool Property Customer5A = true Auto
bool Property Customer6A = true Auto
bool Property Customer7A = true Auto

ObjectReference Property Customer Auto
ObjectReference Property Customer1 Auto
ObjectReference Property Customer2 Auto
ObjectReference Property Customer3 Auto
ObjectReference Property Customer4 Auto
ObjectReference Property Customer5 Auto
ObjectReference Property Customer6 Auto
ObjectReference Property Customer7 Auto

ObjectReference Property Customer10 Auto
ObjectReference Property Customer20 Auto
ObjectReference Property Customer30 Auto
ObjectReference Property Customer40 Auto
ObjectReference Property Customer50 Auto
ObjectReference Property Customer60 Auto
ObjectReference Property Customer70 Auto

ObjectReference Property XMarkerpchsqueue01 Auto
ObjectReference Property XMarkerpchsqueue02 Auto
ObjectReference Property XMarkerpchsqueue03 Auto
ObjectReference Property XMarkerpchsqueue04 Auto
ObjectReference Property XMarkerpchsqueue05 Auto
ObjectReference Property XMarkerpchsqueue06 Auto
ObjectReference Property XMarkerpchsqueue07 Auto

Faction Property pchsProstitution1Faction Auto
Faction Property pchsProstitution2Faction Auto
Faction Property pchsProstitution3Faction Auto
Faction Property pchsProstitution4Faction Auto
Faction Property pchsProstitution5Faction Auto
Faction Property pchsProstitution6Faction Auto
Faction Property pchsProstitution7Faction Auto
Faction Property pchsProstitutionFinishFaction Auto

ReferenceAlias Property pchscustomer1package Auto
ReferenceAlias Property pchscustomermarker2 Auto
ReferenceAlias Property pchscustomermarker3 Auto
ReferenceAlias Property pchscustomermarker4 Auto
ReferenceAlias Property pchscustomermarker5 Auto
ReferenceAlias Property pchscustomermarker6 Auto
ReferenceAlias Property pchscustomermarker7 Auto
ReferenceAlias Property pchscustomermarker8 Auto
ReferenceAlias Property pchsProstitutionGoodMorning Auto
ReferenceAlias Property pchscustomerLeave00 Auto
ReferenceAlias Property pchsFatherAlias Auto

SexLabFramework Property SexLab  Auto 

Actor Property PlayerRef  Auto  
Actor Property FatherRef Auto

ReferenceAlias Property pchsProstitutionCustomerApproach  Auto  
 

 

 

 


Forcegreet can be a bit finicky in my experience.  If you don't need the player to make a choice you could consider using a scene to have the first one say something instead.

In any case general advice: Start from something simple and once that works start expanding it.
So:

(1) Have one customer, have them go to a marker

once that works.

(2) Have one customer, have them force greet the player and do whatever.
(3) Have two customers, have the second move to the first place after first FGs the player.
(4) then expand to any number.

 

Also:  Make sure the conditions on (at least on of the responses in) the forcegreet topic are satified.

If the dialog is on another quest that quest may have to be running...not sure.

If the quest is start game enbled you indeed need to update the seq file ... but would not expect that to be the case here. 

 

More specific:   Are you sure your customer management is working, can't be sure without the context but seems overly complicated.
 This looks like the quest fragment but I'm missing the ALIAS_... seems this quest has no aliases? Are ReferenceAlias Property pchscustomer1package Auto
 ReferenceAlias Property pchscustomermarker2 Auto etc. Aliases on a different quest?  (are they properly filled?)

What I would expect on the quest is (for a queue of x):
alias spot 1-x, for the waiting locations (filled with specific marker reference picked from the render window)
alias client 1-x, for the clients filled with conditions, all (except first) optional (not choosing `allow reuse in quest' ensures all different).

Package assigned to client i: `move to location -spot i' (small radius), (repeat when done) to send them and keep them on their spot.  (i > 1)
Package on client 1: Move to near player and Forcegreet - what ever else is supposed to happen then triggered from topic scripts (just have walk-away covered so it does not get stuck if player does not make a choice/get's interrupted).
Once a spot frees, just move each client one alias up eg:
ReferenceAlias a = GetAliasByName("Client1") as ReferenceAlias
ReferenceAlias b =GetAliasByName("Client2") as ReferenceAlias
Int i = 3
While b && b.getRef()
    ObjectReference c = b.getRef()
    b.clear()
    a.ForceRefTo( c )
    (c as actor).evaluatepackage()    ; Force c to start it's new behavior (move to next marker)
    a = b
    b = GetAliasByName("Client"+i) as ReferenceAlias
    i += 1
    Utility.Wait( 1.0 )  ; give previous a second to start moving before updating next.
EndWhile

 

(or just copy a number of times instead of the loop, but I think idea is clear...)

But maybe I misunderstood what you're trying to achieve.

 

Edited by MTB
Posted

thanks you both.

i guess i fixed the first force greet now. noticed that some stages didnt proceed and got hung up. still figure out why. might be a problem with my script beeing to heavy

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