no hay mucho que decir, solo hay una rutina
PD: este gif que muestra los resultos
tengo un pastebin aquí con la rutina:
y eso debe ser todo. escoge dos vars, un para el numerador y otro para el denominador de la fracción por cual quieres multiplicar la experiencia. yo podría hacer otra rutina que pararía la gana de experiencia cuando el numerador es 0, pero al momento es todo que tengo para todos ustedes (ahora ganaría 1 punto de experiencia si los dos vars son 0)
yo recomiendo que tus numeros sean grandes
por ejemplo, no uses como 3 y 5 para numerador/denominador (si te gustaría 60% de la experiencia)
usa 60 y 100 y el juego daría valores más precisos
por dar un ejemplo, si tu pokemon fuera a ganar 18 puntos de exp y tu var numerador era 100 y tu var denominador era 50, tu pokemon ganaría 18 * 100 / 50 = 36 puntos
hay un bug interesante si permite que los pokemon ganen mas de alrededor de 56,000 exp. así ten cuidado por esto cuando lo usas
dime si hay problemas ajaja
que tengan buenos días
PD: este gif que muestra los resultos
Código:
/* Poner 00 48 00 47 XX+1 XX XX 08 a 0x21C38 */
.text
.align 2
.thumb
.thumb_func
EditarExperiencia:
push {r1}
ldr r0, .VarDenominador /* Puedes cambiarlo al fondo */
mov r3, pc
add r3, #7
mov lr, r3
ldr r3, .VarGet
bx r3
cmp r0, #0
beq _dontdividebyzero
_continue:
push {r0}
ldr r0, .VarNumerador
mov r3, pc
add r3, #7
mov lr, r3
ldr r3, .VarGet
bx r3
_terminar:
pop {r1-r2}
mul r0, r2
mov r3, pc
add r3, #7
mov lr, r3
ldr r3, .Dividir
bx r3
ldr r2, .Volver
bx r2
_dontdividebyzero:
mov r0, #1
b _continue
.align 2
.Volver:
.word 0x08021C40 | 1
.VarNumerador:
.word 0x40XX /* cambia esto */
.VarDenominador:
.word 0x40XX /* cambia esto */
.VarGet:
.word 0x0806E568 | 1
.Dividir:
.word 0x081E4018 | 1
tengo un pastebin aquí con la rutina:
[fr] mod experience w vars - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
pastebin.com
y eso debe ser todo. escoge dos vars, un para el numerador y otro para el denominador de la fracción por cual quieres multiplicar la experiencia. yo podría hacer otra rutina que pararía la gana de experiencia cuando el numerador es 0, pero al momento es todo que tengo para todos ustedes (ahora ganaría 1 punto de experiencia si los dos vars son 0)
yo recomiendo que tus numeros sean grandes
por ejemplo, no uses como 3 y 5 para numerador/denominador (si te gustaría 60% de la experiencia)
usa 60 y 100 y el juego daría valores más precisos
por dar un ejemplo, si tu pokemon fuera a ganar 18 puntos de exp y tu var numerador era 100 y tu var denominador era 50, tu pokemon ganaría 18 * 100 / 50 = 36 puntos
hay un bug interesante si permite que los pokemon ganen mas de alrededor de 56,000 exp. así ten cuidado por esto cuando lo usas
dime si hay problemas ajaja
que tengan buenos días
Última edición: