Guaranteed drop ranking script, it has a 50% and 50% of obtaining either the range of items from the lowest to the highest or the range of accessories from the lowest to the highest. If it doesn't work for someone, let them know.
Script:
[ENABLE]
// Code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
label(randGroup)
label(randItem)
"FFX-2.exe"+2247E3:
nop
nop
"FFX-2.exe"+224806:
nop
nop
newmem:
push eax
push edx
// ==============================
// Generar número base aleatorio
// ==============================
rdtsc // EDX:EAX = contador interno del CPU
xor eax,edx // mezcla bits altos y bajos
and eax,0FF // 0–255 (valor base)
mov edx,eax // copia para decidir grupo
// ==============================
// Elegir grupo aleatoriamente
// ==============================
and edx,1 // usa el bit menos significativo → 0 o 1
cmp edx,0
je randGroup // 0 = grupo 1 (2000h–2043h)
// 1 = grupo 2 (9000h–907Fh)
// ------------------------------
// Grupo 2 → 9000h–907Fh
// ------------------------------
and eax,7F // 0–127
add eax,9000 // rango 9000h–907Fh
jmp randItem
randGroup:
// ------------------------------
// Grupo 1 → 2000h–2043h
// ------------------------------
and eax,3F // 0–63
cmp eax,43
jbe short @f
sub eax,20 // ligera corrección si se pasa de 2043h
@@:
add eax,2000 // rango 2000h–2043h
randItem:
mov [ebp+08],eax // guarda ID del ítem final
pop edx
pop eax
mov eax,[ebp+08]
add esi,ecx
originalcode:
exit:
jmp returnhere
"FFX-2.exe"+224970:
jmp newmem
returnhere:
[DISABLE]
dealloc(newmem)
"FFX-2.exe"+224970:
db 8B 45 08 03 F1
"FFX-2.exe"+2247E3:
db 74 6E
"FFX-2.exe"+224806:
db 74 4B
