diff --git a/modules/game_walking/walking.lua b/modules/game_walking/walking.lua index 3215731..2c3f8cd 100644 --- a/modules/game_walking/walking.lua +++ b/modules/game_walking/walking.lua @@ -13,6 +13,7 @@ lastTurn = 0 lastTurnDirection = 0 lastStop = 0 lastManualWalk = 0 +autoFinishNextServerWalk = 0 turnKeys = {} function init() @@ -227,11 +228,12 @@ function canChangeFloorUp(pos) end function onPositionChange(player, newPos, oldPos) - end function onWalk(player, newPos, oldPos) - + if autoFinishNextServerWalk + 200 > g_clock.millis() then + player:finishServerWalking() + end end function onTeleport(player, newPos, oldPos) @@ -378,6 +380,11 @@ function walk(dir, ticks) end end + if player:isServerWalking() and not dash then + g_game.stop() + player:finishServerWalking() + autoFinishNextServerWalk = g_clock.millis() + 200 + end g_game.walk(dir, preWalked) if not firstStep and lastWalkDir ~= dir then diff --git a/otclient_dx.exe b/otclient_dx.exe index e06a70d..56e7d8b 100644 Binary files a/otclient_dx.exe and b/otclient_dx.exe differ diff --git a/otclient_gl.exe b/otclient_gl.exe index f5e9349..1f0870f 100644 Binary files a/otclient_gl.exe and b/otclient_gl.exe differ diff --git a/otclient_linux b/otclient_linux index ff814ad..cb50ef2 100644 Binary files a/otclient_linux and b/otclient_linux differ diff --git a/pdb/otclient_dx.zip b/pdb/otclient_dx.zip index c0bcba1..7862e17 100644 Binary files a/pdb/otclient_dx.zip and b/pdb/otclient_dx.zip differ diff --git a/pdb/otclient_gl.zip b/pdb/otclient_gl.zip index 21b16a4..e5f59c1 100644 Binary files a/pdb/otclient_gl.zip and b/pdb/otclient_gl.zip differ