|
转载' T6 K- [4 v; E! ~
: K) D' T0 C5 G$ Y4 i5 A7 ^+ h& Y
- //////////////////////////////////////////////////////////////////////////////////////////////// g+ n9 P* R5 i- P
- // D2Client Functions //函数表; {; y+ e( T9 \" o' \6 W
- ////////////////////////////////////////////////////////////////////////////////////////////////
+ V5 P& A# a( X; c( B1 k' U' P - : T9 t5 D* e! ~! }- M! w, n) v
- FUNCPTR(D2CLIENT, GetQuestInfo, void*, __stdcall, (void), 0x45A00)//9 E& P; ]) m" @$ a5 G: T+ v+ x
- FUNCPTR(D2CLIENT, SubmitItem, void, __fastcall, (DWORD dwItemId), 0x45FB0)//% [% I) N$ A% G) \2 Q( W( u
- FUNCPTR(D2CLIENT, Transmute, void, __fastcall, (void), 0x8CB90)//3 D: {8 A: d$ F) e3 E
- FUNCPTR(D2CLIENT, FindClientSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B20)//
& f! B5 t! }8 H9 A* f1 H0 `( | - FUNCPTR(D2CLIENT, FindServerSideUnit, UnitAny*, __fastcall, (DWORD dwId, DWORD dwType), 0xA5B40)//; n6 [: F6 g2 i. ?4 t
- FUNCPTR(D2CLIENT, GetCurrentInteractingNPC, UnitAny*, __fastcall, (void), 0x46150)//4 i! h, Z7 V$ ~& S! `6 @
- FUNCPTR(D2CLIENT, GetSelectedUnit, UnitAny *, __stdcall, (void), 0x51A80)//
+ m, m# L0 T6 o* u: X4 @ F: r - FUNCPTR(D2CLIENT, GetCursorItem, UnitAny*, __fastcall, (void), 0x16020)//. ^7 t0 z* U# P( A# x
- FUNCPTR(D2CLIENT, GetMercUnit, UnitAny*, __fastcall, (void), 0x97CD0)//* O W# n0 h! u2 v- |5 y
- FUNCPTR(D2CLIENT, SetSelectedUnit_I, void, __fastcall, (UnitAny *pUnit), 0x51860)//. u, T- B, @7 h8 k, R3 z
- FUNCPTR(D2CLIENT, GetItemName, BOOL, __stdcall, (UnitAny* pItem, wchar_t* wBuffer, DWORD dwSize), 0x914F0)//; {* a. e: ~# d4 e+ a! S1 s
- FUNCPTR(D2CLIENT, LoadItemDesc, BOOL, __stdcall, (UnitAny* pItem, int type), 0x93450)//
4 |/ [ C& n+ a/ h- | - FUNCPTR(D2CLIENT, GetMonsterOwner, DWORD, __fastcall, (DWORD nMonsterId), 0x216A0)//# g. d( U) D+ D1 @0 j% a& x. E8 P
- FUNCPTR(D2CLIENT, GetUnitHPPercent, DWORD, __fastcall, (DWORD dwUnitId), 0x21580)//
+ _1 E) n2 D7 K$ | - FUNCPTR(D2CLIENT, InitInventory, void, __fastcall, (void), 0x908C0)//+ T, T; T0 b$ U3 u0 a% e
- FUNCPTR(D2CLIENT, SetUIVar, DWORD, __fastcall, (DWORD varno, DWORD howset, DWORD unknown1), 0xC2790)//
8 F2 r+ R- i# O9 u' F- s - FUNCPTR(D2CLIENT, GetUnitX, int, __fastcall, (UnitAny* pUnit), 0x1630)//1 z9 q# y. g; m; Y% u4 P& w
- FUNCPTR(D2CLIENT, GetUnitY, int, __fastcall, (UnitAny* pUnit), 0x1660)//
j' K* e9 F7 f0 Q - FUNCPTR(D2CLIENT, ShopAction, void, __fastcall, (UnitAny* pItem, UnitAny* pNpc, UnitAny* pNpc2, DWORD dwSell, DWORD dwItemCost, DWORD dwMODe, DWORD _2, DWORD _3), 0x47D60)//6 [/ s6 J. [2 _6 L6 h
- FUNCPTR(D2CLIENT, CloseNPCInteract, void, __fastcall, (void), 0x492F0)/// J+ v$ T! L4 }; f9 l
- FUNCPTR(D2CLIENT, CloseInteract, void, __fastcall, (void), 0x43870)//4 j( F) S9 ?. U, A5 X
- FUNCPTR(D2CLIENT, GetAutomapSize, DWORD, __stdcall, (void), 0x5F080)//
& y$ h4 `5 n+ u" _" k6 j - FUNCPTR(D2CLIENT, NewAutomapCell, AutomapCell *, __fastcall, (void), 0x5F6B0)//! y: F2 O# q9 n5 P
- FUNCPTR(D2CLIENT, AddAutomapCell, void, __fastcall, (AutomapCell *aCell, AutomapCell **node), 0x61320)//1 i5 v* V1 Z& e* K4 ~
- FUNCPTR(D2CLIENT, RevealAutomapRoom, void, __stdcall, (DRLGRoom *pRoom, DWORD dwClipFlag, AutomapLayer *aLayer), 0x62580)//5 D4 J0 w& P& k- N; s; v
- FUNCPTR(D2CLIENT, InitAutomapLayer_I, AutomapLayer*, __fastcall, (DWORD nLayerNo), 0x62710)//
) t1 I, _% _, O/ |4 P% V* F - FUNCPTR(D2CLIENT, ClickMap, void, __stdcall, (DWORD MouseFlag, DWORD x, DWORD y, DWORD Type), 0x1BF20)//: t! R, m8 q0 H( U. r0 S* i. x3 F
- FUNCPTR(D2CLIENT, LeftClickItem, void, __stdcall, (UnitAny* pPlayer, Inventory* pInventory, int x, int y, DWORD dwClickType, InventoryLayout* pLayout, DWORD Location), 0x96AA0)//
3 g8 G. Q. F. c3 N4 S3 ? - FUNCPTR(D2CLIENT, GetMouseXOffset, DWORD, __fastcall, (void), 0x3F6C0)//
1 v% N/ ?" c j - FUNCPTR(D2CLIENT, GetMouseYOffset, DWORD, __fastcall, (void), 0x3F6D0)// |8 v/ E7 X7 V5 |7 ]7 Q1 c. K
- FUNCPTR(D2CLIENT, PrintPartyString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D610)//
E6 l3 V' l9 V) T5 v r" I6 q - FUNCPTR(D2CLIENT, PrintGameString, void, __stdcall, (wchar_t *wMessage, int nColor), 0x7D850)//
( G1 Z# x3 g; T H" ]- ^ - FUNCPTR(D2CLIENT, LeaveParty, void, __fastcall, (void), 0x9E5D0)//6 w# b+ Q0 y7 [
- FUNCPTR(D2CLIENT, AcceptTrade, void, __fastcall, (void), 0x59600)//1 [; i' Y/ D4 v& O
- FUNCPTR(D2CLIENT, CancelTrade, void, __fastcall, (void), 0x595C0)//; d* g7 a, C+ L) F% K
- FUNCPTR(D2CLIENT, TradeOK, void, __stdcall, (void), 0x59980)//
! i3 ^+ a" }6 N - FUNCPTR(D2CLIENT, GetDifficulty, BYTE, __stdcall, (void), 0x58DA0)// s/ o. v! ^6 [" W
- FUNCPTR(D2CLIENT, ExitGame, void, __fastcall, (void), 0x42850)//( Q" |: u, C/ Q2 |6 @
- FUNCPTR(D2CLIENT, GetUiVar_I, DWORD, __fastcall, (DWORD dwVarNo), 0xBE400)//# w& f4 v' [/ E. p; z: W( k( P, q
- FUNCPTR(D2CLIENT, DrawRectFrame, void, __fastcall, (DWORD Rect), 0xBE4C0)//
* r) @1 L# H6 j9 {6 \, [ - FUNCPTR(D2CLIENT, PerformGoldDialogAction, void, __fastcall, (void), 0xBFDF0)//9 k( `8 {6 N8 _$ {( D
- FUNCPTR(D2CLIENT, GetPlayerUnit, UnitAny*, __stdcall, (void), 0xA4D60)//
' A6 {% p& w W" Z0 p6 o0 a3 O - FUNCPTR(D2CLIENT, GetLevelName_I, wchar_t*, __fastcall, (DWORD levelId), 0xBE240)//
: Z6 G) B. `1 E+ y2 d$ W - FUNCPTR(D2CLIENT, ClearScreen, void, __fastcall, (void), 0x48350)//. G3 g. O6 l# B6 C' K( i
- FUNCPTR(D2CLIENT, CloseNPCTalk, DWORD, __stdcall, (void* unk), 0x7ED30)//
4 F8 I" X2 A' o* | - FUNCPTR(D2CLIENT, ClickOnStashButton, void, __fastcall, (DWORD x, DWORD y), 0x8CD00);//
2 Z+ I# R( n, ^$ i6 X: L+ H/ E6 p - FUNCPTR(D2CLIENT, GetUnit, void*, __fastcall, (DWORD dwId, DWORD dwType), 0x78D30);1 R9 x# ]! m! }" K. N
' j# O z9 e& q& i( @9 M8 i- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; h* J/ D( Y9 t - // D2Client Globals //数据段内容在游戏内易查找,本人无1.13D版本,故以下数据段内容未查找,需要者自行查找* v% [; V9 r8 x( [/ F* {1 ~
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// y- |9 t4 d2 K' q5 V/ e# N
- 0 q. b6 m( A1 ?, V) B" l+ y& H
- VARPTR(D2CLIENT, ScreenSizeX, DWORD, 0xDBC48)//# N1 @( `5 r) G9 f; S- |5 L
- VARPTR(D2CLIENT, ScreenSizeY, DWORD, 0xDBC4C)//- g) S" `( L% g. t0 l
- VARPTR(D2CLIENT, CursorHoverX, DWORD, 0xE0EB8)//' z' q0 h6 P2 x4 @
- VARPTR(D2CLIENT, CursorHoverY, DWORD, 0xE0EBC)//
, ]! w( W5 F: i - //VARPTR(D2CLIENT, MouseX, DWORD, 0x11C950)//未找到
/ c9 j0 O- i- |: P" { - //VARPTR(D2CLIENT, MouseY, DWORD, 0x11C94C)//未找到5 F7 y; F3 x4 e1 ]# ]/ E- ?
- //VARPTR(D2CLIENT, MouseOffsetY, int, 0x106840)//未找到
N$ u- f, I% O9 I( r - //VARPTR(D2CLIENT, MouseOffsetX, int, 0x106844)//未找到
) Z& @. h- a( D9 Z6 b; r. P - //VARPTR(D2CLIENT, AutomapOn, DWORD, 0x11C8B8)//未找到+ u$ L! J+ c3 m& `
- //VARPTR(D2CLIENT, AutomapMode, int, 0xF34F8)//未找到& D/ q+ X3 C/ |6 H
- //VARPTR(D2CLIENT, Offset, POINT, 0x11CF5C)//未找到# z" `. ?, o6 w* h
- //VARPTR(D2CLIENT, AutomapLayer, AutomapLayer*, 0x11CF28)//未找到
1 T j5 Z- V4 |# Q3 f/ @ - //VARPTR(D2CLIENT, MercStrIndex, WORD, 0xF02D8)//未找到
# ~0 {' n" y( Z# P! t0 y+ Z! W - //VARPTR(D2CLIENT, MercReviveCost, DWORD, 0x11CEE8)//未找到
, e" z! Y/ s3 L; B2 R4 c: w - //VARPTR(D2CLIENT, ServerSideUnitHashTables, UnitHashTable, 0x1047B8)//未找到6 I0 N. `/ z* N6 q
- //VARPTR(D2CLIENT, ClientSideUnitHashTables, UnitHashTable, 0x103BB8)//未找到
- S) S% a6 S* U% l9 G7 S - //VARPTR(D2CLIENT, ViewportY, int, 0x106840)//未找到
& `0 `# b& p- s" N2 w! [ D% d - //VARPTR(D2CLIENT, ViewportX, int, 0x106844)//未找到
- |! Q: d4 ?) I6 K3 {6 U* s! S - //VARPTR(D2CLIENT, GoldDialogAction, DWORD, 0x11C86C)//未找到
7 o! p3 H; i6 ]9 z - //VARPTR(D2CLIENT, GoldDialogAmount, DWORD, 0x11D568)//未找到) p4 i, w9 Q- O1 G
- //VARPTR(D2CLIENT, NPCMenu, NPCMenu*, 0xF1A90)//未找到. v2 ?4 o; p Z0 L- t
- //VARPTR(D2CLIENT, NPCMenuAmount, DWORD, 0xF21E0)//未找到
3 b0 _4 f9 m; ]: x4 w4 D) ^ - //VARPTR(D2CLIENT, TradeLayout, InventoryLayout*, 0x101598)//未找到* Y2 C; @4 c: n5 }' E" E; b
- //VARPTR(D2CLIENT, StashLayout, InventoryLayout*, 0x1015E0)//未找到$ G* z0 F6 P2 Q) Y$ }! ~
- //VARPTR(D2CLIENT, StoreLayout, InventoryLayout*, 0x1016C0)//未找到! X9 G" X# K. m. z" Q1 L h) S
- //VARPTR(D2CLIENT, CubeLayout, InventoryLayout*, 0x1016D8)//未找到" p' q/ `" w; _& y# b! W
- //VARPTR(D2CLIENT, InventoryLayout, InventoryLayout*, 0x1016F0)//未找到
N) r/ Q8 G2 r5 E. D - //VARPTR(D2CLIENT, MercLayout, InventoryLayout*, 0x11CC84)//未找到
8 J. m7 q! r# N1 q - //VARPTR(D2CLIENT, RegularCursorType, DWORD, 0x11C98C)//未找到
7 i4 n9 @8 c1 S+ L& t. k7 w+ F$ b - //VARPTR(D2CLIENT, ShopCursorType, DWORD, 0x11CB24)//未找到
! N+ m6 M' n1 G2 `& z! z' g - //VARPTR(D2CLIENT, Ping, DWORD, 0x108764)//未找到
4 E! g, c% P# b6 c - //VARPTR(D2CLIENT, FPS, DWORD, 0x11CE10)//未找到+ x: ~1 o7 E2 C
- //VARPTR(D2CLIENT, Skip, DWORD, 0x108770)//未找到 W& {4 L( _/ ]
- //VARPTR(D2CLIENT, Divisor, int, 0xF34F8)//未找到
( O! e" v/ a6 n) F - //VARPTR(D2CLIENT, OverheadTrigger, DWORD, 0x101ABE)//未找到* I# ~4 q7 e) T
- //VARPTR(D2CLIENT, RecentInteractId, DWORD, 0x101895)//未找到
6 v" R. q8 \+ a, R7 \: p - //VARPTR(D2CLIENT, ItemPriceList, DWORD, 0x1018B3)//未找到# x+ l0 I6 ]6 C! B
- //VARPTR(D2CLIENT, TransactionDialog, void*, 0x1018D3)//未找到
7 H! H$ G* T% R% T7 m" a - //VARPTR(D2CLIENT, TransactionDialogs, DWORD, 0x11D58C)//未找到3 N$ {+ H2 ^7 D0 A3 p2 }6 E
- //VARPTR(D2CLIENT, TransactionDialogs_2, DWORD, 0x11D588)//未找到$ R) P/ k3 u( G3 B4 F1 a: i; U
- //VARPTR(D2CLIENT, pTransactionDialogsInfo, TransactionDialogsInfo_t*, 0x11D584)//未找到
- L; W* W6 k. b2 e+ u2 l/ G1 r - VARPTR(D2CLIENT, GameInfo, Game*, 0x11B980)// 6FB1FCE0 mov eax,dword ptr ds:[0x6FBCB980]
! k" u+ O4 Q9 k7 L5 c% T& K- ~ - //VARPTR(D2CLIENT, WaypointTable, DWORD, 0x1088FD)//未找到
/ x* W% f! I3 B" M" v+ r - VARPTR(D2CLIENT, PlayerUnit, UnitAny*, 0x11BBFC)// 6FAF4B5E mov ebp,dword ptr ds:[0x6FBCBBFC]; ^* R8 T9 n+ M0 H$ |
- //VARPTR(D2CLIENT, SelectedInvItem, UnitAny*, 0x11CB28)//未找到0 }& z: b: \( `# ]
- //VARPTR(D2CLIENT, PlayerUnitList, RosterUnit*, 0x11CB04)//未找到
* f- B' o8 F2 O4 i% [0 y; ~5 q - //VARPTR(D2CLIENT, bWeapSwitch, DWORD, 0x11CB84)//未找到& E- H* z4 b' G
- //VARPTR(D2CLIENT, bTradeAccepted, DWORD, 0x11CD54)//未找到1 I8 X9 \' C! n7 V2 z
- //VARPTR(D2CLIENT, bTradeBlock, DWORD, 0x11CD64)//未找到/ |( O+ h" k0 _2 A
- //VARPTR(D2CLIENT, RecentTradeId, DWORD, 0x11D5AC)//未找到+ P3 R7 m7 q U2 M
- //VARPTR(D2CLIENT, ExpCharFlag, DWORD, 0x1087B4)//未找到
% U: u; K- f( |8 ?2 p2 J - //VARPTR(D2CLIENT, MapId, DWORD, 0x11D204)//未找到6 D, b3 d5 _1 X& R$ [8 b4 T/ v
- //VARPTR(D2CLIENT, AlwaysRun, DWORD, 0x11D234)//未找到
- y$ g8 a" B8 b - //VARPTR(D2CLIENT, NoPickUp, DWORD, 0x11D574)//未找到
7 g8 i7 @9 m& c* \" x: W - //VARPTR(D2CLIENT, ChatMsg, wchar_t*, 0x11D650)//未找到
* k5 M- n' I$ t' Q* U9 g - //VARPTR(D2CLIENT, OrificeId, DWORD, 0x11C9B8)//未找到
/ _4 R5 M S. O* t- P' } - //VARPTR(D2CLIENT, CursorItemMode, DWORD, 0x11C9B0)//未找到
9 q( X# G7 \: ]3 z - //VARPTR(D2CLIENT, pUnitTable, POINT, 0x1047B8)//未找到! i# x) a3 |6 C7 L6 Z+ Y, ~
- //VARPTR(D2CLIENT, pDescFuncTable, void*, 0x2DAD4)//未找到
复制代码
: p( [* q4 c. {, b
. K+ s. U% l1 }" m; h6 } |
|