|
|
转载
. @4 a5 O* n; x+ {4 J( I% O" @# r2 Y' N0 t/ h* t. U2 H% u* R
! R, ?( P2 q: T% f" H- ////////////////////////////////////////////////////////////////////////////////////////////////( X' p0 }3 I6 X2 b; v
- // D2Client Functions //函数表9 q2 Q! `2 d. T* h3 ^
- ////////////////////////////////////////////////////////////////////////////////////////////////
7 L& E" P5 m% |; R" ^ - 7 M, K, W, ^4 u c' w
- FUNCPTR(D2CLIENT, GetQuestInfo, void*, __stdcall, (void), 0x45A00)//
5 Y+ u; `9 [: o2 x - FUNCPTR(D2CLIENT, SubmitItem, void, __fastcall, (DWORD dwItemId), 0x45FB0)//" y3 \( ^# J$ {+ K
- FUNCPTR(D2CLIENT, Transmute, void, __fastcall, (void), 0x8CB90)//
2 i4 U( E0 Z, v - FUNCPTR(D2CLIENT, FindClientSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B20)//
& A+ a. t4 x$ ? - FUNCPTR(D2CLIENT, FindServerSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B40)//
9 |8 L: V1 P9 M- Y0 G/ v2 b* U1 F! @2 c - FUNCPTR(D2CLIENT, GetCurrentInteractingNPC, UnitAny*, __fastcall, (void), 0x46150)//! z) S U( d1 C% ?, i: w& _0 F
- FUNCPTR(D2CLIENT, GetSelectedUnit, UnitAny *, __stdcall, (void), 0x51A80)//
8 r% b" ]$ G/ Z1 u - FUNCPTR(D2CLIENT, GetCursorItem, UnitAny*, __fastcall, (void), 0x16020)//
# p2 H& |+ V6 F3 S - FUNCPTR(D2CLIENT, GetMercUnit, UnitAny*, __fastcall, (void), 0x97CD0)//
8 @/ u( O# s( w) ]7 Q# a - FUNCPTR(D2CLIENT, SetSelectedUnit_I, void, __fastcall, (UnitAny *pUnit), 0x51860)//# v# m. ^$ z9 y" X+ `, w' t- s
- FUNCPTR(D2CLIENT, GetItemName, BOOL, __stdcall, (UnitAny* pItem, wchar_t* wBuffer, DWORD dwSize), 0x914F0)//
8 R3 B4 W3 p5 |) W2 i) o! U - FUNCPTR(D2CLIENT, LoadItemDesc, BOOL, __stdcall, (UnitAny* pItem, int type), 0x93450)//' c' ?6 ~& b6 z. A- e. U& M
- FUNCPTR(D2CLIENT, GetMonsterOwner, DWORD, __fastcall, (DWORD nMonsterId), 0x216A0)//6 c* W. O' z, I4 w+ r \
- FUNCPTR(D2CLIENT, GetUnitHPPercent, DWORD, __fastcall, (DWORD dwUnitId), 0x21580)//" S4 h$ C& u; F) b) @
- FUNCPTR(D2CLIENT, InitInventory, void, __fastcall, (void), 0x908C0)//
; L) H7 ~6 c: r/ h - FUNCPTR(D2CLIENT, SetUIVar, DWORD, __fastcall, (DWORD varno, DWORD howset, DWORD unknown1), 0xC2790)//4 \( h6 ` ?6 E& w
- FUNCPTR(D2CLIENT, GetUnitX, int, __fastcall, (UnitAny* pUnit), 0x1630)//0 r h4 Q) W7 N' r! T% A) ]& l
- FUNCPTR(D2CLIENT, GetUnitY, int, __fastcall, (UnitAny* pUnit), 0x1660)//
& S- R3 H3 m" K0 t: O$ e5 j3 [; x - FUNCPTR(D2CLIENT, ShopAction, void, __fastcall, (UnitAny* pItem, UnitAny* pNpc, UnitAny* pNpc2, DWORD dwSell, DWORD dwItemCost, DWORD dwMODe, DWORD _2, DWORD _3), 0x47D60)//' p6 X) d$ ^" p1 \* p g3 e
- FUNCPTR(D2CLIENT, CloseNPCInteract, void, __fastcall, (void), 0x492F0)//9 @, u1 ]0 o3 e0 g. M
- FUNCPTR(D2CLIENT, CloseInteract, void, __fastcall, (void), 0x43870)//
$ s/ `, ^5 b7 W; D - FUNCPTR(D2CLIENT, GetAutomapSize, DWORD, __stdcall, (void), 0x5F080)//% J! ^) C+ j9 Q& ~' j3 w. i
- FUNCPTR(D2CLIENT, NewAutomapCell, AutomapCell *, __fastcall, (void), 0x5F6B0)//- i; H% x1 U3 P0 j0 \4 c' y
- FUNCPTR(D2CLIENT, AddAutomapCell, void, __fastcall, (AutomapCell *aCell, AutomapCell **node), 0x61320)//
; |6 A7 F3 p3 s - FUNCPTR(D2CLIENT, RevealAutomapRoom, void, __stdcall, (DRLGRoom *pRoom, DWORD dwClipFlag, AutomapLayer *aLayer), 0x62580)//0 z$ y8 I0 Z/ I3 V5 F) D5 ?
- FUNCPTR(D2CLIENT, InitAutomapLayer_I, AutomapLayer*, __fastcall, (DWORD nLayerNo), 0x62710)//- T: B; i4 C* I5 Y
- FUNCPTR(D2CLIENT, ClickMap, void, __stdcall, (DWORD MouseFlag, DWORD x, DWORD y, DWORD Type), 0x1BF20)//6 M9 c5 j& \0 `9 G% \0 h% o a
- FUNCPTR(D2CLIENT, LeftClickItem, void, __stdcall, (UnitAny* pPlayer, Inventory* pInventory, int x, int y, DWORD dwClickType, InventoryLayout* pLayout, DWORD Location), 0x96AA0)//+ U) y% `, f# z% I+ C& [5 Z
- FUNCPTR(D2CLIENT, GetMouseXOffset, DWORD, __fastcall, (void), 0x3F6C0)//' | Q/ r P7 o" W5 i
- FUNCPTR(D2CLIENT, GetMouseYOffset, DWORD, __fastcall, (void), 0x3F6D0)//4 P: v; N$ }- l* N
- FUNCPTR(D2CLIENT, PrintPartyString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D610)//. n7 o* C6 {+ y( W0 k
- FUNCPTR(D2CLIENT, PrintGameString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D850)//. x( g3 a. s9 i# E
- FUNCPTR(D2CLIENT, LeaveParty, void, __fastcall, (void), 0x9E5D0)//
! ?8 N) Q* x9 l6 e7 i1 z - FUNCPTR(D2CLIENT, AcceptTrade, void, __fastcall, (void), 0x59600)//: r& A; [7 i* Z1 u3 ^' ?
- FUNCPTR(D2CLIENT, CancelTrade, void, __fastcall, (void), 0x595C0)//4 J$ U& }" I2 R5 }
- FUNCPTR(D2CLIENT, TradeOK, void, __stdcall, (void), 0x59980)//
8 }( l; O2 I+ E8 w - FUNCPTR(D2CLIENT, GetDifficulty, BYTE, __stdcall, (void), 0x58DA0)//; L" s# g; l6 g5 x5 `/ m
- FUNCPTR(D2CLIENT, ExitGame, void, __fastcall, (void), 0x42850)/// r* [4 M `) @/ a
- FUNCPTR(D2CLIENT, GetUiVar_I, DWORD, __fastcall, (DWORD dwVarNo), 0xBE400)//9 q5 ~' |0 {; z
- FUNCPTR(D2CLIENT, DrawRectFrame, void, __fastcall, (DWORD Rect), 0xBE4C0)//
) A; ]0 X) _1 s, \/ m. [4 T% D - FUNCPTR(D2CLIENT, PerformGoldDialogAction, void, __fastcall, (void), 0xBFDF0)/// t7 W0 m1 X- w9 A' r1 f: t' |
- FUNCPTR(D2CLIENT, GetPlayerUnit, UnitAny*, __stdcall, (void), 0xA4D60)//
6 k+ K& {; `- `: _% {9 K; ` - FUNCPTR(D2CLIENT, GetLevelName_I, wchar_t*, __fastcall, (DWORD levelId), 0xBE240)//' V/ b8 V" p B8 }" N( _ p
- FUNCPTR(D2CLIENT, ClearScreen, void, __fastcall, (void), 0x48350)//
: j& d& |2 U5 p( R- O: z - FUNCPTR(D2CLIENT, CloseNPCTalk, DWORD, __stdcall, (void* unk), 0x7ED30)//
! `- R1 s5 p8 R- e - FUNCPTR(D2CLIENT, ClickOnStashButton, void, __fastcall, (DWORD x, DWORD y), 0x8CD00);//! V6 z, j8 W* v0 {! z7 [ b
- FUNCPTR(D2CLIENT, GetUnit, void*, __fastcall, (DWORD dwId, DWORD dwType), 0x78D30);
+ W3 G4 X( r& a' e4 z - * I! s2 P6 ?3 [; s7 S. D
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////2 {9 K/ ~! R( u8 g5 y* {
- // D2Client Globals //数据段内容在游戏内易查找,本人无1.13D版本,故以下数据段内容未查找,需要者自行查找5 _6 B' r. B! ^ ?+ |
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
, Q& W! S. d( b' p2 ^2 G9 l# v
8 m, V7 N3 o# H% A$ Z- VARPTR(D2CLIENT, ScreenSizeX, DWORD, 0xDBC48)//
7 V" l5 P# e5 x0 X Z8 F1 I! l - VARPTR(D2CLIENT, ScreenSizeY, DWORD, 0xDBC4C)//
3 ^; Y& F4 ]' N8 O4 R& s - VARPTR(D2CLIENT, CursorHoverX, DWORD, 0xE0EB8)//! h X. u6 I2 S( z
- VARPTR(D2CLIENT, CursorHoverY, DWORD, 0xE0EBC)//
" Q. e( q. E _! N) L% T$ N4 ] - //VARPTR(D2CLIENT, MouseX, DWORD, 0x11C950)//未找到
& b1 \5 ]3 P5 ]: p' W8 @ - //VARPTR(D2CLIENT, MouseY, DWORD, 0x11C94C)//未找到
% D* d$ b! d* F8 B# j0 t - //VARPTR(D2CLIENT, MouseOffsetY, int, 0x106840)//未找到
% L" u0 M' A8 } - //VARPTR(D2CLIENT, MouseOffsetX, int, 0x106844)//未找到
9 j! f/ j' F9 a: h' m) m - //VARPTR(D2CLIENT, AutomapOn, DWORD, 0x11C8B8)//未找到5 ?+ R- F, ^6 r
- //VARPTR(D2CLIENT, AutomapMode, int, 0xF34F8)//未找到1 k. ]7 ~; h6 ?" I9 x4 T U# w9 w
- //VARPTR(D2CLIENT, Offset, POINT, 0x11CF5C)//未找到
) _" M/ [- {) ? - //VARPTR(D2CLIENT, AutomapLayer, AutomapLayer*, 0x11CF28)//未找到9 u" {9 S! A5 u* d
- //VARPTR(D2CLIENT, MercStrIndex, WORD, 0xF02D8)//未找到2 Z9 s6 ]0 {3 ]$ G" f2 ~! N
- //VARPTR(D2CLIENT, MercReviveCost, DWORD, 0x11CEE8)//未找到
m; m3 l$ Q3 v - //VARPTR(D2CLIENT, ServerSideUnitHashTables, UnitHashTable, 0x1047B8)//未找到# J# j+ h; k. ^1 K7 l
- //VARPTR(D2CLIENT, ClientSideUnitHashTables, UnitHashTable, 0x103BB8)//未找到! x) l: e& y) f3 L" n7 Y
- //VARPTR(D2CLIENT, ViewportY, int, 0x106840)//未找到
' l$ p- R8 [5 M - //VARPTR(D2CLIENT, ViewportX, int, 0x106844)//未找到
! Y/ }% C2 ^1 i2 v- t - //VARPTR(D2CLIENT, GoldDialogAction, DWORD, 0x11C86C)//未找到2 ~, d7 L+ l- ~$ G/ ~/ ]
- //VARPTR(D2CLIENT, GoldDialogAmount, DWORD, 0x11D568)//未找到
" V' t. F# C" j) ?. { - //VARPTR(D2CLIENT, NPCMenu, NPCMenu*, 0xF1A90)//未找到
$ l. n- k O8 Y9 h& E - //VARPTR(D2CLIENT, NPCMenuAmount, DWORD, 0xF21E0)//未找到
- u9 n5 @/ Z( r0 { - //VARPTR(D2CLIENT, TradeLayout, InventoryLayout*, 0x101598)//未找到# \9 h& J/ M5 u
- //VARPTR(D2CLIENT, StashLayout, InventoryLayout*, 0x1015E0)//未找到1 O9 ]/ q( u5 c; C# W$ A
- //VARPTR(D2CLIENT, StoreLayout, InventoryLayout*, 0x1016C0)//未找到
( j# V* [4 C6 l3 b7 D1 a - //VARPTR(D2CLIENT, CubeLayout, InventoryLayout*, 0x1016D8)//未找到' A" V: `. N9 ~+ F. w' {0 D
- //VARPTR(D2CLIENT, InventoryLayout, InventoryLayout*, 0x1016F0)//未找到
- T& O7 P. R% l) H1 s& ^ - //VARPTR(D2CLIENT, MercLayout, InventoryLayout*, 0x11CC84)//未找到
9 \8 [# i* w! c* ^1 A - //VARPTR(D2CLIENT, RegularCursorType, DWORD, 0x11C98C)//未找到: x7 p: O( Z* V& }
- //VARPTR(D2CLIENT, ShopCursorType, DWORD, 0x11CB24)//未找到
- L5 f. o3 H; Z1 F8 W - //VARPTR(D2CLIENT, Ping, DWORD, 0x108764)//未找到
. e0 ^6 i U- S/ y1 B - //VARPTR(D2CLIENT, FPS, DWORD, 0x11CE10)//未找到& @+ L' W# b, ~4 p) A
- //VARPTR(D2CLIENT, Skip, DWORD, 0x108770)//未找到0 T( ^' C3 ]: {' j5 Y/ U" J
- //VARPTR(D2CLIENT, Divisor, int, 0xF34F8)//未找到" S/ p5 I: l) ^9 P( j% g
- //VARPTR(D2CLIENT, OverheadTrigger, DWORD, 0x101ABE)//未找到
' w2 G; `$ c8 l+ U6 [- |3 D - //VARPTR(D2CLIENT, RecentInteractId, DWORD, 0x101895)//未找到
( i; N# K& x) Z2 \' j' `9 q - //VARPTR(D2CLIENT, ItemPriceList, DWORD, 0x1018B3)//未找到
" T* R& t3 ^; l0 T, [ - //VARPTR(D2CLIENT, TransactionDialog, void*, 0x1018D3)//未找到
/ M+ V: U* v; q' J4 C - //VARPTR(D2CLIENT, TransactionDialogs, DWORD, 0x11D58C)//未找到
) R( D# g- [* B; N b - //VARPTR(D2CLIENT, TransactionDialogs_2, DWORD, 0x11D588)//未找到
1 @6 g/ L/ P; E1 z; _- N - //VARPTR(D2CLIENT, pTransactionDialogsInfo, TransactionDialogsInfo_t*, 0x11D584)//未找到
3 ?! z4 q) s* X( S - VARPTR(D2CLIENT, GameInfo, Game*, 0x11B980)// 6FB1FCE0 mov eax,dword ptr ds:[0x6FBCB980]
9 ]8 F$ c! g* w f2 V$ w. n% i' a - //VARPTR(D2CLIENT, WaypointTable, DWORD, 0x1088FD)//未找到/ d, Z8 z7 T9 a/ R# F
- VARPTR(D2CLIENT, PlayerUnit, UnitAny*, 0x11BBFC)// 6FAF4B5E mov ebp,dword ptr ds:[0x6FBCBBFC], R. H0 k; }! U, M( x
- //VARPTR(D2CLIENT, SelectedInvItem, UnitAny*, 0x11CB28)//未找到7 C. W2 ^$ L4 H6 s( }
- //VARPTR(D2CLIENT, PlayerUnitList, RosterUnit*, 0x11CB04)//未找到
! c7 J! \& } U% U; `) v - //VARPTR(D2CLIENT, bWeapSwitch, DWORD, 0x11CB84)//未找到
; e* N' S2 P8 q# i - //VARPTR(D2CLIENT, bTradeAccepted, DWORD, 0x11CD54)//未找到
; m% p+ W7 W% E |" K0 i - //VARPTR(D2CLIENT, bTradeBlock, DWORD, 0x11CD64)//未找到
) j: ~; L/ k; [. T1 a- r& N - //VARPTR(D2CLIENT, RecentTradeId, DWORD, 0x11D5AC)//未找到1 S8 E+ c+ U% e% `; s
- //VARPTR(D2CLIENT, ExpCharFlag, DWORD, 0x1087B4)//未找到' q; a2 t3 C! m$ Z( x7 o, m
- //VARPTR(D2CLIENT, MapId, DWORD, 0x11D204)//未找到
/ Z# G8 L* P$ ]1 e' S - //VARPTR(D2CLIENT, AlwaysRun, DWORD, 0x11D234)//未找到0 Z0 d% O, X9 J2 l p- e+ m
- //VARPTR(D2CLIENT, NoPickUp, DWORD, 0x11D574)//未找到5 S& m, I; h" f0 A" B; M
- //VARPTR(D2CLIENT, ChatMsg, wchar_t*, 0x11D650)//未找到
2 I' L0 S4 o0 i# l2 j - //VARPTR(D2CLIENT, OrificeId, DWORD, 0x11C9B8)//未找到) B2 q+ L# H( l2 `
- //VARPTR(D2CLIENT, CursorItemMode, DWORD, 0x11C9B0)//未找到# }+ O" j0 W; o3 a: R& V4 o
- //VARPTR(D2CLIENT, pUnitTable, POINT, 0x1047B8)//未找到- _3 h8 T% @: M$ a# H
- //VARPTR(D2CLIENT, pDescFuncTable, void*, 0x2DAD4)//未找到
复制代码
N' G/ J$ w% }: D( p; U3 v9 r( z( j% O0 B) f2 ~6 l8 w! w
|
|