mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-02 19:42:05 -04:00
fixed crash on updating controller for npcs
- fixed updating player movement
This commit is contained in:
parent
62055eff04
commit
e56238a10c
@ -152,7 +152,8 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
{
|
{
|
||||||
updateMs = 150;
|
updateMs = 150;
|
||||||
}
|
}
|
||||||
if (hasMoved && diffTime.Milliseconds >= updateMs)
|
|
||||||
|
if (hasMoved && ((this is Player ) || diffTime.Milliseconds >= updateMs))
|
||||||
{
|
{
|
||||||
hasMoved = (this.positionUpdates != null && this.positionUpdates.Count > 0);
|
hasMoved = (this.positionUpdates != null && this.positionUpdates.Count > 0);
|
||||||
if (hasMoved)
|
if (hasMoved)
|
||||||
|
@ -161,8 +161,6 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
|
|
||||||
public void UpdateActorPosition(Actor actor)
|
public void UpdateActorPosition(Actor actor)
|
||||||
{
|
{
|
||||||
this.hasMoved = true;
|
|
||||||
|
|
||||||
int gridX = (int)actor.positionX / boundingGridSize;
|
int gridX = (int)actor.positionX / boundingGridSize;
|
||||||
int gridY = (int)actor.positionZ / boundingGridSize;
|
int gridY = (int)actor.positionZ / boundingGridSize;
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai
|
|||||||
// todo: trigger listeners
|
// todo: trigger listeners
|
||||||
|
|
||||||
// todo: action queues
|
// todo: action queues
|
||||||
controller.Update(tick);
|
controller?.Update(tick);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CheckCompletedStates()
|
public void CheckCompletedStates()
|
||||||
|
@ -68,6 +68,9 @@ namespace FFXIVClassic_Map_Server.dataobjects
|
|||||||
if (isUpdatesLocked)
|
if (isUpdatesLocked)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (playerActor.positionX == x && playerActor.positionY == y && playerActor.positionZ == z && playerActor.rotation == rot)
|
||||||
|
return;
|
||||||
|
|
||||||
playerActor.oldPositionX = playerActor.positionX;
|
playerActor.oldPositionX = playerActor.positionX;
|
||||||
playerActor.oldPositionY = playerActor.positionY;
|
playerActor.oldPositionY = playerActor.positionY;
|
||||||
playerActor.oldPositionZ = playerActor.positionZ;
|
playerActor.oldPositionZ = playerActor.positionZ;
|
||||||
@ -80,8 +83,9 @@ namespace FFXIVClassic_Map_Server.dataobjects
|
|||||||
playerActor.moveState = moveState;
|
playerActor.moveState = moveState;
|
||||||
|
|
||||||
GetActor().zone.UpdateActorPosition(GetActor());
|
GetActor().zone.UpdateActorPosition(GetActor());
|
||||||
|
playerActor.QueuePositionUpdate(new Vector3(x,y,z));
|
||||||
}
|
}
|
||||||
|
|
||||||
long lastMilis = 0;
|
long lastMilis = 0;
|
||||||
public void UpdateInstance(List<Actor> list)
|
public void UpdateInstance(List<Actor> list)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user