• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

1.13c Dll Offsets

Erstmal vielen Dank für die Zusammenstellung in diesem Thread.

Zwei Fragen habe ich zu 1.13c, auf die mir hier hoffentlich jemand Antwort geben kann:

1. Wie kann ich Set Items dazu bringen, mit gleicher Wahrscheinlichkeit wie alle anderen Items, als ätherische Version zu droppen?

2. Was muss ich tun, um den Kistenplatz zu vergrößern?
 
zu 2. die einfachste möglichkeit sollte für dich plugy sein. guck dir den thread aus meiner signatur an ;) oder steig gleich auf D2SE um (ebenfalls signatur) da haste keine sorgen mit der installation von plugy, die manchmal nicht problemlos funzt^^

zu 1. mir wäre nicht bekannt das die wahrscheinlich das ein set in eth form dropt eine andere wäre als dass ein normales item (oder unique usw) in eth form dropt eine unterschiedliche wäre. aber vllt wusste ichs auch einfach nicht^^
 
Zu 1. die Wahrscheinlichkeit das ein eth set item dropt ist null.
 
@chaosmarc
setitems können nicht random äth. sein
sie sind es also nur dann wenn se es immer sind ^^

@hypokrit
das weiß sie bestimmt - deswegen fragt sie ja nach einer möglichkeit dies umzustellen ;)

@DanaScully
1.) k.a. ^^

2.)via inventory.txt kannst du die größe des inventars und die anordnung der ausrüstungsplätze anpassen
dabei ist zu beachten das man immer die classic und lod inventare anpassen muss (also immer beides) - sonst passiert nicht viel ^^
(ist beides in der gleichen txt)
ist also keine hardcode geschichte ^^



Gruß SamusAran
 
Vielen Dank für die Antworten.

@ SamusAran: Du schreibst nur über die Größe des Inventars und der Ausrüstungsplätze. Beim Stash meine ich mal gelesen zu haben, dass lediglich die inventory.txt zu ändern nix bringt. Oder?
 
Um das Inventar zu vergrößern muss man prinzipiell bloß die Inventory.txt anpassen, sonst nix.

Wenn's auch vernünftig aussehen soll, musst du natürlich noch die entsprechende Grafik modifizieren (tradestash.dc6 für LoD).
 
Für den Stash reicht auch nur die Inventory.txt. Solange du nicht die Position des Abhebe-, Closebuttons bzw die Positionen des Goldstrings ändern willst, gibt es nichts, was hardcoded wäre.
 
Vielen Dank für die Hinweise. Hab nun eine zufriedenstellende Lösung für die Stash-Vergrößerung gefunden.

Die Frage nach ätherisch droppenden Set-Items ist leider nach wie vor ungeklärt. Ist niemandem eine Möglichkeit bekannt, sie wie jedes andere Item auch ätherisch droppen zu lassen (mit gleicher Wahrscheinlichkeit wie bei den anderen Item-Qualitäten)?
 
hm man könnte versuchen den einzelnen setitems "ethereal -19 1" zu geben
also min auf -19 und max auf 1

dann hätten sie eine chance von 1:20 (5%) äth zu werden ^^ - was in etwa der chance der andere items entspricht

ist zwar bissel ne fakelösung und begrenzt die itemstats um einen weiteren stat nach unten aber naja^^ - funzen sollte es theoretisch ^^

im code gibt es sicher irgendwo eine stelle die setitems untersagt äth. zu droppen, wenn man diese findet und abstellt sollten sie von allein die selbe chance haben
allerdings kennt das entsprechende offset wohl bisher niemand



Gruß SamusAran
 
Auf diese Idee war ich auch bereits gekommen. Funzt leider nicht. Egal, welche Zahlen man einträgt, droppt das Item dann stets ätherisch.
 
Im PK gibt es zwei Topics darüber, allerdings beziehen sich diese auf v1.10f. Es sollte aber nicht allzu schwer sein, die entsprechenden Offsets in v1.13c zu finden.

1. 2.

Der entsprechende Code in v1.13c könnte folgender sein:

Code:
0000EBF4  SUB EAX,4
0000EBF7  JE 0000EC82
0000EBFD  PUSH ESI
0000EBFE  CALL <JMP.&D2Common.#10176>

Ob es auch wirlich dieser Teil ist, muss noh einer Testen.
 
:hy:

Falls das noch aktuell ist... das ist tatsächlich der Code.
Wenn man in der D2Game.dll
Code:
0000EBF7  JE 0000EC82
nopt, dann droppen auch Sets ätherisch.

:hy:

€: Und scheinbar wurde auch die Problematik mit ätherischen und nicht ätherischen Set-Items geklärt:
Bilder:
rstungc.png
handschuhe.png
Eins ätherisch, eins nicht, trotzdem werden beide als Teil des gleichen Sets erkannt.
 
Das klingt doch schon mal gut. Vielen Dank für den Hinweis. Werde ich mal austesten.
 
