Tutorial & Dicas - Tudo sobre Mod Loader (GTA SA)

Post atualizado 11/04/17
Adicionado um resumo no início da seção ".Priority" para facilitar o entendimento do seu uso.
Adicionado dicas na seção "Linhas de comando"
Pequenas outras melhorias.


Mod Loader, atualmente o mod mais querido e usado pelos usuários.

Neste tutorial irei tentar mostrar desde as coisas mais básicas até as mais avançadas que você possivelmente nem imaginava que isso fosse possível. É, Mod Loader não é somente uma pasta onde se coloca mods.

Este tutorial é seguro e de qualidade pois eu (Junior_Djjr) já acompanho o ModLoader desde 2012 e fui um dos principais testers, portanto entendo bem sobre o funcionamento, e o tutorial teve inclusive revisão do LINK/2012, o próprio criador, para evitar eu passar informações erradas à vocês. Portanto pode confiar.



A DOCUMENTAÇÃO É GRANDE
Claro, você não precisa ler tudo, mas tente ler o máximo que puder, pois isto é útil para você.



(abra o post para ler)

ESTA DOCUMENTAÇÃO ESTÁ ATUALIZADA NA VERSÃO V0.3.5 DO MODLOADER




Básicos

Como instalar os mods
"modloader\infernus.txd" - ERRADO
"modloader\.data\infernus.txd" - ERRADO
"modloader\alguma pasta\infernus.txd" - CORRETO
"modloader\alguma pasta\quantas pastas quiser\infernus.txd" - CORRETO

Detalhe: Caso o nome da pasta esteja em russo ou chinês etc e seu PC não seja (quase todos vocês que estão lendo isso são brasileiros, certo?), irá bugar, renomeie as pastas para letras normais e não use "." no início do nome.


Como instalar linhas de leiame/readme
Mod Loader é com certeza um paraíso para os preguiçosos, você pode até mesmo deixar os arquivos .txt com linhas de instalação manual (como por exemplo "instale esta linha no seu handling.cfg") que o Mod Loader irá ler o .txt e instalar a linha para você! Basta deixar o .txt ali dentro de qualquer pasta. (ótimo para instalar veículos!!!)
O limite de tamanho de arquivo .txt para ser lido a partir da versão v0.2.5 é de 60 KBs, acima disso o ModLoader irá ignorar.


Como saber o que o Mod Loader suporta
Mod Loader, atualmente está suportando quase tudo, geralmente você não precisa de preocupar com isso, mas sempre tem exceções, então:
"Modloader\.data\plugins\gta3"
Dentro desta pasta tem arquivos .md, você pode abrir eles com o bloco de notas (botão direito > abrir como).
Abra por exemplo o std.data.md, abaixo uma print traduzida:
(a print foi tirada da versão v0.2.4)
No caso, "fusão" (merge) seria os 2 ou mais arquivos se juntando num só, e "leiame" seria ler e instalar as linhas destes arquivos diretamente de um .txt que geralmente vem ao mod.
Como pode se ver, atualmente o Mod Loader substitui (melhor dizendo, instala/carrega) todos os tipos de arquivos data.

Nos outros arquivos .md têm outros detalhes sobre instalação, vou citar os detalhes importante aqui:


Sobre instalação
Está certo que no Mod Loader tudo o que você tem que fazer é colocar o conteúdo do mod numa pasta, mas em certos casos precisa deixar em formas específicas.
Geralmente você tem que deixar o arquivo dentro da pasta com o caminho da pasta ou arquivo onde vai ele, para assim o Mod Loader saber onde o local correto para instalar, veja:


Instalando mods cleo
O Mod Loader carrega sim mods cleos instalados de qualquer jeito em qualquer pasta, mas é recomendado instalá-los dentro de uma pasta cleo, pois geralmente os mods cleos usam arquivos terceiros, caso esteja fora de uma pasta cleo ele não encontrará os arquivos.
Por exemplo "modloader\nao importa\cleo", assim o mod cleo irá funcionar sem problemas.
(ja foi relatado arquivos como .mp3 não sendo carregados dentro do Mod Loader mesmo que esteja dentro de uma pasta cleo, caso você tenha este problema, instale manualmente na pasta cleo)
Alguns mods vem por exemplo com uma pasta "Audio" fora da pasta cleo com arquivos de som lá dentro, acredite ou não, você pode instalar normalmente estas pastas no Mod Loader que ainda sim o mod cleo encontrará e carregará o arquivo (Mod Loader é mágico, nem acreditei quando LINK/2012 disse isso pra mim).


