Jump to content

Lovetalk looping problem


Miss Sakaki

Recommended Posts

When I test this script, the first lovetalk loops, though later talks seem to fire OK. What am I doing wrong?

 

Here's the initial romance check:

 

 

IF
Global("NathMatch","GLOBAL",0)
Global("CheckNathMatch","GLOBAL",0)
Gender(Player1,MALE)
Global("NathRomanceActive","GLOBAL",0)
!Global("NathRomanceActive","GLOBAL",3)
!Global("AerieRomanceActive","GLOBAL",2)
!Global("JaheiraRomanceActive","GLOBAL",2)
!Global("ViconiaRomanceActive","GLOBAL",2)
!Global("SaerilethRomanceActive","GLOBAL",2)
!Global("TashiaRomanceActive","GLOBAL",2)
!Global("imoenromanceactive","GLOBAL",2)
!Global("E3FadeRomanceActive","GLOBAL",2)
!Class(Player1,THIEF_ALL)
OR(3)
Alignment(Player1,MASK_GOOD)
Alignment(Player1,LAWFUL_NEUTRAL)
Class(Player1,DRUID)
OR(3)
Race(Player1,HUMAN)
Race(Player1,HALF_ELF)
Race(Player1,ELF)
THEN
RESPONSE #100
SetGlobal("CheckNathMatch","GLOBAL",1)
SetGlobal("NathMatch","GLOBAL",1)
SetGlobal("NathRomanceActive","GLOBAL",1)
SetGlobal("NathLoveTalk","LOCALS",1)
RealSetGlobalTimer("NathLoveTalkTime","GLOBAL",1000)
END

 

And here are the lovetalk scripts:

 

 

 

IF
InParty(Myself)
RealGlobalTimerExpired("NathLoveTalkTime","GLOBAL")
Global("NathMatch","GLOBAL",1)
!Global("FHPreTerlNoTalking","GLOBAL",1)
!Global("FHPreBryceNoTalking","GLOBAL",1)
!Global("NathRomanceActive","GLOBAL",3)
!AreaType(DUNGEON)
PartyRested()
See(Player1)
CombatCounter(0)
OR(19)
Global("NathLoveTalk","LOCALS",1)
Global("NathLoveTalk","LOCALS",3)
Global("NathLoveTalk","LOCALS",5)
Global("NathLoveTalk","LOCALS",7)
Global("NathLoveTalk","LOCALS",9)
Global("NathLoveTalk","LOCALS",11)
Global("NathLoveTalk","LOCALS",13)
Global("NathLoveTalk","LOCALS",15)
Global("NathLoveTalk","LOCALS",21)
Global("NathLoveTalk","LOCALS",23)
Global("NathLoveTalk","LOCALS",25)
Global("NathLoveTalk","LOCALS",27)
Global("NathLoveTalk","LOCALS",29)
Global("NathLoveTalk","LOCALS",35)
Global("NathLoveTalk","LOCALS",37)
Global("NathLoveTalk","LOCALS",39)
Global("NathLoveTalk","LOCALS",45)
Global("NathLoveTalk","LOCALS",51)
Global("NathLoveTalk","LOCALS",53)
THEN
RESPONSE #100
RealSetGlobalTimer("NathLoveTalkTime","GLOBAL",10)
END

 

 

 

IF
InParty(Myself)
RealGlobalTimerExpired("NathLoveTalkTime","GLOBAL")
!Global("NathRomanceActive","GLOBAL",0)
!Global("NathRomanceActive","GLOBAL",3)
!Global("FHPreTerlNoTalking","GLOBAL",1)
!Global("FHPreBryceNoTalking","GLOBAL",1)
!Global("FHPreVampNoTalking","GLOBAL",1)
!AreaCheck("AR1300")
!AreaType(DUNGEON)
See(Player1)
CombatCounter(0)
!See([ENEMY])
OR(19)
Global("NathLoveTalk","LOCALS",1)
Global("NathLoveTalk","LOCALS",3)
Global("NathLoveTalk","LOCALS",5)
Global("NathLoveTalk","LOCALS",7)
Global("NathLoveTalk","LOCALS",9)
Global("NathLoveTalk","LOCALS",11)
Global("NathLoveTalk","LOCALS",13)
Global("NathLoveTalk","LOCALS",15)
Global("NathLoveTalk","LOCALS",21)
Global("NathLoveTalk","LOCALS",23)
Global("NathLoveTalk","LOCALS",25)
Global("NathLoveTalk","LOCALS",27)
Global("NathLoveTalk","LOCALS",29)
Global("NathLoveTalk","LOCALS",35)
Global("NathLoveTalk","LOCALS",37)
Global("NathLoveTalk","LOCALS",39)
Global("NathLoveTalk","LOCALS",45)
Global("NathLoveTalk","LOCALS",51)
Global("NathLoveTalk","LOCALS",53)
THEN
RESPONSE #100
IncrementGlobal("NathLoveTalk","LOCALS",1)
MoveViewObject(Player1,INSTANT)
Interact(Player1)
END

 

 

 

