MillhioreBT / forgottenserver-downgrade

TFS Downgrade 1.5+ is an engine based on nekiro downgrade but highly updated with current tfs code, it also has the lua modules divided and uses lua5.4
GNU General Public License v2.0
19 stars 18 forks source link

if stackpos greater than 10 then BUG end #3

Closed kokekanon closed 1 year ago

kokekanon commented 1 year ago

Hello, I had in browser favorites, several posts from otland of with bug c++ in 1.5, which the community could not solve

test in release "beta-test-1"

if 10 people stack in a specific position (tested in normal_zone) the client presents the following bug

For some reason if there are many people stack in a sqm gives debug example: +10 people stack on a ladder

image

+10 player mc or random player in a server in production stack in ladder image

It causes an error in the client in the case of OTC this happens (relogin is fixed, but if you login and up ladder bug again xd )

123123

Terminal OTC:

ERROR: too many things, pos=306 43 6, stackpos=11
at:
    [C++]: ?setTileDescription@ProtocolGame@@QEAAHAEBV?$shared_ptr@VInputMessage@@@std@@VPosition@@@Z
ERROR: unable to remove creature
at:
    [C++]: ?parseCreatureMove@ProtocolGame@@AEAAXAEBV?$shared_ptr@VInputMessage@@@std@@@Z
ERROR: too many things, pos=306 43 6, stackpos=11

Old client Debug windows


