Page 1 of 4

Diablo II: Median XL

Posted: Sat Jul 16, 2022 4:06 am
by plaxor
for now..
  • Can't be Killed
    - One Hit Kill
  • [Link]
  • No Stamina Drain
  • No Mana Spell Cost
  • All Waypoints Activated
  • Monsters Are Vulnerable
  • No Level Requirement of Items
  • Stop Ethereal Items from Dropping
  • All items are zero cost (including player)
  • /nopickup
  • Combat Speeds:
    - Attack Speed +300
    - Cast Rate x300
    - Hit Recovery +1000
    - Run/Walk Speed +150
  • Light Radius:
    - [Link]
    - [Link]
  • Chest:
    - No Key Requirements
    - Lock All Chest
    - 0% Trap Chance
  • No Arrow Decrease
  • No Durability Loss

Most of these scripts are compatible with the base game as well, not limited to MXL.
I'll try to keep this post at least 3 attachments to declutter and maintain tidiness, deleting the old ones.


Happy? :)
[Link]
[Link]

Re: Diablo II: Median XL

Posted: Tue Jul 19, 2022 9:47 pm
by miruss89
plaxor wrote:
Sat Jul 16, 2022 4:06 am
for now..
- Take no damage + OHK
- Melee Range +200

The magic drop mechanics of the game is a bit complicated. I'm looking at it. Hopefully I'll get this to work.

here's a preview for range adder:
thank you so much for the table. Can i request for infinite stamina & mana?

Re: Diablo II: Median XL

Posted: Wed Jul 20, 2022 5:33 pm
by DevilliveD89
Seems like only the range hack works for me so far.
Hoping to see more someday.
Thx for the work so far.

Re: Diablo II: Median XL

Posted: Thu Jul 21, 2022 5:20 am
by plaxor
miruss89 wrote:
Tue Jul 19, 2022 9:47 pm
thank you so much for the table. Can i request for infinite stamina & mana?
i've updated it, but not infinite really.. the "No Stamina Drain" worked for me though, check it out ;)

Re: Diablo II: Median XL

Posted: Wed Jul 27, 2022 5:37 pm
by shapka85
Thank you for that!

Re: Diablo II: Median XL

Posted: Thu Jul 28, 2022 10:45 pm
by yepsi
The magic drop mechanics of the game is a bit complicated. I'm looking at it. Hopefully I'll get this to work
I got a magicfind hack working on CE.
My discord is "Scott#5275" i can send you the CE I have; Here is the lua code for it.

Code: Select all

[ENABLE]
alloc(coefficient,4)
registersymbol(coefficient)

{
"Game.exe"+15875B: 74 0A                 -  je Game.exe+158767
"Game.exe"+15875D: 8B C6                 -  mov eax,esi
"Game.exe"+15875F: 6B C0 64              -  imul eax,eax,64
"Game.exe"+158762: 99                    -  cdq
"Game.exe"+158763: F7 F9                 -  idiv ecx
"Game.exe"+158765: 8B F0                 -  mov esi,eax
"Game.exe"+158767: 8B 47 08              -  mov eax,[edi+08]
"Game.exe"+15876A: 3B F0                 -  cmp esi,eax
"Game.exe"+15876C: 7F 02                 -  jg Game.exe+158770
"Game.exe"+15876E: 8B F0                 -  mov esi,eax
// ---------- INJECTING HERE ----------
"Game.exe"+158770: 8B 45 14              -  mov eax,[ebp+14]
"Game.exe"+158773: 0F B7 40 06           -  movzx eax,word ptr [eax+06]
// ---------- DONE INJECTING  ----------
"Game.exe"+158777: 0F AF C6              -  imul eax,esi
"Game.exe"+15877A: 99                    -  cdq
"Game.exe"+15877B: 81 E2 FF 03 00 00     -  and edx,000003FF
"Game.exe"+158781: 03 C2                 -  add eax,edx
"Game.exe"+158783: C1 F8 0A              -  sar eax,0A
"Game.exe"+158786: F7 D8                 -  neg eax
"Game.exe"+158788: 03 F0                 -  add esi,eax
"Game.exe"+15878A: 85 F6                 -  test esi,esi
"Game.exe"+15878C: 0F 8E 21 FF FF FF     -  jng Game.exe+1586B3
"Game.exe"+158792: 8B 4D 0C              -  mov ecx,[ebp+0C]
}
aobscanmodule(aobMagicFind,D2Game.dll,8B 54 24 28 0F B7 42 06)
registersymbol(addressMagicFind)
alloc(injectionMagicFind,64)
label(exitCoefficient)
label(addressMagicFind)
label(returnMagicFind)

