Atualizado 29/10/18
Não teve grandes mudanças, mas disseram que um mod não funcionou na versão anterior e foi necessário baixar a nova, portanto achei importante deixar o blog atualizado.
Agora é possível instalar mods em .lua no GTA San Andreas!
Desde 2017 os mods de script para GTA San Andreas podem ser criados em Lua, uma programação simples porém muito poderosa.
(curiosidade: Lua é uma programação criada por brasileiros, a princípio, para ser usada num projeto da Petrobras).
Lua é uma linguagem fácil de aprender, e uma das mais famosas linguagens de scripting do mundo, inclusive muito utilizada na criação de jogos (Angry Birds, Far Cry, Street Fighter IV, Tibia, WoW, Metal Gear Solid V...), portanto, é extremamente fácil encontrar tutoriais, dúvidas respondidas, códigos e sistemas prontos etc, assim como não tem limites de programação (comparado aos mods CLEOs) e até debug incorporado.
MoonLoader foi criado pelos caras da Blast Hack (os mesmos do s0beit) e mesmo sendo uma coisa "nova" ainda em fase beta, já está muito estável.
MoonLoader tem várias vantagens comparadas com a Livraria Cleo e muitas vezes pode servir como substituição.
(curiosidade: Lua é uma programação criada por brasileiros, a princípio, para ser usada num projeto da Petrobras).
Lua é uma linguagem fácil de aprender, e uma das mais famosas linguagens de scripting do mundo, inclusive muito utilizada na criação de jogos (Angry Birds, Far Cry, Street Fighter IV, Tibia, WoW, Metal Gear Solid V...), portanto, é extremamente fácil encontrar tutoriais, dúvidas respondidas, códigos e sistemas prontos etc, assim como não tem limites de programação (comparado aos mods CLEOs) e até debug incorporado.
MoonLoader foi criado pelos caras da Blast Hack (os mesmos do s0beit) e mesmo sendo uma coisa "nova" ainda em fase beta, já está muito estável.
MoonLoader tem várias vantagens comparadas com a Livraria Cleo e muitas vezes pode servir como substituição.
"Finalmente, depois de 10 anos de CLEO dominando a cena de GTA scripting, alguém conseguiu lançar um projeto competidor (não contando o plugin-sdk, muito complexo se você não é um guru de C++)" — Diz Seemann, criador da CLEO e Sanny Builder.
Destaques
- MoonLoader usa LuaJIT — Um compilador just-in-time para Lua e a engine de script mais rápida;
- FFI — É uma biblioteca incorporada no LuaJIT, fornece interface direta entre Lua e memória de processo e dá capacidade para chamar diretamente funções na memória, acessar estruturas de dados, passar funções Lua para memória e até mesmo escrever em Assembly com DynASM de Lua puro. E, como todos sabem, tudo isso é uma parte importante no game modding;
- Gestão de scripts — O sistema de gerenciamento de scripts permite obter informações sobre scripts e manipular a execução deles;
- Não é necessário compilação — Os scripts podem ser compilados, mas não é necessário, e se o script for open source, todos os usuários podem editá-lo sem qualquer preparação;
- Handling de erro — O MoonLoader lida com tantos erros quanto possível. Se UM script CLEO morre devido a um erro, todo o jogo morre, mas se o um script Lua morrer devido a um erro - ele apenas imprime o erro no log e interrompe a execução do script;
- Sem dependências — as únicas duas coisas necessárias são um ASI Loader e a versão 1.0US do GTA San Andreas;
- Compatível com SA-MP — MoonLoader pretende ser compatível com ambos jogo single player e SA-MP;
- Eventos — Acompanhe tais eventos, como começar um novo jogo, mensagens de janelas, sair do jogo, parar o script, etc;
- Atom como um IDE oficial — O Atom é um excelente editor de código, é moderno e completamente personalizável. MoonLoader tem seu próprio pacote para o Atom para fornecer auto-completação inteligente, pesquisa de função e realce de erro. O Notepad++ também possui suporte oficial do MoonLoader. Se você não gosta do Atom por algum motivo, você pode escolher qualquer editor de texto, até mesmo o bloco de notas padrão. Realmente não há requisitos para nenhuma ferramenta especial;
- Carregamento no estágio inicial — Os scripts do Lua carregam logo após o início do jogo, mas há duas etapas de carregamento: o "estágio de inicialização" logo após o lançamento do jogo e o "estágio ativo" quando o jogo é carregado;
- Sistema de save game separado — Sistema de salvamento do jogo baseado em eventos permite controlar quando o jogador inicia um novo jogo, carrega um jogo ou o salva
- Comunicação Inter-Script - os scripts podem trocar dados e interagir uns com os outros através do recurso de importação de exportação (não é a função padrão de "require");
- Threads de script síncronas — Os segmentos de script tornam a multitarefa síncrona muito mais fácil;
- Bibliotecas padrão — A distro inclui algumas bibliotecas padrão com as ferramentas comuns de desenvolvimento;
- E, claro, um monte de novas funções.
FAQ:
"Isso quer dizer que é possível utilizar scripts do MTA no Singleplayer?"
- Não. O MTA tem seu próprio sistema, sua própria API de renderização e tudo mais, a única semelhança é de que usam a mesma linguagem de programação. As possibilidades são diferentes, e o que o MTA faz pode ser feito na CLEO, no plugin-sdk ou seja onde for, isso não tem nada relacionado com a linguagem Lua. No entanto, há planos para implementar uma API de renderização no futuro, assim podendo utilizar shaders, mas isso pode causar algumas incompatibilidades de mods.
"Isso quer dizer que o que antes não era possível de se fazer no GTA SA, agora será?"
- Não necessariamente. Tudo sempre foi possível, assim como os mods .asi (principalmente junto com plugin-sdk) já são o cúmulo das possibilidades. O que o MoonLoader nos trás é simplesmente a possibilidade de programar mods na programação Lua (o que .asi era basicamente somente C++). No entanto, criar mods Lua pro MoonLoader é mais simples do que criar em .asi e mais poderoso do que mods cleos, assim como já vem várias funções úteis prontas que descomplicam vários trabalhos quase impossíveis em cleo.
A instalação dos mods lua é simplesmente colocando os arquivos na pasta "moonloader". Não é compatível com instalação por ModLoader.
Todos os mods .lua postados aqui na DG terá um aviso nas descrições dos posts sobre a necessidade de usar o MoonLoader.
Autores: FYP, hnnssy, EvgeN 1137
Agradecimentos especiais: DK22Pac, MISTER_GONWIK, 4el0ve4ik, EXPORT, Garrus, CLEO
Tamanho: 1.5 MB (manual) / 1.7 MB (instalador)
MoonLoader — Instalação manual
é só ter o Silent Asi Loader e extrair os arquivos para a pasta do seu GTA SA