Change Time (Mudar Horas/Minutos/Dia da semana/Dia/Mês/Clima)
Enviado: 23 Abr 2018, 20:42
Atualizado
Um mod simples que fiz porque precisava de algo assim.
Talvez seja útil pra mais alguém:
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
- 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:
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