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

Bug when a player dies. #3246

Open
2 of 5 tasks
otmexa opened this issue Jan 13, 2025 · 9 comments
Open
2 of 5 tasks

Bug when a player dies. #3246

otmexa opened this issue Jan 13, 2025 · 9 comments
Labels
Priority: High Represent a high impact in key areas of the base/user experience Status: Pending Test This PR or Issue requires more testing Type: Bug Inconsistencies or issues which will cause an issue or problem for users or implementors.

Comments

@otmexa
Copy link

otmexa commented Jan 13, 2025

Priority

High

Area

  • Datapack
  • Source
  • Map
  • Other

What happened?

When a player dies, whether by a monster or another player, the character becomes freeze. It is necessary to relog twice to be able to move normally again.

I am using the OTCv8 client.

Tested with the latest update from the repository on Windows and Linux.
Commits on Jan 12, 2025

Attached is a video showing the issue.

bug.when.dies.mp4

What OS are you seeing the problem on?

Linux, Windows

Code of Conduct

  • I agree to follow this project's Code of Conduct
@otmexa otmexa added the Type: Bug Inconsistencies or issues which will cause an issue or problem for users or implementors. label Jan 13, 2025
@github-actions github-actions bot added Priority: High Represent a high impact in key areas of the base/user experience Status: Pending Test This PR or Issue requires more testing labels Jan 13, 2025
@zeroskyer
Copy link

Show the log generated by otcv8

@otmexa
Copy link
Author

otmexa commented Jan 13, 2025

Show the log generated by otcv8

[C++]: ?parseCreatureLight@ProtocolGame@@AAEXABV?$shared_object_ptr@VInputMessage@@@stdext@@@Z ERROR: ProtocolGame parse message exception (10500 bytes, 3995 unread, last opcode is 0xc6 (198), prev opcode is 0x9f (159)): unhandled opcode 198 Packet has been saved to packet.log, you can use it to find what was wrong. (Protocol: 1100)

@zeroskyer
Copy link

Show the log generated by otcv8

[C++]: ?parseCreatureLight@ProtocolGame@@AAEXABV?$shared_object_ptr@VInputMessage@@@stdext@@@Z ERROR: ProtocolGame parse message exception (10500 bytes, 3995 unread, last opcode is 0xc6 (198), prev opcode is 0x9f (159)): unhandled opcode 198 Packet has been saved to packet.log, you can use it to find what was wrong. (Protocol: 1100)

Are you using canary-main? Or a branch?

@otmexa
Copy link
Author

otmexa commented Jan 14, 2025

Show the log generated by otcv8

[C++]: ?parseCreatureLight@ProtocolGame@@AAEXABV?$shared_object_ptr@VInputMessage@@@stdext@@@Z ERROR: ProtocolGame parse message exception (10500 bytes, 3995 unread, last opcode is 0xc6 (198), prev opcode is 0x9f (159)): unhandled opcode 198 Packet has been saved to packet.log, you can use it to find what was wrong. (Protocol: 1100)

Are you using canary-main? Or a branch?

I'm using Main

And client otcv8

@kokekanon
Copy link
Contributor

Are you sure you have this feature active ?

g_game.enableFeature(GameExtendedOpcode)

@otmexa

@otmexa
Copy link
Author

otmexa commented Jan 15, 2025

Are you sure you have this feature active ?

g_game.enableFeature(GameExtendedOpcode)

@otmexa

Yes, although I think that has nothing to do with it.

It must be some packet that is sent to the client when it dies, which is not compatible with the old protocols, but I am not familiar with this issue of bytes.

@kokekanon
Copy link
Contributor

With g_game.enableFeature(GameExtendedOpcode)

bandicam.2025-01-15.19-31-21-841.mp4

without g_game.enableFeature(GameExtendedOpcode)

asdasd-ezgif com-optimize

@otmexa
Copy link
Author

otmexa commented Jan 15, 2025

With g_game.enableFeature(GameExtendedOpcode)

bandicam.2025-01-15.19-31-21-841.mp4

without g_game.enableFeature(GameExtendedOpcode)

asdasd-ezgif com-optimize

here is active ?

otclientv8-master\modules\game_features\features.lua

uncomment:
g_game.enableFeature(GameExtendedOpcode)

Is that how I did it, or how should I do it?

@otmexa
Copy link
Author

otmexa commented Jan 15, 2025

With g_game.enableFeature(GameExtendedOpcode)

bandicam.2025-01-15.19-31-21-841.mp4

without g_game.enableFeature(GameExtendedOpcode)

@kokekanon

I work with:
With g_game.enableFeature(GameExtendedOpcode)

This is a code I have from previous versions, and now when script move the players, it freezes when logging in at that position.

I disabled it and it seems to be working normally after dying.

But it seems strange to me that now that simple code makes the character freeze.

`local moveevent = MoveEvent()

function moveevent.onStepIn(creature, item, position, fromPosition)
if creature:isPlayer() then
local directions = {DIRECTION_NORTH, DIRECTION_EAST, DIRECTION_SOUTH, DIRECTION_WEST,
DIRECTION_NORTHEAST, DIRECTION_SOUTHEAST, DIRECTION_SOUTHWEST, DIRECTION_NORTHWEST}
local randomDirection = directions[math.random(#directions)]
creature:move(randomDirection)
end
return true
end

moveevent:position(Position(32369, 32241, 7))
moveevent:register()`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: High Represent a high impact in key areas of the base/user experience Status: Pending Test This PR or Issue requires more testing Type: Bug Inconsistencies or issues which will cause an issue or problem for users or implementors.
Projects
None yet
Development

No branches or pull requests

3 participants