How can i get those? SkillKit SNO seems to be empty for local player.
How can i get those? SkillKit SNO seems to be empty for local player.
It's in the SkillKit SNO
One more question. How to get ACTIVE skills, SkillKit contains all player skills, but i need only 6 of them, which i can use. Im trying to build my combat logic on that.
Well, found it. Again if anyone intrested.
There is some kind of local player structure, not ractor or acd. It stores some info like ractor_id acd_id of player, etc. And there is a simple structure at 0xC0 offset which contains info i needed.
Code is:
Code:public static int GetLocalPlayer() { int v0 = Memory.Read<int>(Memory.Read<int>(Offsets.pt_managersBase) + 0x934); int v1 = Memory.Read<int>(Memory.Read<int>(Offsets.pt_managersBase) + Offsets.of_storage + 0xA8); if (v0 != 0 && Memory.Read<int>(v0) != -1 && v1 != 0) return 0x8008 * Memory.Read<int>(v0) + v1 + 0x58; else return 0; } public static SNOPowerId GetActivePlayerSkill(int index) { int local_player = GetLocalPlayer(); if (local_player != 0) return (SNOPowerId)Memory.Read<int>(local_player + 4 * (3 * index + 0x30)); else return (SNOPowerId)0; }
Last edited by nightUA; 06-30-2012 at 05:54 AM.
thats cool but how do i get if a spell is on cooldown ?
GetInt(acd, (spellSNO << 12) | 0x116) will be positive if the spell is on cooldown.
you can get the rune also from that position nightUA it's like 0-5 or somethign like that
big thanks
You can get the skill id with this pointer
0 <= INDEX <= 5
C-Example :
Code:*(DWORD*)((INDEX * 8)+*(DWORD*)(*(DWORD*)0x1543B9C+ 0x824) + 0xA08)
ok but right now I can't iterate Acd without offset.
Thanks anyway
Just pass 0x77BC0000 and you have the player acd.Code:public static ACD GetACDByACDGUID(int guid) { int c = ReadInt(0x1543B9C, 0x850, 0); short index = (short)(0xFFFF & guid); int acd = ReadInt(ReadInt(c + 0x148)) + 4 * (index >> (byte)ReadInt(c + 0x18C)) + 0x2D0 * (index & ((1 << ReadInt(c + 0x18C)) - 1)); return new ACD(acd); }