Servidores de Jogos

Introdução ao Lua para MTA:SA

Introdução ao Lua para MTA:SA

Os scripts do MTA:SA são escritos em Lua, uma linguagem leve, simples de aprender e muito usada em jogos. Este guia mostra o essencial para você começar.

Variáveis

local nome = "João"         -- texto (string)
local dinheiro = 5000       -- número
local vip = true            -- booleano
local nada = nil            -- ausência de valor

Use sempre local: variáveis globais ficam acessíveis a todo o resource e podem causar conflitos.

Tabelas

A estrutura de dados do Lua — funciona como lista e como dicionário:

local precos = { pistola = 1500, fuzil = 8000 }
print(precos.pistola)        -- 1500

local lista = { "Ana", "Bruno", "Carla" }
print(lista[1])              -- Ana (Lua começa do índice 1!)
print(#lista)                -- 3 (tamanho)

Funções

local function somar(a, b)
    return a + b
end

print(somar(2, 3))  -- 5

Condicionais

if dinheiro >= 1000 then
    print("Pode comprar")
elseif dinheiro > 0 then
    print("Dinheiro insuficiente")
else
    print("Sem dinheiro")
end

Operadores: == (igual), ~= (diferente), and, or, not.

Loops

for i = 1, 5 do
    print(i)
end

for chave, valor in pairs(precos) do
    print(chave, valor)
end

for indice, nome in ipairs(lista) do
    print(indice, nome)
end

Juntando textos

local msg = "Olá, " .. nome .. "! Você tem $" .. dinheiro

Seu primeiro script de MTA

Crie um resource ola, com o meta.xml:

<meta>
    <info author="Voce" name="Ola" version="1.0" type="script" />
    <script src="server.lua" type="server" />
</meta>

E o server.lua:

addEventHandler("onPlayerJoin", root, function()
    outputChatBox("Olá, " .. getPlayerName(source) .. "! Bem-vindo(a).", source, 0, 255, 100)
end)

addCommandHandler("dinheiro", function(jogador)
    outputChatBox("Você tem $" .. getPlayerMoney(jogador), jogador)
end)

No console: refresh e start ola. Entre no servidor e digite /dinheiro.

Onde aprender mais

  • Wiki oficial do MTA (wiki.multitheftauto.com): referência de todas as funções e eventos, com exemplos;
  • Fórum da comunidade;
  • Leia o código de resources abertos e bem escritos.

Hospede seu servidor com a VittHost

No MTASA-BR da VittHost, você programa, envia e testa seus scripts com console em tempo real no painel Pterodactyl. Servidores no Brasil, proteção DDoS, MySQL incluso, downloads acelerados por nginx dedicado e teste grátis de 3 dias.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS