Registrarse

[Scripting] E|Comprobar a la reloj interna (Hora, días y bayas)

aptitud

Usuario mítico
Introducción y contexto del tutorial :
Mi proyecto desde años se puede resumir en "Elseworld oro y plata, en gen 3".
Entonces he trabajado a tener scripts, simples y adaptables,
para los eventos diarios y semanal incluyendo :
->Guardar el día de la semana
->tener arboles con bayas cada día
->tener manejas de "eventar" con horas especiales

Hoy, después de meces entendiendo mejor cada día a el juego,
tengo ciertas método y descubrimientos sobre la reloj interna de Emerald,
que permiten guardar y comprobar al tiempo y a los días que pasan.


Parte de mis mas recientas entendidas son resulto de la idea primigenia :
La de-compilación y el binario puede servir de junto.
Es decir que la información en el código de-compilado de Emerald (o de otro juego)
se puede utilizar para descubrir y entender a modificaciones binarios.



De forma este tutorial también es una expansión y actualización
a un otro tutorial que he publicado hace meces...
Pues, de verdad seria años...

De nuevo, de resumen :
Hay excelente maneja -nativa- de guardar el día de la semana
y mucho mas que añadir sobre el sujeto de "utilizar a la reloj interna".
También, para reproducir eventos de oro y plata,
se puede hacer mucho con el sistema de baya de Emerald si lo entiende.
-sistema que depende, nativamente, también de la reloj interna-


Este tutorial tiene dos partes :
I) Entender a comprobar y guardar días y horas

(Comandos, variables y flag para comprobar a la reloj interna de Emerald US.)
0) eventos que repiten cada dia (cmd_2d "dodailyevents" y flags diarios)
1) guardar el día de la semana (con var 0x4049)
2) numero de día interno (var 0x4040)
3) comprobar a la hora interna en eventos (cmd_2e "gettime")
II) Systema de bayas de Emerald US (y utilizar a el en scripts)
0) Introducción al sistema
y comando para scripting el estado de bayas (cmd_8a "setberrytree")
1) cambiar a las bayas iniciales. (offset 0x827149D)
2) script nativo de bayas y introducion a otros comandos de scripts
3) un ejemplo de evento para tener baya arboles diarios (casi como en oro/plata)


Créditos y precisiones :
Información sobre el juego, en el código del "Ememeral decompilation propect"
Los scripts presentados utilizan las formulaciones y fueron decompilado con pksvui.





Pues, así comenzamos con :
I) Entender a comprobar y guardar días y horas

0) El comando "cmd_2d" y flag diarios utilizados

Este comando es la base de scripts utilizando el reloj para eventos diarios.

También es llamado "checkdailyflags" o "dodailyevents" por los herramientas y códigos.
Y, de verdad, "dodailyevents" es el mas correcto por lo que cmd_2d hace.

cmd_2d es un comando que actualiza a flags, variables y mas datos,
que utilizan el tiempo interno del juego y que, de normal, cambiaron cada día.

daily flags y uso :
cmd_2d, cuando el día ha pasado desde la vez anterior que fue utilizado,
hace lo mismo que "clearflag" por los flags que son diarios.

Entonces, de uso básico cmd_2d permite repetir a eventos cada día.
(utilizando al comando en un script
y después, en el script, comprobando al estado de un flag diario elegido.)


En el código de la de-compilación, se puede comprobar que :
los flags de 0x920 hasta 0x95F serian actualizado por cmd_2d.


Pero, en el juego non-modificado,
solo una parte de ellos se comprobaron de uso.

(los otros son listados con "FLAG_UNUSED_" en el código la de-compilación)


los flags diarios que son seguro (por ser de uso claro en el juego) son :

a) los flags de 0x92A hasta 0x932

Por su información, en emerald non-modificado :
->El flag 0x92A es utilizado por la lotería diaria,
a la recepción del grande centro comercial.
->Los flags 0x92B hasta 0x932 todos son utilizados,
por personajes que dan bayas cada día.

