Tutorial Criando Script

Eae Pessoal esta pagina foi criada por SagosWins, vou tentar esta ensinando a criar scripts para quem não tem nem uma experiencia nesta linguagem.

ATENÇÃO: Continue Lendo Esta Pagina Somente Se Souber Ligar Scripts Lua Em Seu Servidor!

vou ensinar passo-a-passo como criar um script simples para resetar o score
e mais para frente vou ensinar comandos mais difícil.

quando o script já esta pronto ele começa de cima para baixo e vai lendo linha por linha

abra o bloco de notas ou qualquer editor de texto que você preferir.
quando seu script estiver pronto salve-o com o nome que desejar mas coloque .lua no final para que fique no formato correto para o seu funcionamento.

digitem no bloco de notas

msg("Ola Mundo!")

ative este seu script e vc vera que assim que o jogo iniciar ira mostrar a mensagem Ola Mundo!
isso acontece porque vc n colocou nen um outro comando falando quando essa mensagem iria aparecer
então assim q o jogo inicia o script ja mostra

vc pode colocar a mensagem que quiser dentro das aspas duplas
agora vc ja sabe criar uma mensagem no seu servidor, lembrando que no lugar das aspas duplas vc tbm pode colocar aspas simples e duplo colchetes esses 3: "   '  [[ vou dar um ex:

msg([[Ola Mundo!]])
msg('Ola Mundo!')
msg("Ola Mundo!")

não é só no comando msg que pode usar este "   '   [[ e sim em todos os comandos que usa
string e variavel vou explicar o que é isso mais para frente
é importante saber que se começar com algum dos 3 tem q terminar com o mesmo.
o meu preferido é aspas duplas então da qui para frente sou vou usar "

agora vou ensinar a criar uma hook, como eu não sei muito bem o que ela faz u.u
vou só falar o que eu sei (eu acho que é isso se não for e vc souber me avise nos comentários)
hook é ativado dependendo de sua função.
e existe uma função para tudo, neste caso como vamos criar com script de reset
tem que ser ativado quando falar !reset, e falar em inglês é say então vamos fazer assim

addhook("say","AKI_VEM_O_NOME_QUE_VOÇE_QUISER")

n é exatamente assim o nome que quiser, não pode começar com números e não pode ter caracteres  especial somente o _ e tbm não pode ter espaço então vamos fazer assim:

addhook("say","resetar")
function AKI_VEM_O_NOME_QUE_VC_DEU_PARA_SUA_HOOK(id,txt)

se ali vai o nome da sua hook então:

function resetar(id,txt)

essa parte (id,txt) são tipo itens que podemos manipular
txt é só uma abreviação de texto.

id: é o ID do jogador que digitou alguma coisa
txt: é o texto que a pessoa digitou

um exemplo

o id 3 digitou oi

então:

id = 3
txt = "oi"

oi esta entre aspas pq sempre que se trata de letras, e a linguagem lua define como texto tudo o que esta entre aspas, isso se chama string.
com números não precisa fazer isto, se vc colocar "3" a linguagem lua vai entender que 3 é um texto e não um número, quando não esta entre aspas ele fica do tipo integer, e integer é diferente de string
string pode ter letras e numeros, mas integer só pode ter numeros.

nosso script já esta assim:

addhook("say","resetar")
function resetar(id,txt)

agora vamos criar mais uma linha:

if txt == "!reset" then

traduzindo esta linha fica:

se o texto for !reset então

agora os próximos comandos vai ser lidos somente se o txt for !reset
se o txt for alguma outra coisa os comandos não vão ser lidos.

não sei se vcs estão entendendo mas vou continuar, qualquer dúvida pergunte nos comentários.

agora vamos criar outra linha e esta linha vai ser um comando do console
e sempre quando usamos comandos do console vamos fazer assim:

parse("AKI_VEM_O_COMANDO_DO_CONSOLE")

se nós queremos resetar o score então o comando no console ficaria assim:

setscore 1 0
setdeaths 1 0

como vcs sabem 1 é o id do jogador e 0 é o score do jogador e na linha d baixo 0 são as mortes.

mas se nós fazer assim:

parse("setscore 1 0")
parse("setdeaths 1 0")

vai dar certo mas só vai resetar o id 1 um ex:

se o id 1 digitar !reset, ta o score dele resetou mas se o id 2 digitar reset o score do id 1 que vai resetar pq ali esta setscore 1 0, e ai vai a pergunta como vms fazer para resetar o score de qm digitar?

simples ao invés de colocarmos 1 colocamos "..id.."
lembra que o id é o numero de qm digitou? ^^

então nosso script esta quase pronto ele ja esta assim:

addhook("say","resetar")
function resetar(id,txt)
if txt == "!reset" then

parse("setscore  "..id.."  0")
parse("setdeaths  "..id.."  0")
end
end

para finalizar só colocar estes dois end, ai vcs me perguntam pq 2 end?
pq sempre que escrevermos if, function, for e while temos que colocar 1 end quando terminar o comando
ali tem 1 function e 1 if então precisamos de 2 end.

Continuo Escrevendo Mais Tarde, Aguarde!

9 comentários:

  1. eae Sagos aki é o derp add face: alantup2@hotmail.com

    ResponderExcluir
  2. Gostei muito, agora fala como você faz com os seus scripts tipo o Server Control e como trocar as HUDS!

    ResponderExcluir
  3. Não entendi uma coisa:

    addhook("say","resetar")
    function resetar(id,txt)
    if txt == "!reset" then

    parse("setscore "..id.." 0")
    parse("setdeaths "..id.." 0")
    end
    end

    Porque tem if txt !reset sendo que na addhock e function estão resetar?

    E uma coisa, quando tu for ensinar script mano, ensina scripts difíceis, porque pode ser até mais fácil de aprender, porque os difíceis exigiram de muita concentração, e vários comandos novos, porque aí, nós não entendemos nada, pois é um simples comando !reset, e isso vai aumentar scripts de !Reset, temos que ter scripts inovadores, quem sabe não ensina! :@

    ResponderExcluir
  4. comigo nao funciono :|
    digito !reset e nao funciona :|

    ResponderExcluir
  5. Não entendi uma coisa:

    addhook("say","resetar")
    function resetar(id,txt)
    if txt == "!reset" then

    parse("setscore "..id.." 0")
    parse("setdeaths "..id.." 0")
    end
    end

    Porque tem if txt !reset sendo que na addhock e function estão resetar?

    E uma coisa, quando tu for ensinar script mano, ensina scripts difíceis, porque pode ser até mais fácil de aprender, porque os difíceis exigiram de muita concentração, e vários comandos novos, porque aí, nós não entendemos nada, pois é um simples comando !reset, e isso vai aumentar scripts de !Reset, temos que ter scripts inovadores, quem sabe não ensina! :@

    cara esse If txt !reset é o seu comando exemplo:
    vc vai escreve !reseta no meio do jogo e vai reseta seu score
    se vc n coloca esse if txt !reset n vai funcionar entendeu?



    Pbelloto Falando aquii

    ResponderExcluir
  6. Como faço pra colocar hora no serve do lado

    ResponderExcluir