O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Duvida sobre tempo de jogo (VX Ace)

Iniciado por Runes, 06/04/2018 às 19:21

06/04/2018 às 19:21 Última edição: 06/04/2018 às 21:20 por Corvo
Olá galera! boa noite!

Bem, aqui venho de novo com minhas dúvidas hahaha. Mas enfim... é possivel resetar o tempo de jogo por algum comando? na realidade eu utilizo menu e tela de titulos por eventos... oq significa que se vc volta a tela de titulo, o tempo de jogo continua rodando, ou seja, vai sempre acumulando se por acaso alguém volta e vai em novo jogo, a contagem de tempo q aparece na scene de save vai acusar, oq vai ficar claramente estranho... ent se houver algum me avisem!

Agradeço u.u
Existem diversos caminhos para o mesmo destino, trilhe o seu com cuidado...

Quando você seleciona um novo jogo a variável que salva o tempo de jogo é recriada para o novo arquivo, se a sua não está reiniciando tem coisa errada. Instalou algum script que modifique o sistema? De toda forma você pode precisar de um reparo.

06/04/2018 às 19:35 #2 Última edição: 06/04/2018 às 19:50 por Runes
Citação de: Corvo online 06/04/2018 às 19:32
Quando você seleciona um novo jogo a variável que salva o tempo de jogo é recriada para o novo arquivo, se a sua não está reiniciando tem coisa errada. Instalou algum script que modifique o sistema? De toda forma você pode precisar de um reparo.

Sim, para fazer a tela de titulo por eventos, tive que pegar um script q "impede" o jogo de iniciar na tela de titulo padrão, fazendo ele iniciar no primeiro mapa que o personagem se encontra... por esse motivo queria saber se existe algum comando que possa resetar o tempo.
Existem diversos caminhos para o mesmo destino, trilhe o seu com cuidado...

Qual script você está usando para essa função? Existem uns seis.  :derp:

Citação de: Corvo online 06/04/2018 às 19:49
Qual script você está usando para essa função? Existem uns seis.  :derp:

Um bem simples na verdade. Esse:

#=======================================================
#         Script de Pular Title
# Autor: Raizen
# Comunidade: www.centrorpgmaker.com
# O script fará com que vá direto ao primeiro mapa do jogo,
# útil para criar Titles feitas por eventos.
#=======================================================

class Scene_Title < Scene_Base
  def start
    super
    DataManager.setup_new_game
    fadeout_all
    $game_map.autoplay
    SceneManager.goto(Scene_Map)
  end
  def dispose_background
  end
  def dispose_foreground
  end
end
Existem diversos caminhos para o mesmo destino, trilhe o seu com cuidado...

Olha, na verdade foi burrice minha perguntar, não faz diferença então me desculpe. No seu evento de novo jogo inclua isso no finalzinho:
Fiber.yield while $game_message.visible
screen.start_fadeout(30)
wait(30)
DataManager.setup_new_game
SceneManager.goto(Scene_Map)

Tudo dentro do mesmo chamar script. Não testei, qualquer coisa avise.

Citação de: Corvo online 06/04/2018 às 19:56
Olha, na verdade foi burrice minha perguntar, não faz diferença então me desculpe. No seu evento de novo jogo inclua isso no finalzinho:
Fiber.yield while $game_message.visible
screen.start_fadeout(30)
wait(30)
DataManager.setup_new_game
SceneManager.goto(Scene_Map)

Tudo dentro do mesmo chamar script. Não testei, qualquer coisa avise.

Sem problemas! provavelmente funcionaria... eu testei esse comando tbm copiei ele do "DataManager". acabei de testar dnv para ver se dava certo, mas esse comando está dando incompatibilidade com um dos scripts, O "Khas awesome light effects" está dando erro na linha 970.

fala : "Script 'Khas Awesome Light Effects' line 970: NoMethodError occurred. undefined method 'bipmap' for nil:NilClass" (Sim fiquei com preguiça de dar uploud na img hahaha)

Se quiser o script te mando, só n postei aqui pq os direitos autorais dele impedem re-postagem :v.

Existem diversos caminhos para o mesmo destino, trilhe o seu com cuidado...

O Khas é outro que não colabora com compatibilidade.  :=|:


As duas primeiras linhas do código que mandei são o fade out padrão do Ace, incompatível com o código do Khas. Corte-as e substitua pelo código de fade out dele. Isto é, se você ainda não tiver usado o mesmo no seu evento. Se já tiver, corte as linhas do mesmo jeito e tente novamente.

Citação de: Corvo online 06/04/2018 às 20:19
O Khas é outro que não colabora com compatibilidade.  :=|:


As duas primeiras linhas do código que mandei são o fade out padrão do Ace, incompatível com o código do Khas. Corte-as e substitua pelo código de fade out dele. Isto é, se você ainda não tiver usado o mesmo no seu evento. Se já tiver, corte as linhas do mesmo jeito e tente novamente.

Qual o código de fade out dele? Sim, n costumo mexer no script dele, só em ultimo caso, pq qlq alteração boba pode dar um erro que me custará o projeto hahaha(Oq já aconteceu antes... ent morro de medo). De qlq maneira tbm testei o comando "DataManager.setup_new_game" sozinho por via das duvidas, o que tbm causa incompatibilidade, ai segui o evento até o DataManager e lendo ele n consigo imaginar oq causa a incompatibilidade:

def self.setup_new_game
    create_game_objects
    $game_party.setup_starting_members
    $game_map.setup($data_system.start_map_id)
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    $game_player.refresh
    Graphics.frame_count = 0


Vale lembrar que n sei o comando de fade do Khas :v ent n testei com ele...
Existem diversos caminhos para o mesmo destino, trilhe o seu com cuidado...

O comando o script de iluminação é:
s = $game_map.effect_surface
s.change_color(120,0,0,0,200)

Resumindo a situação, estamos tentando fazer uma bela gambiarra só pra resetar o valor de uma variável. Se não funcionar, esqueça tudo o que eu disse e use isso:
Edit: Corrigindo:
Graphics.frame_count = 0


Citação de: Corvo online 06/04/2018 às 20:53
O comando o script de iluminação é:
s = $game_map.effect_surface
s.change_color(120,0,0,0,200)


Ah, era a esse que vc se referia... bem esse eu já testei (N imaginava q era o de fade out...) pensei que existia algum comando mais especifico para o fade out kkk perdoe a nubisse .-. (Ainda fiquei meia hora re-lendo o script hahaha)

Citação de: Corvo online 06/04/2018 às 20:53
Resumindo a situação, estamos tentando fazer uma bela gambiarra só pra resetar o valor de uma variável. Se não funcionar, esqueça tudo o que eu disse e use isso:
$game_system.playtime_s = 0


Bem esse deu erro no "Game_interpreter"

"Script ''Game_Interpreter' line 1414: NoMethodError occurred. undefined method playtime_s=' for
#< Game_System:0xdbc9690>

Ai tentei colocar com Dois "="

Ficando assim:

$game_system.playtime_s == 0


Oq n deu erro algum, porém n resetou o tempo de jogo :/

Existem diversos caminhos para o mesmo destino, trilhe o seu com cuidado...

Sim,corrigi o comentário ali, mas não foi em tempo pra tu ver:
Graphics.frame_count = 0

É um '=' mesmo. Usa-se dois apenas quando você está perguntando se algo é igual.

06/04/2018 às 21:16 #12 Última edição: 06/04/2018 às 21:20 por Runes
Citação de: Corvo online 06/04/2018 às 21:13
Sim,corrigi o comentário ali, mas não foi em tempo pra tu ver:
Graphics.frame_count = 0

É um '=' mesmo. Usa-se dois apenas quando você está perguntando se algo é igual.

Entendido hahaha, sim dps que postei eu vi ;-; . Anyway, agradeço mt Cara!!! esse deu certo, resetou o tempo ^^. Posso perguntar em qual script se encontra esse comando?

Sim, só havia testado com dois pq queria um fio de esperança...

Obrigadão !!!

De qlq maneira está resolvido u.u
Existem diversos caminhos para o mesmo destino, trilhe o seu com cuidado...



Essa é uma das variáveis do Game_System que define o tempo de jogo. O método começa na linha 101:

  def playtime
    Graphics.frame_count / Graphics.frame_rate
  end