Jump to content

The critter thread


Sclerocephalus

Recommended Posts

Most of the errors listed in your spoiler above are in #13551, but not the GetAngle ones. That issue isn't even confirmed much less fixed, though with my current game I'm not seeing any critter errors at all.

I have seen them (GetAngle) before, but related to critterfish, and always in a big block of errors like yours above.

Link to comment
Share on other sites

I'm also going to assume that 13551 is now fixed since DayDreamer's code was specifically targeted toward all of that stuff. So many critter errors everywhere, we probably have other tickets in need of closing now too.

Link to comment
Share on other sites

These errors (below) also occurred in my game with the 2.0.1 release. Again, it may be the result of a non-retroactive script fix, but I thought perhaps I should report it anyway.

BTW: this is not a new game (this one was started in early October 13').

[02/09/2014 - 03:06:36PM] error: Cannot call IsDeleted() on a None object, aborting function call
stack:
    [ (FF001A9F)].critterFish.DisableAndDelete() - "Critter.psc" Line 401
    [ (FF001A9F)].critterFish.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001A9F)].critterFish.OnUpdate() - "CritterFish.psc" Line 86
[02/09/2014 - 03:06:36PM] warning: Assigning None to a non-object variable named "::temp31"
stack:
    [ (FF001A9F)].critterFish.DisableAndDelete() - "Critter.psc" Line 401
    [ (FF001A9F)].critterFish.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001A9F)].critterFish.OnUpdate() - "CritterFish.psc" Line 86
[02/09/2014 - 03:06:36PM] error: Cannot call IsDisabled() on a None object, aborting function call
stack:
    [ (FF001A9F)].critterFish.DisableAndDelete() - "Critter.psc" Line 401
    [ (FF001A9F)].critterFish.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001A9F)].critterFish.OnUpdate() - "CritterFish.psc" Line 86
[02/09/2014 - 03:06:36PM] warning: Assigning None to a non-object variable named "::temp33"
stack:
    [ (FF001A9F)].critterFish.DisableAndDelete() - "Critter.psc" Line 401
    [ (FF001A9F)].critterFish.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001A9F)].critterFish.OnUpdate() - "CritterFish.psc" Line 86
[02/09/2014 - 03:19:23PM] error: Cannot call X() on a None object, aborting function call
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 233
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/09/2014 - 03:19:23PM] warning: Assigning None to a non-object variable named "::temp45"
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 233
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/09/2014 - 03:19:23PM] error: Cannot call Y() on a None object, aborting function call
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 234
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/09/2014 - 03:19:23PM] warning: Assigning None to a non-object variable named "::temp45"
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 234
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/09/2014 - 03:19:23PM] error: Cannot call Z() on a None object, aborting function call
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 235
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/09/2014 - 03:19:23PM] warning: Assigning None to a non-object variable named "::temp45"
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 235
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/09/2014 - 03:19:06PM] error: Unable to call Delete - no native object bound to the script object, or object is of incorrect type
stack:
    [None].ObjectReference.Delete() - "<native>" Line ?
    [ (FF001822)].critterdragonfly.DisableAndDelete() - "Critter.psc" Line 419
    [ (FF001822)].critterdragonfly.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001822)].critterdragonfly.OnUpdate() - "CritterDragonFly.psc" Line 69
[02/09/2014 - 03:19:06PM] error: Unable to call Delete - no native object bound to the script object, or object is of incorrect type
stack:
    [None].ObjectReference.Delete() - "<native>" Line ?
    [ (FF001822)].critterdragonfly.DisableAndDelete() - "Critter.psc" Line 425
    [ (FF001822)].critterdragonfly.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001822)].critterdragonfly.OnUpdate() - "CritterDragonFly.psc" Line 69
[02/09/2014 - 03:33:25PM] error: Failed to read basic script data for critterFish attached to  (FF002ABA)
[02/09/2014 - 03:33:25PM] error: Unable to load object 0x1305E1E0 from save game
[02/09/2014 - 03:33:25PM] Errors occurred while loading the Papyrus save game data
Link to comment
Share on other sites

So many different unrelated problems listed in the same message, it's hard to reply....

[02/09/2014 - 03:06:36PM] error: Cannot call IsDeleted() on a None object, aborting function call
stack:
    [ (FF001A9F)].critterFish.DisableAndDelete() - "Critter.psc" Line 401
    [ (FF001A9F)].critterFish.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001A9F)].critterFish.OnUpdate() - "CritterFish.psc" Line 86