b) Por fin, los 3 otros flags
que no son marcado "FLAG_UNUSED_" en la de-compilación son :

0x921 ("FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY")
->se uso para scripts con el berry blender
que dan una baya cada día cuando el protagonista no tiene baya.

0x922 ("FLAG_DAILY_SECRET_BASE")
->se uso para que, cada día, los entrenadores en secret bases se pueden ser combatido.

0x934 ("FLAG_DAILY_APPRENTICE_LEAVES")
->se uso para una "Aprentice" funcionalidad en el battle frontier




Añadir eventos que repiten cada día es bastante interesante.
Pero también se puede añadir eventos y scripts para comprobar días que pasan

Entonces, continuamos con :
dos variables para comprobar días y semanas pasando

1) La var 0x4049 (o "el dia de la semana escondido")
De resumen "la var interna que guarda el día de semana por nosotros".

Descubriendo a esta posibilidad fuera un momento "eureka".
...
Aquí es la explicación :
En el código de-compilado, la var 0x4049 es llamado VAR_BIRCH_STATE
y como lo entendieran, se utiliza, en juego,
para guardar donde es el pokémon-profesor de Hoenn.

Verificando por los wikis y otras maneja de información sobre el juego,
he verificado que el profesor es en mismo lugares cada semana,
cuando su posición no es decidida por un evento especial.

Y, de resumen, también, en el código,
hay un caso (especial) por var 0x4049 igual 0x7

Pero, si no script cambio la var 0x4049,
\ella va a augmentar con los días que han pasado,
y guardar el resto de la división euclidiana de ella por 7.


Así que decir :
Cuando se actualizan los datos diarios (por ejemplo con cmd_2d)
La var 0x4049 se actualiza exactamente como el día de la semana se cambio.

Solo se necesita inicializar a la var 0x4049 al principio del juego.
(Elige que día es 0x0 y, después, los otros van a ser 0x1 hasta 0x6, ordenado.)

Nota :
Se necesita quitar o cambiar a los script de Emerald-base que modifican a var 0x4049,
pero pueden hacer mismas cosas que la excepción
"var 0x4049 ("VAR_BIRCH_STATE") igual a 0x7"
con un flag que activan por estas situaciones.


2) La var 0x4040 (o el numero de día interno)

Pues, es el numero del día que el juego guarda en interno.
se aumenta, con cada día que pase, de uno.

Entonces, por ejemplo,
se puede copiar a esta variable en otra "var_2", en un script "S1"
y añadir N a esta var_2 para comprobar que une cantidad N de día ha pasado.
(cuando la valor de var 0x4040 sera mas que la valor en la var_2 elegida,
significa que N días o mas han pasado desde que "S1" fue llamado.)

Nota :
("Pacifilog TM event")
el special 0x14F
hace lo mismo que
copyvar 0x40C2 0x4040


3) cmd_2e "gettime"
(en el script-editor pksvui, se llamado con "resetvars", por su effecto en RF/VH.)

From the "Emerald decompilation" codigo :
Sets the values of variables 0x8000, 0x8001, and 0x8002
to the current hour, minute, and second.
In FRLG, this command sets those variables to zero.
.macro gettime
.byte 0x2e
.endm
A descubrimiento muy potente y útil, de verdad.




Pues, con esta primera parte se puede añadir cantidades de scripts que quieren.

Pero, cuando se pensá en los eventos diarios que hay en Oro y plata,
también se pensé en la bayas y como utilizar al sistema de bayas de Emerald.

Entonces, se continua con la parte 2 :

II) Bayas de Esmeralda (Aplicación : arboles diarios como Oro/Plata)

0) introducción y CMD_8A (o "setberrytree")


