Página 1 de 3

Change Time (Mudar Horas/Minutos/Dia da semana/Dia/Mês/Clima)

Enviado: 23 Abr 2018, 20:42
por Israel
Atualizado
  • Corrigida a tela piscando ao alterar o clima - 15/01/19;
  • Removida a possibilidade de colocar dia 31 em meses de 30 e 29 (Causava bugs) - 15/01/19;
  • Opção de cancelar mudanças pressionando DELETE - 28/04/18;
  • Agora tudo é alterado imediatamente enquanto edita (Sugerido por @ThePedro004) - 28/04/18;
  • Agora é possível alterar o clima (Sugerido por @ThePedro004) - 27/04/18;
  • Arquivo .INI para alterar o comando e idioma (Sugerido por @Mike) - 27/04/18.

​​Um mod simples que fiz porque precisava de algo assim.
Talvez seja útil pra mais alguém:
Imagem

Digite "CLOCK" (Editável em .INI) para ativar;
Use LEFT/RIGHT ←→ para alternar entre horas, minutos, dia da semana, dia, mês e clima;
Use UP/DOWN ↑ ↓ para mudar;
Aperte ENTER para confirmar ou DELETE para cancelar.

DOWNLOAD
SourceAbrir

Código: Selecionar tudo

{$Cleo}
if 8AF4: 16@v = read_string_from_ini_file "Cleo\change_time.ini" section "Main" key "Cheat"
then
    16@v = "Clock"
end

if 8AF4: 20@s = read_string_from_ini_file "Cleo\change_time.ini" section "Main" key "Language"
then
    20@s = 'PT'
end

10@ = 23 // max hours
11@ = 59 // ~ minutes
12@ = 6  // ~ weekday

if 20@s == 'EN'
then
    22@ = @WeekDays
    28@ = @Weathers
    23@ = 1
    24@ = 0
    13@ = 12 // max month
    14@ = 31 // max day
    0ADF: add_dynamic_GXT_entry "_CT_HPM" text "Press ENTER to confirm~n~Press DELETE to cancel"
else
    22@ = @DiasDaSemana
    28@ = @Climas
    23@ = 0
    24@ = 1
    13@ = 31 // max day
    14@ = 12 // max month
    0ADF: add_dynamic_GXT_entry "_CT_HPM" text "Pressione ENTER para confirmar~n~Pressione DELETE para cancelar"
end

15@ = 20 // max weather

while true
    wait 0

    0ADC:   test_cheat 16@v
    jf continue

    Player.CanMove(0, false)
    0512: show_permanent_text_box '_CT_HPM'

    0253: save_current_time

    00BF: 3@ = current_time_hours, 4@ = current_time_minutes
    07D0: 5@ = weekday
    0835: get_month_day_to 6@(23@,1i) get_month_to 6@(24@,1i)
    0A8D: 8@ = read_memory 0x00C81320 size 2 vp 0 // CWeather::OldWeatherType
    30@ = 0
    5@--

    0AC6: 31@ = label @Data offset
    0A8C: write_memory 31@ size 1 value 5@ vp 0
    31@++
    0A8C: write_memory 31@ size 2 value 8@ vp 0

    repeat
        wait 0

        0AB1: call_scm_func @GetValue 2 arr 22@ index 5@ -> 9@
        0AB1: call_scm_func @GetValue 2 arr 28@ index 8@ -> 26@
        0AB1: call_scm_func @GetValue 2 arr @Formats index 30@ -> 0@

        0AD1: show_formatted_text_highpriority 0@ time 200 hours 3@ minutes 4@ weekday 9@ day_or_month 6@ month_or_day 7@ weather 26@

        if 0AB0:   key_pressed 0x25 // VK_LEFT
        then
            if 30@ > 0
            then 30@--
            else 30@ = 5
            end
        end

        if 0AB0:   key_pressed 0x27 // VK_RIGHT
        then
            if 30@ < 5
            then 30@++
            else 30@ = 0
            end
        end

        0A8E: 13@(23@,1i) = 0x008CCF23 + 6@(24@,1i)
        0A8D: 13@(23@,1i) = read_memory 13@(23@,1i) size 1 vp 0

        if and
        10@(30@,1i) == 12
        001D: 6@(23@,1i) > 13@(23@,1i)
        then
            0085: 6@(23@,1i) = 13@(23@,1i)
        end

        if 0AB0:   key_pressed 0x26 // VK_UP
        then
            if 802D: 3@(30@,1i) < 10@(30@,1i)
            then 3@(30@,1i)++
            else
                if or
                30@ == 3
                30@ == 4
                then 3@(30@,1i) = 1
                else 3@(30@,1i) = 0
                end
            end
        end

        if 0AB0:   key_pressed 0x28 // VK_DOWN
        then
            if or
            30@ == 3
            30@ == 4
            then 29@ = 1
            else 29@ = 0
            end

            if 001D: 3@(30@,1i) > 29@
            then 3@(30@,1i)--
            else 0085: 3@(30@,1i) = 10@(30@,1i)
            end
        end

        if 0AB0:   key_pressed 0x2E // VK_DELETE
        then
            0254: restore_current_time

            0AC6: 31@ = label @Data offset
            0A8D: 5@ = read_memory 31@ size 1 vp 0
            31@++
            0A8D: 8@ = read_memory 31@ size 2 vp 0

            0A8E: 31@ = 5@ + 1
            0A8C: write_memory 0x00B7014E size 1 value 31@ vp 0 // CClock::CurrentDay
            set_weather 8@

            break
        end

        0A8E: 31@ = 5@ + 1
        00C0: set_current_time 3@ 4@
        0A8C: write_memory 0x00B7014E size 1 value 31@ vp 0        // CClock::CurrentDay
        0A8C: write_memory 0x00B70154 size 1 value 6@(23@,1i) vp 0 // CClock::ms_nGameClockDays
        0A8C: write_memory 0x00B70155 size 1 value 6@(24@,1i) vp 0 // CClock::ms_nGameClockMonth
        set_weather 8@

        for 31@ = 0x25 to 0x28
            while 0AB0:   key_pressed 31@
                wait 0
            end
        end
    until 0AB0:   key_pressed 0x0D // VK_RETURN

    Player.CanMove(0, true)
    03E6: remove_text_box
