Twisted 发表于 2011-10-3 20:45:11

[1.298] Restat fix

It was a long time issue on 1299 private servers, if you are higher than level 73 restat was getting bugged. Here is full patch. Idea is sending client correct point and let her use it but since _USER_DATA struct doesn't allocate 2 bytes for remaining points my patch just checks players available point and target point bla bla.0049FF06   > 8841 72            MOV BYTE PTR DS:,AL
0049FF09   . 8B45 FC            MOV EAX,DWORD PTR SS:
0049FF0C   . 8079 53 4ACMP BYTE PTR DS:,4A
0049FF10   . 7C 4F                JL SHORT 0049FF61
0049FF12   . 60                  PUSHAD
0049FF13   . 8B86 98800000MOV EAX,DWORD PTR DS:
0049FF19   . 0FB648 72    MOVZX ECX,BYTE PTR DS:
0049FF1D   . 0FB650 70    MOVZX EDX,BYTE PTR DS:
0049FF21   . 03CA                  ADD ECX,EDX
0049FF23   . 0FB650 6F    MOVZX EDX,BYTE PTR DS:
0049FF27   . 03CA                  ADD ECX,EDX
0049FF29   . 0FB650 6E    MOVZX EDX,BYTE PTR DS:
0049FF2D   . 03CA                  ADD ECX,EDX
0049FF2F   . 0FB650 6D    MOVZX EDX,BYTE PTR DS:
0049FF33   . 03CA                  ADD ECX,EDX
0049FF35   . 0FB650 6C    MOVZX EDX,BYTE PTR DS:
0049FF39   . 03CA                  ADD ECX,EDX
0049FF3B   . 0FB650 53    MOVZX EDX,BYTE PTR DS:
0049FF3F   . 83EA 49            SUB EDX,49
0049FF42   . 6BD2 05            IMUL EDX,EDX,5
0049FF45   . 81C2 1D020000ADD EDX,21D
0049FF4B   . 3BCA                  CMP ECX,EDX
0049FF4D   . 7D 1D                JGE SHORT 0049FF6C
0049FF4F   . 2BD1                  SUB EDX,ECX
0049FF51   . 81FA FF000000CMP EDX,0FF
0049FF57   . 7F 0D                JG SHORT 0049FF66
0049FF59   . C640 72 00MOV BYTE PTR DS:,0
0049FF5D   . 0150 72            ADD DWORD PTR DS:,EDX
0049FF60   > 61                  POPAD
0049FF61   . E9 A6010000      JMP 004A010C
0049FF66   > C640 72 FFMOV BYTE PTR DS:,0FF
0049FF6A   .^EB F4                JMP SHORT 0049FF60
0049FF6C   > 0FB658 72    MOVZX EBX,BYTE PTR DS:
0049FF70   . 2BCB                  SUB ECX,EBX
0049FF72   . 3BCA                  CMP ECX,EDX
0049FF74   .^7C EA                JL SHORT 0049FF60
0049FF76   . C640 72 00MOV BYTE PTR DS:,0
0049FF7A   .^EB E4                JMP SHORT 0049FF60





004A0106^E9 FBFDFFFF    JMP 0049FF06
004A010B   90                      NOP

004B5398   E9 FA010000    JMP 004B5597
004B539D   90                      NOP
004B539E   90                      NOP


004B53AD   E9 8D010000    JMP 004B553F
004B53B2   90                      NOP
004B53B3   90                      NOP
004B53B4   90                      NOP




004B5503   EB 6C                        JMP SHORT 004B5571
004B5505   90                      NOP
004B5506   90                      NOP
004B5507   90                      NOP
004B5508   8945 08                MOV DWORD PTR SS:,EAX
004B550B   8D45 08                LEA EAX,DWORD PTR SS:
004B550E   50                      PUSH EAX
004B550F   8D45 91                LEA EAX,DWORD PTR SS:
004B5512   50                      PUSH EAX
004B5513   E8 48AE0400    CALL 00500360
004B5518   83C4 3C                ADD ESP,3C
004B551B   8D85 78FFFFFF      LEA EAX,DWORD PTR SS:
004B5521   8BCE                  MOV ECX,ESI
004B5523   6A 00                        PUSH 0
004B5525   6A 1B                        PUSH 1B
004B5527   50                      PUSH EAX
004B5528   E8 40C6F4FF    CALL 00401B6D
004B552D   6A 01                        PUSH 1
004B552F   58                      POP EAX
004B5530   5F                      POP EDI
004B5531   5E                      POP ESI
004B5532   5B                      POP EBX
004B5533   C9                      LEAVE
004B5534   C2 0400                RETN 4
004B5537   CC                      INT3
004B5538   CC                      INT3
004B5539   CC                      INT3
004B553A   CC                      INT3
004B553B   CC                      INT3
004B553C   CC                      INT3
004B553D   CC                      INT3
004B553E   CC                      INT3
004B553F   > 8078 53 4ACMP BYTE PTR DS:,4A
004B5543         7C 09            JL SHORT 004B554E
004B5545   . C640 72 FFMOV BYTE PTR DS:,0FF
004B5549   .^E9 67FEFFFF      JMP 004B53B5
004B554E   . 80C1 44            ADD CL,44
004B5551   . D0E1                  SHL CL,1
004B5553         0048 72                ADD BYTE PTR DS:,CL
004B5556      ^E9 5AFEFFFF    JMP 004B53B5

004B555F         CC                      INT3
004B5560         CC                      INT3
004B5561         CC                      INT3
004B5562         CC                      INT3
004B5563         CC                      INT3
004B5564         CC                      INT3
004B5565         CC                      INT3
004B5566         CC                      INT3
004B5567         CC                      INT3
004B5568         CC                      INT3
004B5569         CC                      INT3
004B556A         CC                      INT3
004B556B         CC                      INT3
004B556C         CC                      INT3
004B556D         CC                      INT3
004B556E         CC                      INT3
004B556F         CC                      INT3
004B5570         CC                      INT3
004B5571         8078 53 4A      CMP BYTE PTR DS:,4A
004B5575         7C 16            JL SHORT 004B558D
004B5577         66:0FB640 53   MOVZX AX,BYTE PTR DS:
004B557C         66:83E8 49      SUB AX,49
004B5580         66:6BC0 05      IMUL AX,AX,5
004B5584         66:05 FC00      ADD AX,0FC
004B5588      ^E9 7BFFFFFF    JMP 004B5508
004B558D         66:0FB640 72   MOVZX AX,BYTE PTR DS:
004B5592      ^E9 71FFFFFF    JMP 004B5508
004B5597|> F6EA                  IMUL DL
004B5599|. 04 07                ADD AL,7
004B559B|. C641 72 00MOV BYTE PTR DS:,0
004B559F|. 0041 72            ADD BYTE PTR DS:,AL
004B55A2\.^E9 F8FDFFFF      JMP 004B539F
Just apply it as i give and voila.
Have fun.
页: [1]
查看完整版本: [1.298] Restat fix