Como funcionan las bayas en Emerald :
En la memoria, hay una tabla de datos,
y, por cada indice en la tabla se guarda las informaciones sobre cada baya-árbol.
(incluyendo : tipo de baya planteada, estado de crecimiento, tiempo de crecimiento,
regados a cada estado de crecimiento, y flag por si se debe decaer...)


Con eso, cuando hay un "berry spot", de verdad es un script de personaje,
con el indice de baya-árbol que se utiliza en ciertas comandos,
definido por el parámetro de script de personaje,
que se llama "view radius" en Advance map.

Lo repite :
indice de baya-árbol == "view radius"

El comando CMD_8A :
En el de-compilación código, la estructura de uso es definida por :
"setberrytree tree_id, berry, growth_stage"

Entonces
CMD_8A [árbol-index] [Baya-tipo] [crecimiento_estado]
define que el Baya-árbol [árbol-index] tiene [Baya-tipo] en [crecimiento_estado]

Ademas :
Este comando no activa que la baya decae, en el estado 0x5 (bayas)
(Pero, mas sobre la "biodegradación", adelante.)


1) cambiar a las bayas iniciales

Cuando el juego empiece,
se llama a un script que inicializa a los arboles de Bayas.
este script, a dirección 0x27149D
contiene una lista de instrucciones "CMD_8A [árbol-index] [Baya-tipo] 0x5"
#org 0x827149D
'-----------------------------------
CMD_8A 0x2 0x7 0x5
CMD_8A 0x1 0x3 0x5
CMD_8A 0xB 0x7 0x5
CMD_8A 0xD 0x3 0x5
CMD_8A 0x4 0x7 0x5
CMD_8A 0x4C 0x1 0x5
CMD_8A 0x8 0x1 0x5
CMD_8A 0xA 0x6 0x5
CMD_8A 0x19 0x14 0x5
CMD_8A 0x1A 0x2 0x5
CMD_8A 0x42 0x2 0x5
CMD_8A 0x43 0x14 0x5
CMD_8A 0x45 0x16 0x5
CMD_8A 0x46 0x16 0x5
CMD_8A 0x47 0x16 0x5
CMD_8A 0x37 0x11 0x5
CMD_8A 0x38 0x11 0x5
CMD_8A 0x5 0x1 0x5
CMD_8A 0x6 0x6 0x5
CMD_8A 0x7 0x1 0x5
CMD_8A 0x10 0x12 0x5
CMD_8A 0x11 0x12 0x5
CMD_8A 0x12 0x12 0x5
CMD_8A 0x1D 0x13 0x5
CMD_8A 0x1C 0x13 0x5
CMD_8A 0x1B 0x13 0x5
CMD_8A 0x18 0x4 0x5
CMD_8A 0x17 0x3 0x5
CMD_8A 0x16 0x3 0x5
CMD_8A 0x15 0x4 0x5
CMD_8A 0x13 0x10 0x5
CMD_8A 0x14 0x10 0x5
CMD_8A 0x50 0x7 0x5
CMD_8A 0x51 0x7 0x5
CMD_8A 0x4D 0x8 0x5
CMD_8A 0x4E 0x8 0x5
CMD_8A 0x44 0x8 0x5
CMD_8A 0x1F 0xA 0x5
CMD_8A 0x21 0xA 0x5
CMD_8A 0x22 0x15 0x5
CMD_8A 0x23 0x15 0x5
CMD_8A 0x24 0x15 0x5
CMD_8A 0x53 0x18 0x5
CMD_8A 0x54 0x18 0x5
CMD_8A 0x55 0xA 0x5
CMD_8A 0x56 0x6 0x5
CMD_8A 0x25 0x5 0x5
CMD_8A 0x26 0x5 0x5
CMD_8A 0x27 0x5 0x5
CMD_8A 0x28 0x3 0x5
CMD_8A 0x29 0x3 0x5
CMD_8A 0x2A 0x3 0x5
CMD_8A 0x2E 0x13 0x5
CMD_8A 0x2D 0x14 0x5
CMD_8A 0x2C 0x12 0x5
CMD_8A 0x2B 0x10 0x5
CMD_8A 0x2F 0x8 0x5
CMD_8A 0x30 0x5 0x5
CMD_8A 0x31 0x4 0x5
CMD_8A 0x32 0x2 0x5
CMD_8A 0x34 0x12 0x5
CMD_8A 0x35 0x12 0x5
CMD_8A 0x3E 0x6 0x5
CMD_8A 0x40 0x6 0x5
CMD_8A 0x3A 0x15 0x5
CMD_8A 0x3B 0x15 0x5
CMD_8A 0x3C 0x19 0x5
CMD_8A 0x3D 0x19 0x5
CMD_8A 0x4F 0x17 0x5
CMD_8A 0xE 0x17 0x5
CMD_8A 0xF 0x15 0x5
CMD_8A 0x1E 0x15 0x5
CMD_8A 0x41 0x19 0x5
CMD_8A 0x48 0x19 0x5
CMD_8A 0x49 0x17 0x5
CMD_8A 0x4A 0x17 0x5
CMD_8A 0x57 0x3 0x5
CMD_8A 0x58 0xA 0x5
CMD_8A 0x59 0x4 0x5
CMD_8A 0x52 0x24 0x5
return


