|
转载
1 b# P. j# ]1 d7 Q) j; x5 ~7 i- M! i" H
. s& }8 I* L2 h- ////////////////////////////////////////////////////////////////////////////////////////////////
0 }7 c8 q3 c2 I% k- }) i - // D2Client Functions //函数表
, i R$ N# n# `7 l5 Y D! ? - ////////////////////////////////////////////////////////////////////////////////////////////////* ]3 u! C3 r9 M- l
- 3 a" q. J+ C3 M2 X3 Z1 u
- FUNCPTR(D2CLIENT, GetQuestInfo, void*, __stdcall, (void), 0x45A00)//
$ l" G. }, v8 ^0 Q5 S( Q0 n& ^7 t - FUNCPTR(D2CLIENT, SubmitItem, void, __fastcall, (DWORD dwItemId), 0x45FB0)//, }/ C1 F: y/ U; ]5 {
- FUNCPTR(D2CLIENT, Transmute, void, __fastcall, (void), 0x8CB90)//& O9 e& F$ v1 r4 c# B( c S* I
- FUNCPTR(D2CLIENT, FindClientSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B20)//# S' B$ v0 \" t8 B, I% r+ D" F& X$ A
- FUNCPTR(D2CLIENT, FindServerSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B40)//- ~$ R+ V, E4 N! D
- FUNCPTR(D2CLIENT, GetCurrentInteractingNPC, UnitAny*, __fastcall, (void), 0x46150)//* a# e c& b! I1 T( @, i
- FUNCPTR(D2CLIENT, GetSelectedUnit, UnitAny *, __stdcall, (void), 0x51A80)// a. U& a4 [; }9 I
- FUNCPTR(D2CLIENT, GetCursorItem, UnitAny*, __fastcall, (void), 0x16020)//) g8 x' B; a* c
- FUNCPTR(D2CLIENT, GetMercUnit, UnitAny*, __fastcall, (void), 0x97CD0)//4 |% N4 t( W1 H
- FUNCPTR(D2CLIENT, SetSelectedUnit_I, void, __fastcall, (UnitAny *pUnit), 0x51860)//
! l+ w! s- B4 z' x2 L0 e* ] - FUNCPTR(D2CLIENT, GetItemName, BOOL, __stdcall, (UnitAny* pItem, wchar_t* wBuffer, DWORD dwSize), 0x914F0)//+ u1 M5 H8 H2 d" z
- FUNCPTR(D2CLIENT, LoadItemDesc, BOOL, __stdcall, (UnitAny* pItem, int type), 0x93450)//
* n( h+ U+ w3 k& c - FUNCPTR(D2CLIENT, GetMonsterOwner, DWORD, __fastcall, (DWORD nMonsterId), 0x216A0)//2 D8 Z( N6 Q/ T( t# U
- FUNCPTR(D2CLIENT, GetUnitHPPercent, DWORD, __fastcall, (DWORD dwUnitId), 0x21580)//0 w. {3 Q6 c. u) Y$ |7 }3 o8 C
- FUNCPTR(D2CLIENT, InitInventory, void, __fastcall, (void), 0x908C0)//# n. Q! m8 n; j( ^ B; f' {
- FUNCPTR(D2CLIENT, SetUIVar, DWORD, __fastcall, (DWORD varno, DWORD howset, DWORD unknown1), 0xC2790)//' L! M, @6 m+ \+ D' t
- FUNCPTR(D2CLIENT, GetUnitX, int, __fastcall, (UnitAny* pUnit), 0x1630)//
& L/ U# t7 M8 l3 D" G _ - FUNCPTR(D2CLIENT, GetUnitY, int, __fastcall, (UnitAny* pUnit), 0x1660)//3 |! t5 Z# O8 G9 `- Q) T
- FUNCPTR(D2CLIENT, ShopAction, void, __fastcall, (UnitAny* pItem, UnitAny* pNpc, UnitAny* pNpc2, DWORD dwSell, DWORD dwItemCost, DWORD dwMODe, DWORD _2, DWORD _3), 0x47D60)//
8 a; w% s' z: L' P) R- r - FUNCPTR(D2CLIENT, CloseNPCInteract, void, __fastcall, (void), 0x492F0)//
; |# j. R7 y2 c/ L. E - FUNCPTR(D2CLIENT, CloseInteract, void, __fastcall, (void), 0x43870)//
0 [6 ^- L6 z! b' O" Z% ^( _) R - FUNCPTR(D2CLIENT, GetAutomapSize, DWORD, __stdcall, (void), 0x5F080)//5 k% _3 |. J7 D& k
- FUNCPTR(D2CLIENT, NewAutomapCell, AutomapCell *, __fastcall, (void), 0x5F6B0)//
. {5 k- C8 U0 X* _7 O$ R9 B - FUNCPTR(D2CLIENT, AddAutomapCell, void, __fastcall, (AutomapCell *aCell, AutomapCell **node), 0x61320)//
9 I+ \$ C3 P' a - FUNCPTR(D2CLIENT, RevealAutomapRoom, void, __stdcall, (DRLGRoom *pRoom, DWORD dwClipFlag, AutomapLayer *aLayer), 0x62580)//
7 D- ^; G% e n3 b7 b8 I! u+ | - FUNCPTR(D2CLIENT, InitAutomapLayer_I, AutomapLayer*, __fastcall, (DWORD nLayerNo), 0x62710)//
9 _+ f% H4 i4 |3 [1 f0 W1 p - FUNCPTR(D2CLIENT, ClickMap, void, __stdcall, (DWORD MouseFlag, DWORD x, DWORD y, DWORD Type), 0x1BF20)//
7 b; \! C8 A) d; P: Q - FUNCPTR(D2CLIENT, LeftClickItem, void, __stdcall, (UnitAny* pPlayer, Inventory* pInventory, int x, int y, DWORD dwClickType, InventoryLayout* pLayout, DWORD Location), 0x96AA0)/// @: o6 K% j* D5 t+ M
- FUNCPTR(D2CLIENT, GetMouseXOffset, DWORD, __fastcall, (void), 0x3F6C0)//1 _8 h0 D7 t/ u. E; p/ c
- FUNCPTR(D2CLIENT, GetMouseYOffset, DWORD, __fastcall, (void), 0x3F6D0)// A4 d" b5 w1 l
- FUNCPTR(D2CLIENT, PrintPartyString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D610)//% N4 {. |6 o; }
- FUNCPTR(D2CLIENT, PrintGameString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D850)//; T* P0 |- [6 J: ]( i
- FUNCPTR(D2CLIENT, LeaveParty, void, __fastcall, (void), 0x9E5D0)//6 A! d+ L' H0 e. { a; B
- FUNCPTR(D2CLIENT, AcceptTrade, void, __fastcall, (void), 0x59600)//
, z9 D1 s) Y- L; d& N$ u - FUNCPTR(D2CLIENT, CancelTrade, void, __fastcall, (void), 0x595C0)//
/ `3 W: p& B6 P$ A7 p6 e - FUNCPTR(D2CLIENT, TradeOK, void, __stdcall, (void), 0x59980)//
5 _* H; ^& s4 l: W: f& y+ y/ z4 \ - FUNCPTR(D2CLIENT, GetDifficulty, BYTE, __stdcall, (void), 0x58DA0)//2 \; h0 G5 J/ D4 F3 g; A
- FUNCPTR(D2CLIENT, ExitGame, void, __fastcall, (void), 0x42850)//
5 a& V* I2 D# R - FUNCPTR(D2CLIENT, GetUiVar_I, DWORD, __fastcall, (DWORD dwVarNo), 0xBE400)//9 n6 U# v' z$ e( V
- FUNCPTR(D2CLIENT, DrawRectFrame, void, __fastcall, (DWORD Rect), 0xBE4C0)//0 _% `9 P! x( S+ X
- FUNCPTR(D2CLIENT, PerformGoldDialogAction, void, __fastcall, (void), 0xBFDF0)//
|2 I9 K% h/ ?- [ - FUNCPTR(D2CLIENT, GetPlayerUnit, UnitAny*, __stdcall, (void), 0xA4D60)//
& i4 \& [+ f6 R - FUNCPTR(D2CLIENT, GetLevelName_I, wchar_t*, __fastcall, (DWORD levelId), 0xBE240)//. l# H- m6 D: d& Y: k: g
- FUNCPTR(D2CLIENT, ClearScreen, void, __fastcall, (void), 0x48350)//; ~* ?2 O' ]5 S; e6 U* Q
- FUNCPTR(D2CLIENT, CloseNPCTalk, DWORD, __stdcall, (void* unk), 0x7ED30)//' C2 \" d% e n" w, P
- FUNCPTR(D2CLIENT, ClickOnStashButton, void, __fastcall, (DWORD x, DWORD y), 0x8CD00);//$ `9 w; Q& t+ U2 F3 C5 ~8 t
- FUNCPTR(D2CLIENT, GetUnit, void*, __fastcall, (DWORD dwId, DWORD dwType), 0x78D30);3 B8 S% B5 o# L8 }- e
- # r+ ]- A3 k" f t
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////7 ~: H" ?3 B2 |9 q
- // D2Client Globals //数据段内容在游戏内易查找,本人无1.13D版本,故以下数据段内容未查找,需要者自行查找# c: G5 L2 i# B5 D3 q" r) C
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////2 D6 F8 Z. f( s8 [4 P2 r
8 j8 s# l& T) T4 S4 w4 `+ e& [, U5 w- VARPTR(D2CLIENT, ScreenSizeX, DWORD, 0xDBC48)//
3 A" k# ?% b8 R) \, L5 G - VARPTR(D2CLIENT, ScreenSizeY, DWORD, 0xDBC4C)//
5 u* `# m: z% e- O: O0 j+ P* \6 ? - VARPTR(D2CLIENT, CursorHoverX, DWORD, 0xE0EB8)// P2 F7 C1 c: L0 v$ P
- VARPTR(D2CLIENT, CursorHoverY, DWORD, 0xE0EBC)//0 x% p. e' }6 s
- //VARPTR(D2CLIENT, MouseX, DWORD, 0x11C950)//未找到
, z+ b. u# A$ [" X' |9 h& f# U& _ J - //VARPTR(D2CLIENT, MouseY, DWORD, 0x11C94C)//未找到) c, B3 L: H% l F- @/ Y0 G
- //VARPTR(D2CLIENT, MouseOffsetY, int, 0x106840)//未找到" }$ l8 P) r+ i/ _
- //VARPTR(D2CLIENT, MouseOffsetX, int, 0x106844)//未找到
* x8 s7 S; y1 d - //VARPTR(D2CLIENT, AutomapOn, DWORD, 0x11C8B8)//未找到
$ F* P9 _ l. Q0 x$ n - //VARPTR(D2CLIENT, AutomapMode, int, 0xF34F8)//未找到7 p: @; E% B( e, g* \
- //VARPTR(D2CLIENT, Offset, POINT, 0x11CF5C)//未找到0 h8 m+ H) A9 P) O: W7 V6 n2 U
- //VARPTR(D2CLIENT, AutomapLayer, AutomapLayer*, 0x11CF28)//未找到3 y) T, I G: o! w8 h9 x3 `
- //VARPTR(D2CLIENT, MercStrIndex, WORD, 0xF02D8)//未找到
3 }! W0 d7 p0 O9 D - //VARPTR(D2CLIENT, MercReviveCost, DWORD, 0x11CEE8)//未找到& B2 O+ Y1 I0 s/ S ^
- //VARPTR(D2CLIENT, ServerSideUnitHashTables, UnitHashTable, 0x1047B8)//未找到7 |3 P0 N/ `+ C( o) K
- //VARPTR(D2CLIENT, ClientSideUnitHashTables, UnitHashTable, 0x103BB8)//未找到
: P- W; a- S; ]2 T8 q& y - //VARPTR(D2CLIENT, ViewportY, int, 0x106840)//未找到# e) V6 X9 {0 S9 Y
- //VARPTR(D2CLIENT, ViewportX, int, 0x106844)//未找到
' \& R" s9 t6 O5 E - //VARPTR(D2CLIENT, GoldDialogAction, DWORD, 0x11C86C)//未找到, u# w" H; @" |% Z
- //VARPTR(D2CLIENT, GoldDialogAmount, DWORD, 0x11D568)//未找到
! S( F7 b/ R, Z; T& X8 } - //VARPTR(D2CLIENT, NPCMenu, NPCMenu*, 0xF1A90)//未找到 q: ^7 K/ J9 H, b7 C3 e
- //VARPTR(D2CLIENT, NPCMenuAmount, DWORD, 0xF21E0)//未找到
0 E: t0 L) ^+ a9 R+ j- P) V/ b - //VARPTR(D2CLIENT, TradeLayout, InventoryLayout*, 0x101598)//未找到
# [# X6 D0 Y# \) g6 u - //VARPTR(D2CLIENT, StashLayout, InventoryLayout*, 0x1015E0)//未找到; C. ^' ]6 D5 p; y. C2 i' ]
- //VARPTR(D2CLIENT, StoreLayout, InventoryLayout*, 0x1016C0)//未找到
8 ~9 B0 z( B, ~; i, U - //VARPTR(D2CLIENT, CubeLayout, InventoryLayout*, 0x1016D8)//未找到
! B, t' t* v- K* q - //VARPTR(D2CLIENT, InventoryLayout, InventoryLayout*, 0x1016F0)//未找到 K; ^- P/ e7 J& i' r9 f/ S* E
- //VARPTR(D2CLIENT, MercLayout, InventoryLayout*, 0x11CC84)//未找到, c3 [( t# D! Q+ f5 T' D0 J
- //VARPTR(D2CLIENT, RegularCursorType, DWORD, 0x11C98C)//未找到
% f1 N4 _7 ^6 c* t% Z' I - //VARPTR(D2CLIENT, ShopCursorType, DWORD, 0x11CB24)//未找到7 I) k M! i n. C( O6 q
- //VARPTR(D2CLIENT, Ping, DWORD, 0x108764)//未找到
; |% q# D9 t4 h" k7 }% l8 X - //VARPTR(D2CLIENT, FPS, DWORD, 0x11CE10)//未找到
' Y5 F3 {8 v b3 F1 A6 L: J - //VARPTR(D2CLIENT, Skip, DWORD, 0x108770)//未找到; y( Q7 f4 ?( D9 S
- //VARPTR(D2CLIENT, Divisor, int, 0xF34F8)//未找到
1 A# c2 Z+ A7 |2 d; v - //VARPTR(D2CLIENT, OverheadTrigger, DWORD, 0x101ABE)//未找到% Z. {! Z! F' S
- //VARPTR(D2CLIENT, RecentInteractId, DWORD, 0x101895)//未找到
* Z; H) Y& y( O2 h. a* n6 g - //VARPTR(D2CLIENT, ItemPriceList, DWORD, 0x1018B3)//未找到: Y: y7 a+ W( Q
- //VARPTR(D2CLIENT, TransactionDialog, void*, 0x1018D3)//未找到
4 b% J( o9 s4 x$ m' M - //VARPTR(D2CLIENT, TransactionDialogs, DWORD, 0x11D58C)//未找到, t# ~+ Z8 d. t7 d8 M
- //VARPTR(D2CLIENT, TransactionDialogs_2, DWORD, 0x11D588)//未找到 _$ k/ Q+ f5 j2 |7 v+ r7 c
- //VARPTR(D2CLIENT, pTransactionDialogsInfo, TransactionDialogsInfo_t*, 0x11D584)//未找到
& v7 W% p6 f; K* X! {. y! Q8 k - VARPTR(D2CLIENT, GameInfo, Game*, 0x11B980)// 6FB1FCE0 mov eax,dword ptr ds:[0x6FBCB980]9 o8 Y$ P0 q: @9 o/ S
- //VARPTR(D2CLIENT, WaypointTable, DWORD, 0x1088FD)//未找到, G7 q7 M3 q& R7 j, I/ a8 r7 |
- VARPTR(D2CLIENT, PlayerUnit, UnitAny*, 0x11BBFC)// 6FAF4B5E mov ebp,dword ptr ds:[0x6FBCBBFC]
# F) h" ?+ R# y0 w8 l* U1 P/ y - //VARPTR(D2CLIENT, SelectedInvItem, UnitAny*, 0x11CB28)//未找到0 n; e/ Y$ M$ X4 E/ L! r( x
- //VARPTR(D2CLIENT, PlayerUnitList, RosterUnit*, 0x11CB04)//未找到* B- L& O1 z! \& X
- //VARPTR(D2CLIENT, bWeapSwitch, DWORD, 0x11CB84)//未找到: K$ i) F$ C( Z
- //VARPTR(D2CLIENT, bTradeAccepted, DWORD, 0x11CD54)//未找到
8 `9 \ S; y+ m0 q& n( w+ h - //VARPTR(D2CLIENT, bTradeBlock, DWORD, 0x11CD64)//未找到% {+ Y8 |( e4 I6 N. f4 W
- //VARPTR(D2CLIENT, RecentTradeId, DWORD, 0x11D5AC)//未找到
% o9 r% J% A3 z# I - //VARPTR(D2CLIENT, ExpCharFlag, DWORD, 0x1087B4)//未找到
6 F- l( v; H* G& F6 W! s - //VARPTR(D2CLIENT, MapId, DWORD, 0x11D204)//未找到
# U0 {( e+ w& B - //VARPTR(D2CLIENT, AlwaysRun, DWORD, 0x11D234)//未找到/ j% |4 O, q$ t. C6 e g
- //VARPTR(D2CLIENT, NoPickUp, DWORD, 0x11D574)//未找到1 F- M5 C9 h) k, ^0 L- B6 s+ P
- //VARPTR(D2CLIENT, ChatMsg, wchar_t*, 0x11D650)//未找到4 W5 t/ S( r2 u( v
- //VARPTR(D2CLIENT, OrificeId, DWORD, 0x11C9B8)//未找到
! b7 i/ [. P, `; g! D9 I4 | - //VARPTR(D2CLIENT, CursorItemMode, DWORD, 0x11C9B0)//未找到
a1 O2 O, r( j; {! u( W - //VARPTR(D2CLIENT, pUnitTable, POINT, 0x1047B8)//未找到9 i7 P7 F. w. Y s+ G
- //VARPTR(D2CLIENT, pDescFuncTable, void*, 0x2DAD4)//未找到
复制代码
$ \( _* f" P6 C) f ^0 _% Y4 v, u* E7 r8 {5 b0 ?' c- I8 ~. r
|
|