Как это работает?

Spectrata

Новичок
Автор темы
27
0
Версия MoonLoader
Другое
Lua:
function pickupid(model)
   local poolPtr = sampGetPickupPoolPtr()
   local ptwo = readMemory(poolPtr, 4, 0)
   if ptwo > 0 then
     ptwo = poolPtr + 0x4
     local pthree = poolPtr + 0xF004
     for id = 1, 4096 do
       local pfive = readMemory(ptwo + id * 4, 4, false)
       if pfive < 0 or pfive > 0 then
         pfive = readMemory(pthree + id * 20, 4, false)
         if pfive == model then
           return id
         end
       end
     end
   end
end

почему в ptwo смещение на 0x4, а в pthree на 0xFF004 откуда взяты эти значения?

почему в pfive первый раз делается на 4, а потом на 20?