Jump to content
View in the app

A better way to browse. Learn more.

Shaiya.gg

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

GM Rerolls + custom game dll help

Hey, im trying to expand the essentials project a bit with features removed on the latest version since they are uncompatible (For now) with the EP5 files used by the bowie project.

 

* The first problem comes with the custom game DLL issue.

Using the standard game.exe (Or any other EP6 game.exe) with the custom game dll, bugs the HP on attacks, an issue with deeper info here: https://github.com/kurtekat/shaiya-episode-6/issues/60

 

I first think it was a ps_game problem but soon if was discovered it's merely a client issue caused by the DLL.

The problem it's custom game dll offers a core mechanic of the episode: Disable wings and pets by commands.

By the moment the project do not use that dll to prevent issues, but im trying to solve the HP bug using the dll as usual. Cutting an essential and base feature for EP6 servers it is not the best scenario if the idea it's standardize the files ofc

 

 

* The second 'problem' comes with the gm reroll system:

With episode 6 PS_Game, several released gm rerolls scripts works just well, but this changes using a ps_game EP5 (Ofc)

Im currently trying to understand the attached script to make it work for the bowie files, but i have very little progress:

 

Editing the runes can lead to the following effects:

Item effects:

86: STR random

87: DEX random

88: INT random

89: WIS random

90: REC random

91: LUC random

 

I don't know how to setup HP/MP/SP runes or the perfect/removal variants because the script info it's a bit confusing for me. If anyone have used that script in the past or know how it works, it could be very helpful for adding the feature to the essentials project.

Featured Replies

By the moment the project do not use that dll to prevent issues, but im trying to solve the HP bug using the dll as usual. Cutting an essential and base feature for EP6 servers it is not the best scenario if the idea it's standardize the files ofc

so, you just need working pet/wing on/off commands and this will be solved?

  • Author

so, you just need working pet/wing on/off commands and this will be solved?

Basically, yes. Or solve the HP bug using the custom game dll, the hardest option since the code it is not avaliable and shen1 files are at least questionable

CustomGame.dll writes mov instructions in the 0x505 handler. this is ironic, considering the discussion we had.

 

game.exe+1942D8 - 89 B0 58010000 - mov [eax+00000158],esi
game.exe+1942DE - 89 90 60010000 - mov [eax+00000160],edx
game.exe+1942E4 - 89 88 68010000 - mov [eax+00000168],ecx

 

you can put this in your dll to overwrite his code.

 

#include <array>
   
std::array<std::uint8_t, 1> a00{ 0x01 };
util::write_memory((void*)0x5942D8, &a00, 1);
util::write_memory((void*)0x5942DE, &a00, 1);
util::write_memory((void*)0x5942E4, &a00, 1);

 

this is what you should see.

 

game.exe+1942D8 - 01 B0 58010000 - add [eax+00000158],esi
game.exe+1942DE - 01 90 60010000 - add [eax+00000160],edx
game.exe+1942E4 - 01 88 68010000 - add [eax+00000168],ecx

 

edit: [mention=26]Garret[/mention] , here's a second option. i edited the bytes in the dll you uploaded to github.

 

// 0x89 (mov)

C7 45 B0 00 89 B0 58 C7 45 B4 01 00 00 89 C7 45 B8 90 60 01 00 C7 45 BC 00 89 88 68

// 0x01 (add)

C7 45 B0 00 01 B0 58 C7 45 B4 01 00 00 01 C7 45 B8 90 60 01 00 C7 45 BC 00 01 88 68

  • Author
Thank you for the help! Tested and works like a charm ☺️

Create an account or sign in to comment

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.