Instalando arquivos de sprites
Arquivos de sprites são arquivos .txd dentro da pasta "models\txd", geralmente são imagens para scripts, minigames ou loadscreens etc.
Você DEVE instalar estes .txd dentro de uma pasta indicando. No caso: "modloader\algum mod\models\txd", só assim o Mod Loader saberá que aquilo é um .txd de sprites e não de modelos (gta3.img etc).


Instalando arquivos data
Geralmente você pode instalar todos eles de qualquer jeito, mas:

Arquivos decision (.ped/.grp) - Precisam estar dentro de uma pasta "*decision\allowed", por exemplo: "modloader\qualquer nome\decision\allowed".
Arquivos .IDE ou .IPL não originais do jogo (adicionados) - Precisam estar com as linhas de carregamento instaladas (gta.dat).
É recomendado NÃO editar o seu gta.dat original - Para melhor funcionamento da fusão de arquivos gta.dat, deixe sempre o seu "data/gta.dat" totalmente original e coloque novos gta.dat (ou linhas deles) dentro do Mod Loader. Repito: Não edite o seu gta.dat da pasta data! Deixe tudo no Mod Loader. (isso também é recomendado para outros arquivos data e não somente o gta.dat!)

Importante: É recomendado NÃO instalar arquivos handling.cfg, vehicles.ide e outros, pois o Mod Loader não faz fusão de arquivos data com .txt!!!
Vamos supor que você instalou um pack de carros onde vem os arquivos handling.cfg, vehicles.ide, carcols.dat e carmods.dat, agora você quer instalar um novo carro por cima desse pack de carros, assim você deixará o leiame\readme do carro numa pasta para o Mod Loader ler automaticamente as linhas. O problema é que para o Mod Loader, o handling.cfg (e outros arquivos data) sempre terá prioridade maior do que os .txt!
Assim, seja o que for, não será possível usar um handling.cfg ao mesmo tempo de instalar linhas por .txt. Isso com qualquer arquivo data. LINK/2012 me disse que para corrigir isso é complicado, então até a atual versão o "bug" consiste.
Detalhe: Isso só vale para fusões de linhas iguais, no caso de usar gta.dat ou algum .txt com linha pro gta.dat não dá problema, nesse caso o Modloader irá simplesmente adicionar a linha do .txt nos seus gta.dat sem problemas.


Instalando arquivos de IMG's
Qualquer tipo de arquivo que vai dentro de qualquer .img, você pode instalar normalmente também, mas:

Arquivos de novas roupas (adicionadas e não substituídas) precisam estar dentro de uma pasta com nome "player.img", por exemplo: "modloader\qualquer\player.img" (NÃO É ACEITÁVEL "modloader\player.img") e assim adicionar suas roupas dentro desta pasta.
Arquivos nodes#.dat precisam também estar dentro de uma pasta com o nome do .img, como "modloader\qualquer\gta3.img\nodes#.dat" (de novo: não é aceitável "modloader\gta3.img")

Instalar um .img inteiro não é problema também, basta colocar por exemplo um player.img dentro do Mod Loader que tudo será carregado normalmente (se o .img for novo, precisa de linha no gta.dat, o que, de novo, você pode fazer criando um arquivo .txt com a linha ao invés de substituir o seu gta.dat, como explicado na seção "Instalando arquivos data")


Instalando arquivos de áudio
Geralmente os mods de áudio vêm em arquivo já pronto ou vêm separado em pastas para você só colocar no Mod Loader, principalmente porque o Mod Loader corrige os arquivos de áudio deixando-os sem artefatos, então atualmente os mods de sons usam este benefício dele e ao mesmo tempo podem publicar arquivos todos separados para diminuir o peso de download e facilidade na instalação.

