int GetItemBase(long ItemID) { /*Thyke*/ int RetAddr; int CurrentPtr; int CurrentAddr; int CurrentID; int RetBase; RetAddr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(KO_İTOB)))); CurrentAddr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(RetAddr + 0x18))), 0); CurrentPtr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(CurrentAddr + 0x4))), 0); while (CurrentPtr != 0) {CurrentID = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(CurrentPtr + 0xC))), 0); if (CurrentID >= itemid) {if (CurrentID == ItemID){RetBase = CurrentPtr;} CurrentPtr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(CurrentPtr + 0x0))), 0);} else {CurrentPtr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(CurrentPtr + 0x8))), 0);}} return RetBase;}
int GetSkillBase(long SkillID) { /*Thyke*/ int Addr; int CurrentOffset; int tmpBase; int CurrentPtr; int CurrentID; int CurrentAddr; Addr= BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(KO_SMMB)))); CurrentAddr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(Addr+ 0x18))), 0); CurrentPtr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(CurrentAddr + 0x4))), 0); while (CurrentOffset != 0) { CurrentID = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(CurrentPtr +0xC))),0); if (CurrentID >= SkillID){if (CurrentID == SkillID){ tmpBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(CurrentPtr))));}CurrentPtr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(CurrentPtr))));} else {CurrentPtr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(CurrentPtr + 0x8))), 0);}} return tmpBase;}
void GetCharBase(long TargetChar) { int ptr; int tmpCharBase; int tmpbase; int IDArray; int BaseAddr = 0; int mob; mob = TargetChar; ptr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(KO_FLDB)))); tmpCharBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(ptr + 0x3c))),0); tmpbase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpCharBase + 0x4))), 0); while (tmpbase != 0) {IDArray = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpbase + 0xc))), 0); if (IDArray >= mob){ if (IDArray == mob){BaseAddr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpbase + 0x10))), 0);} tmpbase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpbase + 0x0))), 0);} else {tmpbase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpbase + 0x8))), 0);}} return BaseAddr;}
void GetMobBase(long TargetChar) { int ptr; int tmpCharBase; int tmpbase; int IDArray; int BaseAddr = 0; int mob; mob = TargetChar; ptr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(KO_FLDB)))); tmpCharBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(ptr + 0x2c))),0); tmpbase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpCharBase + 0x4))), 0); while (tmpbase != 0) {IDArray = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpbase + 0xc))), 0); if (IDArray >= mob){ if (IDArray == mob){BaseAddr = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpbase + 0x10))), 0);} tmpbase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpbase + 0x0))), 0);} else {tmpbase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpbase + 0x8))), 0);}} return BaseAddr;}
int GetCurrentSkill(int SkillNO){ long tmpbase; tmpbase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(KO_DLGB + 0x1B8))), 0); tmpbase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpbase + 0x4))), 0); tmpbase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpbase + 0xdc))), 0); for (int i = 0; i < SkillNO; i++){tmpBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpBase + 0x0))), 0);} tmpBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpBase + 0x8))), 0); if (tmpbase != 0) /* esit değil.*/{tmpBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpBase + 0x0))), 0); return tmpbase; /* GetCurrentSkill = tmpbase*/} else {return 0; /* GetCurrentSkill = 0*/}}
int GetSkillCount(int SkillNO) {int tmpBase; tmpBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(DlgPointer + 0x1B8))), 0); tmpBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpBase + 0x4))), 0); tmpBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpBase + 0xCC))), 0); for (int b = 0; b < SkillNO; b++){tmpBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpBase + 0x0))), 0);} tmpBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpBase + 0x8))), 0); if (tmpBase != 0) {tmpBase = BitConverter.ToInt32(ReadMemory(GameProcessHandle, (new IntPtr(tmpBase + 0x0))), 0); return tmpBase;}else{return 0;}} |