Module Autoreload!
Mas o que esse script faz?
Simples ele mostra a localização de onde ficarão seus script em ruby, e carregará eles caso haja algum script novo inserido ou retirado.
É como se fosse um Edit and Play só que para Script's, alguns não funcionam como os que modificam o title mas sistemas in game são totalmente compatíveis.
É um script experimental que estou adaptando para tornar possível Script in Server
Quem nunca criou um script e quiz que o nunca fosse desencriptado? esse scrip é um passo para que futuramente seja possivel lançar os Games e caso sejam desencriptados não perderem ou darem sistemas que vocês mesmos criaram.
Passo a Passo:
Primeiro instale o Ruby:
:Cliqueaqui:
Depois cole esse scrip assima do Main:
- Spoiler:
module Autoreload
SCRIPT_PATH = "C:/Ace"
CONSOLE_NAME = "console.rb"
WAIT_TIME = 60 # espera 60 frames (1 segundo)para checar se algo mudou
@counter = 0
def self.reload!
@counter += 1
path = "C:/Ace/*.rb" # Local onde será carregado os Scripts
Dir[path].each do |file|
require file
end
if @counter == WAIT_TIME
@counter = 0
else
return
end
@scripts ||= read_all_scripts
new_scripts = read_all_scripts
@scripts.each_with_index do |script, index|
name = script[:filename]
case name
when CONSOLE_NAME
handle_console
when script[:source] != new_scripts[index][:source] && !__FILE__.include?(name)
puts "reloading #{name}"
load_script(name)
end
end
@scripts = new_scripts
end
def self.read_all_scripts
Dir[SCRIPT_PATH + "/*.rb"].map do |file|
{filename: File.basename(file), source: File.read(file)}
end
end
def self.load_script(filename)
load File.join(SCRIPT_PATH, filename)
end
def self.handle_console
path = File.join(SCRIPT_PATH, CONSOLE_NAME)
begin
load path
rescue => e
puts "Console error: #{e.message}"
end
File.open(path, "w") { |console| console.write("") }
end
end
class Scene_Base
alias_method :autoreload_update_orig, :update
def update
Autoreload.reload!
autoreload_update_orig
end
end
na linha SCRIPT_PATH = "C:/Ace" se não me engano a primeira do script você define em que pasta ficarão seus scripts.
Agora definida a pasta você precisa de outro script mais em Ruby,
dentra da pasta que você estipulou descomprima esses arquivos:
Arquivos nescessários:
:Cliqueaqui:
Cole esse arquivo na pasta que você estipulou SCRIPT_PATH ="PASTA"
Dentro da pasta descomprima o console.rar
vai ficar assim:
- Spoiler:
nescessário finalizar com extensão .rb
veja o exemplo
- Spoiler:
Exemplo:
- Spoiler:
Imagem muito grande clique aqui para ve-la
Para verificar se o script foi carregado add essa linha antes do scrip que você criar:
puts "nomedoscrip carregado" que ele vai aparecer no seu console do VXACE.
@Edit= Você ainda pode manipular seus scripts abrindo o irb dentro da pasta console ele abrirá uma janela cmd que modifica diretamente seus script's in game temporariamente:
Exemplo:
depois de iniciado no mapa vá na tela do irc e digite SceneManager.call(Scene_Title)
ele voltará para o titulo do game.
Bom é isso pessoal.
Créditos ao Berka criador e a min por trazer o sistema e fazer o tutorial.
@editado como o Marlos Pediu. favor destrancar os outros para modifica-los
Última edição por Komuro Takashi em Seg Jun 18, 2012 11:20 am, editado 1 vez(es)