So ich würde jetzt auch noch mal die Frage von Tontaube aufgreifen:

Habe mir jetzt diesen Thread angeschaut, kann aber nicht soviel damit anfangen...

Kann mir das jemand "übersetzen", damit es auch für einen Newbie wie mich klar wird, also dass es so aussieht wie im Startpost?

unfortunatly 1.13c' inline policly wasn't too kinda, so the D2GetAct function got inlined in a few places, these places need to instead do this
Code:
PUSH <nLevel>
CALL D2Common.GetAct
INC EAX
JMP <location of the JL of the origional loop>

the code to replace D2Common.#10459(GetAct) with looks like so:
Code:
MOV EAX,DWORD PTR [ESP+4]
CMP EAX,DWORD PTR [6FDF0B34]
JNB BAD_EXIT
IMUL EAX,EAX,0x220
ADD EAX,MOV DWORD PTR [6FDF0B30]
MOVSX EAX,BYTE PTR [EAX+3]
RETN
BAD_EXIT:
XOR EAX,EAX
RETN

now the actual places to edit In D2Common:

Code:
D2Common:
//D2GetAct__inline:(best to rather make these all call D2Common.#10459)
6FD67190                                                 |.  B8 01000000                  MOV EAX,1
6FD67195                                                 |.  57                           PUSH EDI
6FD67196                                                 |>  3B0C85 6846DE6F              /CMP ECX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD6719D                                                 |.  7C 4B                        |JL SHORT D2Common.6FD671EA
6FD6719F                                                 |.  40                           |INC EAX
6FD671A0                                                 |.  83F8 05                      |CMP EAX,5
6FD671A3                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD67196

6FD878D0                                                 |> \B8 01000000                  MOV EAX,1
6FD878D5                                                 |>  3B1C85 6846DE6F              /CMP EBX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD878DC                                                 |.  7C 31                        |JL SHORT D2Common.6FD8790F
6FD878DE                                                 |.  40                           |INC EAX
6FD878DF                                                 |.  83F8 05                      |CMP EAX,5
6FD878E2                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD878D5

6FD87AA0                                                 |> \B8 01000000                  MOV EAX,1
6FD87AA5                                                 |>  3B1C85 6846DE6F              /CMP EBX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD87AAC                                                 |.  7C 31                        |JL SHORT D2Common.6FD87ADF
6FD87AAE                                                 |.  40                           |INC EAX
6FD87AAF                                                 |.  83F8 05                      |CMP EAX,5
6FD87AB2                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD87AA5

6FD87B37                                                 |> \B8 01000000                  MOV EAX,1
6FD87B3C                                                 |.  8D6424 00                    LEA ESP,DWORD PTR SS:[ESP]
6FD87B40                                                 |>  3B1C85 6846DE6F              /CMP EBX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD87B47                                                 |.  7C 45                        |JL SHORT D2Common.6FD87B8E
6FD87B49                                                 |.  40                           |INC EAX
6FD87B4A                                                 |.  83F8 05                      |CMP EAX,5
6FD87B4D                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD87B40

6FD93613                                                 |.  B8 01000000                  MOV EAX,1
6FD93618                                                 |.  EB 06                        JMP SHORT D2Common.6FD93620
6FD9361A                                                 |   8D9B 00000000                LEA EBX,DWORD PTR DS:[EBX]
6FD93620                                                 |>  3B0C85 6846DE6F              /CMP ECX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD93627                                                 |.  7C 4D                        |JL SHORT D2Common.6FD93676
6FD93629                                                 |.  40                           |INC EAX
6FD9362A                                                 |.  83F8 05                      |CMP EAX,5
6FD9362D                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD93620
//D2GetAct:
6FD9A696                                                 |.  B8 01000000                  MOV EAX,1
6FD9A69B                                                 |.  EB 03                        JMP SHORT D2Common.6FD9A6A0
6FD9A69D                                                 |   8D49 00                      LEA ECX,DWORD PTR DS:[ECX]
6FD9A6A0                                                 |>  3B1485 6846DE6F              /CMP EDX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD9A6A7                                                 |.  7C 36                        |JL SHORT D2Common.6FD9A6DF
6FD9A6A9                                                 |.  40                           |INC EAX
6FD9A6AA                                                 |.  83F8 05                      |CMP EAX,5
6FD9A6AD                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD9A6A0

D2Common.#10459 6FD7D2C0                                 /$  8B4C24 04                    MOV ECX,DWORD PTR SS:[ESP+4]
6FD7D2C4                                                 |.  B8 01000000                  MOV EAX,1
6FD7D2C9                                                 |.  8DA424 00000000              LEA ESP,DWORD PTR SS:[ESP]
6FD7D2D0                                                 |>  3B0C85 6846DE6F              /CMP ECX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD7D2D7                                                 |.  7C 0B                        |JL SHORT D2Common.6FD7D2E4
6FD7D2D9                                                 |.  40                           |INC EAX
6FD7D2DA                                                 |.  83F8 05                      |CMP EAX,5
6FD7D2DD                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD7D2D0
6FD7D2DF                                                 |.  32C0                         XOR AL,AL
6FD7D2E1                                                 |.  C2 0400                      RETN 4
6FD7D2E4                                                 |>  48                           DEC EAX
6FD7D2E5                                                 \.  C2 0400                      RETN 4