De qualquer modo, se você baixou mods de áudio com instalação manual (vindo os arquivos .wav), siga os passos:
"(SFXPak_Name)/Bank_(X)/sound_(Y).wav"
Exemplo:
"modloader/meus sons/GENRL/Bank_007/sound_001.wav"
E assim este arquivo sound_001.wav será instalado no GENRL, no banco 007.
O arquivo de áudio DEVE estar no formato: Mono PCM 16 bits, caso não, use algum programa para converter. (o aviso de que não foi carregado estará dentro do Modloader.log)

Até hoje, o Mod Loader não instala arquivos de música (.ogg de rádios etc), somente instala com os arquivos de música já compilados e não os .ogg separadamente.


Instalando arquivos ASI
Arquivos .asi que necessitam de arquivos adicionais podem causar incompatibilidade (não encontrará os arquivos). Por exemplo vários mods como do Ryosuke839 e Alexander Blade.
Geralmente basta você deixar o .asi no ModLoader (o que é melhor, pois você tem o controle do carregamento do mod), mas os arquivos dele na pasta do seu GTA (fora do ModLoader). Assim o mod será carregado normalmente e encontrará os arquivos necessários. Isto funciona em mods como Bullet / Bullettrace do Ryosuke.
Geralmente o Mod Loader avisa automaticamente um .asi incompatível com uma mensagem na tela ao clicar no .exe do GTA SA.


Instalando arquivos COL
(super importante saber!)
limit adjusters que aumentam o limite de arquivos .COL, mas fui informado pelo LINK/2012 que isso não é nada recomendado, pois estraga o jogo, o Open Limit Adjuster mesmo não tem este aumento de limite por causa disso. Atualização: fastman92 limit adjuster tem como aumentar o limite sem bugar.
ENTÃO COMO INSTALAR .COL SEM BATER O LIMITE?
E eis que entra mais uma vez o Mod Loader:

Coloque o arquivo .col em alguma pasta dentro do Mod Loader, por exemplo: "modloader\alguma pasta\outra\test.col"
Crie um arquivo .txt dentro da pasta "alguma pasta" e dentro dele deixe:
COLFILE 0 outra\test.col
Pronto!
Faça isso com todos os arquivos .col necessários (podem estar tudo na mesma pasta e no mesmo .txt, o .txt é só para simular um leiame)
Em caso de dúvida você pode inclusive dar o caminho inteiro, por exemplo:
COLFILE 0 modloader\alguma pasta\outra\test.col
Nota: Quando bate o limite de .col, dá o crash "0x015632B0" ou "0x0040FB80"(?) (ver Lista de Crash)



Atualização de mods in-game
Mod Loader não atualiza dentro do jogo nenhum tipo de mod de script, por inúmeros motivos. Não é nada bom fazer isso com o jogo, pode causar bugs, crashes, vazamentos de memória etc, então o Mod Loader não faz isso.
Handlings são sim atualizados dentro do jogo (atualização: só são atualizados caso você use o IndieVehHandlings.cs (vem no Tuning Mod, EnhFuncs entre outros mods meus)), parece que não... mas é que na verdade os carros precisam ser recriados para assim eles ganharem o novo handling, portanto, se você está afim de editar um handling sem sair do jogo, você pode, mas a cada atualização terá que spawnar um novo carro pro novo handling ser adicionado nele — e usando o.cs mencionado acima.



Você está com dúvida em instalar um tal arquivo e não encontrou explicações aqui neste post?
Não entre em pânico, instale de qualquer jeito, só listei os tipos de arquivos na qual precisam instalar de forma diferente, todo o resto têm instalação normal sem se preocupar com os nomes das pastas.






Modloader.ini
No arquivo "modloader\modloader.ini" você pode configurar a instalação dos seus mods, é um arquivo extremamente importante e indispensável para você controlar seus mods instalados.

Geralmente dentro deste arquivo pode não ter nenhum texto explicativo caso você já teve o Mod Loader e instalou uma atualização, se você quer os textos explicativos novamente, você pode encontrá-los abrindo o arquivo "modloader\.data\modloader.ini.0" com o bloco de notas, lá dentro terá pequenas explicações, irei explicar melhor aqui:


.Config
Começando pelos básicos.
Embaixo de "[Profiles.Default.Config]" temos:
"IgnoreAllMods" - Coloque "true" para ignorar todos os mods, basicamente irá desativar todo o carregamento de mods.
"ExcludeAllMods" - Coloque "true" para não carregar todos os mods, exceto os listados em ".IncludeMods".
(há mais 2 configurações, falarei na seção "Perfis")


