Fix movement on other player

This commit is contained in:
bdnugget 2025-01-12 23:57:18 +01:00
parent 5c5040cd42
commit 63e3837441
3 changed files with 9 additions and 8 deletions

View File

@ -7,6 +7,6 @@ const (
MapHeight = 50 MapHeight = 50
TileSize = 32 TileSize = 32
TileHeight = 2.0 TileHeight = 2.0
TickRate = 2600 * time.Millisecond // Server tick rate (600ms) TickRate = 600 * time.Millisecond // Server tick rate (600ms)
serverAddr = "localhost:6969" serverAddr = "localhost:6969"
) )

1
goonserver Submodule

@ -0,0 +1 @@
Subproject commit 1d6d3ab2eadf488d6ec0e5ba85005b3e57e372ea

View File

@ -97,14 +97,13 @@ func HandleServerCommunication(conn net.Conn, playerID int32, player *Player, ot
for _, state := range serverMessage.Players { for _, state := range serverMessage.Players {
if state.PlayerId != playerID { if state.PlayerId != playerID {
if otherPlayer, exists := otherPlayers[state.PlayerId]; exists { if otherPlayer, exists := otherPlayers[state.PlayerId]; exists {
otherPlayer.PosTile = Tile{X: int(state.X), Y: int(state.Y)} // Instead of directly setting position, set up path for smooth movement
otherPlayer.PosActual = rl.Vector3{ targetTile := Tile{X: int(state.X), Y: int(state.Y)}
X: float32(state.X * TileSize), if otherPlayer.PosTile != targetTile {
Y: float32(state.Y * TileHeight), otherPlayer.TargetPath = []Tile{targetTile}
Z: float32(state.Y * TileSize),
} }
otherPlayer.MoveTowards(Tile{X: int(state.X), Y: int(state.Y)}, 0)
} else { } else {
// Initialize new player
otherPlayers[state.PlayerId] = &Player{ otherPlayers[state.PlayerId] = &Player{
PosTile: Tile{X: int(state.X), Y: int(state.Y)}, PosTile: Tile{X: int(state.X), Y: int(state.Y)},
PosActual: rl.Vector3{ PosActual: rl.Vector3{
@ -112,7 +111,8 @@ func HandleServerCommunication(conn net.Conn, playerID int32, player *Player, ot
Y: float32(state.Y * TileHeight), Y: float32(state.Y * TileHeight),
Z: float32(state.Y * TileSize), Z: float32(state.Y * TileSize),
}, },
ID: state.PlayerId, ID: state.PlayerId,
Speed: 50.0, // Make sure to set the speed for smooth movement
} }
} }
} }