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: [email protected] = read_string_from_ini_file "Cleo\change_time.ini" section "Main" key "Cheat"
then
    [email protected] = "Clock"
end

if 8AF4: [email protected] = read_string_from_ini_file "Cleo\change_time.ini" section "Main" key "Language"
then
    [email protected] = 'PT'
end

[email protected] = 23 // max hours
[email protected] = 59 // ~ minutes
[email protected] = 6  // ~ weekday

if [email protected] == 'EN'
then
    [email protected] = @WeekDays
    [email protected] = @Weathers
    [email protected] = 1
    [email protected] = 0
    [email protected] = 12 // max month
    [email protected] = 31 // max day
    0ADF: add_dynamic_GXT_entry "_CT_HPM" text "Press ENTER to confirm~n~Press DELETE to cancel"
else
    [email protected] = @DiasDaSemana
    [email protected] = @Climas
    [email protected] = 0
    [email protected] = 1
    [email protected] = 31 // max day
    [email protected] = 12 // max month
    0ADF: add_dynamic_GXT_entry "_CT_HPM" text "Pressione ENTER para confirmar~n~Pressione DELETE para cancelar"
end

[email protected] = 20 // max weather

while true
    wait 0

    0ADC:   test_cheat [email protected]
    jf continue

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

    0253: save_current_time

    00BF: [email protected] = current_time_hours, [email protected] = current_time_minutes
    07D0: [email protected] = weekday
    0835: get_month_day_to [email protected]([email protected],1i) get_month_to [email protected]([email protected],1i)
    0A8D: [email protected] = read_memory 0x00C81320 size 2 vp 0 // CWeather::OldWeatherType
    [email protected] = 0
    [email protected]

    0AC6: [email protected] = label @Data offset
    0A8C: write_memory [email protected] size 1 value [email protected] vp 0
    [email protected]++
    0A8C: write_memory [email protected] size 2 value [email protected] vp 0

    repeat
        wait 0

        0AB1: call_scm_func @GetValue 2 arr [email protected] index [email protected] -> [email protected]
        0AB1: call_scm_func @GetValue 2 arr [email protected] index [email protected] -> [email protected]
        0AB1: call_scm_func @GetValue 2 arr @Formats index [email protected] -> [email protected]

        0AD1: show_formatted_text_highpriority [email protected] time 200 hours [email protected] minutes [email protected] weekday [email protected] day_or_month [email protected] month_or_day [email protected] weather [email protected]

        if 0AB0:   key_pressed 0x25 // VK_LEFT
        then
            if [email protected] > 0
            then [email protected]
            else [email protected] = 5
            end
        end

        if 0AB0:   key_pressed 0x27 // VK_RIGHT
        then
            if [email protected] < 5
            then [email protected]++
            else [email protected] = 0
            end
        end

        0A8E: [email protected]([email protected],1i) = 0x008CCF23 + [email protected]([email protected],1i)
        0A8D: [email protected]([email protected],1i) = read_memory [email protected]([email protected],1i) size 1 vp 0

        if and
        [email protected]([email protected],1i) == 12
        001D: [email protected]([email protected],1i) > [email protected]([email protected],1i)
        then
            0085: [email protected]([email protected],1i) = [email protected]([email protected],1i)
        end

        if 0AB0:   key_pressed 0x26 // VK_UP
        then
            if 802D: [email protected]([email protected],1i) < [email protected]([email protected],1i)
            then [email protected]([email protected],1i)++
            else
                if or
                [email protected] == 3
                [email protected] == 4
                then [email protected]([email protected],1i) = 1
                else [email protected]([email protected],1i) = 0
                end
            end
        end

        if 0AB0:   key_pressed 0x28 // VK_DOWN
        then
            if or
            [email protected] == 3
            [email protected] == 4
            then [email protected] = 1
            else [email protected] = 0
            end

            if 001D: [email protected]([email protected],1i) > [email protected]
            then [email protected]([email protected],1i)--
            else 0085: [email protected]([email protected],1i) = [email protected]([email protected],1i)
            end
        end

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

            0AC6: [email protected] = label @Data offset
            0A8D: [email protected] = read_memory [email protected] size 1 vp 0
            [email protected]++
            0A8D: [email protected] = read_memory [email protected] size 2 vp 0

            0A8E: [email protected] = [email protected] + 1
            0A8C: write_memory 0x00B7014E size 1 value [email protected] vp 0 // CClock::CurrentDay
            set_weather [email protected]

            break
        end

        0A8E: [email protected] = [email protected] + 1
        00C0: set_current_time [email protected] [email protected]
        0A8C: write_memory 0x00B7014E size 1 value [email protected] vp 0        // CClock::CurrentDay
        0A8C: write_memory 0x00B70154 size 1 value [email protected]([email protected],1i) vp 0 // CClock::ms_nGameClockDays
        0A8C: write_memory 0x00B70155 size 1 value [email protected]([email protected],1i) vp 0 // CClock::ms_nGameClockMonth
        set_weather [email protected]

        for [email protected] = 0x25 to 0x28
            while 0AB0:   key_pressed [email protected]
                wait 0
            end
        end
    until 0AB0:   key_pressed 0x0D // VK_RETURN

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

:GetValue
0AC6: [email protected] = label [email protected] offset

if [email protected] > 0
then
    for [email protected] = 1 to [email protected]
        repeat
            0A8D: [email protected] = read_memory [email protected] size 1 vp 0
            [email protected]++
        until [email protected] == 0
    end
end

0AB2: ret 1 [email protected]

: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:35
por ThePedro004
seria dahora colocar uma opção pra mudar o clima também.
+rep

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:19
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?