(é indispensável você saber!!!)
Imagine que você tem dois arquivos iguais (mas de mods diferentes) instalados ao mesmo tempo no ModLoader, como funcionará?
O ModLoader carregará um deles baseado na ordem em que o arquivo está, assim muitas vezes não carregando o arquivo que você quer, portanto, você tem que escolher qual dos dois arquivos será carregado. Como escolher? Definindo a "prioridade" no modloader.ini, assim não precisando deletar mods em conflito.

Embaixo de "[Profiles.Default.Priority]" no modloader.ini, você pode colocar o nome das suas pastas seguido de um número indicando a prioridade dela, simples.
Por exemplo:

[Profiles.Default.Priority]
Pack de carros = 10
Novos carros = 20

No exemplo, eu baixei um pack de carros, criei uma pasta "modloader\Pack de carros" e coloquei meu pack de carros ali.
Baixei alguns novos carros que gostei, então eu criei uma pasta "modloader\Novos carros" e instalei meus novos carros lá dentro.
Dentro do modloader.ini eu deixei a pasta "Novos carros" com mais prioridade do que a "Pack de carros", para ela ser carregada "por cima" do Pack de carros, assim "substituindo" os carros do pack pelos novos que baixei (sem mudar nenhum arquivo!). É só isso, deu para entender, né?

Se você não organizar e configurar bem a prioridade de suas pastas dentro do Modloader, você possivelmente verá bugs como: Bug dos carros, pedestres ou objetos aparecendo brancos (muito comum), onde ficar branco quer dizer: falta de textura, que quer dizer: .TXD errado ou faltando, pois por exemplo o Mod Loader carregou um .DFF de um mod mas com um .TXD de outro. Também como texturas erradas (bagunçadas, bugadas) e até mesmo você instalar um mod e ver nenhum efeito, pois um outro mod está "substituindo" o seu novo mod.
Além de outros problemas incontáveis, portanto, ao ver problemas em mods que substituem o mesmo arquivo que outro mod também substitui, aumente a prioridade da pasta de um mod ou então abaixe a prioridade da pasta de outro. Ou faça manualmente: Delete os arquivos de um dos mods. Ou até mesmo renomeie o nome da pasta colocando um número na frente para mudar a ordem de carregamento. Ou continue lendo as próximas seções abaixo para desativar mods no modloader.ini

Aproveitando: Packs de carros geralmente vêm com arquivos .cfg, .ide e .dat, recomendo você ler a parte "Importante" ali em cima, na seção "Instalando arquivos data" para não ter problemas com handling não carregando.

Os números da prioridade vão de 1 a 100, usar 0 faz a pasta não ser carregada. Todas as pastas têm padrão "50", sendo assim, se você marcar uma pasta com prioridade em "40", ela será carregada "embaixo" de todas as pastas na qual não estão com prioridade alguma, pois as que não têm prioridade no .ini, são consideradas com prioridade "50".

Fácil, não? Se não entendeu algo, releia devagar.


