SaveInstance API

SaveInstance limpo, direto e documentado.

ImprovedUniversalSynSaveInstance é uma versão personalizada para salvar instâncias com opções claras, aliases compatíveis e modos de exportação configuráveis.

quick start lua
local Params = {
  RepoURL = "https://raw.githubusercontent.com/henrq-crdso/ImprovedUniversalSynSaveInstance/main/",
  SSI = "saveinstance",
}

local synsaveinstance = loadstring(
  game:HttpGet(Params.RepoURL .. Params.SSI .. ".luau", true), Params.SSI)()

local Options = { SafeMode = true, DecompileTimeout = 15, SaveBytecode = false }

synsaveinstance(Options)

API

A função principal recebe uma tabela de opções, uma lista de instâncias ou uma instância com configurações adicionais.

01

Options

Tabela principal com opções de save, segurança, scripts, aliases e comportamento do arquivo final.

02

Modes

Use full, optimized ou scripts. Modo inválido pode ser usado para salvar apenas ExtraInstances.

03

Object export

Permite salvar uma instância específica como modelo ou lugar, dependendo das opções usadas.

Uso

Exemplos minimalistas para os cenários mais comuns.

saveinstance(options)

yields

Salva instâncias com as opções definidas na tabela Options.

local Options = { SafeMode = true, FilePath = "MeuArquivo", mode = "optimized", Decompile = true }

synsaveinstance(Options)

saveinstance(object, options)

object

Salva uma instância específica. Quando Object é usado, o modo optimized não é recomendado.

local Options = { FilePath = "WorkspaceExport", Object = workspace, IsModel = false, mode = "full" }

saveinstance(instances, options)

extra

Salva uma lista específica de instâncias como ExtraInstances.

local Options = {
  workspace.Map,
  game.ReplicatedStorage.Assets,
}, {
  FilePath = "SelectedInstances",
  mode = "invalid",
  IsModel = true,
}

Opções

Principais opções suportadas pela tabela Options. Os nomes são case-insensitive.

Execução e segurança

core
__DEBUG_MODEfalseMostra logs de debug para cenários incomuns.
ReadMetrueInclui arquivo ou informações auxiliares quando suportado.
SafeModetrueUsa fluxo de proteção antes de salvar.
KillAllScriptstrueInterrompe scripts durante o processo quando ativado.
BoostFPSfalseReduz carga visual para melhorar desempenho durante a exportação.
ShutdownWhenDonefalseFecha ou encerra o ambiente quando o processo termina.
AntiIdletrueEvita desconexão por inatividade durante processos longos.
ShowStatustrueExibe progresso/status durante o save.

Arquivo e modo

output
mode"optimized"Modos válidos: full, optimized e scripts.
FilePathfalseNome ou caminho do arquivo, sem extensão.
AvoidFileOverwritetrueEvita sobrescrever arquivo existente.
CallbackfalseEnvia os dados serializados para uma função em vez de gravar em arquivo.
SaveCacheInterval0x1600 * 10Controla frequência de salvamento de cache.
AlternativeWritefiletrueDivide a escrita em partes usando appendfile quando disponível.

Scripts

scripts
DecompiletrueTenta processar scripts quando o ambiente e a permissão permitem.
scriptcachetrueReutiliza cache para scripts duplicados.
DecompileTimeout10Limite de tempo para processamento de cada script.
DecompileJoblessfalseInclui conteúdo já disponível sem iniciar novos trabalhos.
SaveBytecodefalseInclui bytecode no output quando suportado.
DecompileIgnore{TextChatService}Ignora scripts ou classes específicas durante o processamento.
IgnorePropertiesOfNotScriptsOnScriptsModefalseNo modo scripts, ignora propriedades de objetos que não são scripts.

Instâncias e filtros

instances
IgnoreList{CoreGui, CorePackages}Remove instâncias por referência, ClassName ou ClassName + Name.
ExtraInstances{}Lista de instâncias extras para salvar.
IgnoreProperties{}Ignora propriedades pelo nome.
ObjectfalseSalva uma instância específica como modelo ou lugar.
IsModelfalseDefine saída como modelo quando Object é usado.
NilInstancesfalseInclui instâncias sem Parent quando disponíveis.
NilInstancesFixestableCorreções para classes específicas em NilInstances.
IgnoreDefaultPropertiestrueRemove propriedades iguais ao padrão.
IgnoreNotArchivabletrueSalva instâncias mesmo quando Archivable está desativado.
IgnoreSpecialPropertiesfalseEvita chamadas a propriedades especiais e usa fallback.

Players e isolamento

players
IsolateStarterPlayerfalseSalva StarterPlayer em pasta separada.
IsolatePlayersfalseSalva Players em pasta separada.
IsolateLocalPlayerfalseSalva LocalPlayer em pasta separada.
IsolateLocalPlayerCharacterfalseSalva o Character do LocalPlayer separadamente.
SavePlayerCharactersfalseControla se personagens de jogadores entram no arquivo.
IgnoreDefaultPlayerScriptstrueIgnora scripts padrão de player para reduzir crashes.

Compatibilidade

advanced
SaveNotCreatablefalseInclui instâncias não serializáveis como Folder quando necessário.
NotCreatableFixestableMapeia classes não criáveis para classes substitutas.
IgnoreSharedStringstrueIgnora SharedStrings para evitar crashes em alguns ambientes.
SharedStringOverwritefalsePermite sobrescrever SharedStrings para reduzir tamanho em alguns casos.
TreatUnionsAsPartsfalseConverte UnionOperations para Parts quando leitura de unions falha.
AnonymousfalseTenta limpar dados como Name e UserId do arquivo final.

Aliases

Aliases são resolvidos antes das opções principais. Alguns aliases invertem booleanos.

OptionsAliases

alias
Alias Opção real
timeoutDecompileTimeout
FileNameFilePath
IgnoreArchivableIgnoreNotArchivable
IgnoreDefaultPropsIgnoreDefaultProperties
InstancesBlacklistIgnoreList
SaveLocalPlayerIsolateLocalPlayer
IsolatePlayerGuiIsolateLocalPlayer
SavePlayerGuiIsolateLocalPlayer
SavePlayersIsolatePlayers
SaveNonCreatableSaveNotCreatable
SaveCharactersSavePlayerCharacters

OptionsAliasesInverse

inverse
Alias Opção real
noscriptsDecompile
RemovePlayersIsolatePlayers
RemovePlayerCharactersSavePlayerCharacters