2) mini-recurso sobre bayas/"bery trees" scripting en Emerald


Para empezar, hay la referencia :
#org 0x82742F9
'-----------------------------------
special 0x2C
copyvar 0x8000 0x8004
compare 0x8000 0xFF
if == jump 0x827434F ' Equal To
compare 0x8000 0x0
if == jump 0x8274359 ' Equal To
compare 0x8000 0x1
if == jump 0x82743B1 ' Equal To
compare 0x8000 0x2
if == jump 0x82743C1 ' Equal To
compare 0x8000 0x3
if == jump 0x82743D1 ' Equal To
compare 0x8000 0x4
if == jump 0x82743E1 ' Equal To
compare 0x8000 0x5
if == jump 0x8274421 ' Equal To
end

#org 0x827434F
'-----------------------------------
lockall
message 0x8274744 ' !
showmsg
waitbutton
releaseall
end

#org 0x8274359
'-----------------------------------
lock
faceplayer
special2 LASTRESULT 0x34
compare LASTRESULT 0x1
if == jump 0x8274374 ' Equal To
message 0x82744F0 ' It's soft, loamy soi...
showmsg
waitbutton
release
end

#org 0x8274374
'-----------------------------------
msgbox 0x8274507 ' It's soft, loamy soi...
callstd MSG_YESNO ' Yes/No message
compare LASTRESULT YES
if == jump 0x8274393 ' Equal To
compare LASTRESULT 0x0
if == jump 0x82743AF ' Equal To
end

#org 0x8274393
'-----------------------------------
fadescreen FADEOUT_BLACK
closemsg
special 0x2F
waitspecial
compare 0x800E 0x0
if == jump 0x82743AF ' Equal To
removeitem 0x800E 1
call 0x82744DD
release
end

#org 0x82743AF
'-----------------------------------
release
end

#org 0x82743B1
'-----------------------------------
lockall
special 0x2E
message 0x8274560 ' One \v\h02 was plant...
showmsg
waitbutton
jump 0x827448D

#org 0x827448D
'-----------------------------------
checkitem WAILMERPAIL 1
compare LASTRESULT 0x0
if == jump 0x82744BE ' Equal To
special 0x2D
msgbox 0x82746E4 ' Want to water the \v...
callstd MSG_YESNO ' Yes/No message
compare LASTRESULT YES
if == jump 0x82744C4 ' Equal To
compare LASTRESULT 0x0
if == jump 0x82744BE ' Equal To
releaseall
end

#org 0x82744BE
'-----------------------------------
releaseall
end