end

:GetValue
0AC6: 0@ = label 0@ offset

if 1@ > 0
then
    for 2@ = 1 to 1@
        repeat
            0A8D: 3@ = read_memory 0@ size 1 vp 0
            0@++
        until 3@ == 0
    end
end

0AB2: ret 1 0@

:Data
hex
00    // weekday
00 00 // weather
end

:Formats
hex
"~y~%02i~s~:%02i - %s - %02i/%02i - %s" 00 // hours
"%02i:~y~%02i~s~ - %s - %02i/%02i - %s" 00 // minutes
"%02i:%02i - ~y~%s~s~ - %02i/%02i - %s" 00 // weekday
"%02i:%02i - %s - ~y~%02i~s~/%02i - %s" 00 // day
"%02i:%02i - %s - %02i/~y~%02i~s~ - %s" 00 // month
"%02i:%02i - %s - %02i/%02i - ~y~%s" 00    // weather
end

:WeekDays
hex
"Sunday" 00
"Monday" 00
"Tuesday" 00
"Wednesday" 00
"Thursday" 00
"Friday" 00
"Saturday" 00
end

:DiasDaSemana
hex
"Domingo" 00
"Segunda" 00
"Terca" 00
"Quarta" 00
"Quinta" 00
"Sexta" 00
"Sabado" 00
end

:Weathers
hex
"ExtraSunny - LA" 00
"Sunny - LA" 00
"ExtraSunny Smog - LA" 00
"Sunny Smog - LA" 00
"Cloudy - LA" 00
"Sunny - SF" 00
"ExtraSunny - SF" 00
"Cloudy - SF" 00
"Rainy - SF" 00
"Foggy - SF" 00
"Sunny - Vegas" 00
"ExtraSunny - Vegas" 00
"Cloudy - Vegas" 00
"ExtraSunny - CountrySide" 00
"Sunny - CountrySide" 00
"Cloudy - CountrySide" 00
"Rainy - CountrySide" 00
"ExtraSunny - Desert" 00
"Sunny - Desert" 00
"SandStorm - Desert" 00
"Underwater" 00
end

