Remove ring and amulet from gamble screen

This forum is for discussions on how to edit what can not be edited through the txt files, needless to say this isn't about battle net hacking.

Moderators: Nefarius, Havvoric

Post Reply
Devangell
Posts: 65
Joined: Thu Jul 30, 2020 10:06 am
Belgium

Remove ring and amulet from gamble screen

Post by Devangell » Tue Oct 13, 2020 11:13 am

Hello all

Can you remove the ring and amulet from gambling screen without editing the misc.txt for these items?
If i edit the lines for ring and amulet in misc.txt in a way they don't exist (rarity and spawnable set to 0 and code set to xxx) they don't spwn in the gambling screen as well, but then my game would crash whenever I get these items from a quest completion (Akara and Ormus) because the game can't find them. Unless I can change the quest rewards via code editing?

Thanks in advance

stvnc
Posts: 2
Joined: Wed Sep 23, 2020 7:13 pm

Re: Remove ring and amulet from gamble screen

Post by stvnc » Tue Oct 13, 2020 1:32 pm

Have you tried editing Gamble.txt?
My bad, just realised amulet and ring is forced on you.

Code: Select all

.text:6FCDE37A                 mov     [esp+2Ch+var_18], 0
At 0x6FCDE37A (1.13c D2GAME.DLL) you can modify the 0 to a 2.

It's the count of items put in gamble screen, it adds amulet and ring first, when this count is below 2.

So if you start at 2, it should not add amulet and ring. I don't know if you have to remove them from gamble.txt as well after that.

Devangell
Posts: 65
Joined: Thu Jul 30, 2020 10:06 am
Belgium

Re: Remove ring and amulet from gamble screen

Post by Devangell » Tue Oct 13, 2020 1:38 pm

Yeah, doesn't make any difference. When I remove the codes from gamble.txt, they still spawn in the gamble screen.
Alternatively, I use the gamblefilter, I removed the codes there as well but they still keep respawning so that's why I think it might be hardcoded.
I changed the misc.txt for the amulet and ring so they won't spawn anymore but I'm not sure if there are other events, objects, rewards, etc that can spawn these items, otherwise me game will crash.

Devangell
Posts: 65
Joined: Thu Jul 30, 2020 10:06 am
Belgium

Re: Remove ring and amulet from gamble screen

Post by Devangell » Tue Oct 13, 2020 3:42 pm

stvnc wrote:
Tue Oct 13, 2020 1:32 pm
Have you tried editing Gamble.txt?
My bad, just realised amulet and ring is forced on you.

Code: Select all

.text:6FCDE37A                 mov     [esp+2Ch+var_18], 0
At 0x6FCDE37A (1.13c D2GAME.DLL) you can modify the 0 to a 2.

It's the count of items put in gamble screen, it adds amulet and ring first, when this count is below 2.

So if you start at 2, it should not add amulet and ring. I don't know if you have to remove them from gamble.txt as well after that.
Works like a charm, Thanks!!

strafano
Posts: 64
Joined: Mon Feb 19, 2018 12:43 am

Re: Remove ring and amulet from gamble screen

Post by strafano » Tue Feb 23, 2021 3:12 am

Hi,
i am interested in removing rings and amulets too, but I am not able to find 6FCDE37A in D2Game.dll (1.13c). I received the message that the offset is beyond the end of file.

User avatar
ChaosMarc
Dark Alliance Beta Test
Paladin
Posts: 246
Joined: Fri May 28, 2004 2:00 pm
Germany

Re: Remove ring and amulet from gamble screen

Post by ChaosMarc » Tue Feb 23, 2021 9:05 am

This is an in-memory address. To get the dll-offset you have to subtract (e.g. with the windows calculator) the base address for the respective dll:
devurandom wrote:
Wed Oct 17, 2018 3:50 am
D2Game 6FC20000
D2Common 6FD50000
D2Client 6FAB0000
so for this example it should be: BE37A (not tested)

strafano
Posts: 64
Joined: Mon Feb 19, 2018 12:43 am

Re: Remove ring and amulet from gamble screen

Post by strafano » Tue Feb 23, 2021 10:34 am

ChaosMarc wrote:
Tue Feb 23, 2021 9:05 am
This is an in-memory address. To get the dll-offset you have to subtract (e.g. with the windows calculator) the base address for the respective dll:
devurandom wrote:
Wed Oct 17, 2018 3:50 am
D2Game 6FC20000
D2Common 6FD50000
D2Client 6FAB0000
so for this example it should be: BE37A (not tested)
Thanks ChaosMarc. According to your suggestion (I agree with your calculation) I got the following command:

Code: Select all

000BE37A   C74424 14 000000 MOV DWORD PTR SS:[ESP+14],0
that seems different from that reported in the above messages.
However i tried to change 0 with 2 but nothing happened.

Other suggestions?

Post Reply

Return to “Code Editing”