cdfteller

class.h

Aug 19th, 2018
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.59 KB | None | 0 0
  1. //Generated using ReClass 2011 by DrUnKeN ChEeTaH
  2. #ifndef _CLASS_h
  3. #define _CLASS_h
  4. #include <Windows.h>
  5. #include "CMemory.h"
  6. #include "Offset.h"
  7. #include "XorStr.h"
  8.  
  9. //===================================================================//
  10.  
  11. template<typename T>void EncryptValue(void* pPointer, T ulValue, int CustomKey = 0);
  12. void DecryptValue(void* pPointer, int CustomKey = 0);
  13. DWORD ReadPointer(DWORD dwPtrBase, int level, ...);
  14. class CGamePlayerManager;
  15. bool IsInBattle();
  16.  
  17. // ================================================================================== //
  18.  
  19.  
  20. class CPlayer;
  21. class CNick;
  22. class CGear;
  23. class CSkill;
  24. class CGearData;
  25. class CMap;
  26. class CPos;
  27. class CMyInfo;
  28. class CID;
  29. class CGearInven;
  30. class CGearName;
  31. class CSpecialInven;
  32. class CHeroData;
  33. class CPet;
  34. class CCostumeInven;
  35. class CHeroInfo;
  36. class CKey;
  37. class CIP;
  38. class CFaction;
  39. class CInventory;
  40. class CReward;
  41. class CSender;
  42. class CBattleRoomMgr;
  43. class CTitle;
  44. class CHost;
  45. class CPassword;
  46. class CBattle;
  47. class CPlayerContext;
  48. class CInputBox;
  49. class CChatBox;
  50. class CExcavationManager;
  51. class CRecharge;
  52. class CHero;
  53. class CQuest;
  54. class N01BB3190;
  55. class N01BBBAA0;
  56. class CCostumeName;
  57. class CCostumePack;
  58.  
  59. class CPlayer
  60. {
  61. public:
  62. char _0x0000[8];
  63. __int32 m_pMaxTransparacy; //0x0008
  64. __int32 m_pCurTransparacy; //0x000C
  65. char _0x0010[168];
  66. __int32 m_pTeam; //0x00B8
  67. char _0x00BC[32];
  68. __int32 m_pHP; //0x00DC
  69. char _0x00E0[8];
  70. float m_pHPReal; //0x00E8
  71. char _0x00EC[32];
  72. __int32 m_pMaxHP; //0x010C
  73. char _0x0110[192];
  74. CMap* m_pMap; //0x01D0
  75. char _0x01D4[252];
  76. __int32 m_pLevel; //0x02D0
  77. CNick* m_pNick; //0x02D4
  78. char _0x02D8[72];
  79. BYTE m_pAction; //0x0320
  80. char _0x0324[52];
  81. CGear* m_pGear; //0x0358
  82. char _0x035C[24];
  83. __int32 m_pHeroCode; //0x0374
  84. char _0x0378[92];
  85. __int32 m_pFemale; //0x03D4
  86. char _0x03D8[2156];
  87. __int32 m_pSpeed; //0x0C44
  88. char _0x0C48[632];
  89. __int32 JumpHigh; //0x0EC0
  90. char _0x0EC4[80];
  91. __int32 m_pStayAttack; //0x0F04
  92. __int32 m_pStayAttackSize; //0x0F08
  93. char _0x0EFC[412];
  94. __int32 m_pTimerHitEnd; //0x1098
  95. char _0x109C[88];
  96. __int32 m_pHitAction; //0x1120
  97. char _0x1124[84];
  98. __int32 m_pIsJump; //0x114C
  99. char _0x1140[244];
  100. __int32 m_pMSToWakeUP; //0x1234
  101. char _0x1238[328];
  102. __int32 m_pMaxBuff; //0x1380
  103. char _0x1384[744];
  104. BYTE m_pControl; //0x166C
  105. char _0x1670[1208];
  106. __int32 m_pDashCount; //0x1B28
  107. char _0x1B2C[32];
  108. __int32 m_pAirDash; //0x1B4C
  109. char _0x1B50[2896];
  110. __int32 m_pBoss; //0x2760
  111. char _0x2764[136];
  112. __int32 m_pCombo; //0x272C
  113. char _0x2730[3004];
  114. __int32 m_pGhost; //0x32EC
  115.  
  116. bool IsMe();
  117. bool IsBot();
  118. bool IsEnemy();
  119. bool IsTeam();
  120. bool IsDied();
  121. bool IsAlive();
  122. template<typename T>void SetWeaponValue(int Offset, DWORD Hero, T tValue, bool IsEncrypted = true);
  123. };//Size=0x32F0
  124.  
  125. class CNick
  126. {
  127. public:
  128. char m_pNick[32]; //0x0000
  129.  
  130. };//Size=0x0020
  131.  
  132. class CGear
  133. {
  134. public:
  135. CSkill* m_pWeapon; //0x0000
  136. CSkill* m_pArmor; //0x0004
  137. CSkill* m_pHelmet; //0x0008
  138. CSkill* m_pCloak; //0x000C
  139. char _0x0010[20];
  140. CGearData* m_pWeaponData; //0x0024
  141. CGearData* m_pArmorData; //0x0028
  142. CGearData* m_pHelmetData; //0x002C
  143. CGearData* m_pCloakData; //0x0030
  144. char _0x0034[296];
  145. __int32 m_pWeaponCode; //0x015C
  146. char _0x0160[24];
  147. __int32 m_pArmorCode; //0x0178
  148. char _0x017C[24];
  149. __int32 m_pHelmetCode; //0x0194
  150. char _0x0198[24];
  151. __int32 m_pCloakCode; //0x01B0
  152.  
  153. };//Size=0x01B4
  154.  
  155. class CSkill
  156. {
  157. public:
  158. char _0x0000[1040];
  159. __int32 m_pDelay; //0x0410
  160. char _0x0414[8];
  161. float m_fDelay; //0x041C
  162.  
  163. };//Size=0x0420
  164.  
  165. class CGearData
  166. {
  167. public:
  168. char _0x0000[4136];
  169. __int32 PassiveDelayMax; //0x1028
  170. char _0x102C[8];
  171. float PassiveDelayNumberMax; //0x1034
  172. char _0x1038[80];
  173. __int32 PassiveDelay; //0x1088
  174. char _0x108C[8];
  175. float PassiveDelayNumber; //0x1094
  176. char _0x1098[112];
  177. __int32 PassiveCountMax; //0x1108
  178. char _0x110C[8];
  179. __int32 PassiveCountNumberMax; //0x1114
  180. char _0x1118[32];
  181. __int32 PassiveCount; //0x1138
  182. char _0x113C[8];
  183. __int32 PassiveCountNumber; //0x1144
  184.  
  185. };//Size=0x1148
  186.  
  187. class CMap
  188. {
  189. public:
  190. char _0x0000[8];
  191. CPos* m_pPos; //0x0008
  192.  
  193. };//Size=0x000C
  194.  
  195. class CPos
  196. {
  197. public:
  198. char _0x0000[60];
  199. D3DXVECTOR3 vPos; //0x003C
  200.  
  201. };//Size=0x0048
  202.  
  203. class CMyInfo
  204. {
  205. public:
  206. char _0x0000[12];
  207. CID* m_pID; //0x000C
  208. char _0x0010[12];
  209. CNick* m_pNick; //0x001C
  210. char _0x0020[16];
  211. __int32 m_pPeso; //0x0030
  212. char _0x0034[16];
  213. __int32 m_pGrade; //0x0044
  214. __int32 m_pExp; //0x0048
  215. char _0x004C[68];
  216. __int32 m_pCash; //0x0090
  217. char _0x0094[56];
  218. CHero* m_pHero; //0x00CC
  219. char _0x00D0[52];
  220. CHeroData* m_pHeroData; //0x0104
  221. char _0x0108[64];
  222. CSpecialInven* m_pSpecialInven; //0x0148
  223. char _0x014C[100];
  224. CGearInven* m_pGearInven; //0x01B0
  225. char _0x01B4[252];
  226. CPet* m_pPet; //0x02B0
  227. char _0x02B4[16];
  228. CCostumeInven* m_pCostumeInven; //0x02C4
  229. char _0x02C8[380];
  230. DWORD m_pUpgradeHack; //0x0444
  231. char _0x0448[1604];
  232. __int32 m_pXorKey; //0x0A8C
  233. char _0x0A90[8];
  234. DWORD m_pPenalty; //0x0A98
  235. char _0x0A9C[136];
  236. __int32 m_pMaxGearSlot; //0x0B24
  237. __int32 m_pSlotHero1; //0x0B28
  238. __int32 m_pSlotHero2; //0x0B2C
  239.  
  240. static CMyInfo* GetMyInfo()
  241. {
  242. return (CMyInfo*)(*(DWORD*)(ResultBasePeso));
  243. }
  244. };//Size=0x0B30
  245.  
  246. class CID
  247. {
  248. public:
  249. char m_pID[12]; //0x0000
  250.  
  251. };//Size=0x000C
  252.  
  253. class CGearInven
  254. {
  255. public:
  256. __int32 m_pID; //0x0000
  257. __int32 m_pUp; //0x0004
  258. char _0x0008[4];
  259. __int32 m_pStatus; //0x000C 0 = Not Perm, 1 = Perm
  260. char _0x0010[8];
  261. __int32 m_pSealStatus; //0x0018
  262. char _0x001C[12];
  263. CGearName* m_pGearName; //0x0028
  264. char _0x002C[28];
  265.  
  266. };//Size=0x0048
  267.  
  268. class CGearName
  269. {
  270. public:
  271. char m_pGearName[64]; //0x0000
  272.  
  273. };//Size=0x0040
  274.  
  275. class CSpecialInven
  276. {
  277. public:
  278. __int32 m_pID; //0x0000
  279. __int32 m_pAmount; //0x0004
  280. char _0x0008[4];
  281.  
  282. };//Size=0x000C
  283.  
  284. class CHeroData
  285. {
  286. public:
  287. __int32 m_pID; //0x0000
  288. __int32 m_pLevel; //0x0004
  289. __int32 m_pExp; //0x0008
  290. __int32 m_pHeroSize; //0x000C
  291.  
  292. };//Size=0x0010
  293.  
  294. class CPet
  295. {
  296. public:
  297. __int32 m_pID; //0x0000
  298. __int32 Rank; //0x0004
  299. char _0x0008[4];
  300. __int32 m_pLevel; //0x000C
  301. __int32 m_pExp; //0x0010
  302. char _0x0014[36];
  303.  
  304. };//Size=0x0038
  305.  
  306. class CCostumeInven
  307. {
  308. public:
  309. __int32 m_pID; //0x0000
  310. char _0x0004[4];
  311. __int32 m_pStatus; //0x0008
  312. char _0x000C[20];
  313. CCostumeName* m_pCostumeName; //0x0020
  314. char _0x0024[12];
  315. CCostumePack* m_pCostumePack; //0x0030
  316. char _0x0034[12];
  317.  
  318. };//Size=0x0040
  319.  
  320. class CHeroInfo
  321. {
  322. public:
  323. char _0x0000[152];
  324. D3DXVECTOR2 vMouse; //0x0098
  325. char _0x00A0[12];
  326. __int32 m_pClick; //0x00AC
  327. char _0x00B0[124];
  328. CBattle* m_pBattle; //0x012C
  329. char _0x0130[4];
  330. __int32 m_pLoading; //0x0134
  331. char _0x0138[356];
  332. CKey* m_pKey; //0x029C
  333. char _0x02A0[72];
  334. CMyInfo* m_pMyInfo; //0x02E8
  335. char _0x02EC[40];
  336. CFaction* m_pFaction; //0x0314
  337. char _0x0318[460];
  338. CIP* m_pIP; //0x04E4
  339. char _0x04E8[19];
  340. BYTE m_pIsDeveloper; //0x04FB
  341.  
  342. static CHeroInfo* GetHeroInfo()
  343. {
  344. return (CHeroInfo*)(*(DWORD*)(ResultBaseMenu));
  345. }
  346.  
  347. };//Size=0x04FC
  348.  
  349. class CKey
  350. {
  351. public:
  352. char _0x0000[4];
  353. BYTE N01ABE4E6; //0x0004
  354. BYTE N01AD02BF; //0x0005
  355. BYTE N01AD20F3; //0x0006
  356. BYTE N01AD02C0; //0x0007
  357. BYTE N01ABE4E7; //0x0008
  358. BYTE N01AD02C2; //0x0009
  359. BYTE N01AD20F7; //0x000A
  360. BYTE N01AD02C3; //0x000B
  361. BYTE N01ABE4E8; //0x000C
  362. BYTE N01AD02C5; //0x000D
  363. BYTE N01AD210B; //0x000E
  364. BYTE N01AD02C6; //0x000F
  365. BYTE N01ABE4E9; //0x0010
  366. BYTE N01AD02C8; //0x0011
  367. BYTE N01AD210F; //0x0012
  368. BYTE N01AD02C9; //0x0013
  369. BYTE N01ABE4EA; //0x0014
  370. BYTE N01AD02CB; //0x0015
  371. BYTE N01AD2113; //0x0016
  372. BYTE N01AD02CC; //0x0017
  373. BYTE N01ABE4EB; //0x0018
  374. BYTE N01AD02CE; //0x0019
  375. BYTE N01AD2117; //0x001A
  376. BYTE N01AD02CF; //0x001B
  377. BYTE N01ABE4EC; //0x001C
  378. BYTE N01AD02D1; //0x001D
  379. BYTE N01AD211B; //0x001E
  380. BYTE ESCAPE; //0x001F
  381. BYTE N01ABE4ED; //0x0020
  382. BYTE N01AD02D4; //0x0021
  383. BYTE N01AD211F; //0x0022
  384. BYTE N01AD02D5; //0x0023
  385. BYTE Space; //0x0024
  386. BYTE N01AD02D7; //0x0025
  387. BYTE N01AD2123; //0x0026
  388. BYTE N01AD02D8; //0x0027
  389. BYTE N01ABE4EF; //0x0028
  390. BYTE N01AD02DA; //0x0029
  391. BYTE N01AD2127; //0x002A
  392. BYTE N01AD02DB; //0x002B
  393. BYTE N01ABE4F0; //0x002C
  394. BYTE N01AD02DD; //0x002D
  395. BYTE N01AD212B; //0x002E
  396. BYTE N01AD02DE; //0x002F
  397. BYTE N01ABE4F1; //0x0030
  398. BYTE N01AD02E0; //0x0031
  399. BYTE N01AD212F; //0x0032
  400. BYTE N01AD02E1; //0x0033
  401. BYTE N01ABE4F2; //0x0034
  402. BYTE Key1; //0x0035
  403. BYTE Key2; //0x0036
  404. BYTE Key3; //0x0037
  405. BYTE Key4; //0x0038
  406. BYTE Key5; //0x0039
  407. BYTE Key6; //0x003A
  408. BYTE Key7; //0x003B
  409. BYTE Key8; //0x003C
  410. BYTE Key9; //0x003D
  411. BYTE Key0; //0x003E
  412. BYTE N01AD02EA; //0x003F
  413. BYTE N01AC1DFF; //0x0040
  414. BYTE N01AD02EC; //0x0041
  415. BYTE N01AD213F; //0x0042
  416. BYTE N01AD02ED; //0x0043
  417. BYTE N01AC1E00; //0x0044
  418. BYTE N01AD02EF; //0x0045
  419. BYTE N01AD2143; //0x0046
  420. BYTE N01AD02F0; //0x0047
  421. BYTE N01AC1E01; //0x0048
  422. BYTE N01AD02F2; //0x0049
  423. BYTE N01AD2147; //0x004A
  424. BYTE N01AD02F3; //0x004B
  425. BYTE N01AC1E02; //0x004C
  426. BYTE N01AD02F5; //0x004D
  427. BYTE N01AD214B; //0x004E
  428. BYTE N01AD02F6; //0x004F
  429. BYTE N01AC1E03; //0x0050
  430. BYTE N01AD02F8; //0x0051
  431. BYTE N01AD214F; //0x0052
  432. BYTE N01AD02F9; //0x0053
  433. BYTE N01AC1E04; //0x0054
  434. BYTE N01AD02FB; //0x0055
  435. BYTE N01AD2153; //0x0056
  436. BYTE N01AD02FC; //0x0057
  437. BYTE N01AC1E05; //0x0058
  438. BYTE N01AD02FE; //0x0059
  439. BYTE N01AD2157; //0x005A
  440. BYTE N01AD02FF; //0x005B
  441. BYTE N01AC1E06; //0x005C
  442. BYTE N01AD0301; //0x005D
  443. BYTE N01AD215B; //0x005E
  444. BYTE N01AD0302; //0x005F
  445. BYTE N01AC1E07; //0x0060
  446. BYTE N01AD0304; //0x0061
  447. BYTE N01AD215F; //0x0062
  448. BYTE N01AD0305; //0x0063
  449. BYTE N01AC1E08; //0x0064
  450. BYTE A; //0x0065
  451. BYTE B; //0x0066
  452. BYTE C; //0x0067
  453. BYTE D; //0x0068
  454. BYTE E; //0x0069
  455. BYTE F; //0x006A
  456. BYTE G; //0x006B
  457. BYTE H; //0x006C
  458. BYTE I; //0x006D
  459. BYTE J; //0x006E
  460. BYTE K; //0x006F
  461. BYTE L; //0x0070
  462. BYTE M; //0x0071
  463. BYTE N; //0x0072
  464. BYTE O; //0x0073
  465. BYTE P; //0x0074
  466. BYTE Q; //0x0075
  467. BYTE R; //0x0076
  468. BYTE S; //0x0077
  469. BYTE T; //0x0078
  470. BYTE U; //0x0079
  471. BYTE V; //0x007A
  472. BYTE W; //0x007B
  473. BYTE X; //0x007C
  474. BYTE Y; //0x007D
  475. BYTE Z; //0x007E
  476. BYTE N01AD031B; //0x007F
  477. BYTE N01AC1E0F; //0x0080
  478. BYTE N01AD031D; //0x0081
  479. BYTE N01AD217F; //0x0082
  480. BYTE N01AD031E; //0x0083
  481. BYTE N01AC1E10; //0x0084
  482. BYTE N01AD0320; //0x0085
  483. BYTE N01AD2183; //0x0086
  484. BYTE N01AD0321; //0x0087
  485. BYTE N01AC1E11; //0x0088
  486. BYTE N01AD0323; //0x0089
  487. BYTE Left; //0x008A
  488. BYTE Right; //0x008B
  489. BYTE Up; //0x008C
  490. BYTE Down; //0x008D
  491. BYTE N01AD218B; //0x008E
  492. BYTE N01AD0327; //0x008F
  493. BYTE N01AC1E13; //0x0090
  494. BYTE F1; //0x0091
  495. BYTE F2; //0x0092
  496. BYTE F3; //0x0093
  497. BYTE F4; //0x0094
  498. BYTE F5; //0x0095
  499. BYTE F6; //0x0096
  500. BYTE F7; //0x0097
  501. BYTE F8; //0x0098
  502. BYTE F9; //0x0099
  503. BYTE F10; //0x009A
  504. BYTE F11; //0x009B
  505. BYTE F12; //0x009C
  506. BYTE N01AD0332; //0x009D
  507. BYTE N01AD219B; //0x009E
  508. BYTE N01AD0333; //0x009F
  509. BYTE N01AC1E17; //0x00A0
  510. BYTE N01AD0335; //0x00A1
  511. BYTE N01AD219F; //0x00A2
  512. BYTE N01AD0336; //0x00A3
  513. BYTE N01AC1E18; //0x00A4
  514. BYTE N01AD0338; //0x00A5
  515. BYTE N01AD21A3; //0x00A6
  516. BYTE N01AD0339; //0x00A7
  517. BYTE N01AC1E19; //0x00A8
  518. BYTE N01AD033B; //0x00A9
  519. BYTE N01AD21A7; //0x00AA
  520. BYTE N01AD033C; //0x00AB
  521. BYTE N01AC1E1A; //0x00AC
  522. BYTE N01AD033E; //0x00AD
  523. BYTE N01AD21AB; //0x00AE
  524. BYTE N01AD033F; //0x00AF
  525. BYTE N01AC1E1B; //0x00B0
  526. BYTE N01AD0341; //0x00B1
  527. BYTE N01AD21AF; //0x00B2
  528. BYTE N01AD0342; //0x00B3
  529. BYTE N01AC1E1C; //0x00B4
  530. BYTE N01AD0344; //0x00B5
  531. BYTE N01AD21B3; //0x00B6
  532. BYTE N01AD0345; //0x00B7
  533. BYTE N01AC1E1D; //0x00B8
  534. BYTE N01AD0347; //0x00B9
  535. BYTE N01AD21B7; //0x00BA
  536. BYTE N01AD0348; //0x00BB
  537. BYTE N01AC1E1E; //0x00BC
  538. BYTE N01AD034A; //0x00BD
  539. BYTE N01AD21BB; //0x00BE
  540. BYTE N01AD034B; //0x00BF
  541. BYTE N01AC1E1F; //0x00C0
  542. BYTE N01AD034D; //0x00C1
  543. BYTE N01AD21BF; //0x00C2
  544. BYTE N01AD034E; //0x00C3
  545. BYTE N01AC1E20; //0x00C4
  546. BYTE N01AD0350; //0x00C5
  547. BYTE N01AD21C3; //0x00C6
  548. BYTE N01AD0351; //0x00C7
  549. BYTE N01AC1E21; //0x00C8
  550. BYTE N01AD0353; //0x00C9
  551. BYTE N01AD21C7; //0x00CA
  552. BYTE N01AD0354; //0x00CB
  553. BYTE N01AC1E22; //0x00CC
  554. BYTE N01AD0356; //0x00CD
  555. BYTE N01AD21CB; //0x00CE
  556. BYTE N01AD0357; //0x00CF
  557. BYTE N01AC1E23; //0x00D0
  558. BYTE N01AD0359; //0x00D1
  559. BYTE N01AD21CF; //0x00D2
  560. BYTE N01AD035A; //0x00D3
  561. BYTE N01AC1E24; //0x00D4
  562. BYTE N01AD035C; //0x00D5
  563. BYTE N01AD21D3; //0x00D6
  564. BYTE N01AD035D; //0x00D7
  565. BYTE N01AC1E25; //0x00D8
  566. BYTE N01AD035F; //0x00D9
  567. BYTE N01AD21D7; //0x00DA
  568. BYTE N01AD0360; //0x00DB
  569. BYTE N01AC1E26; //0x00DC
  570. BYTE N01AD0362; //0x00DD
  571. BYTE N01AD21DB; //0x00DE
  572. BYTE N01AD0363; //0x00DF
  573. BYTE N01AC1E27; //0x00E0
  574. BYTE N01AD0365; //0x00E1
  575. BYTE N01AD21DF; //0x00E2
  576. BYTE N01AD0366; //0x00E3
  577. BYTE N01AC1E28; //0x00E4
  578. BYTE N01AD0368; //0x00E5
  579. BYTE N01AD21F2; //0x00E6
  580. BYTE N01AD0369; //0x00E7
  581. BYTE N01AC1E29; //0x00E8
  582. BYTE N01AD036B; //0x00E9
  583. BYTE N01AD21F6; //0x00EA
  584. BYTE N01AD036C; //0x00EB
  585. BYTE N01AC1E2A; //0x00EC
  586. BYTE N01AD036E; //0x00ED
  587. BYTE N01AD21FA; //0x00EE
  588. BYTE N01AD036F; //0x00EF
  589. BYTE N01AC1E2B; //0x00F0
  590. BYTE N01AD0371; //0x00F1
  591. BYTE N01AD21FE; //0x00F2
  592. BYTE N01AD0372; //0x00F3
  593. BYTE N01AC1E2C; //0x00F4
  594. BYTE N01AD0374; //0x00F5
  595. BYTE N01AD2202; //0x00F6
  596. BYTE N01AD0375; //0x00F7
  597. BYTE N01AC1E2D; //0x00F8
  598. BYTE N01AD0377; //0x00F9
  599. BYTE N01AD2206; //0x00FA
  600. BYTE N01AD0378; //0x00FB
  601. BYTE N01AC1E2E; //0x00FC
  602. BYTE N01AD037A; //0x00FD
  603. BYTE N01AD220A; //0x00FE
  604. BYTE N01AD037B; //0x00FF
  605. BYTE N01AC1E2F; //0x0100
  606. BYTE N01AD037D; //0x0101
  607. BYTE N01AD220E; //0x0102
  608. BYTE N01AD037E; //0x0103
  609. BYTE N01AC1E30; //0x0104
  610. BYTE N01AD0380; //0x0105
  611. BYTE N01AD2212; //0x0106
  612. BYTE N01AD0381; //0x0107
  613. BYTE N01AC1E31; //0x0108
  614. BYTE N01AD0383; //0x0109
  615. BYTE N01AD2216; //0x010A
  616. BYTE N01AD0384; //0x010B
  617. BYTE N01AC1E32; //0x010C
  618. BYTE N01AD0386; //0x010D
  619. BYTE N01AD221A; //0x010E
  620. BYTE N01AD0387; //0x010F
  621. BYTE N01AC1E33; //0x0110
  622. BYTE N01AD0389; //0x0111
  623. BYTE N01AD221E; //0x0112
  624. BYTE N01AD038A; //0x0113
  625. BYTE N01AC1E34; //0x0114
  626. BYTE N01AD038C; //0x0115
  627. BYTE N01AD2222; //0x0116
  628. BYTE N01AD038D; //0x0117
  629. BYTE N01AC1E35; //0x0118
  630. BYTE N01AD038F; //0x0119
  631. BYTE N01AD2226; //0x011A
  632. BYTE N01AD0390; //0x011B
  633. BYTE N01AC1E36; //0x011C
  634. BYTE N01AD0392; //0x011D
  635. BYTE N01AD222A; //0x011E
  636. BYTE N01AD0393; //0x011F
  637. BYTE N01AC1E37; //0x0120
  638.  
  639. };//Size=0x0121
  640.  
  641. class CIP
  642. {
  643. public:
  644. char szIP[64]; //0x0000
  645.  
  646. };//Size=0x0040
  647.  
  648. class CFaction
  649. {
  650. public:
  651. char _0x0000[64];
  652. __int32 m_pSize; //0x0040
  653. __int32 m_pSlot; //0x0044
  654. char _0x0048[2128];
  655. __int32 m_pMap; //0x0898
  656. char _0x089C[32];
  657. __int32 m_pStartState; //0x08BC
  658. char _0x08C0[8];
  659. __int32 m_pRoomType; //0x08C8
  660. BYTE m_pKickPing; //0x08CC
  661. char _0x08CD[3];
  662.  
  663. };//Size=0x08D0
  664.  
  665. class CInventory
  666. {
  667. public:
  668. char _0x0000[4];
  669. CReward* m_pReward; //0x0004
  670. char _0x0008[36];
  671. __int32 m_pMaxItem; //0x002C
  672.  
  673. static CInventory* GetInventory()
  674. {
  675. return (CInventory*)(*(DWORD*)(ResultBaseInventory));
  676. }
  677. };//Size=0x0030
  678.  
  679. class CReward
  680. {
  681. public:
  682. char _0x0000[8];
  683. CSender* m_pSender; //0x0008
  684. char _0x000C[20];
  685. __int32 m_pID; //0x0020
  686. __int32 m_pAmount; //0x0024
  687. char _0x0028[12];
  688.  
  689. };//Size=0x0034
  690.  
  691. class CSender
  692. {
  693. public:
  694. char m_pSender[64]; //0x0000
  695.  
  696. };//Size=0x0040
  697.  
  698. class CBattleRoomMgr
  699. {
  700. public:
  701. char _0x0000[8];
  702. CTitle* m_pTitle; //0x0008
  703. char _0x000C[12];
  704. CHost* m_pHost; //0x0018
  705. char _0x001C[12];
  706. CPassword* m_pPassword; //0x0028
  707. char _0x002C[12];
  708. __int32 m_pSizeBlue; //0x0038
  709. __int32 m_pSizeRed; //0x003C
  710. __int32 m_pSlotBlue; //0x0040
  711. __int32 m_pSlotRed; //0x0044
  712. char _0x0048[32];
  713. __int8 m_pMixTeam; //0x0068
  714. __int8 m_pLockOut; //0x0069
  715. __int8 m_pAutoStart; //0x006A
  716. __int8 m_pKickPing; //0x006B
  717. char _0x006C[32];
  718. __int32 m_pCustomMode; //0x008C
  719. char _0x0090[316];
  720. __int32 m_pMode; //0x01CC
  721. __int32 m_pMap; //0x01D0
  722. char _0x01D4[40];
  723.  
  724. static CBattleRoomMgr* GetBattleRoomMgr()
  725. {
  726. return (CBattleRoomMgr*)(*(DWORD*)(ResultBaseRoom));
  727. }
  728. };//Size=0x01FC
  729.  
  730. class CTitle
  731. {
  732. public:
  733. char m_pTitle[64]; //0x0000
  734.  
  735. };//Size=0x0040
  736.  
  737. class CHost
  738. {
  739. public:
  740. char m_pHost[64]; //0x0000
  741.  
  742. };//Size=0x0040
  743.  
  744. class CPassword
  745. {
  746. public:
  747. char m_pPassword[4]; //0x0000
  748.  
  749. };//Size=0x0004
  750.  
  751. class CBattle
  752. {
  753. public:
  754. char _0x0000[12];
  755. __int32 m_pTotalSizePlayer; //0x000C
  756. char _0x0010[256];
  757. CPlayerContext* m_pPlayerContext; //0x0110
  758.  
  759. static CBattle* GetBattle()
  760. {
  761. DWORD pPointer = ReadPointer(ResultBaseMenu, 2, 0x12C, 0x0);
  762. if(IsBadReadPtr((void*)pPointer, 4) == 0)
  763. {
  764. return (CBattle*)(pPointer);
  765. }
  766. return 0;
  767. }
  768. };//Size=0x0114
  769.  
  770. class CPlayerContext
  771. {
  772. public:
  773. char _0x0000[6624];
  774. __int32 m_pFloorState1; //0x19E0
  775. char _0x19E4[4];
  776. __int32 m_pFloorActive; //0x19E8
  777. __int32 m_pFloorState2; //0x19EC
  778.  
  779. };//Size=0x19F0
  780.  
  781. class CInputBox
  782. {
  783. public:
  784. char _0x0000[4];
  785. CChatBox* m_pChatBox; //0x0004
  786.  
  787. };//Size=0x0008
  788.  
  789. class CChatBox
  790. {
  791. public:
  792. char _0x0000[20];
  793. __int32 m_pCursor; //0x0014
  794. char m_pText[50]; //0x0018
  795.  
  796. };//Size=0x004A
  797.  
  798. class CExcavationManager
  799. {
  800. public:
  801. char _0x0000[2692];
  802. __int32 m_pLastSpot1; //0x0A84
  803. char _0x0A88[2504];
  804. __int32 m_pLastSpot2; //0x1450
  805. char _0x1454[24];
  806. __int32 m_pRate; //0x146C
  807. __int32 m_pMaxRate; //0x1470
  808. __int32 m_pResetSpot; //0x1474
  809.  
  810. static CExcavationManager* GetExcavationManager()
  811. {
  812. return (CExcavationManager*)(*(DWORD*)(ResultBaseExcavation));
  813. }
  814. };//Size=0x1478
  815.  
  816. class CRecharge
  817. {
  818. public:
  819. char _0x0000[40];
  820. __int32 m_pMaxUpToUpgrade; //0x0028
  821. __int32 m_pDecreaseUp; //0x002C
  822.  
  823. static CRecharge* GetRecharge()
  824. {
  825. return (CRecharge*)(*(DWORD*)(ResultBaseEnhance1));
  826. }
  827. };//Size=0x0030
  828.  
  829. class CHero
  830. {
  831. public:
  832. char _0x0000[32];
  833. __int32 m_pHeroCode; //0x0020
  834. char _0x0024[92];
  835. __int32 m_pFemale; //0x0080
  836. char _0x0084[140];
  837. __int32 m_pHair; //0x0110 Max 64
  838. char _0x0114[416];
  839. __int32 m_pStatus; //0x02B4
  840. __int32 m_pBeyond; //0x02B8
  841. __int32 m_pBeyondTime; //0x02BC
  842. char _0x02C0[816];
  843. __int32 m_pWeapon; //0x05F0
  844. char _0x05F4[104];
  845. __int32 m_pArmor; //0x065C
  846. char _0x0660[104];
  847. __int32 m_pHelmet; //0x06C8
  848. char _0x06CC[104];
  849. __int32 m_pCloak; //0x0734
  850.  
  851. static CHero* GetHeroBySlotIdx(int iSlot)
  852. {
  853. DWORD pPointer = ReadPointer(ResultBasePeso, 2, 0xCC, 0x784* iSlot);
  854. if(!IsBadReadPtr((void*)pPointer, 4)) {
  855. return (CHero*)(pPointer);
  856. }
  857. return 0;
  858. }
  859.  
  860. void SetGender(int A) /* 1 = Male, 2 = Female*/
  861. {
  862. EncryptValue(&this->m_pFemale, A);
  863. }
  864.  
  865. void SetWeapon(int Code)
  866. {
  867. EncryptValue(&this->m_pWeapon, Code);
  868. }
  869.  
  870. void SetArmor(int Code)
  871. {
  872. EncryptValue(&this->m_pArmor, Code);
  873. }
  874.  
  875. void SetHelmet(int Code)
  876. {
  877. EncryptValue(&this->m_pHelmet, Code);
  878. }
  879.  
  880. void SetCloak(int Code)
  881. {
  882. EncryptValue(&this->m_pCloak, Code);
  883. }
  884. void SetHeroStatus(int Code)
  885. {
  886. EncryptValue(&this->m_pStatus, Code);
  887. }
  888. };//Size=0x0738
  889.  
  890. class CQuest
  891. {
  892. public:
  893. char _0x0000[12];
  894. DWORD m_pID; //0x000C
  895. DWORD m_pLevel; //0x0010
  896. DWORD m_pUnknown1; //0x0014
  897. DWORD m_pUnknown2; //0x0018
  898. DWORD m_pUnknown3; //0x001C
  899. DWORD m_pUnknown4; //0x0020
  900. char _0x0024[4];
  901. DWORD m_pUnknown5; //0x0028
  902. char _0x002C[28];
  903. DWORD m_pDone1; //0x0048
  904. DWORD m_pDone2; //0x004C
  905. char _0x0050[56];
  906. DWORD m_pProgress; //0x0088
  907. char _0x008C[164];
  908. DWORD m_pProgress1; //0x0130
  909. DWORD m_pProgress2; //0x0134
  910. DWORD m_pProgress3; //0x0138
  911. DWORD m_pProgress4; //0x013C
  912. DWORD m_pProgress5; //0x0140
  913. DWORD m_pProgress6; //0x0144
  914. DWORD m_pProgress7; //0x0148
  915.  
  916. static CQuest* GetQuest(int Idx)
  917. {
  918. DWORD pPointer = ReadPointer(ResultBaseHackQuest, 2, 0x4, 0x4* Idx);
  919. if(!IsBadReadPtr((void*)pPointer, 4)) {
  920. return (CQuest*)(*(DWORD*)(pPointer));
  921. }
  922. return 0;
  923. }
  924.  
  925. void Complete()
  926. {
  927. this->m_pUnknown1 = 0;
  928. this->m_pUnknown2 = 100;
  929. this->m_pUnknown3 = 0;
  930. this->m_pUnknown4 = 0;
  931. this->m_pDone1 = -1;
  932. this->m_pDone2 = -1;
  933. this->m_pProgress = 100;
  934. this->m_pProgress1 = -1;
  935. this->m_pProgress2 = -1;
  936. this->m_pProgress3 = -1;
  937. this->m_pProgress4 = -1;
  938. this->m_pProgress5 = -1;
  939. this->m_pProgress6 = -1;
  940. this->m_pProgress7 = -1;
  941. }
  942.  
  943. void Show()
  944. {
  945. this->m_pUnknown1 = 0;
  946. this->m_pUnknown2 = 0;
  947. this->m_pUnknown3 = 0;
  948. this->m_pUnknown4 = 0;
  949. this->m_pDone1 = 0;
  950. this->m_pDone2 = 0;
  951. this->m_pProgress = 0;
  952. this->m_pProgress1 = 0;
  953. this->m_pProgress2 = 0;
  954. this->m_pProgress3 = 0;
  955. this->m_pProgress4 = 0;
  956. this->m_pProgress5 = 0;
  957. this->m_pProgress6 = 0;
  958. this->m_pProgress7 = 0;
  959. }
  960.  
  961. void SetID(int Id)
  962. {
  963. this->m_pID = Id;
  964. }
  965.  
  966. void SetLevel(int Level)
  967. {
  968. this->m_pLevel = Level;
  969. }
  970. };//Size=0x014C
  971.  
  972. class N01BB3190
  973. {
  974. public:
  975. char _0x0000[64];
  976.  
  977. };//Size=0x0040
  978.  
  979. class N01BBBAA0
  980. {
  981. public:
  982. char _0x0000[64];
  983.  
  984. };//Size=0x0040
  985.  
  986. class CCostumeName
  987. {
  988. public:
  989. char _0x0000[64];
  990.  
  991. };//Size=0x0040
  992.  
  993. class CCostumePack
  994. {
  995. public:
  996. char _0x0000[64];
  997.  
  998. };//Size=0x0040
  999.  
  1000. // =========== Declaration Function =========== //
  1001.  
  1002. template<typename T>void EncryptValue(void* Pointer, T Value, int CustomKey)
  1003. {
  1004. unsigned long A = !CustomKey ? *(unsigned long*)(reinterpret_cast<unsigned long>(Pointer)-0xC) : CustomKey;
  1005. unsigned long B = *(unsigned long*)(&Value);
  1006. A += B;
  1007. unsigned long C = A;
  1008. A ^= 0x10000000;
  1009. C ^= 0xFF223355;
  1010. A >>= 0x19;
  1011. C <<= 0x7;
  1012. C |= A;
  1013. *(unsigned long*)(Pointer) = C;
  1014. }
  1015.  
  1016.  
  1017. void DecryptValue(void* Pointer, int CustomKey)
  1018. {
  1019. unsigned long A = *(unsigned long*)(Pointer);
  1020. unsigned long B = A;
  1021. for(int i = 0; i < 0x7; i++)
  1022. {
  1023. unsigned int D = B & 1;
  1024. B >>= 1;
  1025. B |= (D << 31);
  1026. }
  1027. B ^= 0x11223355;
  1028. B -= CustomKey;
  1029. *(unsigned long*)(Pointer) = B;
  1030. }
  1031.  
  1032. DWORD ReadPointer(DWORD dwPtrBase, int level, ...) {
  1033. int i, offset;
  1034. DWORD dwReturnAddr = 0;
  1035.  
  1036. va_list vaarg;
  1037. va_start(vaarg, level);
  1038.  
  1039. if(!IsBadReadPtr((void*)dwPtrBase, 4)) {
  1040. dwPtrBase = *(DWORD*)dwPtrBase;
  1041. for(i = 0; i < level; i++) {
  1042. offset = va_arg(vaarg, int);
  1043. if(IsBadReadPtr((void*)(dwPtrBase + offset), 4)) {
  1044. va_end(vaarg);
  1045. return 0;
  1046. }
  1047. dwReturnAddr = dwPtrBase + offset;
  1048. dwPtrBase = *(DWORD*)(dwPtrBase + offset);
  1049. }
  1050. }
  1051.  
  1052. va_end(vaarg);
  1053. return dwReturnAddr;
  1054. }
  1055.  
  1056. // =========== Initialization Class =========== //
  1057.  
  1058. class CGamePlayerManager
  1059. {
  1060. public:
  1061. CPlayer* GetMyPlayer()
  1062. {
  1063. CHeroInfo* m_pHeroInfo = CHeroInfo::GetHeroInfo();
  1064. if(!IsBadReadPtr(m_pHeroInfo, 4))
  1065. {
  1066. if(!IsBadReadPtr(m_pHeroInfo->m_pBattle, 4))
  1067. {
  1068. if(m_pHeroInfo->m_pBattle->m_pTotalSizePlayer > 0)
  1069. {
  1070. for(int i = 0; i < m_pHeroInfo->m_pBattle->m_pTotalSizePlayer; i++)
  1071. {
  1072. CPlayer* pPlayer = GetPlayerByIdx(i);
  1073. if(!IsBadReadPtr(pPlayer, 4))
  1074. {
  1075. if(!IsBadReadPtr(pPlayer->m_pNick, 4))
  1076. {
  1077. if(strcmp(pPlayer->m_pNick->m_pNick, CMyInfo::GetMyInfo()->m_pNick->m_pNick) == 0)
  1078. {
  1079. return pPlayer;
  1080. }
  1081. }
  1082. }
  1083. }
  1084. }
  1085. }
  1086. }
  1087. return 0;
  1088. }
  1089.  
  1090. CPlayer* GetPlayerByIdx(int Idx)
  1091. {
  1092. CPlayer* pPlayer = (CPlayer*)(ReadPointer(ResultBaseMenu, 7, 0x12C, 0x2C, 0x4* Idx, 0x358, 0x94, 0x1DC, 0x0));
  1093. if(IsBadReadPtr(pPlayer, 4) == 0)
  1094. {
  1095. if(IsBadReadPtr(pPlayer->m_pNick, 4) == 0)
  1096. {
  1097. return pPlayer;
  1098. }
  1099. }
  1100. return 0;
  1101. }
  1102. CPlayer* GetAliveEnemy()
  1103. {
  1104. CHeroInfo* m_pHeroInfo = CHeroInfo::GetHeroInfo();
  1105. if(!IsBadReadPtr(m_pHeroInfo, 4))
  1106. {
  1107. if(!IsBadReadPtr(m_pHeroInfo->m_pBattle, 4))
  1108. {
  1109. if(m_pHeroInfo->m_pBattle->m_pTotalSizePlayer > 0)
  1110. {
  1111. for(int i = 0; i < m_pHeroInfo->m_pBattle->m_pTotalSizePlayer; i++)
  1112. {
  1113. CPlayer* pPlayer = GetPlayerByIdx(i);
  1114. if(!IsBadReadPtr(pPlayer, 4))
  1115. {
  1116. if(pPlayer->IsEnemy())
  1117. {
  1118. if(pPlayer->m_pHPReal > 0.0f)
  1119. {
  1120. return pPlayer;
  1121. }
  1122. }
  1123. }
  1124. }
  1125. }
  1126. }
  1127. }
  1128. return 0;
  1129. }
  1130. static CGamePlayerManager* GetPlayerManager()
  1131. {
  1132. DWORD pPointer = ReadPointer(ResultBaseMenu, 8, 0x12C, 0x2C, 0x0, 0x358, 0x94, 0x1DC, 0x2D4, 0x0);
  1133. if(!IsBadReadPtr((void*)pPointer, 4)) {
  1134. return new CGamePlayerManager();
  1135. }
  1136. return 0;
  1137. }
  1138. };
  1139.  
  1140. // =========== Function Class =========== //
  1141.  
  1142. bool IsInBattle()
  1143. {
  1144. CHeroInfo* m_pHeroInfo = CHeroInfo::GetHeroInfo();
  1145. if(!IsBadReadPtr(m_pHeroInfo, 4))
  1146. {
  1147. if(!IsBadReadPtr(m_pHeroInfo->m_pBattle, 4))
  1148. {
  1149. if(m_pHeroInfo->m_pBattle->m_pTotalSizePlayer > 0)
  1150. {
  1151. return true;
  1152. }
  1153. }
  1154. }
  1155. return false;
  1156. }
  1157.  
  1158. bool CPlayer::IsMe()
  1159. {
  1160. return this->m_pControl == 1;
  1161. }
  1162.  
  1163. bool CPlayer::IsBot()
  1164. {
  1165. return this->m_pNick->m_pNick[0] == ' ';
  1166. }
  1167.  
  1168. bool CPlayer::IsEnemy()
  1169. {
  1170. return this->m_pTeam != CGamePlayerManager::GetPlayerManager()->GetMyPlayer()->m_pTeam;
  1171. }
  1172.  
  1173. bool CPlayer::IsTeam()
  1174. {
  1175. return this->m_pTeam == CGamePlayerManager::GetPlayerManager()->GetMyPlayer()->m_pTeam;
  1176. }
  1177.  
  1178. bool CPlayer::IsDied()
  1179. {
  1180. return this->m_pHPReal == 0.0f;
  1181. }
  1182.  
  1183. bool CPlayer::IsAlive()
  1184. {
  1185. return this->m_pHPReal > 0.1f;
  1186. }
  1187.  
  1188. template<typename T>void CPlayer::SetWeaponValue(int Offset, DWORD Hero, T tValue, bool IsEncrypted)
  1189. {
  1190. if(IsBadReadPtr(this->m_pGear, 4) == 0)
  1191. {
  1192. if(IsBadReadPtr(this->m_pGear->m_pWeapon, 4) == 0)
  1193. {
  1194. if(this->m_pGear->m_pWeaponCode == Hero || (Hero < 10000 ? this->m_pGear->m_pWeaponCode==Hero+10000 : false))
  1195. {
  1196. void* WeaponPointer = (void*)((DWORD)this->m_pGear->m_pWeapon + (DWORD)Offset);
  1197. if(IsBadReadPtr(WeaponPointer, 4) == 0)
  1198. {
  1199. if(IsEncrypted)
  1200. {
  1201. EncryptValue(WeaponPointer, tValue);
  1202. }
  1203. else
  1204. {
  1205. *(DWORD*)(WeaponPointer) = *(DWORD*)(&tValue);
  1206. }
  1207. }
  1208. }
  1209. }
  1210. }
  1211. }
  1212.  
  1213. #endif
Add Comment
Please, Sign In to add comment