Kotel
-
Posts
8 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Kotel
-
-
Maybe final solution, but not universal (each client has probably different function start). This is for 2018-01-24bRagexeRE
previous post + this
before this :
return true; } //=================================// // Disable for Unsupported Clients // //=================================// function Enable64kHairstyle_() { return (exe.getClientDate() > 20111102); }
add this:
code = " 55" //PUSH ebp + " 8B EC" //mov ebp, esp + " 6A FF" //push 0xffffffff + " 68 AB AB AB AB" //PUSH address + " 64 A1 00 00 00 00" //mov eax,dword ptr [0x0] + " 50" //push eax + " 81 EC 90 00 00 00" //sub esp,0x90 + " A1 AB AB AB AB" //mov eax,dword ptr address + " 33 C5" //xor eax, ebp + " 89 AB AB" //mov dword ptr [ebp-0x10],eax + " 53" //push ebx + " 56" //push esi + " 57" //push edi + " 50" //push eax ; offset = exe.find(code, PTYPE_HEX, true, "\xAB"); if(offset !== -1) { code = " 8B 0E" //MOV ecx, [esi] + " A1 AB AB AB AB" //MOV reg32_A, DWORD PTR DS:[addr] + " 8B 14" //MOV EDX, DWORD PTR DS:[reg32_B * 4 + reg32_A] ; offsets = exe.findAll(code, PTYPE_HEX, true, "\xAB", offset, offset+1000); if (offsets.length == 2) { for (var i = 0; i < offsets.length; i++) { offset2 = offsets[i] + code.hexlength(); exe.replaceWord(offset2 - 1, 0x9010 + (exe.fetchByte(offset2) & 0x7)); } } else return "Failed in Step Y - offsets not found"; } else return "Failed in Step Y - start of the function not found";
-
Some part is individual for every client.
more universal code (AB can be everythink):
//Step X - extra for 2017/2018 clients, again Find the string table fetchers and remove reg32_B * 4 code = " 8B AB AB AB AB AB" //MOV reg32_B, DWORD PTR DS:[EBP - 8C] + " A1 AB AB AB AB" //MOV reg32_A, DWORD PTR DS:[addr] + " 8B 14" //MOV EDX, DWORD PTR DS:[reg32_B * 4 + reg32_A] ; //need find probably 2 occurences (male, female) offsets = exe.findAll(code, PTYPE_HEX, true, "\xAB", offset-1000, assignOffset); if (offsets.length !== 0) { for (var i = 0; i < offsets.length; i++) { offset2 = offsets[i] + code.hexlength(); exe.replaceWord(offset2 - 1, 0x9010 + (exe.fetchByte(offset2) & 0x7)); } }
this works for 2018-01-24bRagexeRE and maybe 2017
edit: found another problem, this works only without headgear
-
I have server src from march 2018 and problem is here too. Finding solution (instant server, there is wrong value jobchange_level, so i hardcode it to 50).
-
For me works perfect in 2017-05-17aRagexeRE, but 2018 clients looks better, so i no more use this client.
-
Probably bug in style. Try change grf. Some style packs are bugged.
-
I cant patch 2017-01-25aRagexeRE anyway, so there is another problem:
Failed in Step 2 - Unknown instruction before reference
-
This is fix for 2017 clients, patch Enable 64k Hairstyle
Problem:
client crashes with some hair style ids (31, 81 and randomly 30, 32 and others)
Solution:
edit Enable64kHairstyle.qs
after:
//Step 4b - Remove the reg32_B * 4 from all the matches for (var i = 0; i < offsets.length; i++) { offset2 = offsets[i] + code.hexlength(); exe.replaceWord(offset2 - 1, 0x9010 + (exe.fetchByte(offset2) & 0x7)); }
add:
//Step X - extra for 2017 clients, again Find the string table fetchers code = " 8B AB AB AB AB AB" //MOV reg32_B, DWORD PTR DS:[EBP - 8C] + " A1 AB AB AB 00" //MOV reg32_A, DWORD PTR DS:[addr] + " 8B 14" //MOV EDX, DWORD PTR DS:[reg32_B * 4 + reg32_A] ; //need find probably 2 occurences offsets = exe.findAll(code, PTYPE_HEX, true, "\xAB", offset-1000, assignOffset); if (offsets.length !== 0) { for (var i = 0; i < offsets.length; i++) { offset2 = offsets[i] + code.hexlength(); exe.replaceWord(offset2 - 1, 0x9010 + (exe.fetchByte(offset2) & 0x7)); } }
Tested on:
2017-06-14bRagexeRE
2017-05-17aRagexeRE- 2
Thor Patcher - Failed to connect to server ~
in Third Party Support
Posted
Patcher 2.6.1.66 and newer has a some bug (testet on 3 pc, win 7/10).
It read this file: "GET /patch/new.html HTTP/1.1" 200 79 "-" "Mozilla/4.0"
than this: "GET /patch/ HTTP/1.1" 200 1905 "-" "Thor Patcher"
and than nothing
version 2.5.4.18 is ok