Debug Assertion 8.0 Map.cpp 519
Tue Feb 14 20:14:13 2023
Windows Version: 6.2 build 9200 on 2
Graphic Engine: DirectX9 (2)
Last Packet Types: 100 162 142 162 143 160 180 160 140 108
Last Packet: 230 021 170 000 000 000 000 000 000 000 000 005 010 000 157 000
Player Position: [306,43,6]
Player Name: MaXXXXX
Player.cpp 358: exception occurred, reason:
Network.cpp 980: exception occurred (ErrorCode = 0), reason:
Control.cpp 1309: exception occurred (Type = 100), reason:
Communication.cpp 1532: exception occurred (PlayerX = 306) (PlayerY = 43), reason:
Communication.cpp 1509: exception occurred (xmin = 0) (ymin = 0), reason:
Communication.cpp 1488: exception occurred (Type = 98) (OldType = 98), reason:
Map.cpp 524: exception occurred, reason:
Map.cpp 519: too many objects on map point, reason:
ObjectCount: 10
Comment:```
MillhioreBT commented 1 year ago

Thanks for reporting it, I'll fix it. When you have time, try it out and let me know if it's been resolved. If you can't compile and you're using Windows, use the pre-compiled beta-3.

kokekanon commented 1 year ago

Test in beta-test-3 @MillhioreBT . .

//////////////// Test 1 /////////////////

Test 1 : players

https://github.com/MillhioreBT/forgottenserver-downgrade/assets/114332266/3a7bd219-dd50-4591-843c-92dd52c748b1

Old Client

----- 24/05/2023 09:05:41 - Duckugly (xxxxxx) -----
Debug Assertion 8.60 Map.cpp 321
Wed May 24 08:49:06 2023
Graphic Engine: DirectX9 (2)
Operating System: Windows Vista Family in USA
Processor: Intel Core i7 -10700K @
Video Card: NVIDIA GeForce RTX 3080
Last Packet Types: 107 108 109 109 030 108 109 130 030 106
Last Packet: 109 094 000 126 000 007 001 094 000 125 000 007 108 094 000 125
Player Position: [93,125,6]
Player Name: Duckugly (Forgotten)
Player Action: 049 050 055 046 048 046 048 046 049 058 055 049 055 052
Player.cpp 361: exception occurred, reason:
Network.cpp 946: exception occurred (ErrorCode = 0), reason:
Control.cpp 1331: exception occurred (Type = 107) (MainWindow = 41125440), reason:
Communication.cpp 1846: exception occurred (rx = 65444) (ry = -94), reason:
Map.cpp 321: assertion failed (rx = 65444), reason:
In(rx,0,MAPSIZE_X-1) [bug0000013]
Comment: ultimo

OTCv8

ERROR: unable to remove thing
at:
    [C++]: ?parseTileTransformThing@ProtocolGame@@AAEXABV?$shared_object_ptr@VInputMessage@@@stdext@@@Z

. . .

//////////////// Test 2 /////////////////

Test 2 with monster +20 stack more 2 player:

https://github.com/MillhioreBT/forgottenserver-downgrade/assets/114332266/0c0566f9-5566-4659-8a39-d950c147e0dd

same log in console OTCv8 and debug old client . . . .

//////////////// note /////////////////

Note test 2: look at 13 seg

if there are 20 in stack , only show first 10 in battle . in otcv8 and old client It's a minor detail

pero depende del serveridor. ejemplo un servidor war como marlboro, en zona de fuente , estas perdiendo informacion en el target xd, no podras atacar al que baje

seg 13

kokekanon commented 1 year ago

I realized something

if there is +10 player in stack (upstairs), affects how the player 11 raises. example in the video if I go up from East to West :white_check_mark: SE to NW :white_check_mark: but from south to north :x: bug ahaha wtf West to East :x: bug

https://github.com/MillhioreBT/forgottenserver-downgrade/assets/114332266/4c349378-ca99-4a1b-ac09-8dfd370196ec

In the previous comment, I realized in the first video, the player goes up from south to north BUG and in the second video, the player goes from W to E. BUG

but in this type of ladder works

image

MillhioreBT commented 1 year ago

I realized something

if there is +10 player in stack (upstairs), affects how the player 11 raises. example in the video if I go up from East to West ✅ SE to NW ✅ but from south to north ❌ bug ahaha wtf West to East ❌ bug

Secuencia.01_2.mp4 In the previous comment, I realized in the first video, the player goes up from south to north BUG and in the second video, the player goes from W to E. BUG

but in this type of ladder works

image

I think it's already resolved. let me know if it works for you. beta-4

kokekanon commented 1 year ago

I realized something if there is +10 player in stack (upstairs), affects how the player 11 raises. example in the video if I go up from East to West ✅ SE to NW ✅ but from south to north ❌ bug ahaha wtf West to East ❌ bug Secuencia.01_2.mp4 In the previous comment, I realized in the first video, the player goes up from south to north BUG and in the second video, the player goes from W to E. BUG but in this type of ladder works image

I think it's already resolved. let me know if it works for you. beta-4

I confirm that works in otcv8 and client CipSoft

thank you

kokekanon commented 1 year ago

image sorry but now there is a problem going down the stairs haha

stack +10 player on ladder go down the 1 player ladder

nothing happens to the person who goes down but to those who are there. bug

https://github.com/MillhioreBT/forgottenserver-downgrade/assets/114332266/44034aed-e3a5-4bcc-859b-1bf1df4bb7fc


ERROR: no thing at pos:92 127 6, stackpos:6
at:
    [C++]: ?getMappedThing@ProtocolGame@@QAE?AV?$shared_object_ptr@VThing@@@stdext@@ABV?$shared_object_ptr@VInputMessage@@@3@@Z
ERROR: no thing
at:
    [C++]: ?parseTileTransformThing@ProtocolGame@@AAEXABV?$shared_object_ptr@VInputMessage@@@stdext@@@Z

I think it ONLY happens in otclient (mehah and v8) ❌❌❌❌

not testing enough on client old ✅✅✅✅✅

MillhioreBT commented 1 year ago

image sorry but now there is a problem going down the stairs haha

stack +10 player on ladder go down the 1 player ladder

nothing happens to the person who goes down but to those who are there. bug

2023-05-26.00-54-27_1.mp4


ERROR: no thing at pos:92 127 6, stackpos:6
at:
    [C++]: ?getMappedThing@ProtocolGame@@QAE?AV?$shared_object_ptr@VThing@@@stdext@@ABV?$shared_object_ptr@VInputMessage@@@3@@Z
ERROR: no thing
at:
    [C++]: ?parseTileTransformThing@ProtocolGame@@AAEXABV?$shared_object_ptr@VInputMessage@@@stdext@@@Z

I think it only happens in otclient (mehah and v8)

not testing enough on client old

Could you try another old but functional engine for version 860, and check that this doesn't happen in OTC as well?

Honestly, I just copied the code from the TFS 0.4 engine since it has always worked for many years and is still being used today. I don't know if you can check it, but if not, it's okay. I will review it when I have time.

kokekanon commented 1 year ago

repo : https://github.com/Fir3element/3777 Release : The Forgotten Server 0.4 on Jul 3, 2022

Test 1 : +12 monster in stack and 2 player work(Otcv8 and CipSoft ) : ✅

https://github.com/MillhioreBT/forgottenserver-downgrade/assets/114332266/63d63c8b-22f3-4838-a31d-4865179873c0

Test 2 : 12 Player in stack. work (Otcv8 and CipSoft ) ✅

https://github.com/MillhioreBT/forgottenserver-downgrade/assets/114332266/606acb2e-7a76-499d-bc5f-bd850a556a88

MillhioreBT commented 1 year ago

@kokekanon try test beta-5

kokekanon commented 1 year ago

Thanks, now works. @MillhioreBT

I did these tests:

jojos

OTCv8 ✅ CipSoft ✅ Mehah ✅

I'm going to keep testing, to make sure . . . . .

I did not find another bug, I close issues thank you

kokekanon commented 1 year ago

emil92b discovered an ghost mode bug causes bug to player who are visible image

Ghost in stack(1)

  1. GM say ./ghost
  2. player up ladder o stack in teleport
  3. gm stacks with the player. same sqm
  4. Player bug . (gm no error in console, only player)

GM ghost mode moving

  1. login gm and player.
  2. player and gm are close
  3. GM say ./ghost
  4. gm move (also different floor) [test player floor 7 , and gm moving in floor 6)
  5. Player bug . (gm no error in console, only player)

Monster ghost mode

1.- player near of monster in ghost mode 2.- monster move(ghost mode) 3.- player bug

    [C++]: ?parseCreatureMove@ProtocolGame@@AEAAXAEBV?$shared_ptr@VInputMessage@@@std@@@Z
ERROR: no thing at pos:97 186 7, stackpos:255
at:
    [C++]: ?getMappedThing@ProtocolGame@@QEBA?AV?$shared_ptr@VThing@@@std@@AEBV?$shared_ptr@VInputMessage@@@3@@Z
ERROR: no creature found to move
at:
    [C++]: ?parseCreatureMove@ProtocolGame@@AEAAXAEBV?$shared_ptr@VInputMessage@@@std@@@Z
ERROR: no thing at pos:97 187 7, stackpos:255
at:
    [C++]: ?getMappedThing@ProtocolGame@@QEBA?AV?$shared_ptr@VThing@@@std@@AEBV?$shared_ptr@VInputMessage@@@3@@Z
ERROR: no creature found to move
at:
    [C++]: ?parseCreatureMove@ProtocolGame@@AEAAXAEBV?$shared_ptr@VInputMessage@@@std@@@Z
MillhioreBT commented 1 year ago

perfect, thanks for testing these things, I'll check it and fix it