#org 0x82744C4
'-----------------------------------
special 0x2D
message 0x8274710 ' \v\h01 watered the \...
showmsg
special 0x33
special 0x61
waitspecial
message 0x8274723 ' The plant seems to b...
showmsg
waitbutton
releaseall
end

#org 0x82743C1
'-----------------------------------
lockall
special 0x2D
message 0x8274579 ' \v\h02 has sprouted.
showmsg
waitbutton
jump 0x827448D

#org 0x82743D1
'-----------------------------------
lockall
special 0x2D
message 0x827458A ' This \v\h02 plant is...
showmsg
waitbutton
jump 0x827448D

#org 0x82743E1
'-----------------------------------
call 0x82743F6
lockall
special 0x2D
message 0x82745AB ' These \v\h02 flowers...
showmsg
waitbutton
jump 0x827448D

#org 0x82743F6
'-----------------------------------
compare 0x8005 0x0
if == jump 0x827441A ' Equal To
compare 0x8005 0x4
if == jump 0x8274413 ' Equal To
storetext 0x1 0x82745E5 ' prettily
return

#org 0x827441A
'-----------------------------------
storetext 0x1 0x82745DE ' cutely
return

#org 0x8274413
'-----------------------------------
storetext 0x1 0x82745CD ' very beautifully
return

#org 0x8274421
'-----------------------------------
storevar 0x1 0x8006
lock
faceplayer
special 0x2E
msgbox 0x82745EE ' You found \v\h03 \v\...
callstd MSG_YESNO ' Yes/No message
compare LASTRESULT YES
if == jump 0x8274448 ' Equal To
compare LASTRESULT 0x0
if == jump 0x8274479 ' Equal To
special 0x31
compare 0x8004 0x0
if == jump 0x8274470 ' Equal To
special 0x15F
special 0x32
message 0x827461B ' \v\h01 picked the \v...
fanfare 0x183
showmsg
waitfanfare
waitbutton
message 0x8274630 ' \v\h01 put away the ...
showmsg
waitbutton
release
end

#org 0x8274448
'-----------------------------------
special 0x31
compare 0x8004 0x0
if == jump 0x8274470 ' Equal To
special 0x15F
special 0x32
message 0x827461B ' \v\h01 picked the \v...
fanfare 0x183
showmsg
waitfanfare
waitbutton
message 0x8274630 ' \v\h01 put away the ...
showmsg
waitbutton
release
end

#org 0x8274470
'-----------------------------------
message 0x827468F ' The BAG's BERRIES PO...
showmsg
waitbutton
release
end

#org 0x8274479
'-----------------------------------
message 0x82746CB ' \v\h01 left the \v\h...
showmsg
waitbutton
release
end

#org 0x82744DD
'-----------------------------------
special 0x30
CMD_C3 0x3
special 0x15E
special 0x2E
message 0x8274535 ' \v\h01 planted one \...
showmsg
waitbutton
return


#org 0x8274744
= !

#org 0x82744F0
= It's soft, loamy soil.

#org 0x8274507
= It's soft, loamy soil.\nWant to plant a BERRY?

#org 0x8274560
= One \v\h02 was planted here.

#org 0x82746E4
= Want to water the \v\h02 with the\nWAILMER PAIL?

#org 0x8274710
= \v\h01 watered the \v\h02.

#org 0x8274723
= The plant seems to be delighted.

#org 0x8274579
= \v\h02 has sprouted.

#org 0x827458A
= This \v\h02 plant is growing taller.

#org 0x82745AB
= These \v\h02 flowers are blooming\n\v\h03.

#org 0x82745E5
= prettily

#org 0x82745DE
= cutely

#org 0x82745CD
= very beautifully

#org 0x82745EE
= You found \v\h03 \v\h02!\pDo you want to pick the\n\v\h02?

#org 0x827461B
= \v\h01 picked the \v\h03 \v\h02.

