Registrarse

[Rutinas] FR asm para script de reloj

Estado
Cerrado para nuevas respuestas.

Bugrhak

A long time ago I used to call myself "Subzero".
hola, me gustaría que alguien creara una rutina ASM para que cuando presiones el "boton L" (en fire red), aparezca un msgbox diciendote la hora actuál, con sus respectivos munutos

Yo crearía la rutina, pero mis conocimientos en ASM son de 0% :(

aquí tengo el script que deseo insertar, pueden hacerle algunos cambios para mejorarlo.

Los offset's que tengo libres son: de 870200 en adelante (por si acaso)

Código:
#dnamic 0x800000
#org @inicio
comparefarbytetobyte 0x3005542 0x0
if 0x1 goto @h0
comparefarbytetobyte 0x3005542 0x1
if 0x1 goto @h1
comparefarbytetobyte 0x3005542 0x2
if 0x1 goto @h2
comparefarbytetobyte 0x3005542 0x3
if 0x1 goto @h3
comparefarbytetobyte 0x3005542 0x4
if 0x1 goto @h4
comparefarbytetobyte 0x3005542 0x5
if 0x1 goto @h5
comparefarbytetobyte 0x3005542 0x6
if 0x1 goto @h6
comparefarbytetobyte 0x3005542 0x7
if 0x1 goto @h7
comparefarbytetobyte 0x3005542 0x8
if 0x1 goto @h8
comparefarbytetobyte 0x3005542 0x9
if 0x1 goto @h9
comparefarbytetobyte 0x3005542 0xA
if 0x1 goto @h10
comparefarbytetobyte 0x3005542 0xB
if 0x1 goto @h11
comparefarbytetobyte 0x3005542 0xC
if 0x1 goto @h12
comparefarbytetobyte 0x3005542 0xD
if 0x1 goto @h13
comparefarbytetobyte 0x3005542 0xE
if 0x1 goto @h14
comparefarbytetobyte 0x3005542 0xF
if 0x1 goto @h15
comparefarbytetobyte 0x3005542 0x10
if 0x1 goto @h16
comparefarbytetobyte 0x3005542 0x11
if 0x1 goto @h17
comparefarbytetobyte 0x3005542 0x12
if 0x1 goto @h18
comparefarbytetobyte 0x3005542 0x13
if 0x1 goto @h19
comparefarbytetobyte 0x3005542 0x14
if 0x1 goto @h20
comparefarbytetobyte 0x3005542 0x15
if 0x1 goto @h21
comparefarbytetobyte 0x3005542 0x16
if 0x1 goto @h22
comparefarbytetobyte 0x3005542 0x17
if 0x1 goto @h23
end


#org @h0
msgbox @hora0 MSG_KEEPOPEN '"Es la hora 00"
goto @minutos

'---------------
#org @h1
msgbox @hora1 MSG_KEEPOPEN '"Es la hora 01"
goto @minutos

'---------------
#org @h2
msgbox 0x880471E MSG_KEEPOPEN '"Es la hora 02"
goto @minutos

'---------------
#org @h3
msgbox 0x880472E MSG_KEEPOPEN '"Es la hora 03"
goto @minutos

'---------------
#org @h4
msgbox 0x880473E MSG_KEEPOPEN '"Es la hora 04"
goto @minutos

'---------------
#org @h5
msgbox 0x880474E MSG_KEEPOPEN '"Es la hora 05"
goto @minutos

'---------------
#org @h6
msgbox 0x880475E MSG_KEEPOPEN '"Es la hora 06"
goto @minutos

'---------------
#org @h7
msgbox 0x880476E MSG_KEEPOPEN '"Es la hora 07"
goto @minutos
'---------------
#org @h8
msgbox 0x880477E MSG_KEEPOPEN '"Es la hora 08"
goto @minutos

'---------------
#org @h9
msgbox 0x880478E MSG_KEEPOPEN '"Es la hora 09"
goto @minutos

'---------------
#org @h10
msgbox 0x880479E MSG_KEEPOPEN '"Es la hora 10"
goto @minutos

'---------------
#org @h11
msgbox 0x88047AE MSG_KEEPOPEN '"Es la hora 11"
goto @minutos

'---------------
#org @h12
msgbox 0x88047BE MSG_KEEPOPEN '"Es la hora 12"
goto @minutos

'---------------
#org @h13
msgbox 0x88047CE MSG_KEEPOPEN '"Es la hora 13"
goto @minutos

'---------------
#org @h14
msgbox 0x88047DE MSG_KEEPOPEN '"Es la hora 14"
goto @minutos

'---------------
#org @h15
msgbox 0x88047EE MSG_KEEPOPEN '"Es la hora 15"
goto @minutos

'---------------
#org @h16
msgbox 0x88047FE MSG_KEEPOPEN '"Es la hora 16"
goto @minutos

'---------------
#org @h17
msgbox 0x880480E MSG_KEEPOPEN '"Es la hora 17"
goto @minutos

'---------------
#org @h18
msgbox 0x880481E MSG_KEEPOPEN '"Es la hora 18"
goto @minutos

'---------------
#org @h19
msgbox 0x880482E MSG_KEEPOPEN '"Es la hora 19"
goto @minutos

'---------------
#org @h20
msgbox 0x880487B MSG_KEEPOPEN '"Es la hora 20"
goto @minutos

'---------------
#org @h21
msgbox 0x880488B MSG_KEEPOPEN '"Es la hora 21"
goto @minutos

'---------------
#org @h22
msgbox 0x880489B MSG_KEEPOPEN '"Es la hora 22"
goto @minutos

'---------------
#org @h23
msgbox 0x88048AB MSG_KEEPOPEN '"Es la hora 23"
goto @minutos

'---------------
#org @minutos
comparefarbytetobyte 0x3005543 0x0
if 0x1 goto @min1
comparefarbytetobyte 0x3005543 0x1
if 0x1 goto @min2
comparefarbytetobyte 0x3005543 0x2
if 0x1 goto @min3
comparefarbytetobyte 0x3005543 0x3
if 0x1 goto @min4
comparefarbytetobyte 0x3005543 0x4
if 0x1 goto @min5
comparefarbytetobyte 0x3005543 0x5
if 0x1 goto @min5
comparefarbytetobyte 0x3005543 0x6
if 0x1 goto @min6
comparefarbytetobyte 0x3005543 0x7
if 0x1 goto @min7
comparefarbytetobyte 0x3005543 0x8
if 0x1 goto @min8
comparefarbytetobyte 0x3005543 0x9
if 0x1 goto @min9
comparefarbytetobyte 0x3005543 0xA
if 0x1 goto @min10
comparefarbytetobyte 0x3005543 0xB
if 0x1 goto @min11
comparefarbytetobyte 0x3005543 0xC
if 0x1 goto @min12
comparefarbytetobyte 0x3005543 0xD
if 0x1 goto @min13
comparefarbytetobyte 0x3005543 0xE
if 0x1 goto @min14
comparefarbytetobyte 0x3005543 0xF
if 0x1 goto @min15
comparefarbytetobyte 0x3005543 0x10
if 0x1 goto @min16
comparefarbytetobyte 0x3005543 0x11
if 0x1 goto @min17
comparefarbytetobyte 0x3005543 0x12
if 0x1 goto @min18
comparefarbytetobyte 0x3005543 0x13
if 0x1 goto @min19
comparefarbytetobyte 0x3005543 0x14
if 0x1 goto @min20
comparefarbytetobyte 0x3005543 0x15
if 0x1 goto @min21
comparefarbytetobyte 0x3005543 0x16
if 0x1 goto @min22
comparefarbytetobyte 0x3005543 0x17
if 0x1 goto @min23
comparefarbytetobyte 0x3005543 0x18
if 0x1 goto @min24
comparefarbytetobyte 0x3005543 0x19
if 0x1 goto @min25
comparefarbytetobyte 0x3005543 0x1A
if 0x1 goto @min26
comparefarbytetobyte 0x3005543 0x1B
if 0x1 goto @min27
comparefarbytetobyte 0x3005543 0x1C
if 0x1 goto @min28
comparefarbytetobyte 0x3005543 0x1D
if 0x1 goto @min29
comparefarbytetobyte 0x3005543 0x1E
if 0x1 goto @min30
comparefarbytetobyte 0x3005543 0x1F
if 0x1 goto @min31
comparefarbytetobyte 0x3005543 0x20
if 0x1 goto @min32
comparefarbytetobyte 0x3005543 0x21
if 0x1 goto @min33
comparefarbytetobyte 0x3005543 0x22
if 0x1 goto @min34
comparefarbytetobyte 0x3005543 0x23
if 0x1 goto @min35
comparefarbytetobyte 0x3005543 0x24
if 0x1 goto @min36
comparefarbytetobyte 0x3005543 0x25
if 0x1 goto @min37
comparefarbytetobyte 0x3005543 0x26
if 0x1 goto @min38
comparefarbytetobyte 0x3005543 0x27
if 0x1 goto @min39
comparefarbytetobyte 0x3005543 0x28
if 0x1 goto @min40
comparefarbytetobyte 0x3005543 0x29
if 0x1 goto @min41
comparefarbytetobyte 0x3005543 0x2A
if 0x1 goto @min42
comparefarbytetobyte 0x3005543 0x2B
if 0x1 goto @min43
comparefarbytetobyte 0x3005543 0x2C
if 0x1 goto @min44
comparefarbytetobyte 0x3005543 0x2D
if 0x1 goto @min45
comparefarbytetobyte 0x3005543 0x2E
if 0x1 goto @min46
comparefarbytetobyte 0x3005543 0x2F
if 0x1 goto @min47
comparefarbytetobyte 0x3005543 0x30
if 0x1 goto @min48
comparefarbytetobyte 0x3005543 0x31
if 0x1 goto @min49
comparefarbytetobyte 0x3005543 0x32
if 0x1 goto @min50
comparefarbytetobyte 0x3005543 0x33
if 0x1 goto @min51
comparefarbytetobyte 0x3005543 0x34
if 0x1 goto @min52
comparefarbytetobyte 0x3005543 0x35
if 0x1 goto @min53
comparefarbytetobyte 0x3005543 0x36
if 0x1 goto @min54
comparefarbytetobyte 0x3005543 0x37
if 0x1 goto @min55
comparefarbytetobyte 0x3005543 0x38
if 0x1 goto @min56
comparefarbytetobyte 0x3005543 0x39
if 0x1 goto @min57
comparefarbytetobyte 0x3005543 0x3A
if 0x1 goto @min58
comparefarbytetobyte 0x3005543 0x3C
if 0x1 goto @min59
end


'---------------
#org @min0
msgbox @m1 MSG_NORMAL '"00 minutos"
end

'---------------
#org @min1
msgbox @m1 MSG_NORMAL '"01 minuto"
end

'---------------
#org @min2
msgbox @m2 MSG_NORMAL '"02 minutos"
end

'---------------
#org @min3
msgbox @m3 MSG_NORMAL '"03 minutos"
end

'---------------
#org @min4
msgbox @m4 MSG_NORMAL '"04 minutos"
end

'---------------
#org @min5
msgbox @m5 MSG_NORMAL '"05 minutos"
end

'---------------
#org @min6
msgbox @m6 MSG_NORMAL '"06 minutos"
end

'---------------
#org @min7
msgbox @m7 MSG_NORMAL '"07 minutos"
end

'---------------
#org @min8
msgbox @m8 MSG_NORMAL '"08 minutos"
end

'---------------
#org @min9
msgbox @m9 MSG_NORMAL '"09 minutos"
end

'---------------
#org @min10
msgbox @m10 MSG_NORMAL '"10 minutos"
end

'---------------
#org @min11
msgbox @m11 MSG_NORMAL '"11 minutos"
end

'---------------
#org @min12
msgbox @m12 MSG_NORMAL '"12 minutos"
end

'---------------
#org @min13
msgbox @m13 MSG_NORMAL '"13 minutos"
end

'---------------
#org @min14
msgbox @m14 MSG_NORMAL '"14 minutos"
end

'---------------
#org @min15
msgbox @m15 MSG_NORMAL '"15 minutos"
end

'---------------
#org @min16
msgbox @m16 MSG_NORMAL '"16 minutos"
end

'---------------
#org @min17
msgbox @m17 MSG_NORMAL '"17 minutos"
end

'---------------
#org @min18
msgbox v18 MSG_NORMAL '"18 minutos"
end

'---------------
#org @min19
msgbox @m19 MSG_NORMAL '"19 minutos"
end

'---------------
#org @min20
msgbox @m20 MSG_NORMAL '"20 minutos"
end

'---------------
#org @min21
msgbox @m21 MSG_NORMAL '"21 minutos"
end

'---------------
#org @min22
msgbox @m22 MSG_NORMAL '"22 minutos"
end

'---------------
#org @min23
msgbox @m23 MSG_NORMAL '"23 minutos"
end

'---------------
#org @min24
msgbox @m24 MSG_NORMAL '"24 minutos"
end

'---------------
#org @min25
msgbox @m25 MSG_NORMAL '"25 minutos"
end

'---------------
#org @min26
msgbox @m26 MSG_NORMAL '"26 minutos"
end

'---------------
#org @min27
msgbox @m27 MSG_NORMAL '"27 minutos"
end

'---------------
#org @min28
msgbox @m28 MSG_NORMAL '"28 minutos"
end

'---------------
#org @min29
msgbox @m29 MSG_NORMAL '"29 minutos"
end

'---------------
#org @min30
msgbox @m30 MSG_NORMAL '"30 minutos"
end

'---------------
#org @min31
msgbox @m31 MSG_NORMAL '"31 minutos"
end

'---------------
#org @min32
msgbox 32 MSG_NORMAL '"32 minutos"
end

'---------------
#org @min33
msgbox @m33 MSG_NORMAL '"33 minutos"
end

'---------------
#org @min34
msgbox @m34 MSG_NORMAL '"34 minutos"
end

'---------------
#org @min35
msgbox @m35 MSG_NORMAL '"35 minutos"
end

'---------------
#org @min36
msgbox @m36 MSG_NORMAL '"36 minutos"
end

'---------------
#org @min37
msgbox @m37 MSG_NORMAL '"37 minutos"
end

'---------------
#org @min38
msgbox @m38 MSG_NORMAL '"38 minutos"
end

'---------------
#org @min39
msgbox @m39 MSG_NORMAL '"39 minutos"
end

'---------------
#org @min40
msgbox @m40 MSG_NORMAL '"40 minutos"
end

'---------------
#org @min41
msgbox @m41 MSG_NORMAL '"41 minutos"
end

'---------------
#org @min42
msgbox @m42 MSG_NORMAL '"42 minutos"
end

'---------------
#org @min43
msgbox @m43 MSG_NORMAL '"43 minutos"
end

'---------------
#org @min44
msgbox @m44 MSG_NORMAL '"44 minutos"
end

'---------------
#org @min45
msgbox @m45 MSG_NORMAL '"45 minutos"
end

'---------------
#org @min46
msgbox @m46 MSG_NORMAL '"46 minutos"
end

'---------------
#org @min47
msgbox @m47 MSG_NORMAL '"47 minutos"
end

'---------------
#org @min48
msgbox @m78 MSG_NORMAL '"48 minutos"
end

'---------------
#org @min49
msgbox @m49 MSG_NORMAL '"49 minutos"
end

'---------------
#org @min50
msgbox @m50 MSG_NORMAL '"50 minutos"
end

'---------------
#org @min51
msgbox @m51 MSG_NORMAL '"51 minutos"
end

'---------------
#org @min52
msgbox @m52 MSG_NORMAL '"52 minutos"
end

'---------------
#org @min53
msgbox @m53 MSG_NORMAL '"53 minutos"
end

'---------------
#org @min54
msgbox @m54 MSG_NORMAL '"54 minutos"
end

'---------------
#org @min55
msgbox @m55 MSG_NORMAL '"55 minutos"
end

'---------------
#org @min56
msgbox @m56 MSG_NORMAL '"56 minutos"
end

'---------------
#org @min57
msgbox @m57 MSG_NORMAL '"57 minutos"
end

'---------------
#org @min58
msgbox @m58 MSG_NORMAL '"58 minutos"
end

'---------------
#org @min59
msgbox @m59 MSG_NORMAL '"59 minutos"
end


'---------
' Strings
'---------
#org @hora0
= Es la hora 00

#org @hora1
= Es la hora 01

#org @hora2
= Es la hora 02

#org @hora3
= Es la hora 03

#org @hora4
= Es la hora 04

#org @hora5
= Es la hora 05

#org @hora6
= Es la hora 06

#org @hora7
= Es la hora 07

#org @hora8
= Es la hora 08

#org @hora9
= Es la hora 09

#org @hora10
= Es la hora 10

#org @hora11
= Es la hora 11

#org @hora12
= Es la hora 12

#org @hora13
= Es la hora 13

#org @hora14
= Es la hora 14

#org @hora15
= Es la hora 15

#org @hora16
= Es la hora 16

#org @hora17
= Es la hora 17

#org @hora18
= Es la hora 18

#org @hora19
= Es la hora 19

#org @hora20
= Es la hora 20

#org @hora21
= Es la hora 21

#org @hora22
= Es la hora 22

#org @hora23
= Es la hora 23

#org @m0
= 00 minutos

#org @m1
= 01 minuto

#org @m2
= 02 minutos

#org @m3
= 03 minutos

#org @m4
= 04 minutos

#org @m5
= 05 minutos

#org @m6
= 06 minutos

#org @m7
= 07 minutos

#org @m8
= 08 minutos

#org @m9
= 09 minutos

#org @m10
= 10 minutos

#org @m11
= 11 minutos

#org @m12
= 12 minutos

#org @m13
= 13 minutos

#org @m14
= 14 minutos

#org @m15
= 15 minutos

#org @m16
= 16 minutos

#org @m17
= 17 minutos

#org @m18
= 18 minutos

#org @m19
= 19 minutos

#org @m20
= 20 minutos

#org @m21
= 21 minutos

#org @m22
= 22 minutos

#org @m24
= 23 minutos

#org @m24
= 24 minutos

#org @m25
= 25 minutos

#org @m26
= 26 minutos

#org @m27
= 27 minutos

#org @m28
= 28 minutos

#org @m29
= 29 minutos

#org @m30
= 30 minutos

#org @m31
= 31 minutos

#org 0x@m32
= 32 minutos

#org @m33
= 33 minutos

#org @m34
= 34 minutos

#org @m35
= 35 minutos

#org @m36
= 36 minutos

#org @m37
= 37 minutos

#org @m38
= 38 minutos

#org @m39
= 39 minutos

#org @m40
= 40 minutos

#org @m41
= 41 minutos

#org 42
= 42 minutos

#org @m43
= 43 minutos

#org @m44
= 44 minutos

#org @m45
= 45 minutos

#org @m46
= 46 minutos

#org @m57
= 47 minutos

#org @m48
= 48 minutos

#org @m49
= 49 minutos

#org @m50
= 50 minutos

#org @m51
= 51 minutos

#org @m52
= 52 minutos

#org @m53
= 53 minutos

#org @m54
= 54 minutos

#org @m55
= 55 minutos

#org @m56
= 56 minutos

#org @m57
= 57 minutos

#org @m58
= 58 minutos

#org @m59
= 59 minutos


gracias de antemano :D
 

BLAx501!

A veces comento en temas :3
Miembro de honor
Usuario de Platino
Creo que me ha dado un infarto al ver ese script. Y digo yo: ¿no sería más sencillo copiar los valores de las horas, minutos y segundos en 3 variables diferentes y cargarlas en los buffer para mostrarlos por texto, en lugar de hacer ese tochaco infumable que posiblemente te genere lag en el juego cada vez que lo quieras ejecutar por el número de comparaciones que tiene?

A todo esto, asumo que tienes implementado algún sistema DNS, ¿no?

Por otra parte, no creo que sea necesario escribir una rutina para ello. JPAN creó un special, el 0xCB para ser más exactos, que permite asignar un script a una tecla. Por lo tanto, si aplicas esa parte del Engine con el Hack Applier, podrás lograr el efecto que quieres facilmente.
 

Naren Jr.

Puto amo
Usuario de Platino
Esto no aportará nada al tema, pero ese script esta demasiado largo.

Usa este:

Código:
#dynamic 0x800000

#org @realtimeclock
copybyte 0x020370d0 0x3005542
buffernumber 0x0 0x800D
copybyte 0x020370d0 0x3005543
buffernumber 0x1 0x800D
msgbox @reloj 0x6
release
end

#org @reloj
= El reloj marca las [buffer1]:[buffer2].
Y usa el special que dice @BLAx501! en su mensaje, eso te ayudará.
 

MrNightology

Usuario mítico
Este es el claro ejemplo de cómo NO se debe programar algo.
La mejor forma de hacerlo es almacenando el valor en una variable y luego mostrarla por texto.

Aquí te dejo un ejemplo de cómo almacenar un dato y mostrarlo.
Código:
#dynamic 0x800000
#org @main
setvar 0x8001 0x400          //Almaceno en la variable 8001 el valor 1024(base decimal, 400 en base hexadecimal)
buffernumber 0x00 0x8001     //Almaceno en el buffer 0 la variable anterior
msgbox @text 0x6             //Finalmente invoco al msgbox
end

#org @text
= Variable->Value: [buffer1]
 

eing

Miembro de honor
Miembro de honor
Entro, te digo que ole tus huevos por ese script y me voy.
En serio, es que nadie piensa en los niños?


Pd. Por eso digo, que hay que enseñar a pescar y no darle el pescado todos los dias, porque luego intentan pescar, y la que lian es pardisima.

Pd2: usa el special de jpan como te dicen y asignale el script con los buffer.
 

Bugrhak

A long time ago I used to call myself "Subzero".
@Naren Jr. @Team_Rocket @eing @BLAx501!


Paso a explicar, si, el script es largo y todo, pero lo probé (obiamente) y funciona perfecto
se que el script es largo, ya lo dije, pero si te pones a pensar, lo único que hace es comparar la hora, si es derterminada hora te manda a un "pointer" (creo que eso no es ninguna novedad para ustedes, y supongo que se lo deben de saber de memoria) luego de ese de decirte la hora, compara los minutos, y te manda al pointer del minuto actuál.

Obviamente que cuando lo hice, sabía que iba a ser un script largo, y que era posible que tuviera fallas, de hecho, una de las fallas que encontré cuando lo hice fue que no podía calcular los segundos, porque cuando lo hacía, ahí si se bugeaba debido a que son muvhas cosas que tiene que comparar, así que opté por dejar solo minutos y horas porque así si era posible, ya que no se estaría actualizando todo el rato la comparación de datos como en la de los segundos, porque sería tantos datos para comparar, y como no la da para comparar tan rápido (aunque no subestimo las capacidades de una rom, ni de su velocidad de proceso de datos) ya tendía que comparar el siguiente segundo y no le da para hacerlo tan rápido (creo)
y bueno, con lo que dijo Blax, sobre el sistema DNS, es obio que lo tengo que tener implementado, porque si no lo tubiera, que gracia tendía ponerse a comparar la hora y el minuto, si no está presente el sistema DNS.
Con respecto a implementarle parches "Japan" no es una opción que la considere biable, puesto que puede afectar a alguna otra cosa que ya tenga dentro del rom y además, nunca he experimentado con japan :(.

Con respecto al secipt que hiciste Naren, me podrías explicar como funciona, o lo que hace, lo mísmo para ti Team_Rocket si no es mucho pedir XD

Pues nada, les doy las gracias a todos, pero ¡¡¡que no subestimen mis capacidades "scripteanas", el sicript es un tocho pero mal o bien hace lo que tiene que hacer, si esa no es la forma de programar, pues ya que, nnca miré un tutorial de script's ya que cuando empezaba en esto del rom hacking, el foro no andaba (por la época de los hackers más o menos, además no sabía si existía otro foro además de este :( ) y tuve que agarrar una rom de FR y desglozarla y destrozarla por mi cuenta...

Salu2
 

Naren Jr.

Puto amo
Usuario de Platino
El script que te di solo va a la dirección donde esta el RealTimeClock en la memoria, copia su valor a la variable 800D, luego hace dos buffer, en uno obtiene la hora, y en el otro los minutos, y ya.
 

Bugrhak

A long time ago I used to call myself "Subzero".
El script que te di solo va a la dirección donde esta el RealTimeClock en la memoria, copia su valor a la variable 800D, luego hace dos buffer, en uno obtiene la hora, y en el otro los minutos, y ya.
Pero no nesecito nada de Japan para ello no?
 

BLAx501!

A veces comento en temas :3
Miembro de honor
Usuario de Platino
Si quieres hacer que pulsando una tecla salga la hora no te queda otra que hacerlo con JPAN o hacerte tú una rutina que haga lo mismo. No te va a afectar para nada en la ROM.

En cuanto a lo de mantener tu script kilométrico, no entiendo entonces para qué pones que te demos una mejora del mismo, si vas a mantener que tu método funciona. Claro que funciona, pero a efectos prácticos es malgastar recursos hasta el infinito.

Te voy a poner un ejemplo.

2x5 = 2+2+2+2+2, ¿no?

¿Qué es más cómodo, ir sumando de uno en uno, o tirar de tu facilidad para miltiplicar y hacer el cálculo en un paso?

En realidad te da casi lo mismo porque son pocas sumas, pero... ¿Y si te pongo este ejemplo?

2x4372

¿Vas a hacer 2+2+2+2...+2 las 4372 veces, o vas a tirar del método de multiplicar?

Programando ocurre exactamente igual, así que deberías de cambiar tu forma de pensar en ese aspecto ;)

Espero que hayas entendido lo que te he querido explicar. En resumen, siguiendo lo que te ha dicho @Naren Jr., conseguirás el efecto que buscas sin problema :awesome:
 

MrNightology

Usuario mítico
En cuanto a lo de mantener tu script kilométrico, no entiendo entonces para qué pones que te demos una mejora del mismo, si vas a mantener que tu método funciona. Claro que funciona, pero a efectos prácticos es malgastar recursos hasta el infinito.
Por no hablar de la cantidad de memoria malgastada y del coste cuadrático del script. Ya que comparar cada hora implica tener coste n y a su vez con los minutos lo mismo, por tanto el coste es de O(n²). Mientras que el script que estamos dando tiene coste constante O(1), convirtiéndolo en un algoritmo simple, que es precisamente lo que se debe programar.
 
Última edición:

Bugrhak

A long time ago I used to call myself "Subzero".
@Team_Rocket y @BLAx501!

aclaro un par de cosas:
primero que todo es obvio que pedí ayuda porque la necesitaba ¿no?
(y no hace falta decirlo, mi script lo comprueba)

nunca dije que si o si iba a usar el script que mal o bien logré hacer
y si bien me gustría implementar una rutina asm, no lo puedo hacer porque mis comocimientos en ASM como ya dije son de casi un 0%
con respecto a usar japan, no se que tengo que hacer, si instalar un parche o algo, y su script me sirve mucho más, porque lo puedo poner dentro de un "evento" en mi hack que por ejemplo diga: "no puedes entrar a este lugar pasadas las 13:30 horas" (por decir un ejemplo) y que luego aparezca el "reloj" diciendo la hora actual.
y estoy conciente de que mi script es un tochazo de largo, pero lo hice en base a mis conocimientos, ya que la unica forma que conocia era con la del sistema DNS y también sabia todo el espacio que este usaría, no es nesesario explicarme eso de las multip. y las sumas, eso ya lo se (y agradezco su ayuda).
simplemente no me creo la gran cosa ni mucho menos, solo dije que mi script hacia lo que tenia que hacer, sacando e lado todo lo que ocupa y lo tedioso que fue hacerlo, asi que nada, gracias por sus aportes y su preciada ayuda XD!!!

un abrazo
 

MrNightology

Usuario mítico
también sabia todo el espacio que este usaría, no es nesesario explicarme eso de las multip. y las sumas, eso ya lo se (y agradezco su ayuda).
simplemente no me creo la gran cosa ni mucho menos, solo dije que mi script hacia lo que tenia que hacer, sacando e lado todo lo que ocupa y lo tedioso que fue hacerlo, asi que nada, gracias por sus aportes y su preciada ayuda XD!!!
Igualmente, has entendido de lo que estaba hablando referente al coste de los algoritmos?
 
Estado
Cerrado para nuevas respuestas.
Arriba