The D2Client Edits(what to change to):
Code:
D2Client:
//automap files
6FB10516                                                     81EC A0100000                SUB ESP,10A0
6FB10536                                                     B9 99030000                  MOV ECX,399
6FB1054B                                                     68 00100000                  PUSH 1000
6FB1055B                                                     817C24 0C 00100000           CMP DWORD PTR SS:[ESP+C],1000
6FB10584                                                     68 00100000                  PUSH 1000
6FB10619                                                     68 00100000                  PUSH 1000
//no stack restore, as its done via a stack frame...
6FB11E76                                                     81EC 4C100000                SUB ESP,104C
6FB11EA9                                                     B9 99030000                  MOV ECX,399
6FB11EBA                                                     68 00100000                  PUSH 1000
6FB11ECE                                                     817C24 10 00100000           CMP DWORD PTR SS:[ESP+10],1000
6FB0F2EB                                                     68 00100000                  PUSH 1000
//the above merges about 6 edits into 1
//no stack restore, as its done via a stack frame...

Ich denke mal, dass das nicht nur mich interessieren würde, sondern auch andere...

Vielen Dank!

MfG
MW95
 
@MW95:
ich schätze da werden irgendwann in den nächsten wochen die voreditierten files online gehen da die änderungen doch ein wenig weitläufiger sind.

Ich hab den ersten Post mal wieder aktualisiert und aufgeräumt.
hoffentlich habe ich nicht nur meiner meinung nach mehr ordnung reingebracht.
wehe es gefällt irgendjemandem nicht :D ich habe bestimmt ne stunde gebraucht^^
quatsch ;) ich bin gerne bereit auf kritik zu hören:
- ist irgendwas falsch einsortiert?
- sollte ich eine weitere übergruppe für irgednwas anlegen?
- ist sonstwas schlechter als vorher?
- hab ich was vergessen?

@Wissle: habe ich den eintrag

Setitems auch ätherisch droppen lassen:
Datei: D2game.dll
Offset: 0000EBF7
Änderung: 0F -> 90
richtig interpretiert?

grüße
chaosmarc
 
Jo, danke ChaosMarc, dass du dich meldest! Kurz nach meinem Post hat Necrolis im Phrozenkeep zugesagt, die Files auf Anfrage eines anderen Users zu machen. Im Prinzip warte ich jetzt nur darauf, dass diese fertig werden ;)

Btw der Startpost sieht ziemlich nice aus

Und noch ne Frage dazu: Wo liegt der unterschied zwischen Wirbelwind jetzt und Classic Wirbelwind?
 
In Classic greift man mit WW immer 25? mal pro Sekunde an, während es in LoD IAS abhängig ist.
 
@Wissle: habe ich den eintrag

Setitems auch ätherisch droppen lassen:
Datei: D2game.dll
Offset: 0000EBF7
Änderung: 0F -> 90
richtig interpretiert?

:hy:

Nicht ganz :)
An der Stelle ist ein Sprung, der muss komplett weg:
Code:
 0000EBF7   0F84 85000000    JE 0000EC82
Also:
0F84 85000000 ->
9090 90909090


Zum neuen Design; Sieht gut aus so :)

Zu den Einordnungen:
Bei Caps :
"Verteidigung während des Rennens" (Dativ und Genitiv und Tod und so :D)
und
"Crushing Blow an die Spielerzahl anpassen"
sind nicht wirklich caps, vlt wäre das bei Anderes besser :-/

Wenn z.B. Players X mit drin steht, dann passt hingegen die Leichenanzahl auch ganz gut dazu :)

:hy:
 
hab playersx und leichenzahl mit in die caps genommen^^
geNOPter sprung ist angepasst. ich hab mich mit den "richtigen" code edits bisher nur so halb beschäftigt.
 
Hallo,

ich habe eine Frage zu diesen dll-edits für Mapping Sachen:
Wozu ist das nötig? Kann man sonst keine neuen Maps erstellen?
Oder gibt es da eine Begrenzung die dadurch umgangen wird?
Und wenn das so sein sollte, wieso geht dann zum Beispiel Median ohne dll edits zu spielen, da gibt es doch auch neue Maps?

Und dann habe ich auch noch eine Frage zu den ätherischen Set-Items, nämlich wie testet man das, ob die auch wirklich ätherisch fallen können, am besten?
Das dauert doch ewig, ehe man mal ein Set-Item und dann auch noch ein ätherisches findet...

Hoffe ihr könnt mich da aufklären :)

LG,

Kurt
 
Zurück
Oben