|
转载
, Y6 a8 N" `+ ^: [( M( G
8 k. b, w0 q( N& S6 u! X z1 @, J# J/ k) b+ M. ]
- ////////////////////////////////////////////////////////////////////////////////////////////////
' q1 ?% x' s5 m6 _* [; b( T - // D2Client Functions //函数表
3 Q, O- y! D2 G# |0 B2 m! m - ////////////////////////////////////////////////////////////////////////////////////////////////4 w$ g" ?2 O( |/ U, n6 I* a3 D
, Q9 d1 `; z, f. U$ H0 R' A. v- FUNCPTR(D2CLIENT, GetQuestInfo, void*, __stdcall, (void), 0x45A00)//! H. q; @! L! m% c9 v
- FUNCPTR(D2CLIENT, SubmitItem, void, __fastcall, (DWORD dwItemId), 0x45FB0)//
; D6 A/ C+ x& x l2 B. P - FUNCPTR(D2CLIENT, Transmute, void, __fastcall, (void), 0x8CB90)//
: j! q. h7 W2 q - FUNCPTR(D2CLIENT, FindClientSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B20)//
5 ]3 u T2 s) I! u% o% b' p - FUNCPTR(D2CLIENT, FindServerSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B40)//8 `! M7 O3 z: ~) s. `2 l
- FUNCPTR(D2CLIENT, GetCurrentInteractingNPC, UnitAny*, __fastcall, (void), 0x46150)//
: R3 i8 R/ U: k* r$ m: @ - FUNCPTR(D2CLIENT, GetSelectedUnit, UnitAny *, __stdcall, (void), 0x51A80)//2 p( z% L5 i9 O, I
- FUNCPTR(D2CLIENT, GetCursorItem, UnitAny*, __fastcall, (void), 0x16020)//' \- H% Q; i4 V& t( [6 B0 s. B/ G
- FUNCPTR(D2CLIENT, GetMercUnit, UnitAny*, __fastcall, (void), 0x97CD0)//
( k( M4 c4 x, ?6 K# @ - FUNCPTR(D2CLIENT, SetSelectedUnit_I, void, __fastcall, (UnitAny *pUnit), 0x51860)//3 u* k7 L- `1 P2 E0 H ]8 o
- FUNCPTR(D2CLIENT, GetItemName, BOOL, __stdcall, (UnitAny* pItem, wchar_t* wBuffer, DWORD dwSize), 0x914F0)//: T' y3 b- P5 R& y6 N
- FUNCPTR(D2CLIENT, LoadItemDesc, BOOL, __stdcall, (UnitAny* pItem, int type), 0x93450)//! X$ K0 `* Y1 L9 r6 j1 h! q
- FUNCPTR(D2CLIENT, GetMonsterOwner, DWORD, __fastcall, (DWORD nMonsterId), 0x216A0)//
" S( r, j6 M/ ^! B# t8 t - FUNCPTR(D2CLIENT, GetUnitHPPercent, DWORD, __fastcall, (DWORD dwUnitId), 0x21580)//' N' c. f1 y. g3 r
- FUNCPTR(D2CLIENT, InitInventory, void, __fastcall, (void), 0x908C0)//. v/ c3 ~ |% u% A! K) w% o
- FUNCPTR(D2CLIENT, SetUIVar, DWORD, __fastcall, (DWORD varno, DWORD howset, DWORD unknown1), 0xC2790)//1 A: `2 i8 |7 u& U2 @0 @
- FUNCPTR(D2CLIENT, GetUnitX, int, __fastcall, (UnitAny* pUnit), 0x1630)//# @5 Z3 [! q$ F; K1 V; R# n# m
- FUNCPTR(D2CLIENT, GetUnitY, int, __fastcall, (UnitAny* pUnit), 0x1660)//
: T& z2 j& q! Q8 _! A0 n! C( M - FUNCPTR(D2CLIENT, ShopAction, void, __fastcall, (UnitAny* pItem, UnitAny* pNpc, UnitAny* pNpc2, DWORD dwSell, DWORD dwItemCost, DWORD dwMODe, DWORD _2, DWORD _3), 0x47D60)//+ v# ? _- b# m- ^1 X3 Y/ a% q
- FUNCPTR(D2CLIENT, CloseNPCInteract, void, __fastcall, (void), 0x492F0)// q1 T4 i5 p% g1 [" Z. {/ G
- FUNCPTR(D2CLIENT, CloseInteract, void, __fastcall, (void), 0x43870)//
' V/ B/ v- g" r) \) ~! _ - FUNCPTR(D2CLIENT, GetAutomapSize, DWORD, __stdcall, (void), 0x5F080)//
6 d; T3 o) l9 D6 B r6 M8 d - FUNCPTR(D2CLIENT, NewAutomapCell, AutomapCell *, __fastcall, (void), 0x5F6B0)//
' i: B! a+ |+ W- q( x t- m- K3 c - FUNCPTR(D2CLIENT, AddAutomapCell, void, __fastcall, (AutomapCell *aCell, AutomapCell **node), 0x61320)//
$ v$ `3 w6 Y# R% r8 H - FUNCPTR(D2CLIENT, RevealAutomapRoom, void, __stdcall, (DRLGRoom *pRoom, DWORD dwClipFlag, AutomapLayer *aLayer), 0x62580)//! t! u, m2 Y& X0 a% f5 h
- FUNCPTR(D2CLIENT, InitAutomapLayer_I, AutomapLayer*, __fastcall, (DWORD nLayerNo), 0x62710)//! T1 H7 u# h, K5 y1 U
- FUNCPTR(D2CLIENT, ClickMap, void, __stdcall, (DWORD MouseFlag, DWORD x, DWORD y, DWORD Type), 0x1BF20)//
2 J! d' v7 |2 W% b, R0 _, @ - FUNCPTR(D2CLIENT, LeftClickItem, void, __stdcall, (UnitAny* pPlayer, Inventory* pInventory, int x, int y, DWORD dwClickType, InventoryLayout* pLayout, DWORD Location), 0x96AA0)//
4 v8 F& ?) K5 l2 z6 S! l/ a; q - FUNCPTR(D2CLIENT, GetMouseXOffset, DWORD, __fastcall, (void), 0x3F6C0)//
; j" d9 P. _# E8 V3 A' { - FUNCPTR(D2CLIENT, GetMouseYOffset, DWORD, __fastcall, (void), 0x3F6D0)//
/ P% M' [8 |" e, \ - FUNCPTR(D2CLIENT, PrintPartyString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D610)//
# B* K( J5 b4 o+ l - FUNCPTR(D2CLIENT, PrintGameString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D850)//+ N: }* S# J7 M4 L( V1 t3 J
- FUNCPTR(D2CLIENT, LeaveParty, void, __fastcall, (void), 0x9E5D0)//
6 _3 q% ^5 J: S# d1 @ - FUNCPTR(D2CLIENT, AcceptTrade, void, __fastcall, (void), 0x59600)//
% U* o+ Q8 w& V: S! w7 S8 X- ] - FUNCPTR(D2CLIENT, CancelTrade, void, __fastcall, (void), 0x595C0)//% h2 p4 L0 J1 G s" w, \* w- D* N
- FUNCPTR(D2CLIENT, TradeOK, void, __stdcall, (void), 0x59980)//
; b+ B. }) T8 ^* W3 [# | - FUNCPTR(D2CLIENT, GetDifficulty, BYTE, __stdcall, (void), 0x58DA0)//
8 R0 d* d" w+ e4 L) I0 c - FUNCPTR(D2CLIENT, ExitGame, void, __fastcall, (void), 0x42850)//1 B$ Y9 W2 w9 P
- FUNCPTR(D2CLIENT, GetUiVar_I, DWORD, __fastcall, (DWORD dwVarNo), 0xBE400)//4 p2 ?+ @/ }. p4 T
- FUNCPTR(D2CLIENT, DrawRectFrame, void, __fastcall, (DWORD Rect), 0xBE4C0)//% X- v7 E. c, H0 B, o1 |
- FUNCPTR(D2CLIENT, PerformGoldDialogAction, void, __fastcall, (void), 0xBFDF0)//
3 x! ]% @! W: t3 \2 D7 b - FUNCPTR(D2CLIENT, GetPlayerUnit, UnitAny*, __stdcall, (void), 0xA4D60)//. Q$ K0 H" d8 v% j8 W i" r* @& Y
- FUNCPTR(D2CLIENT, GetLevelName_I, wchar_t*, __fastcall, (DWORD levelId), 0xBE240)//
8 R( g& n6 p' U7 f. t; b5 o - FUNCPTR(D2CLIENT, ClearScreen, void, __fastcall, (void), 0x48350)//
, R7 l) d4 t; H1 g9 M/ C, x - FUNCPTR(D2CLIENT, CloseNPCTalk, DWORD, __stdcall, (void* unk), 0x7ED30)//5 r8 }" `& j( r
- FUNCPTR(D2CLIENT, ClickOnStashButton, void, __fastcall, (DWORD x, DWORD y), 0x8CD00);//
9 Y3 Q0 d& b) @4 \/ B5 w - FUNCPTR(D2CLIENT, GetUnit, void*, __fastcall, (DWORD dwId, DWORD dwType), 0x78D30);
7 w3 L% u3 N& c) B; l3 Z, E
1 q( G! w0 v$ b- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////+ D# y2 u) J3 v0 B+ U2 h
- // D2Client Globals //数据段内容在游戏内易查找,本人无1.13D版本,故以下数据段内容未查找,需要者自行查找% f6 \1 j& y/ G* J4 c" R& X
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \& d; J* T A' G
( X+ N" o! V9 w4 `2 s( ]1 h" M' B- VARPTR(D2CLIENT, ScreenSizeX, DWORD, 0xDBC48)//
- b- k8 ], s. g& e+ ]/ W - VARPTR(D2CLIENT, ScreenSizeY, DWORD, 0xDBC4C)//
1 W7 g8 H" I+ q/ d' X - VARPTR(D2CLIENT, CursorHoverX, DWORD, 0xE0EB8)/// F" U0 g o' @# b
- VARPTR(D2CLIENT, CursorHoverY, DWORD, 0xE0EBC)//
0 X# S/ I, }' y/ C+ g - //VARPTR(D2CLIENT, MouseX, DWORD, 0x11C950)//未找到- ` K- l. t. D1 I
- //VARPTR(D2CLIENT, MouseY, DWORD, 0x11C94C)//未找到( d E4 c" I7 X
- //VARPTR(D2CLIENT, MouseOffsetY, int, 0x106840)//未找到
- ?# W1 l) |0 F$ G3 ~, [1 _6 U - //VARPTR(D2CLIENT, MouseOffsetX, int, 0x106844)//未找到
! s& |0 w3 H2 C$ z# o - //VARPTR(D2CLIENT, AutomapOn, DWORD, 0x11C8B8)//未找到) b6 a, M/ V; A2 d
- //VARPTR(D2CLIENT, AutomapMode, int, 0xF34F8)//未找到% ?6 \1 V9 b; m+ {- j
- //VARPTR(D2CLIENT, Offset, POINT, 0x11CF5C)//未找到
% a0 q1 `* z/ u$ j5 l0 p - //VARPTR(D2CLIENT, AutomapLayer, AutomapLayer*, 0x11CF28)//未找到# o2 _1 L c9 O5 C
- //VARPTR(D2CLIENT, MercStrIndex, WORD, 0xF02D8)//未找到
0 L* b% f4 @& U1 d6 R8 W- g - //VARPTR(D2CLIENT, MercReviveCost, DWORD, 0x11CEE8)//未找到* a! a3 F1 M, Q/ o. l: L# k
- //VARPTR(D2CLIENT, ServerSideUnitHashTables, UnitHashTable, 0x1047B8)//未找到$ D2 p u9 v; b4 j" K, J
- //VARPTR(D2CLIENT, ClientSideUnitHashTables, UnitHashTable, 0x103BB8)//未找到6 |' Y8 v5 }& d7 p
- //VARPTR(D2CLIENT, ViewportY, int, 0x106840)//未找到
' O6 P0 m+ p4 h - //VARPTR(D2CLIENT, ViewportX, int, 0x106844)//未找到0 w0 y! m+ o; C/ G! R
- //VARPTR(D2CLIENT, GoldDialogAction, DWORD, 0x11C86C)//未找到: K* d. {2 r/ G4 x: X4 h
- //VARPTR(D2CLIENT, GoldDialogAmount, DWORD, 0x11D568)//未找到
2 ?7 s1 M! \* s* J- c6 Y* D. I - //VARPTR(D2CLIENT, NPCMenu, NPCMenu*, 0xF1A90)//未找到% j' e& H2 F% `5 }7 z, u
- //VARPTR(D2CLIENT, NPCMenuAmount, DWORD, 0xF21E0)//未找到2 y- S" P1 I1 T
- //VARPTR(D2CLIENT, TradeLayout, InventoryLayout*, 0x101598)//未找到9 J- i1 T) `. z" C; h6 P- P
- //VARPTR(D2CLIENT, StashLayout, InventoryLayout*, 0x1015E0)//未找到0 S8 g2 `. M# u g! I5 J1 {. m" N
- //VARPTR(D2CLIENT, StoreLayout, InventoryLayout*, 0x1016C0)//未找到4 t1 x5 U3 o% Z/ |( v
- //VARPTR(D2CLIENT, CubeLayout, InventoryLayout*, 0x1016D8)//未找到
& _5 F- `0 |8 @, E - //VARPTR(D2CLIENT, InventoryLayout, InventoryLayout*, 0x1016F0)//未找到
; N# k4 o/ d R( H3 a2 @" z: a - //VARPTR(D2CLIENT, MercLayout, InventoryLayout*, 0x11CC84)//未找到
5 e" @7 k& n2 D$ Y7 L: X' d - //VARPTR(D2CLIENT, RegularCursorType, DWORD, 0x11C98C)//未找到 e; {5 h9 C" @. b: G7 ?* H
- //VARPTR(D2CLIENT, ShopCursorType, DWORD, 0x11CB24)//未找到( ^/ e4 i& H! C2 ~8 S. H# q* [
- //VARPTR(D2CLIENT, Ping, DWORD, 0x108764)//未找到7 E' ]. g0 b m. u& u
- //VARPTR(D2CLIENT, FPS, DWORD, 0x11CE10)//未找到
6 V* B8 N$ X' [ - //VARPTR(D2CLIENT, Skip, DWORD, 0x108770)//未找到' Q& y9 V1 A- f! l: E+ q+ f
- //VARPTR(D2CLIENT, Divisor, int, 0xF34F8)//未找到
% b; r9 S! d" O7 q: e' i - //VARPTR(D2CLIENT, OverheadTrigger, DWORD, 0x101ABE)//未找到
- A+ w# W. m9 u - //VARPTR(D2CLIENT, RecentInteractId, DWORD, 0x101895)//未找到. W. Q; B4 N4 x5 ]. u
- //VARPTR(D2CLIENT, ItemPriceList, DWORD, 0x1018B3)//未找到
) |$ K+ _2 \7 E - //VARPTR(D2CLIENT, TransactionDialog, void*, 0x1018D3)//未找到; j8 X, d/ B5 H- K
- //VARPTR(D2CLIENT, TransactionDialogs, DWORD, 0x11D58C)//未找到
# J0 R# Z' m# a4 \8 v# T( w. [ - //VARPTR(D2CLIENT, TransactionDialogs_2, DWORD, 0x11D588)//未找到
& g+ q5 C, |9 D. M1 o - //VARPTR(D2CLIENT, pTransactionDialogsInfo, TransactionDialogsInfo_t*, 0x11D584)//未找到
( k* e0 Q" W: S/ B8 q9 D% s - VARPTR(D2CLIENT, GameInfo, Game*, 0x11B980)// 6FB1FCE0 mov eax,dword ptr ds:[0x6FBCB980]
+ h5 \' J' K6 c1 o - //VARPTR(D2CLIENT, WaypointTable, DWORD, 0x1088FD)//未找到
, P: h; g5 H1 m - VARPTR(D2CLIENT, PlayerUnit, UnitAny*, 0x11BBFC)// 6FAF4B5E mov ebp,dword ptr ds:[0x6FBCBBFC]$ f( s" K' G1 l- r; r( Q
- //VARPTR(D2CLIENT, SelectedInvItem, UnitAny*, 0x11CB28)//未找到 \/ I Z& U6 ~: L7 f8 h. s3 j
- //VARPTR(D2CLIENT, PlayerUnitList, RosterUnit*, 0x11CB04)//未找到
6 Z9 C+ h o+ Q. @' t - //VARPTR(D2CLIENT, bWeapSwitch, DWORD, 0x11CB84)//未找到
9 C, g/ V) M6 o+ ]2 P5 S - //VARPTR(D2CLIENT, bTradeAccepted, DWORD, 0x11CD54)//未找到
0 w; Q% p$ d" E4 m7 R - //VARPTR(D2CLIENT, bTradeBlock, DWORD, 0x11CD64)//未找到
! D3 c4 R% g! N - //VARPTR(D2CLIENT, RecentTradeId, DWORD, 0x11D5AC)//未找到
: ` r: L# f- V - //VARPTR(D2CLIENT, ExpCharFlag, DWORD, 0x1087B4)//未找到
! l: ~9 o- m) x - //VARPTR(D2CLIENT, MapId, DWORD, 0x11D204)//未找到% c0 d6 ]3 m* c+ ]
- //VARPTR(D2CLIENT, AlwaysRun, DWORD, 0x11D234)//未找到
& o: t) \- y: z- K, ]' E4 ?7 G9 b! @ - //VARPTR(D2CLIENT, NoPickUp, DWORD, 0x11D574)//未找到* e; l$ \* K3 A5 I
- //VARPTR(D2CLIENT, ChatMsg, wchar_t*, 0x11D650)//未找到
: n7 f* z. k: c% E( I5 [/ \( B- o - //VARPTR(D2CLIENT, OrificeId, DWORD, 0x11C9B8)//未找到
" p( C4 B& L. ?- }7 }+ } - //VARPTR(D2CLIENT, CursorItemMode, DWORD, 0x11C9B0)//未找到
9 [2 X# q) w3 w1 C4 { - //VARPTR(D2CLIENT, pUnitTable, POINT, 0x1047B8)//未找到
% } G& ?/ X2 O6 K - //VARPTR(D2CLIENT, pDescFuncTable, void*, 0x2DAD4)//未找到
复制代码
. F8 }4 @: e0 f3 H0 E- g' h* k9 ]0 @/ d/ ]$ m
|
|