:Climas
hex
"Muito Sol - LA" 00
"Sol - LA" 00
"Muito Sol e Nuvens - LA" 00
"Sol e Nuvens - LA" 00
"Nublado - LA" 00
"Sol - SF" 00
"Muito Sol - SF" 00
"Nublado - SF" 00
"Chovendo - SF" 00
"Nevoento - SF" 00
"Sol - Vegas" 00
"Muito Sol - Vegas" 00
"Nublado - Vegas" 00
"Muito Sol - Rural" 00
"Sol - Rural" 00
"Nublado - Rural" 00
"Chovendo - Rural" 00
"Muito Sol - Deserto" 00
"Sol - Deserto" 00
"Tempestade de Areia" 00
"Subaquatico" 00
end

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 23 Abr 2018, 23:13
por Junior_Djjr
Isso vai ser muito bom para entender melhor as diferenças que o jogo faz.
Aparentemente o jogo tem diferentes possibilidades de chuva em diferentes meses. Há pessoas que o jogo nunca chove no tal jogo salvo, e isso pode ser causado pelo mês.
Outra evidência é: quantas vezes choveu durante as primeiras missões do jogo? O jogo inicia num mês não chuvoso.

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 11:54
por Mike
Gostei muito do mod mas vc poderia mudar o comando ? O normal tá CLOCK, mas eu queria mudar pra DATA e o dia da semana ficar em português também, será que tem como ?

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 11:55
por Junior_Djjr
Mike escreveu: Gostei muito do mod mas vc poderia mudar o comando ? O normal tá CLOCK, mas eu queria mudar pra DATA e o dia da semana ficar em português também, será que tem como ?
https://www.mixmods.com.br/2017/03/in-g ... -mods.html

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 12:01
por Nex'
Boa sacada essa de selecionar o que quer mudar :peepo6:

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 12:08
por Israel
Mike escreveu: Gostei muito do mod mas vc poderia mudar o comando ? O normal tá CLOCK, mas eu queria mudar pra DATA e o dia da semana ficar em português também, será que tem como ?
Você já enviou a mesma mensagem por PM.  :serious:

Você pode usar o mod que o @Junior_Djjr enviou acima para mudar o comando, mas eu vou editar o mod e colocar um arquivo .INI pra escolher o comando e idioma. Faz até mais sentido escolher o idioma por causa do formato da data.
Nex' escreveu: Boa sacada essa de selecionar o que quer mudar :peepo6:
:peepo2:

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 12:19
por Nex'
Ou cê pode pegar o formato do próprio Windows :daora:

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 12:24
por Um_Geek
Simples e útil

Visualmente simples para o usuário, mas deve ter uma complexidade para tornar tão fácil de usar.

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 12:30
por Junior_Djjr
Um_Geek escreveu: Visualmente simples para o usuário, mas deve ter uma complexidade para tornar tão fácil de usar.
Exato.

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 12:54
por Israel
Nex' escreveu: Ou cê pode pegar o formato do próprio Windows :daora:
Faz sentido. :philo:
Um_Geek escreveu: Simples e útil

Visualmente simples para o usuário, mas deve ter uma complexidade para tornar tão fácil de usar.
Nem tanto.  :herp:
ThePedro004 escreveu: seria dahora colocar uma opção pra mudar o clima também.
+rep
Realmente seria interessante. Vou ver se faço.  :philo:

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 13:02
por EduzumakiRtD
Boa  :daora:

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 14:09
por Mike
Israel escreveu:
Mike escreveu: Gostei muito do mod mas vc poderia mudar o comando ? O normal tá CLOCK, mas eu queria mudar pra DATA e o dia da semana ficar em português também, será que tem como ?
Você já enviou a mesma mensagem por PM. :serious:

Você pode usar o mod que o @Junior_Djjr enviou acima para mudar o comando, mas eu vou editar o mod e colocar um arquivo .INI pra escolher o comando e idioma. Faz até mais sentido escolher o idioma por causa do formato da data.
Foi mal pelo PM e muito obrigado agora ficou perfeito.  :orly:

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 14:21
por Israel
EduzumakiRtD escreveu: Boa :daora:
:daora:
Mike escreveu:
27 Abr 2018, 14:09
Foi mal pelo PM e muito obrigado agora ficou perfeito.  :orly:
De nada.  :herp:


Não sei como eu coloco os climas em português, minha tradução fica zuada pra esses nomes.
Em inglês ficou assim:

Código: Selecionar tudo

EXTRASUNNY LA
SUNNY LA
EXTRASUNNY SMOG LA
SUNNY SMOG LA
CLOUDY LA
SUNNY SF
EXTRASUNNY SF
CLOUDY SF
RAINY SF
FOGGY SF
SUNNY VEGAS
EXTRASUNNY VEGAS
CLOUDY VEGAS
EXTRASUNNY COUNTRYSIDE
SUNNY COUNTRYSIDE
CLOUDY COUNTRYSIDE
RAINY COUNTRYSIDE
EXTRASUNNY DESERT
SUNNY DESERT
SANDSTORM DESERT
UNDERWATER
Fonte

Adicionado após 1 minuto 50 segundos:
Esses nomes estão corretos ?

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 14:23
por ceec
Não da pra definir o nome simplesmente olhando para o clima in game?

Mudar Data/Hora/Dia da semana/Dia/Mês

Enviado: 27 Abr 2018, 15:07
por Junior_Djjr
ceec escreveu: Não da pra definir o nome simplesmente olhando para o clima in game?
Complica demais, vários são muito parecidos.

E sim, esses são os nomes oficiais da Rockstar (timecyc.dat).