[02/09/2014 - 03:06:36PM] warning: Assigning None to a non-object variable named "::temp31"
stack:
    [ (FF001A9F)].critterFish.DisableAndDelete() - "Critter.psc" Line 401
    [ (FF001A9F)].critterFish.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001A9F)].critterFish.OnUpdate() - "CritterFish.psc" Line 86
[02/09/2014 - 03:06:36PM] error: Cannot call IsDisabled() on a None object, aborting function call
stack:
    [ (FF001A9F)].critterFish.DisableAndDelete() - "Critter.psc" Line 401
    [ (FF001A9F)].critterFish.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001A9F)].critterFish.OnUpdate() - "CritterFish.psc" Line 86
[02/09/2014 - 03:06:36PM] warning: Assigning None to a non-object variable named "::temp33"
stack:
    [ (FF001A9F)].critterFish.DisableAndDelete() - "Critter.psc" Line 401
    [ (FF001A9F)].critterFish.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001A9F)].critterFish.OnUpdate() - "CritterFish.psc" Line 86

See that it is in DisableAndDelete? So it should go away and never come back!

However, this is not baked-in data from an old save. This is a new error that I've already tried to get rid of by adding a wait and trying again:

if Follower
	Wait(1.414); give others time to clear leaders and followers
	if Follower && !Follower.isDeleted() && !Follower.isDisabled()
So, we know Follower isn't None. Yet it complains Follower is None (twice). That's because IsDeleted and IsDisabled are not non-interruptible. So the game engine interrupted us, and when it came back, Follower was None.

At this point it's clear the game engine is hosed and we aren't going to improve on this code. Stupid Stupid Stupid to design a threaded game engine without proper semaphore test functions.

IsDeleted is a new function as of 1.6, so you'd think they got it right. Apparently not. :(

Why check for Deleted and Disabled? Because this Follower variable could be the only thing holding the critter in memory (temporary persistence). And the Follower will pass through this same code, being Deleted at the end and Disabled at the beginning. In either case, we don't need to clear its variables. Otherwise, we need to clear its variables.

Why are there two assigning None to ::temp??? That's probably the ! bang operator test.

 

Next version should have a longer wait, as this is obviously not quite long enough.

http://www.afkmods.com/index.php?/tracdown/issue/14813-critter-follower-wait-isnt-long-enough/

 

