|
|
转载
$ V8 k# E9 g2 X. S2 t
: k4 @- f# D. l. {: X5 Y3 R0 m1 W& |5 I& W; ?+ W. Y+ r
- ////////////////////////////////////////////////////////////////////////////////////////////////
2 ~+ E( N8 K3 h9 i s; m - // D2Client Functions //函数表
; z/ U7 {& O1 @5 J' x9 X$ M0 k0 } - ////////////////////////////////////////////////////////////////////////////////////////////////" g* a& X `' d- h
0 s% x+ R; L. u4 O$ R8 G; r- FUNCPTR(D2CLIENT, GetQuestInfo, void*, __stdcall, (void), 0x45A00)//, C1 l& ^5 J# g. R, n6 X" g I3 ?
- FUNCPTR(D2CLIENT, SubmitItem, void, __fastcall, (DWORD dwItemId), 0x45FB0)//( B# `: y; }7 O' k# c5 Y6 L
- FUNCPTR(D2CLIENT, Transmute, void, __fastcall, (void), 0x8CB90)//
7 t1 t: y" o+ ?6 g8 Q' V2 L, x - FUNCPTR(D2CLIENT, FindClientSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B20)//
* i7 L. n! z# Q( p; V/ C - FUNCPTR(D2CLIENT, FindServerSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B40)//. J- M, X9 s( R/ k
- FUNCPTR(D2CLIENT, GetCurrentInteractingNPC, UnitAny*, __fastcall, (void), 0x46150)//
$ O0 W0 x1 T8 G4 M+ [ - FUNCPTR(D2CLIENT, GetSelectedUnit, UnitAny *, __stdcall, (void), 0x51A80)//3 | F8 f/ t8 F6 r2 U. k, |- \! y
- FUNCPTR(D2CLIENT, GetCursorItem, UnitAny*, __fastcall, (void), 0x16020)//
9 a! M3 y, T3 E% n2 `0 T - FUNCPTR(D2CLIENT, GetMercUnit, UnitAny*, __fastcall, (void), 0x97CD0)//+ P" l5 T$ u6 y! B
- FUNCPTR(D2CLIENT, SetSelectedUnit_I, void, __fastcall, (UnitAny *pUnit), 0x51860)//
+ [3 B% \% Y: |2 p: p* I9 F$ J - FUNCPTR(D2CLIENT, GetItemName, BOOL, __stdcall, (UnitAny* pItem, wchar_t* wBuffer, DWORD dwSize), 0x914F0)//) U. b3 D) m( N! Q
- FUNCPTR(D2CLIENT, LoadItemDesc, BOOL, __stdcall, (UnitAny* pItem, int type), 0x93450)//
: N/ Z7 ]! r* u) F6 C - FUNCPTR(D2CLIENT, GetMonsterOwner, DWORD, __fastcall, (DWORD nMonsterId), 0x216A0)//
; j/ \+ q, M5 A' U8 e: N - FUNCPTR(D2CLIENT, GetUnitHPPercent, DWORD, __fastcall, (DWORD dwUnitId), 0x21580)//5 c/ I) { T. M$ R7 a* a
- FUNCPTR(D2CLIENT, InitInventory, void, __fastcall, (void), 0x908C0)//
6 L( }# b8 [; E8 a! Q' b2 J - FUNCPTR(D2CLIENT, SetUIVar, DWORD, __fastcall, (DWORD varno, DWORD howset, DWORD unknown1), 0xC2790)//. B3 j. }4 h/ E0 R' D! ~
- FUNCPTR(D2CLIENT, GetUnitX, int, __fastcall, (UnitAny* pUnit), 0x1630)//! f3 J; f$ K* j9 ]" ?7 e8 i& r0 A
- FUNCPTR(D2CLIENT, GetUnitY, int, __fastcall, (UnitAny* pUnit), 0x1660)//
- @) R0 N" m U7 Z2 @4 M - FUNCPTR(D2CLIENT, ShopAction, void, __fastcall, (UnitAny* pItem, UnitAny* pNpc, UnitAny* pNpc2, DWORD dwSell, DWORD dwItemCost, DWORD dwMODe, DWORD _2, DWORD _3), 0x47D60)//$ E4 I% k& e/ Z1 j6 i
- FUNCPTR(D2CLIENT, CloseNPCInteract, void, __fastcall, (void), 0x492F0)//- X. K1 P I5 G- ^
- FUNCPTR(D2CLIENT, CloseInteract, void, __fastcall, (void), 0x43870)//
. X' f1 \+ d" K1 s! _$ y - FUNCPTR(D2CLIENT, GetAutomapSize, DWORD, __stdcall, (void), 0x5F080)//" F4 A7 o3 T; d2 M; |& x. f' |
- FUNCPTR(D2CLIENT, NewAutomapCell, AutomapCell *, __fastcall, (void), 0x5F6B0)//
1 ~' v" M( ]- U - FUNCPTR(D2CLIENT, AddAutomapCell, void, __fastcall, (AutomapCell *aCell, AutomapCell **node), 0x61320)//0 c# a. X* S+ ^- x: `
- FUNCPTR(D2CLIENT, RevealAutomapRoom, void, __stdcall, (DRLGRoom *pRoom, DWORD dwClipFlag, AutomapLayer *aLayer), 0x62580)//
, A2 U! }& E( s - FUNCPTR(D2CLIENT, InitAutomapLayer_I, AutomapLayer*, __fastcall, (DWORD nLayerNo), 0x62710)//8 T* X l9 t' x1 I" n
- FUNCPTR(D2CLIENT, ClickMap, void, __stdcall, (DWORD MouseFlag, DWORD x, DWORD y, DWORD Type), 0x1BF20)//7 y7 F' r/ Z, C0 C
- FUNCPTR(D2CLIENT, LeftClickItem, void, __stdcall, (UnitAny* pPlayer, Inventory* pInventory, int x, int y, DWORD dwClickType, InventoryLayout* pLayout, DWORD Location), 0x96AA0)//, r" P: O% k, W3 N. u/ k
- FUNCPTR(D2CLIENT, GetMouseXOffset, DWORD, __fastcall, (void), 0x3F6C0)//
+ e# Y" e5 b7 f8 y0 f2 H" i - FUNCPTR(D2CLIENT, GetMouseYOffset, DWORD, __fastcall, (void), 0x3F6D0)//7 S4 C( O3 E. A) q; N
- FUNCPTR(D2CLIENT, PrintPartyString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D610)//5 ?. L& a% x5 f8 O4 p0 X2 C. }
- FUNCPTR(D2CLIENT, PrintGameString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D850)//
2 o2 p% E# h, J L6 R' s" K - FUNCPTR(D2CLIENT, LeaveParty, void, __fastcall, (void), 0x9E5D0)//
/ ^: V3 V. D1 L5 Y; ?8 l- ` - FUNCPTR(D2CLIENT, AcceptTrade, void, __fastcall, (void), 0x59600)//% K% `; j! F z! e2 a* @
- FUNCPTR(D2CLIENT, CancelTrade, void, __fastcall, (void), 0x595C0)//: E) @. K$ p a4 L* @5 Q9 Q0 N' m
- FUNCPTR(D2CLIENT, TradeOK, void, __stdcall, (void), 0x59980)//9 C5 ?# E4 E1 I% N( Q% E
- FUNCPTR(D2CLIENT, GetDifficulty, BYTE, __stdcall, (void), 0x58DA0)//1 I6 R9 `4 b1 A2 o* L
- FUNCPTR(D2CLIENT, ExitGame, void, __fastcall, (void), 0x42850)//
2 V( F$ r, d5 d# l2 P8 a - FUNCPTR(D2CLIENT, GetUiVar_I, DWORD, __fastcall, (DWORD dwVarNo), 0xBE400)//
% h( N) z: T2 m - FUNCPTR(D2CLIENT, DrawRectFrame, void, __fastcall, (DWORD Rect), 0xBE4C0)//
4 p' E* Y S2 c& r7 U7 ~ - FUNCPTR(D2CLIENT, PerformGoldDialogAction, void, __fastcall, (void), 0xBFDF0)//
% @5 }* `; e, T' P* |& K1 H" I - FUNCPTR(D2CLIENT, GetPlayerUnit, UnitAny*, __stdcall, (void), 0xA4D60)//" Y M& G n) L, F7 x8 e
- FUNCPTR(D2CLIENT, GetLevelName_I, wchar_t*, __fastcall, (DWORD levelId), 0xBE240)//8 L X; C) d: ?( W6 X% W6 C
- FUNCPTR(D2CLIENT, ClearScreen, void, __fastcall, (void), 0x48350)//# u8 o7 j2 M7 q/ ]
- FUNCPTR(D2CLIENT, CloseNPCTalk, DWORD, __stdcall, (void* unk), 0x7ED30)//: F; E1 q2 G( T1 b8 i
- FUNCPTR(D2CLIENT, ClickOnStashButton, void, __fastcall, (DWORD x, DWORD y), 0x8CD00);//# M# y+ d5 E# M( X: a
- FUNCPTR(D2CLIENT, GetUnit, void*, __fastcall, (DWORD dwId, DWORD dwType), 0x78D30);
1 J ~0 P$ Z0 g* {. e: B$ }% a8 J - ! m0 f& h/ h, b. V" Q& Q) V, h
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; ~) M! _4 I! b' I9 ]( X) ]( a& V7 T - // D2Client Globals //数据段内容在游戏内易查找,本人无1.13D版本,故以下数据段内容未查找,需要者自行查找
( R: G. U) ^& @( J3 T9 \ - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$ E% y! k% s" R) p2 G1 g' U7 x% q/ I - 7 h/ }( I7 u5 F( k
- VARPTR(D2CLIENT, ScreenSizeX, DWORD, 0xDBC48)/// E, x! f# P7 ]
- VARPTR(D2CLIENT, ScreenSizeY, DWORD, 0xDBC4C)/// }1 j' D) G+ h8 g, `$ c5 Q
- VARPTR(D2CLIENT, CursorHoverX, DWORD, 0xE0EB8)//
1 w* H9 V' V O! H; l/ W6 y. P - VARPTR(D2CLIENT, CursorHoverY, DWORD, 0xE0EBC)//
0 r1 p4 w/ [' d6 H0 \ - //VARPTR(D2CLIENT, MouseX, DWORD, 0x11C950)//未找到1 D0 ]9 d6 z3 k& B0 Q- A0 y5 N! O
- //VARPTR(D2CLIENT, MouseY, DWORD, 0x11C94C)//未找到
9 B4 d4 _# r& v3 e9 Y) {0 p- m - //VARPTR(D2CLIENT, MouseOffsetY, int, 0x106840)//未找到; a' x1 c x6 \ F8 d, g+ h
- //VARPTR(D2CLIENT, MouseOffsetX, int, 0x106844)//未找到
- L4 D! ]$ G# r3 l" J - //VARPTR(D2CLIENT, AutomapOn, DWORD, 0x11C8B8)//未找到
& l; {7 d; |# B+ G" p, P6 ? - //VARPTR(D2CLIENT, AutomapMode, int, 0xF34F8)//未找到* W% x W# v/ T7 z" ?. F2 u
- //VARPTR(D2CLIENT, Offset, POINT, 0x11CF5C)//未找到
4 f z* R( z, c" R. H0 W - //VARPTR(D2CLIENT, AutomapLayer, AutomapLayer*, 0x11CF28)//未找到& J4 V# H, R" T* O
- //VARPTR(D2CLIENT, MercStrIndex, WORD, 0xF02D8)//未找到
$ y$ P5 ]) r7 K5 @" \, | - //VARPTR(D2CLIENT, MercReviveCost, DWORD, 0x11CEE8)//未找到
, n: p; X/ X$ X' H6 Y - //VARPTR(D2CLIENT, ServerSideUnitHashTables, UnitHashTable, 0x1047B8)//未找到
/ [; q$ O6 R" Z1 U8 L4 K5 | - //VARPTR(D2CLIENT, ClientSideUnitHashTables, UnitHashTable, 0x103BB8)//未找到
: P3 J1 |. L& [+ |0 x1 J - //VARPTR(D2CLIENT, ViewportY, int, 0x106840)//未找到
3 Q, t! e1 {, } - //VARPTR(D2CLIENT, ViewportX, int, 0x106844)//未找到
) }) w1 a* p$ P5 T) x - //VARPTR(D2CLIENT, GoldDialogAction, DWORD, 0x11C86C)//未找到/ [" c6 v. ^) [# e7 [, ]0 g
- //VARPTR(D2CLIENT, GoldDialogAmount, DWORD, 0x11D568)//未找到% ~ H1 t2 L7 D: Y: V; ?
- //VARPTR(D2CLIENT, NPCMenu, NPCMenu*, 0xF1A90)//未找到. s4 @+ X, K, D! }7 [9 _
- //VARPTR(D2CLIENT, NPCMenuAmount, DWORD, 0xF21E0)//未找到
7 x% k7 M* K( R% X1 Q - //VARPTR(D2CLIENT, TradeLayout, InventoryLayout*, 0x101598)//未找到
3 _ N i: Z4 g( @% Z* E - //VARPTR(D2CLIENT, StashLayout, InventoryLayout*, 0x1015E0)//未找到
9 i/ S& H) _# ?& T+ Q$ L - //VARPTR(D2CLIENT, StoreLayout, InventoryLayout*, 0x1016C0)//未找到# j& z0 K. H" g/ T
- //VARPTR(D2CLIENT, CubeLayout, InventoryLayout*, 0x1016D8)//未找到) Y( s7 A) z* s# g* z: v
- //VARPTR(D2CLIENT, InventoryLayout, InventoryLayout*, 0x1016F0)//未找到
9 Y" n3 g8 h* v, W4 u - //VARPTR(D2CLIENT, MercLayout, InventoryLayout*, 0x11CC84)//未找到 S4 Z+ L+ @. l7 T2 B6 d
- //VARPTR(D2CLIENT, RegularCursorType, DWORD, 0x11C98C)//未找到) Z# Q6 b1 a+ e2 Y, a) R, q1 ~, S! z/ ~
- //VARPTR(D2CLIENT, ShopCursorType, DWORD, 0x11CB24)//未找到
! |2 Z. J8 k* K# u - //VARPTR(D2CLIENT, Ping, DWORD, 0x108764)//未找到
! e: Y3 g. H! r! D - //VARPTR(D2CLIENT, FPS, DWORD, 0x11CE10)//未找到
9 ~( U; l6 a3 t* ~2 }* n& o6 I# I - //VARPTR(D2CLIENT, Skip, DWORD, 0x108770)//未找到
& y# l' I( K, q. @+ W: ] - //VARPTR(D2CLIENT, Divisor, int, 0xF34F8)//未找到0 Z7 _7 A, Q. d3 Z+ L) d2 N
- //VARPTR(D2CLIENT, OverheadTrigger, DWORD, 0x101ABE)//未找到( j, s- f) Q9 x! v* F( r; [
- //VARPTR(D2CLIENT, RecentInteractId, DWORD, 0x101895)//未找到
' ^- U- ~- f1 L0 H7 C, w. E( K. y - //VARPTR(D2CLIENT, ItemPriceList, DWORD, 0x1018B3)//未找到
c( D- c8 V$ h% Y1 w. p# a' O - //VARPTR(D2CLIENT, TransactionDialog, void*, 0x1018D3)//未找到1 Y6 \* J; g0 ^6 b5 o# u
- //VARPTR(D2CLIENT, TransactionDialogs, DWORD, 0x11D58C)//未找到
; i' N( z4 d8 @& _- p - //VARPTR(D2CLIENT, TransactionDialogs_2, DWORD, 0x11D588)//未找到% ?5 q( T2 e. ]
- //VARPTR(D2CLIENT, pTransactionDialogsInfo, TransactionDialogsInfo_t*, 0x11D584)//未找到' n8 q% y* v) G R4 r5 a
- VARPTR(D2CLIENT, GameInfo, Game*, 0x11B980)// 6FB1FCE0 mov eax,dword ptr ds:[0x6FBCB980]" `: a ~" a; W4 |0 w6 m1 j! H
- //VARPTR(D2CLIENT, WaypointTable, DWORD, 0x1088FD)//未找到
6 w. H( V2 ~! S3 y) ~* M - VARPTR(D2CLIENT, PlayerUnit, UnitAny*, 0x11BBFC)// 6FAF4B5E mov ebp,dword ptr ds:[0x6FBCBBFC]
# D6 p/ ~& M) g& c' O; m' P- T! I - //VARPTR(D2CLIENT, SelectedInvItem, UnitAny*, 0x11CB28)//未找到
7 e1 e E1 h/ L - //VARPTR(D2CLIENT, PlayerUnitList, RosterUnit*, 0x11CB04)//未找到
5 B" v3 j' p4 I2 l. Z - //VARPTR(D2CLIENT, bWeapSwitch, DWORD, 0x11CB84)//未找到, C5 w1 L n( q$ D3 N9 X. o' i* f5 @
- //VARPTR(D2CLIENT, bTradeAccepted, DWORD, 0x11CD54)//未找到& H8 ]: X1 @7 B' x8 T
- //VARPTR(D2CLIENT, bTradeBlock, DWORD, 0x11CD64)//未找到
" y1 v0 C/ f" c) O9 o# @9 V6 } - //VARPTR(D2CLIENT, RecentTradeId, DWORD, 0x11D5AC)//未找到
% P, C# X8 W7 F, z3 \ - //VARPTR(D2CLIENT, ExpCharFlag, DWORD, 0x1087B4)//未找到) o: o. q M( W( T5 R
- //VARPTR(D2CLIENT, MapId, DWORD, 0x11D204)//未找到
$ o- b. a, C+ S \ - //VARPTR(D2CLIENT, AlwaysRun, DWORD, 0x11D234)//未找到
* o! `, p& c4 J/ f2 a7 N+ m - //VARPTR(D2CLIENT, NoPickUp, DWORD, 0x11D574)//未找到' J! |2 L0 m1 r& f- F3 W4 a* I) q
- //VARPTR(D2CLIENT, ChatMsg, wchar_t*, 0x11D650)//未找到
% x6 t) l' X- W. |: Q - //VARPTR(D2CLIENT, OrificeId, DWORD, 0x11C9B8)//未找到4 S. F- V& c+ B: k- E' q$ W
- //VARPTR(D2CLIENT, CursorItemMode, DWORD, 0x11C9B0)//未找到
- o" R3 X* o* ]% {, |0 F3 w - //VARPTR(D2CLIENT, pUnitTable, POINT, 0x1047B8)//未找到
3 T5 |5 c$ [' \1 }: A - //VARPTR(D2CLIENT, pDescFuncTable, void*, 0x2DAD4)//未找到
复制代码
+ @4 X6 v/ C9 Z) |/ A1 s8 i1 _- Y% _( z" N5 k2 C( M8 K
|
|