|
转载
' @# P7 N; ~- Q4 D2 y% x+ Y! y: F- c* p* C% w
$ u+ [, i0 C5 l4 \- ////////////////////////////////////////////////////////////////////////////////////////////////% K9 Y' }4 a* d4 A# L' n
- // D2Client Functions //函数表5 M- \6 x; b' T5 ?5 v3 o
- ////////////////////////////////////////////////////////////////////////////////////////////////4 n$ f! I. @0 ^; q3 \! g7 T
5 X% I9 E3 R! @& r& E- FUNCPTR(D2CLIENT, GetQuestInfo, void*, __stdcall, (void), 0x45A00)//
$ U0 {0 t! j: N7 J! T/ _; h# K; n: F - FUNCPTR(D2CLIENT, SubmitItem, void, __fastcall, (DWORD dwItemId), 0x45FB0)//3 E' u. {8 L" ~0 C" P' V
- FUNCPTR(D2CLIENT, Transmute, void, __fastcall, (void), 0x8CB90)//7 l9 Y3 A" A) z: T0 M
- FUNCPTR(D2CLIENT, FindClientSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B20)//* ]6 E! z/ A7 `) c0 G/ u! E* F! P# h
- FUNCPTR(D2CLIENT, FindServerSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B40)//
* h. }# r) J; j( s! z/ C$ j3 ~ - FUNCPTR(D2CLIENT, GetCurrentInteractingNPC, UnitAny*, __fastcall, (void), 0x46150)//
2 ]0 T5 v/ z9 ~" m: I - FUNCPTR(D2CLIENT, GetSelectedUnit, UnitAny *, __stdcall, (void), 0x51A80)//
' f4 n+ Z% H9 n' Y& @; s - FUNCPTR(D2CLIENT, GetCursorItem, UnitAny*, __fastcall, (void), 0x16020)//1 o) l! [8 e) {+ Q" q. t8 y
- FUNCPTR(D2CLIENT, GetMercUnit, UnitAny*, __fastcall, (void), 0x97CD0)//
! q' ^! `; i- \ - FUNCPTR(D2CLIENT, SetSelectedUnit_I, void, __fastcall, (UnitAny *pUnit), 0x51860)//5 w: {8 B4 J5 m# c1 _+ s& Y# t+ Q
- FUNCPTR(D2CLIENT, GetItemName, BOOL, __stdcall, (UnitAny* pItem, wchar_t* wBuffer, DWORD dwSize), 0x914F0)//
% B6 E6 J) X& p, ?0 k, L5 B - FUNCPTR(D2CLIENT, LoadItemDesc, BOOL, __stdcall, (UnitAny* pItem, int type), 0x93450)//
m& D$ \7 U1 m+ @5 L/ E& s - FUNCPTR(D2CLIENT, GetMonsterOwner, DWORD, __fastcall, (DWORD nMonsterId), 0x216A0)//1 Z/ y0 I. G) B4 `0 p& _% s
- FUNCPTR(D2CLIENT, GetUnitHPPercent, DWORD, __fastcall, (DWORD dwUnitId), 0x21580)//
; m0 w2 v- o ~ - FUNCPTR(D2CLIENT, InitInventory, void, __fastcall, (void), 0x908C0)//
4 ~) k% m$ ?1 _" T - FUNCPTR(D2CLIENT, SetUIVar, DWORD, __fastcall, (DWORD varno, DWORD howset, DWORD unknown1), 0xC2790)//) J1 ?1 N+ ^' r0 m- j# S
- FUNCPTR(D2CLIENT, GetUnitX, int, __fastcall, (UnitAny* pUnit), 0x1630)//8 S2 c' M2 }& ?' Z
- FUNCPTR(D2CLIENT, GetUnitY, int, __fastcall, (UnitAny* pUnit), 0x1660)//8 r/ U% o$ h' O( S. B6 G5 i
- FUNCPTR(D2CLIENT, ShopAction, void, __fastcall, (UnitAny* pItem, UnitAny* pNpc, UnitAny* pNpc2, DWORD dwSell, DWORD dwItemCost, DWORD dwMODe, DWORD _2, DWORD _3), 0x47D60)//) n4 ]* K! l5 P
- FUNCPTR(D2CLIENT, CloseNPCInteract, void, __fastcall, (void), 0x492F0)//
; R( J4 d+ f1 x5 l- v - FUNCPTR(D2CLIENT, CloseInteract, void, __fastcall, (void), 0x43870)//) U. ^! d( i, r- ^( L- I" U
- FUNCPTR(D2CLIENT, GetAutomapSize, DWORD, __stdcall, (void), 0x5F080)//
# s# x, n! l+ ^8 q - FUNCPTR(D2CLIENT, NewAutomapCell, AutomapCell *, __fastcall, (void), 0x5F6B0)//
+ p) g! V7 L1 K3 W. S. f - FUNCPTR(D2CLIENT, AddAutomapCell, void, __fastcall, (AutomapCell *aCell, AutomapCell **node), 0x61320)//( `! T R' @2 I
- FUNCPTR(D2CLIENT, RevealAutomapRoom, void, __stdcall, (DRLGRoom *pRoom, DWORD dwClipFlag, AutomapLayer *aLayer), 0x62580)//& _, j' `. j8 P/ V0 B% e
- FUNCPTR(D2CLIENT, InitAutomapLayer_I, AutomapLayer*, __fastcall, (DWORD nLayerNo), 0x62710)//
% ]) f9 s- G* H# i3 c - FUNCPTR(D2CLIENT, ClickMap, void, __stdcall, (DWORD MouseFlag, DWORD x, DWORD y, DWORD Type), 0x1BF20)//# Q1 W) z, X0 O, | L( l7 o
- FUNCPTR(D2CLIENT, LeftClickItem, void, __stdcall, (UnitAny* pPlayer, Inventory* pInventory, int x, int y, DWORD dwClickType, InventoryLayout* pLayout, DWORD Location), 0x96AA0)//
) i6 W) s& c! o, V9 Q - FUNCPTR(D2CLIENT, GetMouseXOffset, DWORD, __fastcall, (void), 0x3F6C0)//
; b- e B3 U9 v* G. @ - FUNCPTR(D2CLIENT, GetMouseYOffset, DWORD, __fastcall, (void), 0x3F6D0)//
4 z4 ~8 s0 t5 i& K - FUNCPTR(D2CLIENT, PrintPartyString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D610)//
1 Z5 c% o4 H7 G6 S4 { - FUNCPTR(D2CLIENT, PrintGameString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D850)//; D% P0 s5 Y2 B
- FUNCPTR(D2CLIENT, LeaveParty, void, __fastcall, (void), 0x9E5D0)//
% k& }5 c8 X& |) a% H% ~) V8 A7 R - FUNCPTR(D2CLIENT, AcceptTrade, void, __fastcall, (void), 0x59600)//" r; w4 m; W+ g0 e4 w( q
- FUNCPTR(D2CLIENT, CancelTrade, void, __fastcall, (void), 0x595C0)//( t4 ]6 Z2 T. D2 T. }, q
- FUNCPTR(D2CLIENT, TradeOK, void, __stdcall, (void), 0x59980)//
' M: w# o7 v! W9 T - FUNCPTR(D2CLIENT, GetDifficulty, BYTE, __stdcall, (void), 0x58DA0)//! ]* r T* x( |- E+ B3 P
- FUNCPTR(D2CLIENT, ExitGame, void, __fastcall, (void), 0x42850)//
6 g) b# P6 w& }# [ - FUNCPTR(D2CLIENT, GetUiVar_I, DWORD, __fastcall, (DWORD dwVarNo), 0xBE400)//+ B7 c4 Z6 i* F. Y! Y, ~3 }( C
- FUNCPTR(D2CLIENT, DrawRectFrame, void, __fastcall, (DWORD Rect), 0xBE4C0)//
3 S2 y& W+ @; z - FUNCPTR(D2CLIENT, PerformGoldDialogAction, void, __fastcall, (void), 0xBFDF0)//. f+ r( }6 @3 T3 ~: |1 e/ E
- FUNCPTR(D2CLIENT, GetPlayerUnit, UnitAny*, __stdcall, (void), 0xA4D60)//+ E9 ^+ {9 ?* {- b
- FUNCPTR(D2CLIENT, GetLevelName_I, wchar_t*, __fastcall, (DWORD levelId), 0xBE240)//" L+ \) h1 e9 e2 l) A
- FUNCPTR(D2CLIENT, ClearScreen, void, __fastcall, (void), 0x48350)//
: V& V, m3 X* w# @5 d: ^ - FUNCPTR(D2CLIENT, CloseNPCTalk, DWORD, __stdcall, (void* unk), 0x7ED30)//4 D( G) w9 K. K9 N7 C8 J* h* n
- FUNCPTR(D2CLIENT, ClickOnStashButton, void, __fastcall, (DWORD x, DWORD y), 0x8CD00);//6 A+ H6 j0 I5 o# _4 h2 J
- FUNCPTR(D2CLIENT, GetUnit, void*, __fastcall, (DWORD dwId, DWORD dwType), 0x78D30);
$ U F1 S; _9 [8 W - , r: S1 h7 [5 Q( U3 t2 U$ Q% \
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
% y7 V# u- l2 f1 |4 h" `* N - // D2Client Globals //数据段内容在游戏内易查找,本人无1.13D版本,故以下数据段内容未查找,需要者自行查找$ G5 K; K2 f# d$ W
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////% t& g8 {7 F1 A2 h
4 n* T/ B- R# G- \7 N9 A- VARPTR(D2CLIENT, ScreenSizeX, DWORD, 0xDBC48)//
* `( n) y+ r2 S4 E - VARPTR(D2CLIENT, ScreenSizeY, DWORD, 0xDBC4C)//1 i: p1 q, h% Z% |8 Y# Q0 b E
- VARPTR(D2CLIENT, CursorHoverX, DWORD, 0xE0EB8)//
0 e+ Z8 r) l: S6 O4 u - VARPTR(D2CLIENT, CursorHoverY, DWORD, 0xE0EBC)//
. m! n% c/ E/ u9 V- R8 v& j - //VARPTR(D2CLIENT, MouseX, DWORD, 0x11C950)//未找到4 {( G% T' M- l8 H- R5 T# H h
- //VARPTR(D2CLIENT, MouseY, DWORD, 0x11C94C)//未找到
8 _8 ]3 U8 Z I/ j) L - //VARPTR(D2CLIENT, MouseOffsetY, int, 0x106840)//未找到1 t& t4 m1 F. N8 j2 t: M) S6 [
- //VARPTR(D2CLIENT, MouseOffsetX, int, 0x106844)//未找到
& G8 l; |9 W9 l$ x$ A; a - //VARPTR(D2CLIENT, AutomapOn, DWORD, 0x11C8B8)//未找到6 @1 j/ w( O- ]* c8 \& U( j" v
- //VARPTR(D2CLIENT, AutomapMode, int, 0xF34F8)//未找到 `+ Y' O5 r+ O
- //VARPTR(D2CLIENT, Offset, POINT, 0x11CF5C)//未找到
! g6 H r2 ^4 X& ]% O - //VARPTR(D2CLIENT, AutomapLayer, AutomapLayer*, 0x11CF28)//未找到
, o" q+ a- q4 q' ~! M9 C - //VARPTR(D2CLIENT, MercStrIndex, WORD, 0xF02D8)//未找到
5 I Q, J' ~& ?& R! X7 f - //VARPTR(D2CLIENT, MercReviveCost, DWORD, 0x11CEE8)//未找到" d# a8 ^% l. y; m
- //VARPTR(D2CLIENT, ServerSideUnitHashTables, UnitHashTable, 0x1047B8)//未找到
/ Q1 a: w5 [4 ^1 c: M - //VARPTR(D2CLIENT, ClientSideUnitHashTables, UnitHashTable, 0x103BB8)//未找到
3 Y& J+ e# y1 ^! N! {# {4 x0 [ - //VARPTR(D2CLIENT, ViewportY, int, 0x106840)//未找到/ ]3 b4 F6 ]1 @; k
- //VARPTR(D2CLIENT, ViewportX, int, 0x106844)//未找到
4 Y3 b0 Y7 `' A. ` - //VARPTR(D2CLIENT, GoldDialogAction, DWORD, 0x11C86C)//未找到: j- C) J+ o$ d* j8 q% f
- //VARPTR(D2CLIENT, GoldDialogAmount, DWORD, 0x11D568)//未找到* M5 d+ `9 x6 V x
- //VARPTR(D2CLIENT, NPCMenu, NPCMenu*, 0xF1A90)//未找到
- X: T5 Q; A: ^' W- O - //VARPTR(D2CLIENT, NPCMenuAmount, DWORD, 0xF21E0)//未找到* O+ C% h; O, `8 ~) I" V
- //VARPTR(D2CLIENT, TradeLayout, InventoryLayout*, 0x101598)//未找到
6 G* {% g7 J! }$ S$ V - //VARPTR(D2CLIENT, StashLayout, InventoryLayout*, 0x1015E0)//未找到
3 l: [/ `1 ^/ P) v8 S( J - //VARPTR(D2CLIENT, StoreLayout, InventoryLayout*, 0x1016C0)//未找到9 f, j1 x1 A) {
- //VARPTR(D2CLIENT, CubeLayout, InventoryLayout*, 0x1016D8)//未找到
( P, V4 k1 L" R- A4 }& h( F( ?5 { - //VARPTR(D2CLIENT, InventoryLayout, InventoryLayout*, 0x1016F0)//未找到
: ^* v& ]2 W/ W0 z: B! x - //VARPTR(D2CLIENT, MercLayout, InventoryLayout*, 0x11CC84)//未找到8 W# Z6 ]$ T6 `
- //VARPTR(D2CLIENT, RegularCursorType, DWORD, 0x11C98C)//未找到: W3 P$ J, `) L7 n* X( P: V
- //VARPTR(D2CLIENT, ShopCursorType, DWORD, 0x11CB24)//未找到
; ~! }7 h" `: |+ s5 W! ~ - //VARPTR(D2CLIENT, Ping, DWORD, 0x108764)//未找到0 l2 \1 C! l" x- T- F9 z* r
- //VARPTR(D2CLIENT, FPS, DWORD, 0x11CE10)//未找到
, }! Y* H. A9 H! m - //VARPTR(D2CLIENT, Skip, DWORD, 0x108770)//未找到" g% g6 Y2 [# w6 n/ T- y
- //VARPTR(D2CLIENT, Divisor, int, 0xF34F8)//未找到
" W d! b- E" L }5 h4 h$ P2 H$ X - //VARPTR(D2CLIENT, OverheadTrigger, DWORD, 0x101ABE)//未找到
/ `4 m, E# |% O) X% f( M! C - //VARPTR(D2CLIENT, RecentInteractId, DWORD, 0x101895)//未找到
, J% Y2 T- J3 v2 \3 U& S - //VARPTR(D2CLIENT, ItemPriceList, DWORD, 0x1018B3)//未找到3 A( Y0 ]) o3 E* ?& I7 F w
- //VARPTR(D2CLIENT, TransactionDialog, void*, 0x1018D3)//未找到
8 s9 q/ [. {: _3 C* x - //VARPTR(D2CLIENT, TransactionDialogs, DWORD, 0x11D58C)//未找到) Z8 V+ x( v7 F/ Z
- //VARPTR(D2CLIENT, TransactionDialogs_2, DWORD, 0x11D588)//未找到' n6 J; L2 ^" L4 i3 D& ^
- //VARPTR(D2CLIENT, pTransactionDialogsInfo, TransactionDialogsInfo_t*, 0x11D584)//未找到+ }) z$ m; u, B# a
- VARPTR(D2CLIENT, GameInfo, Game*, 0x11B980)// 6FB1FCE0 mov eax,dword ptr ds:[0x6FBCB980] i$ c6 ]$ `+ J
- //VARPTR(D2CLIENT, WaypointTable, DWORD, 0x1088FD)//未找到# f7 ]3 U8 g' d3 y# ]8 O7 ?+ D) M
- VARPTR(D2CLIENT, PlayerUnit, UnitAny*, 0x11BBFC)// 6FAF4B5E mov ebp,dword ptr ds:[0x6FBCBBFC]$ P6 _4 ^1 Z! q% q3 W
- //VARPTR(D2CLIENT, SelectedInvItem, UnitAny*, 0x11CB28)//未找到
7 P2 `7 ~, A) L( q- J k - //VARPTR(D2CLIENT, PlayerUnitList, RosterUnit*, 0x11CB04)//未找到
1 H4 |# {: d% d' e. c - //VARPTR(D2CLIENT, bWeapSwitch, DWORD, 0x11CB84)//未找到$ E1 y( A7 j4 ^
- //VARPTR(D2CLIENT, bTradeAccepted, DWORD, 0x11CD54)//未找到, M7 @2 q: ~% }9 D+ V$ ?
- //VARPTR(D2CLIENT, bTradeBlock, DWORD, 0x11CD64)//未找到
2 h+ E4 ^# f( `) `" g' j - //VARPTR(D2CLIENT, RecentTradeId, DWORD, 0x11D5AC)//未找到
* H; h6 m* V5 F' y% O$ T - //VARPTR(D2CLIENT, ExpCharFlag, DWORD, 0x1087B4)//未找到
2 o+ X% ~7 l5 w4 X+ k) | - //VARPTR(D2CLIENT, MapId, DWORD, 0x11D204)//未找到
4 W$ N: _# q, o, W - //VARPTR(D2CLIENT, AlwaysRun, DWORD, 0x11D234)//未找到
2 y% L* c) e0 g1 [) c - //VARPTR(D2CLIENT, NoPickUp, DWORD, 0x11D574)//未找到3 l, g; E- x( v) w, y$ J" w
- //VARPTR(D2CLIENT, ChatMsg, wchar_t*, 0x11D650)//未找到 g4 m0 t8 @5 s2 A' b
- //VARPTR(D2CLIENT, OrificeId, DWORD, 0x11C9B8)//未找到
+ e( ^! `1 ?5 ] - //VARPTR(D2CLIENT, CursorItemMode, DWORD, 0x11C9B0)//未找到
0 j! o9 q; f* ? ^* g# t; Y7 v - //VARPTR(D2CLIENT, pUnitTable, POINT, 0x1047B8)//未找到
" y) r. ^$ N- j% b, ^ - //VARPTR(D2CLIENT, pDescFuncTable, void*, 0x2DAD4)//未找到
复制代码
+ T. n' f% s2 k1 t W/ O: [9 p7 R
|
|