#org 0x8274630
= \v\h01 put away the \v\h02\nin the BAG's BERRIES POCKET.\pThe soil returned to its soft and\nloamy state.

#org 0x827468F
= The BAG's BERRIES POCKET is full.\pThe \v\h02 couldn't be taken.

#org 0x82746CB
= \v\h01 left the \v\h02\nunpicked.

#org 0x8274535
= \v\h01 planted one \v\h02 in\nthe soft, loamy soil.

Pues, entender a eso necesita entender a los especiales y a lo que hacen.

Entonces, vamos a comprobar en el orden que aparecen :

especiales en el baya-script

De nuevo :
Los especiales en baya-script compraban su [árbol-index] parámetro,
por los parameros del personare (árbol) que tiene el script.
El [árbol-index] es la valor en el "View radius" de Advance map.

También esos especiales inicien a la "biodegradación" de las bayas.

special 0x2C pone :
i) en var 0x8004,
el [crecimiento_estado] de las bayas de [árbol-index]
estados de crecimientos
0xff == "sparkling" (problema con la comprueba)
0x0 == no baya planteada
0x1 == baya planteada en suelo
0x2 == [tige] ha salido del suelo
0x3 == [tige] se ha creciendo
0x4 == el árbol tiene floras
0x5 == hay bayas en el árbol

ii) en var 0x8005
la cantidad de estados de crecimientos ("berry stages") en los que el árbol fuera regado.

iii) en var 0x8006
la cantidad de bayas en el árbol.


special2 LASTRESULT 0x34
comprobá que el entrenador tiene una baya o mas en su inventario.
(LASTRESULT==1 cuando tiene bayas y LASTRESULT==0 cuando tiene ninguna.)


special 0x2F
(uso en scipt)
special 0x2F
waitspecial
compare 0x800E 0x0
elegir baya con 0x800E que guarda et tipo de objecto-baya elegida


special 0x2E :
comproba el typo de baya del arbol, y pone, en \v\h02 :
el texto de este typo de baya,
apandado con " BERRY" o " BERRIES" acordado con en numero de bayas en [arbol index]

special 0x2D :
comproba el typo de baya del arbol, y pone, en \v\h02 :
el texto de este typo de baya.
(y nada mas)


special 0x33
define que el arbol del script fue regado, para el estada que el esta en, de momento.

special 0x61
Hace la sprite-animación del entrenador que regada.
(En script se necesita un "waitspecial" despues de el.)


special 0x31
trae añadír la cantidad de bayas que hay en el árbol del script
y pone la cantidad que fue realmente añadida en la var 0x8004

special 0x15F
Añadí la cantidad en la var 0x8006 a la variable 0x40EA,
variable 0x40EA que se usare para la cantidad de bayas recolectada, en el día.
(Se comprobá por los scripts de la tele, por ejemplo.)
(Nota :
En el contexto del script de bayas analizado,
var 0x8006 guarda la cantidad de bayas en en arbol.)




special 0x32
define el árbol con [arbol-index]) del script como "vació/ceros".
(con el estado "no baya planteada" en particular.)



special 0x30
Plantea, en el baya-index del script, una baya arbol
de baya-typo, que corresponde con el objecto-baya elegida, en var 0x800E


CMD_C3 0x3
CMD_C3 [numero] añadí 1 a la "game stat" [numero]
en esmeralda la "game stat" 0x3 es la cantidad total de bayas planteada desde el inicio.
->Entonces, de resumen, "CMD_C3 0x3" hace :
Añadí 1 a la cantidad (total) de bayas planteada desde el inicio.

special 0x15E :
Añadí 1 a la variable 0x40E9,
variable 0x40E9 que se usare para la cantidad de bayas planteada, en el día.
(De nuevo : Se comprobá por los scripts de la tele, por ejemplo.)
->De resumen :
Añadí 1 a la cantidad de bayas planteada este día.