injectionMagicFind:
  pushf // save flags state
  push eax
  // esi containt an integer that'll be used to determine item quality
  // the higher values means harder to get high quality item
  // note that set items are acually considered less qualitative then uniques
  mov eax, esi
  mov esi,0
  cmp [coefficient],0
  je exitCoefficient // maximum quality for selected loot table will always drop
  push edx // save register state
  mov edx,0 // prepare for division
  idiv [coefficient] // make quality items coefficient times more likely to drop
  mov esi,eax
  pop edx // restore register state
exitCoefficient:
  pop eax
  popf // restore flags state
  // original code
  mov edx,[esp+28]
  movzx eax,word ptr [edx+06]
  jmp returnMagicFind

aobMagicFind:
addressMagicFind:
  jmp injectionMagicFind
  nop
  nop
  nop
returnMagicFind:

[DISABLE]

addressMagicFind:
  db 8B 54 24 28 0F B7 42 06
unregistersymbol(addressMagicFind)
dealloc(injectionMagicFind)

unregistersymbol(coefficient)
dealloc(coefficient)
I also would like to add, it is possible to edit the items in your inventory. Each item is assigned a code (ex. #1G, not accurate but still has a code) if you can find out item codes you can change item in your inventory and test stuff out.

Re: Diablo II: Median XL

Posted: Fri Jul 29, 2022 4:45 am
by plaxor
yepsi wrote:
Thu Jul 28, 2022 10:45 pm
I got a magicfind hack working on CE.
My discord is "Scott#5275" i can send you the CE I have; Here is the lua code for it.
wow, but no thanks really. I already figured the MF thing out. I don't want to post my script just yet. I'm still polishing it :)
yepsi wrote:
Thu Jul 28, 2022 10:45 pm

Code: Select all

[ENABLE]
alloc(coefficient,4)
registersymbol(coefficient)

{
"Game.exe"+15875B: 74 0A - je Game.exe+158767
"Game.exe"+15875D: 8B C6 - mov eax,esi
"Game.exe"+15875F: 6B C0 64 - imul eax,eax,64
"Game.exe"+158762: 99 - cdq
"Game.exe"+158763: F7 F9 - idiv ecx
"Game.exe"+158765: 8B F0 - mov esi,eax
"Game.exe"+158767: 8B 47 08 - mov eax,[edi+08]
"Game.exe"+15876A: 3B F0 - cmp esi,eax
"Game.exe"+15876C: 7F 02 - jg Game.exe+158770
"Game.exe"+15876E: 8B F0 - mov esi,eax
// ---------- INJECTING HERE ----------
"Game.exe"+158770: 8B 45 14 - mov eax,[ebp+14]
"Game.exe"+158773: 0F B7 40 06 - movzx eax,word ptr [eax+06]
// ---------- DONE INJECTING ----------
"Game.exe"+158777: 0F AF C6 - imul eax,esi
"Game.exe"+15877A: 99 - cdq
"Game.exe"+15877B: 81 E2 FF 03 00 00 - and edx,000003FF
"Game.exe"+158781: 03 C2 - add eax,edx
"Game.exe"+158783: C1 F8 0A - sar eax,0A
"Game.exe"+158786: F7 D8 - neg eax
"Game.exe"+158788: 03 F0 - add esi,eax
"Game.exe"+15878A: 85 F6 - test esi,esi
"Game.exe"+15878C: 0F 8E 21 FF FF FF - jng Game.exe+1586B3
"Game.exe"+158792: 8B 4D 0C - mov ecx,[ebp+0C]
}
aobscanmodule(aobMagicFind,D2Game.dll,8B 54 24 28 0F B7 42 06)
registersymbol(addressMagicFind)
alloc(injectionMagicFind,64)
label(exitCoefficient)
label(addressMagicFind)
label(returnMagicFind)

