Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Character is cloned and randomly warped after moving down #2

Open
Corun-Kail opened this issue Mar 12, 2017 · 1 comment
Open

Character is cloned and randomly warped after moving down #2

Corun-Kail opened this issue Mar 12, 2017 · 1 comment

Comments

@Corun-Kail
Copy link

On OTClient 0.6.6 using protocol 8.6 to connect, ubuntu 16.04. Server is hosted using python3.3 in virtualenv on local server.
When character quickly descents through ladders or stairs, his position gets randomly warped, since that moment character is unable to move(including /a command usage) unless "/t" command is used. During this event server prints out unhandled core exception. This temporarily allows for movement, cloning character in seemingly random position, and after some random amount of time character gets warped again, however this time being stuck is not necessary.

[UNHANDLED CORE EXCEPTION!]
Traceback (most recent call last):
File "./game/protocols/base.py", line 597, in _handle
OPHANDLERS[packetType](self, player, packet)
File "./game/protocols/base.py", line 708, in handleWalkNorth
self.handleWalk(player, NORTH)
File "./game/protocols/base.py", line 765, in handleWalk
if not player.move(direction, stopIfLock=True):
File "./game/creature_movement.py", line 384, in move
oldTile.removeCreature(self)
File "./game/map.py", line 200, in removeCreature
self.remove(creature)
ValueError: list.remove(x): x not in list

Calling lookAt

[UNHANDLED CORE EXCEPTION!]
Traceback (most recent call last):
File "./game/protocols/base.py", line 597, in _handle
OPHANDLERS[packetType](self, player, packet)
File "./game/protocols/base.py", line 716, in handleWalkEast
self.handleWalk(player, EAST)
File "./game/protocols/base.py", line 765, in handleWalk
if not player.move(direction, stopIfLock=True):
File "./game/creature_movement.py", line 384, in move
oldTile.removeCreature(self)
File "./game/map.py", line 200, in removeCreature
self.remove(creature)
ValueError: list.remove(x): x not in list

[UNHANDLED CORE EXCEPTION!]
Traceback (most recent call last):
File "./game/protocols/base.py", line 597, in _handle
OPHANDLERS[packetType](self, player, packet)
File "./game/protocols/base.py", line 720, in handleWalkWest
self.handleWalk(player, WEST)
File "./game/protocols/base.py", line 765, in handleWalk
if not player.move(direction, stopIfLock=True):
File "./game/creature_movement.py", line 384, in move
oldTile.removeCreature(self)
File "./game/map.py", line 200, in removeCreature
self.remove(creature)
ValueError: list.remove(x): x not in list

[E 170312 20:59:43 ioloop:633] Exception in callback functools.partial(<function wrap..null_wrapper at 0x7f3c65899ef0>, 0, None)
Traceback (most recent call last):
File "/home/kail/Projects/PyOT/PyOTTest/lib/python3.3/site-packages/tornado/ioloop.py", line 604, in _run_callback
ret = callback()
File "/home/kail/Projects/PyOT/PyOTTest/lib/python3.3/site-packages/tornado/stack_context.py", line 275, in null_wrapper
return fn(*args, **kwargs)
File "./game/creature_movement.py", line 232, in handleAutoWalking
direction = self.walkPattern.popleft()
AttributeError: 'Player' object has no attribute 'popleft'

[UNHANDLED CORE EXCEPTION!]
Traceback (most recent call last):
File "./game/protocols/base.py", line 597, in _handle
OPHANDLERS[packetType](self, player, packet)
File "./game/protocols/base.py", line 830, in handleMoveItem
player.autoWalk(player)
File "./game/creature_movement.py", line 196, in autoWalk
self.handleAutoWalking(0, callback)
File "./game/creature_movement.py", line 232, in handleAutoWalking
direction = self.walkPattern.popleft()
AttributeError: 'Player' object has no attribute 'popleft'

[UNHANDLED CORE EXCEPTION!]
Traceback (most recent call last):
File "./game/protocols/base.py", line 597, in _handle
OPHANDLERS[packetType](self, player, packet)
File "./game/protocols/base.py", line 830, in handleMoveItem
player.autoWalk(player)
File "./game/creature_movement.py", line 196, in autoWalk
self.handleAutoWalking(0, callback)
File "./game/creature_movement.py", line 232, in handleAutoWalking
direction = self.walkPattern.popleft()
AttributeError: 'Player' object has no attribute 'popleft'

examples of clones
screenshot from 2017-03-12 21-00-15
some clones still read player direction.
screenshot from 2017-03-12 21-00-51
screenshot from 2017-03-12 21-01-03

@Corun-Kail
Copy link
Author

While I did not tested it personally yamaken93 replicated bug on tibia client 8.6:

obraz
obraz
obraz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant