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

Save automático não funciona

Iniciado por andrewzoka, 20/06/2017 às 02:38

Citação de: Corvo online 21/06/2017 às 08:59
Citação de: fraphael online 20/06/2017 às 23:29
De qqr forma posta o script de auto save, vai ver o erro esta nele, não está chamando certo o DataManager

Ele não está utilizando um script de autosave, apenas o comando direto pelo "Chamar Script".

Então  Acho que é só trocar a index... colocar 1 no lugar do 0 pra ter certeza

Citação de: fraphael online 21/06/2017 às 09:15
Citação de: Corvo online 21/06/2017 às 08:59
Citação de: fraphael online 20/06/2017 às 23:29
De qqr forma posta o script de auto save, vai ver o erro esta nele, não está chamando certo o DataManager

Ele não está utilizando um script de autosave, apenas o comando direto pelo "Chamar Script".

Então  Acho que é só trocar a index... colocar 1 no lugar do 0 pra ter certeza

Tentei isso também, sem sucesso   :hm:

Harus Game is coming.
https://www.indiexpo.net/pt/games/harus
© 2020 copyright.

Salvar "manual" funciona? Se sim tenta salvar e depois insere esse comando pra tentar o autosave
DataManager.save_game(DataManager::last_savefile_index)
Ele vai tentar salvar no último slot salvo... se não funcionar reinstala que pode ser zica e pode estragar seu projeto

09/07/2017 às 13:18 #18 Última edição: 09/07/2017 às 13:29 por Corvo
Para o pessoal que estiver com essa mesma dúvida, eu achei a solução. Há uma incompatibilidade de "Khas Awesome Light Effects" com qualquer tipo de auto-save, seja manualmente ou por script que façam todo o trabalho. Eis aqui a solução que o próprio Khas conseguiu.
Coloquem estes scripts exatamente nesta ordem:

Autosave (v 1.0.0) - Todd - http://centrorpg.com/index.php?topic=5536.0
Khas Core Library - http://arcthunder.blogspot.com.br/p/kcl.html
Awesome Light Effects - http://arcthunder.blogspot.com.br/p/scripts.html
E abaixo desses scripts, coloque esta correção:

module SceneManager
  
  def self.dispose_kale
    if @scene.is_a?(Scene_Map)
      @scene.spriteset.dispose_lights
    else
      @stack.reverse.each do |s|
        if s.is_a?(Scene_Map)
          s.spriteset.dispose_lights
          return
        end
      end
    end
  end
  
  def self.restore_kale
    if @scene.is_a?(Scene_Map)
      @scene.spriteset.setup_lights
    else
      @stack.reverse.each do |s|
        if s.is_a?(Scene_Map)
          s.spriteset.setup_lights
          return
        end
      end
    end
  end
  
end


module Autosave
  
  def self.call
    SceneManager.dispose_kale
    DataManager.save_game_without_rescue($game_variables[ToddAutoSaveAce::MAXFILES])
    SceneManager.restore_kale
  end
  
end


Percebe-se que no script da correção, você vai encontrar isso:

module ToddAutoSaveAce

	  #Max files (without autosave).
	  MAXFILES = 1

	  #Autosave file name.
	  AUTOSAVEFILENAME = "Autosave"

	  #Autosave before battle?
	  AUTOSAVEBB =  false

	  #Autosave when menu opened?
	  AUTOSAVEM =  false

	  #Autosave when changing map?
	  AUTOSAVETM =  true
	end


Aqui você escolhe se quer salvar seu jogo automaticamente depois das batalhas, ao abrir o menu ou com troca de mapa. Basta chamar um único comando no meio do jogo: Autosave.call. Pode chamar em processo paralelo ou somente uma vez. (Que eu lembre, chamando uma única vez esse comando já funciona para o resto do jogo. Mas na dúvida, coloque em cada mapa em processo paralelo. Testem aí.

Em:
  #Max files (without autosave).
	  MAXFILES = 1

É o máximo de saves que o personagem pode ter.

Aqui está uma DEMO, pra quem preferir: https://www.mediafire.com/?36ww3wks6uwfo3u

Espero que isso ajude muita gente que estava tendo esse problema, para mim foi um alívio!

Harus Game is coming.
https://www.indiexpo.net/pt/games/harus
© 2020 copyright.