Crystal_
Puntuación de reacción
119

Mensajes de perfil Última actividad Publicaciones Acerca

  • JA! si, es "mucho" trabajo en apariencia, pero la verdad es que son hacks con base similar, asi me ahorro mas del 50%.

    Ahorita lo primordial es el testeo, ya que malditos bug me acechan XD.

    PD: tendras el dato de la rutina del REd Gyarados que modificaste en el Pyrite para que conincida con el nuevo shinie ratio?
    La verdad solucione el error haciendo unos sacrificios, por el momento dejemoslo asi y ya despues investigamos que onda.

    No creas que gano mucho moviendo el pokedex por que en realidad lo que necesito es una herramienta compatible con dicho repunteo para que valga la pena todo el movimiento.
    Bien, las maravillas del 'inc'.

    Ok, te recuerdo de la pokedex. Quedamos en que solo habia dos rutinas que apuntaban a la pokedex y en cierto modo era cierto, apuntan a la pokedex cuando la abres desde el menu, ahi todo bien. Como quedamos que las rutinas internas no salian de ahi, movimos todo en engine a otro banco pero en el mismo pointer para evitar incoherencias.

    Mi problema surge cuando un pokemon salvaje es capturado, necesito encontrar la rutina que checa eso despues de la captura.

    PD: Yo tengo un rom que solo manipule con hex y el GS item y me salieron offsets modificados que nunca movi. Igual pudo haber sido otra cosa.
    Problemas en el paraiso!!

    Recuerdas que hace mucho me ayudaste a repuntear el pokedex e hice pruebas y estaba todo bien?? Pues si, estaba todo bien cuando abrias el pokedex, pero cuando capturas un PKM y lo quiere registrar en el pokedex, el juego se cuelga XD

    PD: opcode fd at c92c
    Otra duda:

    Cuando hacemos este loop:

    @loop
    inc hl
    cp a,(hl)
    jr z, @resetCarry
    cp a, $FF
    jr nz, @loop
    scf ; set carry flag. executed when the end of the table is reached.
    ret

    Debido a que comienza con un inc hl, no se pieerde el primer valor de la tabla?

    Si mi tabla empieza en 1bc000, el primer byte en hacer cp a,(hl) seria 1bc001 no?

    PD: yo se que eso en realidad no pasa por que asi son todas las tablas del juego, pero no me queda claro por que.
    Aaaaaaaaaaaaaaa creo que ya entendi donde estaba mi confusion, todo lo entiendo a la perfeccion.

    Pensaba que la pila era modular, que por ejemplo si hacias un push hl solo recuperabas ese dato con pop hl, pero ahora me doy cuenta de que es una sola pila.

    Ya ha quedado todo muy claro!!

    Que haria sin ti?
    :heart:
    A ver, aun no entiedo bien @positivo:

    @main
    ld hl,$DA2C
    ld bc,$0030
    push hl
    (...)

    ; Antes de entrar a @positivo tenemos el valor incrementado de hl igual al no. de movmiento libre (valor entre 1-4)

    ; Aqui es donde surge mi duda, pop bc regresaria bc a su estado antes del loop, por lo que seria $30 no?

    @positivo
    pop bc
    add l
    sub c
    jajajaja si ya la lei una vez, pero no hay como que me expliques de esa forma.

    Por cierto, tengo una duda que en unos segundos te posteo.
    aaaaaaa......... eso te lo queria peguntar hace siglos, para que servian los parentesis.

    Entonces:
    $0001 carga el valor (0x1)
    ($0001) carga el valor contenido en esa direccion (0-FF)
    No chingues, esta padrisimo el Link y bien explicado! (al igual que tu guia)

    No se si actualizaste o de plano no vi ese link, pero voy a darle una checada. Igual creo que si seria bueno volver a revisar tu post.

    Fijate que no entendia antes como funcionaba el modulo hl, antes pensaba que si hacias un ld hl$X cargava X y no el valor contenido.

    Los cambios que hiciste estn muy bien, ya que esa rutina (@chequeo) la uso multiples veces, asi no tengo que estar escribiendo cosas repetidas en el rom, como miksy lo hizo.

    Se te fue un error de dedo al hacer push hl y pop bc?
    Pues mas que reducir espacio es para aprender a hacer las cosas bien. Como es algo que estoy apreniendo de 0, no quiero tomar "vicios".

    Que hace el xor?

    Un 'and a' segun yo es lo mismo que ld a,$1 no?
    JA! te pasa lo mismo que a mi XD

    Gracias por la ayuda, la confusión estaba en el 'jr nc' pero ya me quedo claro.

    Estoy tomando unas rutinas que miksy tiene en su hack, pero como son muy viejas son algo extensas. Hay modo de simplificarlas?

    La parte de @main yo la he simplificado por que el tenia un desmadre igual al de @chequeo.


    @main ; encontrar movimientos del pokemon seleccionado
    ld hl,$DA2C ; Movimientos del primer pokemon
    ld a,($D005) ; no. de pokemon seleccionado 1ro=$00, 2do=$01...
    ld bc,$0030 ; longitud de los datos del pokemon
    call AddNTimes
    call @chequeo
    ret

    @chequeo
    ldi a,(hl)
    cp a,$00
    jr z,@1ermove
    ldi a,(hl)
    cp a,$00
    jr z,@2domove
    ldi a,(hl)
    cp a,$00
    jr z,@3ermove
    ldi a,(hl)
    cp a,$00
    jr z,@4tomove
    ld a,$01
    ld (ScriptVar),a
    ret


    @1ermove
    ld a,$01
    jr @positivo
    @2domove
    ld a,$02
    jr @positivo
    ... etc.

    @positivo
    ld ($D006),a
    ld a,$00
    ld (ScriptVar),a
    ret

    PD: Supongo que ya conoces 'AddNTimes'.
    Hace mucho que no te hago una consulta, ya hasta te extraño!!

    Quiero una rutina sencilla que cheque una tabla, si el valor de la RAM coincide con el de la tabla debe regresar un $0, caso contrario debe regresar un $1, lo revisas?:

    ASM:
    call @main ; Devuelve en la RAM = $1 si el pokemon es compatible (si no esta en la tabla)
    ret

    @main
    ld a, (ScriptVar)
    ld hl, $noTMHMPkmnTable
    call @loop
    jr nc, @goToNext
    ld a,$1
    ld (ScriptVar),a
    ret

    @goToNext
    ld a,$0
    ld (ScriptVar),a
    ret

    @loop
    cp a,(hl)
    jr z, @setCarry
    cp a, $FF
    jr nz, @loop
    and a, a ; reset carry flag. executed when the end of the table is reached.
    ret

    @setCarry
    scf ; set carry flag
    Ahorita estoy en una paradisiaca playa de mexico, pero el especial es la función4925b.
    Jaja! claro que no!!
    Mas bien queria saber si habia alguna otra fuente de scrips enfocada a Crystal que no conociera.

    Dentro de poco quiero pedirte algo de ayuda. Aprovechando que ya hace tiempo estan los comandos de Scripts en Pokecrystal, quiero hacer un comando extra a los scripts predefinidos del 0xF, especificamente del 0x4C que es el que abre la ventana de la party y pone en la ram el numero del pokemon elegido y su nombre. Yo quiero algo similar, pero que ponga el Slot de la party.

    Esto con el fin de hacer un tutor de movimientos con solo comandos de scripts.
    No si yo se la chinga que es hacer eso.

    Hace como 6 meses me puse a agregar NPC como a 10 mapas y a pesar de ser una labor "sencilla" por aplicar el mismo metodo que me dices, si se vuelve monotono.

    Por que ya se que es medio tedioso es que te digo que las herramientas si te ayudan mucho, en mi caso Jhotomap, que con unos simples clics repunteas TODO. El problema es lo mismo que dices, no tienes un control de las cosas, pero es el precio de la flojera no hacerlo manual XD.

    Hasta ahorita entiendo para que sirve el 0x65, antes habia agregado NPC pero nunca del tipo 2.

    Tengo una duda, basas tus scripts en el compendio de Tauwasser?
    Por ahi habia leido que el maximo de NPC por mapa eran 14 e Ilex esta a su maximo, pero cre que el problema viene de tenerlos todos "activos" al mismo tiempo. Entonces si solo agrego el NPC como normalmente se hace no habria problema (supongo por tu hack).

    Que tardado es esto de los TRainers, Llevo todo el dia y no termino y eso que tengo herramientas... no quiero imaginar cuanto tardaste tu.
    Si, estabas viendo el de otro user que esta mas desactualizado.

    Hackeas RED?

    Edit: Que tan profesional es el trabajo de tus Nuevos trainers??? Has puesto scripts y textos especiales para ellos o usas los de algun otro en el mismo banco?

    Creo que no vale la pena hacerlos "bien" y deberia poner pointers salteados de otros trainers.

    Edit2: Que quitaste en Ilex Forest para meter tus trainers? NPC de Farfetch'd?
  • Cargando…
  • Cargando…
  • Cargando…
Arriba