|
转载
$ I7 p6 V$ I1 W3 I. T
$ [5 X8 e+ ?' {3 z* }( R" `/ H. f; h2 y- }1 }
- ////////////////////////////////////////////////////////////////////////////////////////////////3 V5 R* w% }$ Q! g2 i: G" k2 s! G
- // D2Client Functions //函数表! z: K- q U, b
- ////////////////////////////////////////////////////////////////////////////////////////////////, V# E9 M( S" G2 I, k
) z7 ]1 N' K. }0 {9 a- FUNCPTR(D2CLIENT, GetQuestInfo, void*, __stdcall, (void), 0x45A00)//7 e, U3 o3 p' @
- FUNCPTR(D2CLIENT, SubmitItem, void, __fastcall, (DWORD dwItemId), 0x45FB0)//( F% N8 v2 _+ v# k5 \
- FUNCPTR(D2CLIENT, Transmute, void, __fastcall, (void), 0x8CB90)//
! N, s: T, C5 O3 d0 M* W& Q% R. B - FUNCPTR(D2CLIENT, FindClientSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B20)//
1 u! O7 ~- `$ `1 j! T8 g B8 ?) @ - FUNCPTR(D2CLIENT, FindServerSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B40)//
- @0 m$ j" h! X2 { - FUNCPTR(D2CLIENT, GetCurrentInteractingNPC, UnitAny*, __fastcall, (void), 0x46150)//
# `. r" D/ `, u8 ~ - FUNCPTR(D2CLIENT, GetSelectedUnit, UnitAny *, __stdcall, (void), 0x51A80)//
. \: @' p/ M, b$ H: F' S - FUNCPTR(D2CLIENT, GetCursorItem, UnitAny*, __fastcall, (void), 0x16020)//
5 f& _) Q( u3 T! i, M. v1 X - FUNCPTR(D2CLIENT, GetMercUnit, UnitAny*, __fastcall, (void), 0x97CD0)//
6 U. g3 }/ P- E6 d - FUNCPTR(D2CLIENT, SetSelectedUnit_I, void, __fastcall, (UnitAny *pUnit), 0x51860)//
) p) ~) L" y5 d* |' F. j - FUNCPTR(D2CLIENT, GetItemName, BOOL, __stdcall, (UnitAny* pItem, wchar_t* wBuffer, DWORD dwSize), 0x914F0)//+ I4 F# {/ b7 l2 w7 Q
- FUNCPTR(D2CLIENT, LoadItemDesc, BOOL, __stdcall, (UnitAny* pItem, int type), 0x93450)//8 ~( V0 v$ t. C4 ^
- FUNCPTR(D2CLIENT, GetMonsterOwner, DWORD, __fastcall, (DWORD nMonsterId), 0x216A0)//9 c% |, N( B; h# f4 Q- T
- FUNCPTR(D2CLIENT, GetUnitHPPercent, DWORD, __fastcall, (DWORD dwUnitId), 0x21580)//
7 r( u: p. S6 t; A - FUNCPTR(D2CLIENT, InitInventory, void, __fastcall, (void), 0x908C0)//
8 k% r( [- x, n+ b) y! o - FUNCPTR(D2CLIENT, SetUIVar, DWORD, __fastcall, (DWORD varno, DWORD howset, DWORD unknown1), 0xC2790)/// g" d L& F# D; Y
- FUNCPTR(D2CLIENT, GetUnitX, int, __fastcall, (UnitAny* pUnit), 0x1630)//% `9 u7 T1 S" {% u
- FUNCPTR(D2CLIENT, GetUnitY, int, __fastcall, (UnitAny* pUnit), 0x1660)//
- M. a! }4 ~2 G. } - FUNCPTR(D2CLIENT, ShopAction, void, __fastcall, (UnitAny* pItem, UnitAny* pNpc, UnitAny* pNpc2, DWORD dwSell, DWORD dwItemCost, DWORD dwMODe, DWORD _2, DWORD _3), 0x47D60)//
! O8 a7 c; U' K6 l% K) I - FUNCPTR(D2CLIENT, CloseNPCInteract, void, __fastcall, (void), 0x492F0)//& f: p! @& p6 N6 }, g* k1 h6 ^* v
- FUNCPTR(D2CLIENT, CloseInteract, void, __fastcall, (void), 0x43870)//$ i6 n1 ~& D( o9 X
- FUNCPTR(D2CLIENT, GetAutomapSize, DWORD, __stdcall, (void), 0x5F080)// \) s& ?6 h- a& E
- FUNCPTR(D2CLIENT, NewAutomapCell, AutomapCell *, __fastcall, (void), 0x5F6B0)//9 B; m% @' {. _2 R
- FUNCPTR(D2CLIENT, AddAutomapCell, void, __fastcall, (AutomapCell *aCell, AutomapCell **node), 0x61320)//
9 Z' u3 q3 ]# n9 t - FUNCPTR(D2CLIENT, RevealAutomapRoom, void, __stdcall, (DRLGRoom *pRoom, DWORD dwClipFlag, AutomapLayer *aLayer), 0x62580)//3 K5 _1 h: f* K! y& k+ Y8 S
- FUNCPTR(D2CLIENT, InitAutomapLayer_I, AutomapLayer*, __fastcall, (DWORD nLayerNo), 0x62710)//
& m: s$ V) {' b! P - FUNCPTR(D2CLIENT, ClickMap, void, __stdcall, (DWORD MouseFlag, DWORD x, DWORD y, DWORD Type), 0x1BF20)//
( O7 |1 ?1 E3 O5 h4 s' b - FUNCPTR(D2CLIENT, LeftClickItem, void, __stdcall, (UnitAny* pPlayer, Inventory* pInventory, int x, int y, DWORD dwClickType, InventoryLayout* pLayout, DWORD Location), 0x96AA0)//: _9 b+ l5 m. A; l, v) w
- FUNCPTR(D2CLIENT, GetMouseXOffset, DWORD, __fastcall, (void), 0x3F6C0)//3 d; l. L1 ]& r
- FUNCPTR(D2CLIENT, GetMouseYOffset, DWORD, __fastcall, (void), 0x3F6D0)//
1 X0 y/ C( e3 [/ T) y) g0 y - FUNCPTR(D2CLIENT, PrintPartyString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D610)//3 E# c1 ~* g" Q/ O4 W, D! i
- FUNCPTR(D2CLIENT, PrintGameString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D850)//
. ]/ f/ x& ^0 ^2 R" Q3 r - FUNCPTR(D2CLIENT, LeaveParty, void, __fastcall, (void), 0x9E5D0)//
# b! `' D: d; [! Q - FUNCPTR(D2CLIENT, AcceptTrade, void, __fastcall, (void), 0x59600)//
8 g4 h& X& ~) K( }+ o0 G - FUNCPTR(D2CLIENT, CancelTrade, void, __fastcall, (void), 0x595C0)//
7 g3 l- ~. i# {8 | - FUNCPTR(D2CLIENT, TradeOK, void, __stdcall, (void), 0x59980)//
6 Q3 B1 {) O$ Y! M - FUNCPTR(D2CLIENT, GetDifficulty, BYTE, __stdcall, (void), 0x58DA0)//
- D1 I- D& M4 Q - FUNCPTR(D2CLIENT, ExitGame, void, __fastcall, (void), 0x42850)//) l; Y$ M" Z# C( l
- FUNCPTR(D2CLIENT, GetUiVar_I, DWORD, __fastcall, (DWORD dwVarNo), 0xBE400)//
$ F( n" i# B0 [8 a0 k8 m E - FUNCPTR(D2CLIENT, DrawRectFrame, void, __fastcall, (DWORD Rect), 0xBE4C0)//
2 ?7 N. r G' K; S9 ] - FUNCPTR(D2CLIENT, PerformGoldDialogAction, void, __fastcall, (void), 0xBFDF0)//2 p; T1 }' i! s+ h7 o- G2 o
- FUNCPTR(D2CLIENT, GetPlayerUnit, UnitAny*, __stdcall, (void), 0xA4D60)//
, d; K! ^- N. f( m4 l! Q$ m - FUNCPTR(D2CLIENT, GetLevelName_I, wchar_t*, __fastcall, (DWORD levelId), 0xBE240)//
* ^3 @. h+ }! y1 N- |$ t& Q - FUNCPTR(D2CLIENT, ClearScreen, void, __fastcall, (void), 0x48350)//
- F5 t Y: ^ S8 G - FUNCPTR(D2CLIENT, CloseNPCTalk, DWORD, __stdcall, (void* unk), 0x7ED30)//
8 f5 l% N% n% V9 j% \4 [ - FUNCPTR(D2CLIENT, ClickOnStashButton, void, __fastcall, (DWORD x, DWORD y), 0x8CD00);//
" s0 J6 s! n# V3 H$ i - FUNCPTR(D2CLIENT, GetUnit, void*, __fastcall, (DWORD dwId, DWORD dwType), 0x78D30);
: }, _' }3 h, k, |- V+ I6 s
0 h( P3 \) w7 \# u1 [( Q- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// h& j# e7 q/ _
- // D2Client Globals //数据段内容在游戏内易查找,本人无1.13D版本,故以下数据段内容未查找,需要者自行查找" I% k0 m% i4 |1 K6 ?8 B
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// x- K( H% \1 _
- 8 m( T Q: Q1 c0 [8 F5 c- Z' \
- VARPTR(D2CLIENT, ScreenSizeX, DWORD, 0xDBC48)//
5 Z% I# o" U, [3 C' t - VARPTR(D2CLIENT, ScreenSizeY, DWORD, 0xDBC4C)//0 a: N! P" r2 N N" y: Y
- VARPTR(D2CLIENT, CursorHoverX, DWORD, 0xE0EB8)//) n3 o) \& j1 X3 {9 t% O& |% a
- VARPTR(D2CLIENT, CursorHoverY, DWORD, 0xE0EBC)/// E/ y6 g. }7 B( x, y; Y
- //VARPTR(D2CLIENT, MouseX, DWORD, 0x11C950)//未找到
1 |+ o1 v' L" [; }; A6 { - //VARPTR(D2CLIENT, MouseY, DWORD, 0x11C94C)//未找到/ j! C9 B6 B( ~ ~3 ~4 ~1 a
- //VARPTR(D2CLIENT, MouseOffsetY, int, 0x106840)//未找到
% I9 ~ V6 k" I - //VARPTR(D2CLIENT, MouseOffsetX, int, 0x106844)//未找到
( @6 B3 I/ u# |4 N) \) {- T4 { - //VARPTR(D2CLIENT, AutomapOn, DWORD, 0x11C8B8)//未找到$ K# \ G; W# C A S( N3 J( g3 S
- //VARPTR(D2CLIENT, AutomapMode, int, 0xF34F8)//未找到
% T2 p3 r+ R8 B0 B7 A - //VARPTR(D2CLIENT, Offset, POINT, 0x11CF5C)//未找到
3 t2 B/ B1 N- ^1 H - //VARPTR(D2CLIENT, AutomapLayer, AutomapLayer*, 0x11CF28)//未找到
3 c, T) d- P) v8 K3 i - //VARPTR(D2CLIENT, MercStrIndex, WORD, 0xF02D8)//未找到
* U: |( @" m- b5 B - //VARPTR(D2CLIENT, MercReviveCost, DWORD, 0x11CEE8)//未找到' t, ^5 c# l0 U, G1 ]
- //VARPTR(D2CLIENT, ServerSideUnitHashTables, UnitHashTable, 0x1047B8)//未找到
# n) N, A/ G2 R& d- d+ _7 T - //VARPTR(D2CLIENT, ClientSideUnitHashTables, UnitHashTable, 0x103BB8)//未找到
1 i1 \* v: C4 W! P - //VARPTR(D2CLIENT, ViewportY, int, 0x106840)//未找到2 U9 A8 c+ ^3 Q y% p+ U
- //VARPTR(D2CLIENT, ViewportX, int, 0x106844)//未找到. l+ p$ N% V# U: i$ ^5 v# B
- //VARPTR(D2CLIENT, GoldDialogAction, DWORD, 0x11C86C)//未找到( j( }: A5 f* r. k
- //VARPTR(D2CLIENT, GoldDialogAmount, DWORD, 0x11D568)//未找到
- N6 i& [3 C& K, f& ~ - //VARPTR(D2CLIENT, NPCMenu, NPCMenu*, 0xF1A90)//未找到
" [ j- C& e/ q& V( L% q - //VARPTR(D2CLIENT, NPCMenuAmount, DWORD, 0xF21E0)//未找到
9 U5 b. ^" r% o- f - //VARPTR(D2CLIENT, TradeLayout, InventoryLayout*, 0x101598)//未找到
4 ?+ ^! }* p0 E' k2 I# U - //VARPTR(D2CLIENT, StashLayout, InventoryLayout*, 0x1015E0)//未找到
$ j( t0 s2 P; w+ Z' T9 | - //VARPTR(D2CLIENT, StoreLayout, InventoryLayout*, 0x1016C0)//未找到
, e: r& q; c+ n8 v - //VARPTR(D2CLIENT, CubeLayout, InventoryLayout*, 0x1016D8)//未找到
1 T: |. Q4 q/ J- i! R - //VARPTR(D2CLIENT, InventoryLayout, InventoryLayout*, 0x1016F0)//未找到
7 {( ? `/ Y9 x. N - //VARPTR(D2CLIENT, MercLayout, InventoryLayout*, 0x11CC84)//未找到
. p4 x+ t k) o1 f - //VARPTR(D2CLIENT, RegularCursorType, DWORD, 0x11C98C)//未找到' r+ @( m4 H# \
- //VARPTR(D2CLIENT, ShopCursorType, DWORD, 0x11CB24)//未找到
: t* n7 ^, T& v7 ~1 v - //VARPTR(D2CLIENT, Ping, DWORD, 0x108764)//未找到
- o, ^) N: \/ O! s6 c; w+ K - //VARPTR(D2CLIENT, FPS, DWORD, 0x11CE10)//未找到; n, F' y7 ]2 _5 E4 C
- //VARPTR(D2CLIENT, Skip, DWORD, 0x108770)//未找到) ^' N! }2 Y$ Z+ ?1 ?! h7 k
- //VARPTR(D2CLIENT, Divisor, int, 0xF34F8)//未找到) F/ Q8 H6 Q. d
- //VARPTR(D2CLIENT, OverheadTrigger, DWORD, 0x101ABE)//未找到2 G, p8 e$ q7 p3 o' s* X5 i# E2 d
- //VARPTR(D2CLIENT, RecentInteractId, DWORD, 0x101895)//未找到0 }+ N$ z2 ~" S5 Z+ F; w3 p6 s
- //VARPTR(D2CLIENT, ItemPriceList, DWORD, 0x1018B3)//未找到
: t8 l' F, n) F- u _ - //VARPTR(D2CLIENT, TransactionDialog, void*, 0x1018D3)//未找到
& i3 b# t& L: j8 ?" X - //VARPTR(D2CLIENT, TransactionDialogs, DWORD, 0x11D58C)//未找到
" B2 t$ h9 Z6 }8 } - //VARPTR(D2CLIENT, TransactionDialogs_2, DWORD, 0x11D588)//未找到
2 U( F! F/ t) s - //VARPTR(D2CLIENT, pTransactionDialogsInfo, TransactionDialogsInfo_t*, 0x11D584)//未找到& Q N5 L4 B& J+ i. T
- VARPTR(D2CLIENT, GameInfo, Game*, 0x11B980)// 6FB1FCE0 mov eax,dword ptr ds:[0x6FBCB980]3 F; |$ B: u, N
- //VARPTR(D2CLIENT, WaypointTable, DWORD, 0x1088FD)//未找到9 J. ^5 d/ U6 w8 V& ?
- VARPTR(D2CLIENT, PlayerUnit, UnitAny*, 0x11BBFC)// 6FAF4B5E mov ebp,dword ptr ds:[0x6FBCBBFC]; q9 u& e- Y F$ E, v
- //VARPTR(D2CLIENT, SelectedInvItem, UnitAny*, 0x11CB28)//未找到
8 u7 H8 e# r: J8 h3 q - //VARPTR(D2CLIENT, PlayerUnitList, RosterUnit*, 0x11CB04)//未找到
9 m! S% k- B5 A5 o C - //VARPTR(D2CLIENT, bWeapSwitch, DWORD, 0x11CB84)//未找到- A/ w' X$ D; Z% H. m# n
- //VARPTR(D2CLIENT, bTradeAccepted, DWORD, 0x11CD54)//未找到
1 o3 J; ]2 Q, f, n8 Q - //VARPTR(D2CLIENT, bTradeBlock, DWORD, 0x11CD64)//未找到
) W9 h) `$ w6 ` - //VARPTR(D2CLIENT, RecentTradeId, DWORD, 0x11D5AC)//未找到
( {' p6 O6 E ]$ E7 R+ `1 A - //VARPTR(D2CLIENT, ExpCharFlag, DWORD, 0x1087B4)//未找到 `0 f7 b1 B# X
- //VARPTR(D2CLIENT, MapId, DWORD, 0x11D204)//未找到
8 I' Z8 I; H# e- r3 L8 k7 U& } - //VARPTR(D2CLIENT, AlwaysRun, DWORD, 0x11D234)//未找到* X6 F9 T6 I8 x, [/ Z% y
- //VARPTR(D2CLIENT, NoPickUp, DWORD, 0x11D574)//未找到4 w* U& ?' @& T) n. ~- H9 D3 A
- //VARPTR(D2CLIENT, ChatMsg, wchar_t*, 0x11D650)//未找到+ ^, u: O* W8 N6 q
- //VARPTR(D2CLIENT, OrificeId, DWORD, 0x11C9B8)//未找到
. }2 \6 O; L9 n, f2 t& Y - //VARPTR(D2CLIENT, CursorItemMode, DWORD, 0x11C9B0)//未找到6 P2 Q$ }& W5 ]2 Y/ }. u% B
- //VARPTR(D2CLIENT, pUnitTable, POINT, 0x1047B8)//未找到/ a/ d2 U. o" l( B4 V
- //VARPTR(D2CLIENT, pDescFuncTable, void*, 0x2DAD4)//未找到
复制代码 5 U: _6 P+ Q; G6 }
- S. Z7 g" u9 d1 D |
|