This is the problematic function indicated by the error statement. No problems have been found so far.
LogVerse: Error: VerseRuntimeErrors: Verse unrecoverable error: ErrRuntime_InvalidVarRead: Attempted to read a var
out of an invalid object.
Truncated callstack follows:
task_GameManager$GenarateUIStart(:Generation,:agent,:GenerateChairData):Update (Unknown source) (Source: Unknown(0,0, 0,0))
GenarateUIStart(Generator : Generation,Agent : agent,SeatData : GenerateChairData)<suspends>:void=
Print("GenerateStart",?Color := NamedColors.Yellow)
if(set PlayerDatas[Agent].PlayerState = State.Generate):
var EventCount : int = 0
var CheckNow : logic = false
GenerateSound.Play(Agent)
race:
loop:
Ag := MoveXCheck.PressedEvent.Await()
if(Ag = Agent){break}
loop:
Ag := MoveYCheck.PressedEvent.Await()
if(Ag = Agent){break}
loop:
Ag := JumpCheck.PressedEvent.Await()
if(Ag = Agent){break}
loop:
Sleep(0.1)
Generator.AddEnergy(0.18)
Size := (Generator.NowEnergy/100.0)
if(not Generator.IsGenerated[]):
VarUpdate(Agent,Size)
loop:
Sleep(GetRandomFloat(7.0,13.0))
if(SK := SkillCheck[GetRandomInt(0,SkillCheck.Length - 1)]):
if(Movie := SK.Cinema[PlayerDatas[Agent].PlayerNumber]):
Movie.Play(Agent)
set CheckNow = true
NowTime := GetSimulationElapsedTime()
race:
loop:
Ag := ShotCheck.PressedEvent.Await()
if(Ag = Agent):
break
Movie.StoppedEvent.Await()
Movie.Stop(Agent)
Difference := Abs(GetSimulationElapsedTime() - NowTime - SK.ActiveFrame*(1.0/30.0))
if(Difference <= 0.06):
Generator.AddEnergy(1.0)
Print("Great")
GreatSound.Play(Agent)
else if(Difference <= 0.15):
Print("OK")
OKSound.Play(Agent)
else:
Print("Miss")
MissSound.Play(Agent)
if(FortChar := Agent.GetFortCharacter[],FortChar.IsActive[],Generator.EffectPos.IsValid[]):
Angele := ReturnTan(Generator.EffectPos.GetTransform(),FortChar.GetTransform())
var PosIn : transform = Generator.EffectPos.GetTransform()
set PosIn.Rotation = MakeRotationFromYawPitchRollDegrees(Angele,0.0,0.0)
Generator.AddEnergy(-5.0)
Prop := SpawnProp(MissEffect,PosIn)(0)
if(p := Prop?):
spawn{DeleteDelay(p,3.0)}
break
Print("Diffence = {Difference}")
set CheckNow = false
loop:
Generator.Shake()
Sleep(1.0)
loop:
Ag := DamageEvent.Await()
if(Ag = Agent):
break
Generator.SuccsessEvent.Await()
if(not Generator.IsGenerated[]):
SeatData.Button.Enable()
if(CheckNow = true and not Generator.IsGenerated[]):
MissSound.Play(Agent)
if(FortChar := Agent.GetFortCharacter[],FortChar.IsActive[],Generator.EffectPos.IsValid[]):
Angele := ReturnTan(Generator.EffectPos.GetTransform(),FortChar.GetTransform())
var Pos : transform = Generator.EffectPos.GetTransform()
set Pos.Rotation = MakeRotationFromYawPitchRollDegrees(Angele,0.0,0.0)
Generator.AddEnergy(-5.0)
Prop := SpawnProp(MissEffect,Pos)(0)
if(p := Prop?):
spawn{DeleteDelay(p,3.0)}
for(SK : SkillCheck):
if(Movie := SK.Cinema[PlayerDatas[Agent].PlayerNumber]):
Movie.Stop(Agent)
GenerateSound.Stop(Agent)
if(Chair := PlayerDatas[Agent].SeatChair?):
Chair.Eject(Agent)
VarHide(Agent)
if(set PlayerDatas[Agent].SeatChair = false):
Print("GenerateEnd",?Color := NamedColors.Yellow)
if(PlayerDatas[Agent].PlayerHealth >= 1.0):
if(set PlayerDatas[Agent].PlayerState = State.Free):
Print("Free")
return