[02/09/2014 - 03:19:23PM] error: Cannot call X() on a None object, aborting function call
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 233
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/09/2014 - 03:19:23PM] warning: Assigning None to a non-object variable named "::temp45"
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 233
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/09/2014 - 03:19:23PM] error: Cannot call Y() on a None object, aborting function call
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 234
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/09/2014 - 03:19:23PM] warning: Assigning None to a non-object variable named "::temp45"
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 234
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/09/2014 - 03:19:23PM] error: Cannot call Z() on a None object, aborting function call
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 235
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/09/2014 - 03:19:23PM] warning: Assigning None to a non-object variable named "::temp45"
stack:
    [ (FF002B2C)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 235
    [ (FF002B2C)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 302
    [ (FF002B2C)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
We used to get dozens of these at a time. Because I've moved these constant expressions out of the loop, now you only have one each.

if TargetFish && PlayerRef && CheckCellAttached(self) && Spawner && CheckCellAttached(Spawner)
	float flength = fLeashLength * 2.0
	int max = 10   ; how many times before we give up?

	; moved unchanged variables outside loop [USKP 2.0.1]
	float ftargetFishX = targetFish.X
	float ftargetFishY = targetFish.Y
	fTargetAngleZ = targetFish.GetAngleZ()
	float ftargetFishHeadingCos = Math.cos(fTargetAngleZ)
	float ftargetFishHeadingSin = Math.sin(fTargetAngleZ)

	float fSpawnerX = Spawner.X
	float fSpawnerY = Spawner.Y
	float fSpawnerZ = Spawner.Z
So we got past some other coordinates, but although we checked the Spawner, it deleted during the long execution after the test.

Next version should split the tests, so that they are closer to their variables. Won't be perfect, but maybe better.

http://www.afkmods.com/index.php?app=trac&module=issues&section=issues&do=view&id=14814

 

[02/09/2014 - 03:19:06PM] error: Unable to call Delete - no native object bound to the script object, or object is of incorrect type
stack:
    [None].ObjectReference.Delete() - "<native>" Line ?
    [ (FF001822)].critterdragonfly.DisableAndDelete() - "Critter.psc" Line 419
    [ (FF001822)].critterdragonfly.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001822)].critterdragonfly.OnUpdate() - "CritterDragonFly.psc" Line 69
[02/09/2014 - 03:19:06PM] error: Unable to call Delete - no native object bound to the script object, or object is of incorrect type
stack:
    [None].ObjectReference.Delete() - "<native>" Line ?
    [ (FF001822)].critterdragonfly.DisableAndDelete() - "Critter.psc" Line 425
    [ (FF001822)].critterdragonfly.CheckViableDistance() - "Critter.psc" Line 1115
    [ (FF001822)].critterdragonfly.OnUpdate() - "CritterDragonFly.psc" Line 69
This is simply looney:

if landingMarker && notDisabled
    landingMarker.Delete()
endIf
landingMarker = none
It's not None, and suddenly it's None. Well, how the heck did that happen? Because Delete isn't one of the non-interruptible functions. So it interrupted, and in the interim another thread somehow deleted the same thing.

 

Well, that kind of thing was supposed to be stopped by my test at the top of this function:

if bDeleting
    ; interlock [UKSP 2.0.1]
    return
endif
bDeleting = true
So this code shouldn't be able to execute twice.

 

Therefore, I conclude that the game engine is lying. I'm not going to bother making an Issue for this.

 

[02/09/2014 - 03:33:25PM] error: Failed to read basic script data for critterFish attached to  (FF002ABA)
[02/09/2014 - 03:33:25PM] error: Unable to load object 0x1305E1E0 from save game
[02/09/2014 - 03:33:25PM] Errors occurred while loading the Papyrus save game data
Anybody got any ideas about this one?
Link to comment
Share on other sites

that is the first positive thing about the scipt engine i hear in a long time: if shit gets too messed up, it clears itself. it's kind of impressive. at least surprising :D

Link to comment
Share on other sites

We need a "screwwrongdatacompletely" function from SKSE devs then? xD

 

Guys, what should i do with steve40's critter spawn scripts? Should i remove those with U**P 2.0.1 around?

Link to comment
Share on other sites

We need a "screwwrongdatacompletely" function from SKSE devs then? xD

 

Guys, what should i do with steve40's critter spawn scripts? Should i remove those with U**P 2.0.1 around?

Yes. In fact, I'd be surprised that you could function at all with both....

Link to comment
Share on other sites

Probably more baked-in data, but I'll put it here just in case:

[02/10/2014 - 09:45:13PM] error: Cannot call GetDistance() on a None object, aborting function call
stack:
    [ (FF001B0E)].critterMoth.CheckViableDistance() - "Critter.psc" Line 1110
    [ (FF001B0E)].critterMoth.OnUpdate() - "CritterMoth.psc" Line 99
[02/10/2014 - 09:45:13PM] warning: Assigning None to a non-object variable named "::temp95"
stack:
    [ (FF001B0E)].critterMoth.CheckViableDistance() - "Critter.psc" Line 1110
    [ (FF001B0E)].critterMoth.OnUpdate() - "CritterMoth.psc" Line 99
Link to comment
Share on other sites

Probably more baked-in data, but I'll put it here just in case:

[02/10/2014 - 09:45:13PM] error: Cannot call GetDistance() on a None object, aborting function call
stack:
    [ (FF001B0E)].critterMoth.CheckViableDistance() - "Critter.psc" Line 1110
    [ (FF001B0E)].critterMoth.OnUpdate() - "CritterMoth.psc" Line 99
[02/10/2014 - 09:45:13PM] warning: Assigning None to a non-object variable named "::temp95"
stack:
    [ (FF001B0E)].critterMoth.CheckViableDistance() - "Critter.psc" Line 1110
    [ (FF001B0E)].critterMoth.OnUpdate() - "CritterMoth.psc" Line 99
No, this matches current code. Line 1110 in USKP 2.0.1 says:

 

If PlayerRef && CheckCellAttached(self) && CheckFor3D(self) && PlayerRef.GetDistance(self) <= fMaxPlayerDistance
My guess is PlayerRef was OK at the start, and then OnCellAttach() happened, and the critter was deleted just after the successful test for 3D. I'll add a repeated test for PlayerRef.

 

If PlayerRef && CheckCellAttached(self) && CheckFor3D(self) && PlayerRef && PlayerRef.GetDistance(self) <= fMaxPlayerDistance
Looks silly, but may fix this particular problem.

http://www.afkmods.com/index.php?/tracdown/issue/14833-critter-can-start-deleting-in-the-middle-of-its-test-for-range/

Link to comment
Share on other sites

When testing the last, I wasn't able to verify the OnCellAttached problem, no matter how fast I jumped in and out of Riften and outside (my usual test place). Oh well, the proposed fix should work by inspection....

But I did get a log entry that a currentPlant didn't have 3D in FireFly. The vanilla test only checked once, I've now added the full CheckFor3D loop in FireFly and Moth. There are no bare Is3DLoaded left anywhere in critters.

Link to comment
Share on other sites

Had to happen eventually I suppose...

[02/12/2014 - 12:20:30PM] error: Cannot check if the reference has a named node because it has no 3D
stack:
    [ (FF000DA5)].ObjectReference.HasNode() - "<native>" Line ?
    [ (FF00110D)].critterMoth.WarpToNewPlant() - "critterMoth.psc" Line 324
    [ (FF00110D)].critterMoth.OnStart() - "critterMoth.psc" Line 68
    [ (FF00110D)].critterMoth.OnUpdate() - "Critter.psc" Line 312

First real "critter" error since starting this game - originally 2.0.1 beta (Feb 1st) now the released version.

I'll create a Tracdown issue for this, if required.
 

Link to comment
Share on other sites

Had to happen eventually I suppose...

[02/12/2014 - 12:20:30PM] error: Cannot check if the reference has a named node because it has no 3D
stack:
    [ (FF000DA5)].ObjectReference.HasNode() - "<native>" Line ?
    [ (FF00110D)].critterMoth.WarpToNewPlant() - "critterMoth.psc" Line 324
    [ (FF00110D)].critterMoth.OnStart() - "critterMoth.psc" Line 68
    [ (FF00110D)].critterMoth.OnUpdate() - "Critter.psc" Line 312

First real "critter" error since starting this game - originally 2.0.1 beta (Feb 1st) now the released version.

I'll create a Tracdown issue for this, if required.

 

Hopefully already fixed:

 

But I did get a log entry that a currentPlant didn't have 3D in FireFly. The vanilla test only checked once, I've now added the full CheckFor3D loop in FireFly and Moth. There are no bare Is3DLoaded left anywhere in critters.

You're seeing it for Moth, but as you can see I caught that, too.

 

Of course, we have no idea why 3D for a plant is appearing and disappearing. They should be more stable than critters.

Link to comment
Share on other sites

"Potential" new errors with USKP 2.0.1a:

[02/13/2014 - 11:04:39PM] error: Failed to setup moving reference because it has no parent cell or no 3D
stack:
    [ (FF002B18)].Firefly.TranslateTo() - "<native>" Line ?
    [ (FF002B18)].Firefly.HoverCloseBy() - "Firefly.psc" Line 271
    [ (FF002B18)].Firefly.OnUpdate() - "Firefly.psc" Line 118
[02/14/2014 - 12:11:11AM] error: Cannot call GetAngleZ() on a None object, aborting function call
stack:
    [ (FF002AF2)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 228
    [ (FF002AF2)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 297
    [ (FF002AF2)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/14/2014 - 03:11:11AM] warning: Assigning None to a non-object variable named "::temp42"
stack:
    [ (FF002AF2)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 228
    [ (FF002AF2)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 297
    [ (FF002AF2)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/14/2014 - 12:44:11AM] error: Cannot check if the reference has a named node because it has no 3D
stack:
    [ (FF001BA6)].ObjectReference.HasNode() - "<native>" Line ?
    [ (FF001BA7)].critterMoth.WarpToNewPlant() - "CritterMoth.psc" Line 321
    [ (FF001BA7)].critterMoth.OnStart() - "CritterMoth.psc" Line 68
    [ (FF001BA7)].critterMoth.OnUpdate() - "Critter.psc" Line 321

If any of these need to go into the tracker, let me know.

Link to comment
Share on other sites

"Potential" new errors with USKP 2.0.1a:

[02/13/2014 - 11:04:39PM] error: Failed to setup moving reference because it has no parent cell or no 3D
stack:
    [ (FF002B18)].Firefly.TranslateTo() - "<native>" Line ?
    [ (FF002B18)].Firefly.HoverCloseBy() - "Firefly.psc" Line 271
    [ (FF002B18)].Firefly.OnUpdate() - "Firefly.psc" Line 118
Here we have another case of the plant disappearing during calculations. In this case, it looks like I'd updated to use CheckFor3D(), but didn't look at the underlying logic:
if currentPlant && CheckFor3D(currentPlant) && fTargetZ < currentPlant.z
	fTargetz = currentPlant.z
endif
That should be 2 checks, and quit without 3D.
[02/14/2014 - 12:44:11AM] error: Cannot check if the reference has a named node because it has no 3D
stack:
    [ (FF001BA6)].ObjectReference.HasNode() - "<native>" Line ?
    [ (FF001BA7)].critterMoth.WarpToNewPlant() - "CritterMoth.psc" Line 321
    [ (FF001BA7)].critterMoth.OnStart() - "CritterMoth.psc" Line 68
    [ (FF001BA7)].critterMoth.OnUpdate() - "Critter.psc" Line 321
If any of these need to go into the tracker, let me know.
This I'd hoped to have fixed in the previous message.

WarpToNewPlant() is only called in one place: OnStart()

The first thing WarpToNewPlant() does is call PickNextPlant()

In 2.0.1 somebody added newPlant.Is3DLoaded() and in 2.0.1a I changed that to a CheckFor3D(newPlant):

; Check whether the new plant is valid (different from current)
; and 3D check because critters can attempt to pick disabled Nirnroots [USKP 2.0.1]
; and not too close to an actor
if (newPlant != none && newPlant != currentPlant && !newPlant.IsDisabled() && CheckFor3D(newPlant))
	if (Game.FindClosestActorFromRef(newPlant, fActorDetectionDistance) == none)
		return newPlant; [USKP 2.0.1]
	endIf
endIf
FindClosestActorFromRef() can take a long time. Perhaps we should move the CheckFor3D() after that?

So, how does the 3D for the plant go away? What exactly were you doing?

New Issue: http://www.afkmods.com/index.php?/tracdown/issue/14853-target-plant-3d-disappearing-during-calculations/

Link to comment
Share on other sites

[02/14/2014 - 12:11:11AM] error: Cannot call GetAngleZ() on a None object, aborting function call
stack:
    [ (FF002AF2)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 228
    [ (FF002AF2)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 297
    [ (FF002AF2)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
[02/14/2014 - 03:11:11AM] warning: Assigning None to a non-object variable named "::temp42"
stack:
    [ (FF002AF2)].critterFish.PickRandomPointBehindTargetFish() - "CritterFish.psc" Line 228
    [ (FF002AF2)].critterFish.SchoolWithOtherFish() - "CritterFish.psc" Line 297
    [ (FF002AF2)].critterFish.OnUpdate() - "CritterFish.psc" Line 138
This is almost identical to your previous report recorded at: http://www.afkmods.com/index.php?/tracdown/issue/14814-critter-scripts-cannot-call-x-on-a-none-object-and-yz-too/

This code is the same place 2.0.1a moved out the spawner .X and .Y tests. This is slightly before them:

if TargetFish && PlayerRef && CheckCellAttached(self) && Spawner && CheckCellAttached(Spawner)
	float flength = fLeashLength * 2.0
	int max = 10   ; how many times before we give up?

	; moved unchanged variables outside loop [USKP 2.0.1]
	float ftargetFishX = targetFish.X
	float ftargetFishY = targetFish.Y
	fTargetAngleZ = targetFish.GetAngleZ()
So targetFish was OK on the .Y, but None on the next line for .GetAngleZ()?

Any guesses how?

My guess: critter code everywhere takes too much time. The scheduler is stopping the thread, and then much later gives it another time slice. By which time the player has moved indoors, the school leader has been deleted, and this code fails. We should be happy that it doesn't happen more often.

No new issue.

Link to comment
Share on other sites

We should be happy that it doesn't happen more often.

No new issue.

It's not really that big of a deal (at least to me), these were the only errors from critters that I received in three hours of playing Skyrim. The spam from critters has been reduced by a huge amount since the 2.0.1 release.

Link to comment
Share on other sites

So, how does the 3D for the plant go away? What exactly were you doing?

 

It's not really that big of a deal (at least to me), these were the only errors from critters that I received in three hours of playing Skyrim. The spam from critters has been reduced by a huge amount since the 2.0.1 release.

Ah, when I'm testing, I quit every 10 minutes or so and check the logs.

 

When you figure out what you are doing to make some of these errors show up, hopefully I'll be able to reproduce. Hard to test a fix without a test. :)

Link to comment
Share on other sites

Critter Errrors in Riften.zip

 

These "may be" some of the same errors (or similar errors) that I have already reported with USKP 2.0.1a. I was able to confirm that these occurred soon after entering Riften at the entrance near Honorhall. Since, I don't know what kind of "unusual" behavior to look for with the moths, fireflies, etc., the only thing that I noticed was that they were flying around near the orphanage and some were landing on flora (flowers) nearby. Also, I wasn't doing anything out of the ordinary, I was just passing by the orphanage area on my way to Honeyside Manor.

 

Hopefully, this information "will be" helpful.

 

Mods/Load order:

Skyrim.esm
Update.esm [1.9.32.0.8]
Unofficial Skyrim Patch.esp [2.0.1a]
Dawnguard.esm
Unofficial Dawnguard Patch.esp [2.0.1a]
HearthFires.esm
Unofficial Hearthfire Patch.esp [2.0.1]
Dragonborn.esm
Unofficial Dragonborn Patch.esp [2.0.1]
HighResTexturePack01.esp
HighResTexturePack02.esp
HighResTexturePack03.esp
Unofficial High Resolution Patch.esp [1.1.5]
Cutting Room Floor.esp [1.0.3]
Bring Out Your Dead.esp [1.2.3]
HoldBorderBanners.esp [1.0]
Point The Way.esp [1.0.2]
Run For Your Lives.esp [1.2.4]
When Vampires Attack.esp [1.1.1]
The Paarthurnax Dilemma.esp [1.2.7]
Storefront.esp [1.0.1]
Manor Roads.esp [1.0]
Provincial Courier Service.esp [1.2.1]

Link to comment
Share on other sites

These "may be" some of the same errors (or similar errors) that I have already reported with USKP 2.0.1a. I was able to confirm that these occurred soon after entering Riften at the entrance near Honorhall. [...] I was just passing by the orphanage area on my way to Honeyside Manor.

 

Hopefully, this information "will be" helpful.

got it, checking. these are all .X .Y .Z errors, so we already have an issue.

 

I'll do that walk repeatedly back and forth until I can reproduce. Probably timing related. I'm assuming you start from outside, walk through Riften, then walk inside Honeyside?

Link to comment
Share on other sites

got it, checking. these are all .X .Y .Z errors, so we already have an issue.

 

I'll do that walk repeatedly back and forth until I can reproduce. Probably timing related. I'm assuming you start from outside, walk through Riften, then walk inside Honeyside?

Yes, that is what I did in that particular instance when those errors were produced. I don't understand why these errors are generated, but it could be very well be a result of timing. It could "possibly" have to do with changing cells, specifically when entering the city from the gate near the orphanage.

Link to comment
Share on other sites

These errors seem to occur with "fish" in the swamps north of Morthal. They occurred when walking from Morthal to Windstad Manor.

[02/19/2014 - 01:20:47AM] error: Cannot call IsDisabled() on a None object, aborting function call
stack:
    [ (FF002A9E)].critterFish.DisableAndDelete() - "Critter.psc" Line 410
    [ (FF002A9E)].critterFish.CheckViableDistance() - "Critter.psc" Line 1139
    [ (FF002A9E)].critterFish.OnUpdate() - "CritterFish.psc" Line 86
[02/19/2014 - 01:20:47AM] warning: Assigning None to a non-object variable named "::temp34"
stack:
    [ (FF002A9E)].critterFish.DisableAndDelete() - "Critter.psc" Line 410
    [ (FF002A9E)].critterFish.CheckViableDistance() - "Critter.psc" Line 1139
    [ (FF002A9E)].critterFish.OnUpdate() - "CritterFish.psc" Line 86
Link to comment
Share on other sites

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
×
×
  • Create New...