IF
InParty(Myself)
!Global("NathRomanceActive","GLOBAL",0)
!Global("NathRomanceActive","GLOBAL",3)
!Global("NathMatch","GLOBAL",1)
!Global("FHPreTerlNoTalking","GLOBAL",1)
!Global("FHPreBryceNoTalking","GLOBAL",1)
!Global("FHPreVampNoTalking","GLOBAL",1)
RealGlobalTimerExpired("NathLoveTalkTime","GLOBAL")
OR(27)
Global("NathLoveTalk","LOCALS",2)
Global("NathLoveTalk","LOCALS",4)
Global("NathLoveTalk","LOCALS",6)
Global("NathLoveTalk","LOCALS",8)
Global("NathLoveTalk","LOCALS",10)
Global("NathLoveTalk","LOCALS",12)
Global("NathLoveTalk","LOCALS",14)
Global("NathLoveTalk","LOCALS",16)
Global("NathLoveTalk","LOCALS",18)
Global("NathLoveTalk","LOCALS",20)
Global("NathLoveTalk","LOCALS",22)
Global("NathLoveTalk","LOCALS",24)
Global("NathLoveTalk","LOCALS",26)
Global("NathLoveTalk","LOCALS",28)
Global("NathLoveTalk","LOCALS",30)
Global("NathLoveTalk","LOCALS",32)
Global("NathLoveTalk","LOCALS",34)
Global("NathLoveTalk","LOCALS",36)
Global("NathLoveTalk","LOCALS",38)
Global("NathLoveTalk","LOCALS",40)
Global("NathLoveTalk","LOCALS",42)
Global("NathLoveTalk","LOCALS",44)
Global("NathLoveTalk","LOCALS",46)
Global("NathLoveTalk","LOCALS",48)
Global("NathLoveTalk","LOCALS",50)
Global("NathLoveTalk","LOCALS",52)
Global("NathLoveTalk","LOCALS",54)
THEN
RESPONSE #100
IncrementGlobal("NathLoveTalk","LOCALS",1)
RealSetGlobalTimer("NathLoveTalkTime","GLOBAL",2400)
END

 

 

IF
InParty(Myself)
PartyRested()
!Global("NathRomanceActive","GLOBAL",0)
!Global("NathRomanceActive","GLOBAL",3)
!Global("FHPreTerlNoTalking","GLOBAL",1)
!Global("FHPreBryceNoTalking","GLOBAL",1)
!Global("FHPreVampNoTalking","GLOBAL",1)
Global("NathMatch","GLOBAL",1)
!AreaType(DUNGEON)
See(Player1)
CombatCounter(0)
OR(5)
Global("NathLoveTalk","LOCALS",19)
Global("NathLoveTalk","LOCALS",31)
Global("NathLoveTalk","LOCALS",33)
Global("NathLoveTalk","LOCALS",43)
Global("NathLoveTalk","LOCALS",49)
THEN
RESPONSE #100
IncrementGlobal("NathLoveTalk","LOCALS",1)
RealSetGlobalTimer("NathLoveTalkTime","GLOBAL",1)
Interact(Player1)
END

Link to comment

The dialogue is the thing that loops - here are the conditions:

 

IF
~Global("NathRomanceActive","GLOBAL",1)
Global("NathLoveTalk","LOCALS",2)
Global("NathMatch","GLOBAL",1)
GlobalTimerExpired("NathLoveTalkTime)~ THEN BEGIN NathLT1

 

And here's the condition for the second lovetalk:

 

IF
~Global("NathRomanceActive","GLOBAL",1)
Global("NathLoveTalk","LOCALS",4)
Global("NathMatch","GLOBAL",1)
GlobalTimerExpired("NathLoveTalkTime","GLOBAL")~
THEN BEGIN NathLT2

Link to comment

IF

InParty(Myself)

!Global("NathRomanceActive","GLOBAL",0)

!Global("NathRomanceActive","GLOBAL",3)

!Global("NathMatch","GLOBAL",1)

!Global("FHPreTerlNoTalking","GLOBAL",1)

!Global("FHPreBryceNoTalking","GLOBAL",1)

!Global("FHPreVampNoTalking","GLOBAL",1)

RealGlobalTimerExpired("NathLoveTalkTime","GLOBAL")

OR(27)

...

 

This block (the 4th in your first post) doesn't get executed because of the negotiation of the match case, i.e. the "NathLoveTalk" variable does not get incremented and the timer not newly set.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...