Most visitors online was 11705 , on 26 Apr 2024
Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!
Join Today!If there is no localhost.exe, an error will occur
yea looking back at this, it doesn't work for most versions of this game, my bad
did some testing for you and the following procedure works on v95 and v203:
1. hookYou must be registered to see links
2. check for lpClassName. the game creates multiple windows (StartUpDlgClass, NexonADBallon, MapleStoryClass).. the classname you're looking for is "MapleStoryClass"
3. change lpWindowName to whatever new title you want.
4. call the function. make sure to use the edited window name if the window being created is "MapleStoryClass".
your dll of course has to be injected before the game window is created
/* CreateWindowExA hook used to rename the main window */
bool Hook_CreateWindowExA(bool bEnable) {
static decltype(&CreateWindowExA) _CreateWindowExA = &CreateWindowExA;
decltype(&CreateWindowExA) CreateWindowExA_Hook = [](DWORD dwExStyle, LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam) -> HWND {
if (strstr(lpClassName, "MapleStory2")) {
//NotifyMessage("Orion2 has loaded all data successfully!\r\n\r\nPress OK to launch the game~", Orion::NotifyType::Information);
lpWindowName = "Orion2 - A New Beginning";
}
return _CreateWindowExA(dwExStyle, lpClassName, lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
};
return SetHook(bEnable, reinterpret_cast<void**>(&_CreateWindowExA), CreateWindowExA_Hook);
}
Eric v0.62 still uses STREDIT Old (unlike v83 that uses reg) and have always being able for many years to change strings with it. The only difference I could find personally is that OLD does not show IP's, as well as OLD not re-encrypting all the text values, making them readable with a hex editor after one edit (although, editting it that way will crash the client once the text is called...)oh and also @Kimberly you can't modify old clients through STREDIT OLD (unless that was a recent change), you're only able to view the strings. i was originally going to implement support for this myself until i figured out nexon stored them in the application's resources table.. screw that lmao