Con eso, se puede añadir scripts de bayas y arboles
que utilizan a los bayas-datos nativas, como lo quieren.


...
Entonces, por ejemplo, en mi proyecto,
conjunto de hacer "eventos diarios" como en oro/plata,
he decidido tener un script de baya-árbol añadido que funciona casi como en oro/plata.

Voy a incluirlo en este tutorial porque,
siempre hay proyectos que se inspiran por oro/plata/cristal
y quizás este script puede estar de uso a ellos.


Entonces :
3) Aplicación : Hacer un script de baya-árboles diario

#org @start
'-----------------------------------
lock
msgbox @intromessage ' A healthy fruit tree...
callstd MSG_NOCLOSE ' Non-closing message
CMD_2D
checkflag 0x92D ' [un dailyflag / yo elegido 0x92D para los baya-arboles]
if false call 0x827149D ' [dirección de inicializa de bayas]
setflag 0x92D
special 0x2C ' [prueba las características del árbol]
copyvar 0x8000 0x8004
compare 0x8000 0x5 ' [arbol tiene bayas ?]
if != jump @nobaya
storevar 0x1 0x8006 ' [guarda la quantitad de baya, en texto, en \v\h03]
special 0x2E ' [guarda el nombre del typo de baya +" BERRY/BERRIES" en texto, en \v\h02]
msgbox @bayasinfo
callstd MSG_NOCLOSE ' Non-closing message
special 0x31 '[trae dar cantidad de bayas en árbol, guarda realmente añadida en var 0x8004]
compare 0x8004 0x0
if == jump 0x8274470 ' Equal To
special 0x15F ' [Añadí la cantidad en la var 0x8006 a la variable 0x40EA]
special 0x32 ' [define el árbol del script como "vació" (con no baya planteada)]
msgbox 0x900013C ' \v\h01 put away the ...
callstd MSG_NOCLOSE ' Non-closing message
release
' Release commands close any open messages
end



#org @nobaya
'-----------------------------------
msgbox 0x9000128 ' Nothing to harvest.
callstd MSG_NOCLOSE ' Non-closing message
release
' Release commands close any open messages
end

#org 0x8274470
'-----------------------------------
message 0x827468F ' The BAG's BERRIES PO...
showmsg
waitbutton
release
end


#org @intromessage
= A healthy fruit tree.

#org @bayasinfo
= \v\h03 \v\h02\nto harvest.

#org 0x900013C
= \v\h01 put away the \v\h02\nin the BAG's BERRIES POCKET.

#org 0x9000128
= Nothing to harvest.

#org 0x827468F
= The BAG's BERRIES POCKET is full.\pThe \v\h02 couldn't be taken.


Nota :
no se necesita remplazar a todos los bayas arboles de inicio por diarios.
Entonces, también se puede substituir a 0x827149D
por una una dirección mas adelante,
para que el script repite solo a una parte de la lista de bayas del inicio.
(reorganiza sus arboles non-diarios al principio y los diarios después.)



Para el jugador, lo que cambia, compara al sistema oro/plata solo es :
cuando el no tiene espacio en su inventario, comprobar al árbol activa la biodegradación.
Y entonces, en aso que comprobare después que las bayas se han degradado...
(seria 12 horas o mas, dependido del tipo de baya)
Pues, el árbol no tendría bayas hasta que el día cambio.
->Mientras que, en generación 2, el árbol tiene bayas, cada día,
hasta que el jugador puede recolectar al árbol.
...
Pero, esta situación necesita que el jugador tiene 999 bayas del tipo del árbol.
Y, ademas, se necesita que comprobá al árbol a dos veces, separada por 12 horas o mas...

Por fin : Vale !
No es exactamente como oro/plata, pero es casi-casi lo mismo.
y lo que cambio no parece mal, de efecto.



Gracias por su tiempo leyendo y :
Disfruten.
 
Arriba