injectionMagicFind:
 pushf // save flags state
 push eax
 // esi containt an integer that'll be used to determine item quality
 // the higher values means harder to get high quality item
 // note that set items are acually considered less qualitative then uniques
 mov eax, esi
 mov esi,0
 cmp [coefficient],0
 je exitCoefficient // maximum quality for selected loot table will always drop
 push edx // save register state
 mov edx,0 // prepare for division
 idiv [coefficient] // make quality items coefficient times more likely to drop
 mov esi,eax
 pop edx // restore register state
exitCoefficient:
 pop eax
 popf // restore flags state
 // original code
 mov edx,[esp+28]
 movzx eax,word ptr [edx+06]
 jmp returnMagicFind

aobMagicFind:
addressMagicFind:
 jmp injectionMagicFind
 nop
 nop
 nop
returnMagicFind:

[DISABLE]

addressMagicFind:
 db 8B 54 24 28 0F B7 42 06
unregistersymbol(addressMagicFind)
dealloc(injectionMagicFind)

unregistersymbol(coefficient)
dealloc(coefficient)
I think that's for the other version.
I saw it was already posted here by romkansk

My script specifically works for 1.13c. Median XL team is working on 1.13c, so no need to AoB scan this.
(I avoid using AoB scans on this game because that would not specify the version of the game.)
yepsi wrote:
Thu Jul 28, 2022 10:45 pm
I also would like to add, it is possible to edit the items in your inventory. Each item is assigned a code (ex. #1G, not accurate but still has a code) if you can find out item codes you can change item in your inventory and test stuff out.
I also already figured that one :)

Re: Diablo II: Median XL

Posted: Fri Jul 29, 2022 6:00 am
by shapka85
Does it mean we're getting an update soon™ ?

Re: Diablo II: Median XL

Posted: Fri Jul 29, 2022 8:37 am
by yepsi
plaxor wrote:
Fri Jul 29, 2022 4:45 am
yepsi wrote:
Thu Jul 28, 2022 10:45 pm
I got a magicfind hack working on CE.
My discord is "Scott#5275" i can send you the CE I have; Here is the lua code for it.
wow, but no thanks really. I already figured the MF thing out. I don't want to post my script just yet. I'm still polishing it :)
yepsi wrote:
Thu Jul 28, 2022 10:45 pm

Code: Select all

[ENABLE]
alloc(coefficient,4)
registersymbol(coefficient)

{
"Game.exe"+15875B: 74 0A - je Game.exe+158767
"Game.exe"+15875D: 8B C6 - mov eax,esi
"Game.exe"+15875F: 6B C0 64 - imul eax,eax,64
"Game.exe"+158762: 99 - cdq
"Game.exe"+158763: F7 F9 - idiv ecx
"Game.exe"+158765: 8B F0 - mov esi,eax
"Game.exe"+158767: 8B 47 08 - mov eax,[edi+08]
"Game.exe"+15876A: 3B F0 - cmp esi,eax
"Game.exe"+15876C: 7F 02 - jg Game.exe+158770
"Game.exe"+15876E: 8B F0 - mov esi,eax
// ---------- INJECTING HERE ----------
"Game.exe"+158770: 8B 45 14 - mov eax,[ebp+14]
"Game.exe"+158773: 0F B7 40 06 - movzx eax,word ptr [eax+06]
// ---------- DONE INJECTING ----------
"Game.exe"+158777: 0F AF C6 - imul eax,esi
"Game.exe"+15877A: 99 - cdq
"Game.exe"+15877B: 81 E2 FF 03 00 00 - and edx,000003FF
"Game.exe"+158781: 03 C2 - add eax,edx
"Game.exe"+158783: C1 F8 0A - sar eax,0A
"Game.exe"+158786: F7 D8 - neg eax
"Game.exe"+158788: 03 F0 - add esi,eax
"Game.exe"+15878A: 85 F6 - test esi,esi
"Game.exe"+15878C: 0F 8E 21 FF FF FF - jng Game.exe+1586B3
"Game.exe"+158792: 8B 4D 0C - mov ecx,[ebp+0C]
}
aobscanmodule(aobMagicFind,D2Game.dll,8B 54 24 28 0F B7 42 06)
registersymbol(addressMagicFind)
alloc(injectionMagicFind,64)
label(exitCoefficient)
label(addressMagicFind)
label(returnMagicFind)