.IgnoreFiles
Embaixo de "[Profiles.Default.IgnoreFiles]" você pode colocar os nomes dos arquivos na qual você não quer carregar (assim carregando o arquivo original do GTA SA.
Por exemplo:

[Profiles.Default.IgnoreFiles]
vehicle.txd

E assim nenhum vehicle.txd dentro do seu Mod Loader será carregado (irá usar o vehicle.txd da pasta "models/generic".

Fácil, não?


.IgnoreMods
Embaixo de "[Profiles.Default.IgnoreMods]" você pode colocar os nomes das pastas para não serem carregadas
Por exemplo:

[Profiles.Default.IgnoreMods]
Carros

E assim a pasta "Carros" não será carregada.

Fácil, não?


.IncludeMods
Embaixo de "[Profiles.Default.IncludeMods]" você coloca o nome das pastas na qual você quer que carregue quando estiver usando "ExcludeAllMods = true" em "[Profiles.Default.Config]", assim, todos os mods não serão desativados e somente os mods listados embaixo de .IncludeMods serão carregados.


.ExclusiveMods
Embaixo de "[Profiles.Default.ExclusiveMods]" você coloca os nomes das pastas na qual você quer que carregue somente no atual perfil, e não nos outros. (explicarei sobre Perfis logo!)
EXTREMAMENTE ÚTIL PARA CONVERSÕES TOTAIS.
Basta criar um perfil e colocar o nome da pasta da Conversão Total ai embaixo e estará feito, assim quando você ativar o seu perfil (como dito antes aqui neste tutorial), o Mod Loader irá carregar somente a pasta com a conversão total. Se não está com o tal perfil ativo, o Mod Loader não irá carregar a conversão total.
Assim você pode juntar .ExclusiveMods e colocar o nome da pasta da sua TC, e colocar embaixo de .IncludeMods as pastas que você quer que seja carregada junto com a TC.
Lembre-se que as conversões totais pode ter arquivos não compatíveis com o Mod Loader, geralmente ela vem com uns .dll e .asi que você precisa deletar entre outras coisas.
Para mais informações e explicações: Clique aqui para ver uma wiki de como instalar conversões totais e ver quais são ou não compatíveis com ele


Glob
Antes de falar sobre perfis, saiba que você pode também usar glob no modloader.ini
Isso cria tantas, mas tantas possibilidades que é impossível citar tudo neste post.
Clique aqui para uma página (pequena) na Wikipedia (Português)
Clique aqui para uma página (bem completa) na Wikipedia (Inglês)
Tudo listado ai funciona no Mod Loader (exceto os [], por compatibilidades de nomes)

Alguns exemplos para vocês terem noção:

[Profiles.Default.IgnoreFiles]
*.ifp

Não irá carregar nenhum arquivo .ifp



[Profiles.Default.IgnoreMods]
?car

Não irá carregar as pastas com nome "carro" ou "car" ou "scarface" etc


[Profiles.Default.IgnoreMods]
exemplo/*

Não irá carregar os arquivos nesta pasta:
"modloader/alguma coisa/exemplo"
Mas irá carregar nesta:
"modloader/alguma coisa/exemplo/coisa"


[Profiles.Default.IgnoreMods]
exemplo/**

(Isso não está listado no Wikipedia mas também é suportado)
"modloader/alguma coisa/exemplo/coisa/outra coisa"
Não irá carregar nem a pasta "exemplo" e nem nenhuma dentro dela. Só irá carregar a pasta "alguma coisa"

etc etc etc etc


Perfis
(ótimo para usar no SAMP ou Conversões Totais!)
Ainda no modloader.ini, você pode criar perfis e ter vários GTA num só!!
É isso mesmo, você pode criar conjuntos de mods no mesmo GTA, ótimo para várias situações, principalmente conversões totais ou SA-MP.

Embaixo de "[Folder.Config]" você tem "Profile = Default", onde "Default" é o perfil padrão que já vem no Mod Loader
Como pode se ver no .ini, você tem um monte de ".Default", como "[Profiles.Default.Priority]", onde este "Default" é o nome do perfil da tal configuração.
(o nome do perfil não é case sensitive, pode por exemplo usar "default" ou "DEFAULT" que tanto faz)

Vamos usar um exemplo simples:
(na print acima eu usei o Notepad++ pra ficar mais bonito, claro, é a mesma coisa usando Bloco de Notas)

Aqui eu configurei para usar o perfil "PackDeCarros", onde nele eu configurei o .ExcludeMods para excluir todos os mods do carregamento exceto o "ECG Vehicle TXD" onde eu também o aumentei para prioridade 100 e deixei a pasta "90s atmosphere vehicles pack" como exclusivo (a pasta só ser carregada neste perfil).

E ali em outro canto eu configurei um outro perfil chamado "JogoLeve", onde eu adicionei configurações que fazem não carregar uma enb series e um pack de vegetação.

(se você ainda não leu ali em cima onde começa a seção "Modloader.ini", leia para aprender a configurar o perfil!)


Então, basta eu trocar ali em cima o "Profile = PackDeCarros" para "Profile = JogoLeve" que eu irei deixar de ter o pack de carros, enb series e pack de vegetação...

Viu? Não é dificíl, basta usar um pouco de raciocínio e se sentir livre.

Pasta .Profiles
Um outro modo de fazer isso (um modo mais organizado), é criar um arquivo .ini dentro da pasta "modloader\.profiles" (o nome do .ini lá dentro não importa mas por organização é legal usar o mesmo nome do perfil né).
Dentro do tal .ini, coloque as configurações do perfil como mostrado na print acima (exceto a parte onde diz ao jogo qual perfil usar, no caso "[Folder.config]")
Assim, dentro do seu "modloader\modloader.ini" coloque o nome do perfil que você quer usar, normalmente...
Em outras palavras, a pasta ".profile" só serve para organizar e não precisar colocar todas as configurações de todos os perfis dentro do modloader.ini, você escolhe como fazer (eu prefiro usar a pasta).

Mais configurações:
Embaixo de "[Profile.NomeDoPerfil.Config]" você também pode usar a configuração "Parent" (pai) seguido do nome dos perfis separados em vírgulas. Assim as configurações dos outros perfis impostos irão se juntar neste perfil atual (para não precisar ficar copiando configurações de outros perfis).
Você pode usar "$Current" para o perfil atualmente setado no modloader.ini, ou $None para não usar Parents.

Você também pode incluir a configuração "UseIfModule", onde você coloca o nome de um .exe ou .dll, caso ele estiver carregado, o jogo irá usar este perfil.
Por exemplo:
"UseIfModule = SAMP"
(na print acima eu usei o Notepad++ pra ficar mais bonito, claro, é a mesma coisa usando Bloco de Notas)

E assim quando você abrir o GTA usando o SAMP, irá usar este perfil!
E como visto, este perfil irá desativar um pack de carros, usar exclusivamente o samp graphic restore e as configurações pai (Parent) são pegas do perfil "Default", onde lá eu deixei as configurações gerais.

(mais informações em "modloader\.data\Profiles.md")


Config.ini
Localizado na pasta "modloader\.data"

(true = ativa, false = desativa)
AutoRefresh | Ativar/desativar a atualização automática dos mods. (caso desativar, use a tecla de recarregamento)
EnableLog | Ativar/desativar o .log.
EnableMenu | Ativar/desativar o menu de mods dentro do jogo.
EnablePlugins | Ativar/desativar os plugins dele.
ImmediateFlushLog | Ativar/desativar o envio imediato do log ao disco.
MaxLogSize | Tamanho máximo do .log (em Bytes)
RefreshKey | Tecla de recarregamento (virtual key), por padrão é 115 (F4)



Linhas de comando
Você pode usar até linhas de comando no .exe do GTA!

-mod nome | Fazer tal mod ser carregado (pode usar várias vezes)
-modprof nome | Especificar um perfil à ser usado.
-nomods | Desativar os mods
-mod nome = prioridade | Setar prioridade para algum tal mod

(mais informações em "modloader\.data\Command Line Arguments.md")

Exemplo:
Crie um atalho para o .exe do seu GTA, coloque o em qualquer lugar desejado (na área de trabalho ou na mesma pasta do GTA etc)
Clique com o botão direito no atalho, vai em Propriedades, na guia Atalho, em Destino terá o caminho do .exe fechado com aspas duplas " (se não tem aspas, coloque-as)
Coloque a linha de comando na frente (depois) das aspas, ficando por exemplo assim:
"D:\Documents\GTA San Andreas\gta_sa_compact.exe" -nomods
Pronto, quando você abrir este atalho o seu GTA irá carregar sem nenhum mod. (-nomods)
ou então:
"D:\Documents\GTA San Andreas\gta_sa_compact.exe" -modprof PackDeCarros
Que irá carregar o GTA usando o perfil "PackDeCarros" que mostrei ali em cima

(para adicionar vários comandos, é só colocar tudo em seguida um do outro normalmente)

Legal, não?

Dicas:
Isso acima é muito legal para usar em conversões totais, perceba, você pode criar um atalho exclusivo para abrir o jogo com a conversão total!

Eu já fiz coisa do tipo, criei um atalho configurado para abrir "sem mods" (fazendo carregar somente os mods necessários como Widescreen Fix e Improved Fastloader) incluindo uma pasta exclusiva na qual serão carregados os mods para ele, assim, quando um mod não funcionava no jogo com vários mods, eu instalava o mod nesta tal pasta e abria o jogo por aquele atalho configurado, e testava, via que funcionava, voltava e procurava qual dos mods deu incompatibilidade e tal. Foi muito útil para testar mods para postar no blog.








Escrito por Junior_Djjr