Como criar script para mta sa
Autor: Administrador | Publicado: 2013-11-04T12:21:00-02:00

Como criar script para mta san andreas

Criar um script para o MTA não é uma tarefa difícil , cujo devemos ter pré noção da
linguagem lua. Antes de tentarmos criar qualquer um roteiro devemos aprender uma aula rápida e básica da linguagem lua.


O que é Lua?
Lua é uma linguagem de programação poderosa, rápida e leve, projetada para estender aplicações. 
Lua combina sintaxe simples para programação procedural com poderosas construções para descrição de dados baseadas em tabelas associativas e semântica extensível.  Lua é tipada dinamicamente, é interpretada a partir de bytecodes para uma máquina virtual baseada em registradores, e tem gerenciamento automático de memória com coleta de lixo incremental. Essas características fazem de Lua uma linguagem ideal para configuração, automação (scripting) e prototipagem rápida.  

Por que escolher Lua?

Lua é uma linguagem estabelecida e robusta
Lua é usada em muitas aplicações industriais (e.g., Adobe's Photoshop Lightroom), com ênfase em sistemas embutidos (e.g., o middleware Ginga para TV digital) e jogos (e.g., World of Warcraft). Lua é atualmente a linguagem de script mais usada em jogos. Lua tem um sólido manual de referência e existem vários livros sobre a linguagem. Várias versões de Lua foram lançadas e usadas em aplicações reais desde a sua criação em 1993.  

Lua é rápida
Lua tem uma merecida reputação de ótimo desempenho. Outras linguagens de script aspiram ser "tão rápidas quanto Lua". Vários benchmarks mostram Lua como a linguagem mais rápida dentre as linguagens de script interpretadas. Lua é rápida não só em programas específicos para benchmarks, mas no dia-a-dia também. Porções substanciais de aplicações grandes são escritas em Lua.  

Lua é portátil
Lua é distribuída via um pequeno pacote e compila sem modificações em todas as plataformas que têm um compilador ANSI/ISO C. Lua roda em todos os tipos de Unix e Windows, e também em dispositivos móveis (como computadores de mão e celulares que usam BREW, Symbian, Pocket PC, etc.) e em microprocessadores embutidos (como ARM e Rabbit) para aplicações como Lego MindStorms.  

Lua é embutível
Lua é uma engine rápida e pequena que você pode facilmente embutir na sua aplicação. Lua tem uma API simples e bem documentada que permite uma integração forte com código escrito em outras linguagens. É simples estender Lua com bibliotecas escritas em outras linguagens. Também é simples estender programas escritos em outras linguagens com Lua. Lua é usada para estender programas escritos não só em C e C++, mas também em Java, C#, Smalltalk, Fortran, Ada, Erlang, e mesmo outras linguagens de script, como Perl and Ruby.  

Lua é poderosa (e simples)
Um conceito fundamental no projeto de Lua é fornecer meta-mecanismos para a implementação de construções, em vez de fornecer uma multidão de construções diretamente na linguagem. Por exemplo, embora Lua não seja uma linguagem puramente orientada a objetos, ela fornece meta-mecanismos para a implementação de classes e herança. Os meta-mecanismos de Lua trazem uma economia de conceitos e mantêm a linguagem pequena, ao mesmo tempo que permitem que a semântica seja estendida de maneiras não convencionais.  

Lua é pequena
Incluir Lua numa aplicação não aumenta quase nada o seu tamanho. O pacote de Lua 5.2.0, contendo o código fonte e a documentação, ocupa 241K comprimido e 950K descompactado. O fonte contém cerca de 20000 linhas de C. No Linux, o interpretador Lua contendo todas as bibliotecas padrões de Lua ocupa 182K e a biblioteca Lua ocupa 240K.  

Lua é livre
Lua é software livre de código aberto, distribuída sob uma licença muito liberal (a conhecida licença MIT). Lua pode ser usada para quaisquer propósitos, incluindo propósitos comerciais, sem qualquer custo ou burocracia. Basta fazer um download e usá-la.  

Lua tem importância global
  O projeto e a evolução de Lua foram apresentados em junho de 2007 na HOPL III, a 3a Conferência da ACM sobre a História das Linguagens de Programação. Essa conferência ocorre a cada 15 anos (a primeira foi em 1978 e a segunda em 1993) e somente poucas linguagens são apresentadas a cada vez.  A escolha de Lua para a HOPL III é um importante reconhecimento do seu impacto mundial. Lua é a única linguagem de programação de impacto desenvolvida fora do primeiro mundo, estando atualmente entre as 20 linguagens mais populares na Internet (segundo o índice TIOBE).


Entre na organização lua para saber mais.


Agora que já aprendemos uma noção de Lua vamos fazer a meta , que é o ponto chave entre o servidor e o script. Não sabe oque é meta?
O arquivo META representado como meta.xml&nbsp; no MTA é com um conjunto de metadados, com a função de enviar informações sobre o script para o servidor e vice-versa.
Entenda alguns nomes que devem estar presentes na criação do meta.


&lt;info /&gt; : As informações sobre este recurso, os parâmetros possíveis incluem (qualquer parâmetros arbitrários podem ser utilizados e lidos usando getResourceInfo )




autor: O autor deste recurso



versão: A versão deste recurso



name: O nome desse recurso



descrição: Uma breve descrição do recurso



Tipo: O tipo desse recurso, que pode ser "modo de jogo", "script", "mapa" ou "misc".



&lt;script /&gt; O código fonte para este recurso, os parâmetros possíveis são:
src: O nome do arquivo de código-fonte

type: O tipo de código fonte: "cliente", "servidor" ou "compartilhada".

cache: Quando o tipo de arquivo de script é "cliente", esta configuração controla se o arquivo é salvo no disco rígido dos clientes. O padrão é "true". Usando "false" significa que o arquivo não é salvo. (Nota: cache = arquivos falsos&nbsp; são iniciados ao cliente em primeiro lugar, assim que a ordem de carregamento de arquivos lua pode ser diferente quando a mistura de definições de cache)

validate: Se definido como "false", as verificações de compatibilidade são ignoradas.


&lt;MAP /&gt; O mapa de um modo de jogo, os parâmetros possíveis são:
src: Nome do ficheiro .MAP (pode ser muito caminho por exemplo, "maps / filename.map".)

dimension:Dimensão em que o mapa será carregado (opcional) 

Vamos usar apenas algumas destas citadas, entretanto, há muitos comandos existentes no meta. Saiba mais deles aqui. Mas vamos apenas precisar desses comandos mais tarde.&nbsp;
Agora que temos alguns sintaxes vamos usar os seguintes sintaxes : autor , descrição , tipo , versão e name. (Vale lembrar que a meta tem que ser inteiramente inglês.)

Vamos começar a criar a meta:

Vamos criar um arquivo xml ( não sabe criar um arquivo xml? clique aqui )
Quando criar o arquivo xml deve então copiar e colar este código dentro do seu ficheiro xml criado recentemente:


&lt;meta&gt;
&nbsp;&nbsp;&nbsp;&nbsp; &lt;info author="SeuNome" type="gamemode" name="Nome do Script" description="Descrição" /&gt;
&nbsp;&nbsp;&nbsp;&nbsp; &lt;script src="script.lua" /&gt;
&lt;/meta&gt; 



Agora que temos a meta criada, mude o que tem dentro dos "aspas" para a sua opção como author, name e description. Com a meta criada, salve o arquivo com o nome meta (.XML) e agora vamos fazer um comando para funcionar com esta meta. (Lembrando que dependendo do seu novo script ele sempre começará começa com functions NomeScript () )

Agora que já sabemos dessa dicas vamos criar então nosso primeiro script. Vamos prestar atenção...
Vamos criar um comando aonde o&nbsp; jogador ao entra no servidor é recebido com uma mensagem de boas vindas.

Para isso crie novamente um novo ficheiro, desta vez, com o formato .LUA e de um nome de sua preferência ao mesmo. Feito isso cole o código abaixo:
function joinHandler()

&nbsp;&nbsp;&nbsp; outputChatBox("Bem Vindo a meu servidor", source)
end
addEventHandler("onPlayerJoin", getRootElement(), joinHandler)

Salve e em uma pasta cole junto com o arquivo META recém criado também. Agora coloque seu script dentro da pasta "resources" e pronto.
Agora temos uma mensagem de boas vindas ao jogador entra no seu servidor.
Podemos também modificar seu script, neste caso, além da mensagem de boas vindas ao seu servidor, personalizar a mensagem de boas vindas tal como inserir uma cor. Veja abaixo:
&nbsp;

outputChatBox("Bem Vindo a meu servidor", source) Vamos modificar o que vem depois do "aspas" e vírgula, perceba que&nbsp; é uma texto em branco no seu novo boas vindas e após modificar como&nbsp; o código abaixo, você terá uma nova cor a seu sistema de boas vindas. Então acrescente após o aspa e virgula&nbsp; source, 255, 255, 255alterando e acrescentando os números mostrados. Observe que, agora seu código deverá estar assim:
&nbsp;outputChatBox("Bem Vindo a meu servidor", source, 255, 255, 255 ) Os números 255 repetidos três vezes são chamados de "Cores Hexadecimal" e neste caso 255, 255, 255 equivale a uma cor verde. Você pode brincar de alterar esses números das três sequencias de 0 a 255 e deixa da cor que achar melhor.

Bem é isso, não há uma forma mais fácil e certa de explicar. Script você aprende treinando, lendo e praticando.&nbsp;
Até mais :)