hectorgimenez / d2go Goto Github PK
View Code? Open in Web Editor NEWUtilities related to Diablo 2 Resurrected, written in Go. Just for fun
License: MIT License
Utilities related to Diablo 2 Resurrected, written in Go. Just for fun
License: MIT License
i am not 100% sure about how this works but I've expanded some menu data, most of this is just for completeness sake but there is one unclear item here about offset 0x16c that might be interesting.
I'm not submitting a PR because this is from my own code and only related because I initially lifted some of your go code and expanded it, you may or may not need this data. I initially was making sure no menu states popped up in the user interface over the region a mouse might interact with just in case the user presented a key event outside what the bot expects (with a belt or chat for example) causing the project/unproject to be incorrect.
this specific value at offset 0x16c flickers when teleporting, changing areas through clicking on a exit or using a waypoint and entering/leaving games. I have used it some to not teleport too fast in a laggy game figuring out if the controlled unit is allowed to move.
below are some snippets of the added information.. also I've added you on discord too, maybe we can discuss other things and compare some notes.
the values that seem to be reasonable
const (
OpenMenus_CanMove_MoveAllowed = 0
OpenMenus_CanMove_CannotMove = 1
OpenMenus_CanMove_CannotMoveLoading = 2
OpenMenus_CanMove_UNKNOWN = 255
)
some expanded items
type OpenMenus struct {
InGame bool
CanMove OpenMenus_JoinGameState
Belt bool
Chat bool
Merc bool
Party bool
... snip ...
}
offsets
om := OpenMenus{
InGame: blob.Data[0x0] != 0,
Chat: blob.Data[0x5] != 0,
Party: blob.Data[0x15] != 0,
Belt: blob.Data[0x1a] != 0,
Merc: blob.Data[0x1e] != 0,
QuestLog: blob.Data[0x0e] != 0,
...snip known data ...
}
switch blob.Data[0x16c] {
case OpenMenus_CanMove_MoveAllowed:
om.CanMove = OpenMenus_CanMove_MoveAllowed
case OpenMenus_CanMove_CannotMove:
om.CanMove = OpenMenus_CanMove_CannotMove
case OpenMenus_CanMove_CannotMoveLoading:
om.CanMove = OpenMenus_CanMove_CannotMoveLoading
default:
om.CanMove = OpenMenus_CanMove_UNKNOWN
panic(fmt.Sprintf("unknown move state %d", blob.Data[0x16c]))
}
Hello,
Looking through d2go code; it looks like you're getting the item stats directly from memory. Can you confirm, then, that meta stats such as Enhanced Defense, Enhanced Damage do not work at all for d2go and koolo?
I've been putting lines like this in the NIP files:
[name] == sharkskinbelt && [quality] == unique && [flag] != ethereal # [enhanceddefense] >= 150
but now I'm realizing this will never be true, as there is never a value for enhanceddefense.
Can you confirm that please? I would like to change my NIPs if that's the case.
PatternBaseAddress = Scan(00 00 06 00 00 00 ?? ?? ?? ?? ?? ?? ?? 43 ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 00 01 00 00 00 00 00 00 00 00 00 80 3F)
Zoom : uint64(PatternBaseAddress + 0x30)
Pattern occurs outside the base module
Zoomed In : 0x003f0000003f00
Zooming in (motion) > 0x003f0000003000 && != 0x003f0000003f00
Zoomed Out : 0x00
Zooming out (motion) > 0 && < 0xffff
Example Data
// ----[ dumping address 0x4f7e1ad6 ]--------------------------------------------------------------
// 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 01234567 89abcdef
// 00000000 00 00 06 00 00 00 8f bf 06 44 25 06 dd 43 8f bf ........ .D%..C.. pointer 0x00060000
// 00000010 06 44 96 43 8b 3c 00 00 00 00 01 00 00 00 00 00 .D.C.<.. ........
// 00000020 00 00 00 00 80 3f 00 00 10 40 00 00 10 40 00 00 .....?.. .@...@..
// 00000030 00 3f 00 00 00 3f 00 00 00 3f 00 00 00 00 00 00 .?...?.. .?......
^^^^^^^^^^^^^^^^^^^^^^^ this is the data
note - Screen to World and World to Screen are 1/2 or 2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.