injectionMagicFind:
 pushf // save flags state
 push eax
 // esi containt an integer that'll be used to determine item quality
 // the higher values means harder to get high quality item
 // note that set items are acually considered less qualitative then uniques
 mov eax, esi
 mov esi,0
 cmp [coefficient],0
 je exitCoefficient // maximum quality for selected loot table will always drop
 push edx // save register state
 mov edx,0 // prepare for division
 idiv [coefficient] // make quality items coefficient times more likely to drop
 mov esi,eax
 pop edx // restore register state
exitCoefficient:
 pop eax
 popf // restore flags state
 // original code
 mov edx,[esp+28]
 movzx eax,word ptr [edx+06]
 jmp returnMagicFind

aobMagicFind:
addressMagicFind:
 jmp injectionMagicFind
 nop
 nop
 nop
returnMagicFind:

[DISABLE]

addressMagicFind:
 db 8B 54 24 28 0F B7 42 06
unregistersymbol(addressMagicFind)
dealloc(injectionMagicFind)

unregistersymbol(coefficient)
dealloc(coefficient)
I think that's for the other version.
I saw it was already posted here by romkansk

My script specifically works for 1.13c. Median XL team is working on 1.13c, so no need to AoB scan this.
(I avoid using AoB scans on this game because that would not specify the version of the game.)
yepsi wrote:
Thu Jul 28, 2022 10:45 pm
I also would like to add, it is possible to edit the items in your inventory. Each item is assigned a code (ex. #1G, not accurate but still has a code) if you can find out item codes you can change item in your inventory and test stuff out.
I also already figured that one :)

Thats the one! It still works for me, I just tend not to use to due to the amount of item that cover my screen

Re: Diablo II: Median XL

Posted: Fri Jul 29, 2022 8:49 am
by yepsi
I made a meme cracked out speed farmer for the 1 hit kill. Just threw as much "on kill" effects as I could on a naga sin.

password: sin


Re: Diablo II: Median XL

Posted: Fri Jul 29, 2022 11:58 am
by plaxor
shapka85 wrote:
Fri Jul 29, 2022 6:00 am
Does it mean we're getting an update soon™ ?
If the MF drop, nope, not yet.

In the mean time, you may try the new update ;)

Re: Diablo II: Median XL

Posted: Sat Aug 06, 2022 9:29 pm
by elseif
It may sound trite, but can you cheat on attribute and skill points?

Re: Diablo II: Median XL

Posted: Sun Aug 07, 2022 2:11 am
by Darkedone02
for people who want attribute points, they are simple to find, 4 byte.

Re: Diablo II: Median XL

Posted: Sun Aug 07, 2022 6:44 am
by Cake-san
elseif wrote:
Sat Aug 06, 2022 9:29 pm
It may sound trite, but can you cheat on attribute and skill points?
This, still working fine on latest mod version: viewtopic.php?p=212756#p212756

Also , you can change your class while playing & learn each class skills but it would revert back after saving&loading though, which might break your save:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>322</ID>
      <Description>"class"</Description>
      <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:Amazon
1:Sorceress
2:Necromancer
3:Paladin
4:Barbarian
5:Druid
6:Assassin
</DropDownList>
      <LastState Value="1" RealAddress="0CB5B104"/>
      <ShowAsSigned>0</ShowAsSigned>
      <VariableType>4 Bytes</VariableType>
      <Address>BaseAddress+4</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>323</ID>
      <Description>"class"</Description>
      <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:Amazon
1:Sorceress
2:Necromancer
3:Paladin
4:Barbarian
5:Druid
6:Assassin
</DropDownList>
      <LastState Value="1" RealAddress="0D664704"/>
      <ShowAsSigned>0</ShowAsSigned>
      <VariableType>4 Bytes</VariableType>
      <Address>BaseAddress2+4</Address>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Re: Diablo II: Median XL

Posted: Tue Oct 18, 2022 8:15 am
by Architect
plaxor wrote:
Fri Jul 29, 2022 4:45 am
-- snipped
Hey, plaxor. Would you have an updated table with drop modification? The one by yepsi works fine in the current patch, but it always rolls everything to unique, which leaves no room for sets to drop (as it sets the drop to the highest possible).

Thank you, the table still is working fine and made farming Vizjun much easier.