But hey, I found the table first this time so woot for that!

Code: Select all
objGroup = {};
startGroups = 0x85787C;
proc = openProcess(findProcessByWindow(findWindow("Shaiya")));
for i=0,494,1 do
objGroup[i+1] = {};
objGroup[i+1].baseAddress = startGroups + (i * 0x14);
end
v = 1;
for i=1,495,1 do
isValue = memoryReadInt(proc,objGroup[i].baseAddress + 0xC);
if isValue ~= 0 then
printf("0x%x, ",isValue)
v = v+1;
end
if math.ceil(v/7) == math.floor(v/7) then printf("\n"); v=v+1;end;
end
printf("\n");
v = 1;
for i=1,495,1 do
isValue = memoryReadInt(proc,objGroup[i].baseAddress + 0xC);
if isValue ~= 0 then
printf("0x%x, ",memoryReadInt(proc,objGroup[i].baseAddress))
v = v+1;
end
if math.ceil(v/7) == math.floor(v/7) then printf("\n"); v=v+1;end;
end
printf("\n");
v = 1;
for i=1,495,1 do
isValue = memoryReadInt(proc,objGroup[i].baseAddress + 0xC);
if isValue ~= 0 then
printf("0x%x, ",memoryReadInt(proc,objGroup[i].baseAddress + 0x8))
v = v+1;
end
if math.ceil(v/7) == math.floor(v/7) then printf("\n"); v=v+1;end;
end
printf("\n");
v = 1;
for i=1,495,1 do
isValue = memoryReadInt(proc,objGroup[i].baseAddress + 0xC);
if isValue ~= 0 then
chkValue = memoryReadUByte(proc,objGroup[i].baseAddress)
if ((chkValue >= 0x80) and (chkValue <= 0x90)) then
printf("0x%x, ",memoryReadInt(proc,memoryReadInt(proc,memoryReadInt(proc,objGroup[i].baseAddress + 0x8)) + 0x10))
v = v+1;
elseif chkValue > 0x90 then
printf("0x%x, ",memoryReadInt(proc,memoryReadInt(proc,memoryReadInt(proc,objGroup[i].baseAddress + 0x8)) + 0x8))
v = v+1;
end
end
if math.ceil(v/7) == math.floor(v/7) then printf("\n"); v=v+1;end;
end
printf("\n");
Users browsing this forum: Ahrefs [Bot] and 3 guests