[Ajuda] Aprender sobre Pawn.
#1

Poxa manos , eu tento aprender sobre pawno mais n consigo vei , os tutoriais que passo a tarde assistindo explicam bastate mais nгo oque eu preciso saber ... Preciso de un tutorial do 0 que explique letra por letra numero por nъmero :/ cansei de ficar pedindo coisas aqui nesse forum e sempre sendo mal tratado por pessoas que jб sabem sobre isso. Alguem se disponibiliza a me ajudar ?! 😟😞
Reply
#2

Este й muito bom

https://sampforum.blast.hk/showthread.php?tid=428964
Reply
#3

- Introduзгo

Primeiramente, Pawn й a linguagem, Pawno й o IDE/Editor de texto padrгo que vem juntamente com o compilador.

Pawn й uma linguagem super simples, imperativa e estruturada, ou seja, vocк deve "dizer" como deve ser feito, por etapas, procedimentos(procedural).

Pawn й uma linguagem de script, ela nгo й compilada para a linguagem de mбquina(0s e 1s), mas sim para bytecode(o que fica em formato .amx), e esse arquivo й lido/interpretado pela maquina virtual(SA-MP Server).

Quando a maquina virtual й iniciada, ela precisa de um ponto de entrada, onde ela deve comeзar a execuзгo do cуdigo. Й aн que entra o entry point(main):

pawn Код:
main()
{
    print("Olб Mundo!");
}
A maquina virtual vai procurar por esse ponto de entrada no arquivo .amx e executa-lo primeiramente de tudo.

- Callbacks

A linguagem em si, foi designada para ser implementada em projetos onde se tem a liberdade de criar suas funзхes , normalmente usada para definir eventos, chamados Callbacks - Wikipйdia

Nativamente, o SA-MP trabalha com algumas callbacks, usaremos a principal delas como exemplo, OnPlayerConnect.

pawn Код:
public OnPlayerConnect(playerid)
{
     return 1;
}
Mas o que й isso? Quando o jogador se conecta no servidor, a maquina virtual busca por esse trecho de cуdigo, por essa callback, e executa tudo que estб entre as chaves(exceto caso vocк use algum returno em certa parte do cуdigo).

Vocк pode criar suas callbacks personalizadas. Por exemplo:

pawn Код:
forward Oi();
public Oi() return print("Oi");
Certo, agora vocк precisa chamar essa callback em algum ponto, ou seja, "configurar" esse evento.

pawn Код:
public OnPlayerConnect(playerid)
{
     Oi();
     return 1;
}
Como pode perceber, fazemos chamada a nossa callback personalizada, ou seja, quando o jogador entrar no servidor(OnPlayerConnect), iremos tambйm fazer chamada a nossa callback.

Vocк pode ver a lista completa de Callbacks neste link:

- Variбveis

Utilizamos da memoria do computador(RAM) para gravar algumas informaзхes e consulta-las posteriormente. A memoria RAM й toda mapeada, ou seja, temos os endereзos(pode-se fazer analogia a uma cidade, ou a quartos de um hotel por exemplo). Ao guardamos informaзгo nessa memoria, precisamos saber onde ela estб, e como podemos fazer isto? Associando seu endereзo a um nome legнvel por nуs humanos, um mnemуnico. Ou seja, quando fazemos chamada a uma variбvel, vocк estб simplesmente consultando aquela porзгo/endereзo da memoria, para obter o valor armazenado na mesma.

Em Pawn, para se declarar uma variбvel, utilizamos a keyword new.

Vejamos:

pawn Код:
new Var = 5;
Mas o que exatamente й isto? a keyword new indica a tentativa de alocaзгo de um valor na memoria. O mnemуnico 'Var' vai se associar ao endereзo de memoria, onde iremos armazenar um nъmero, o 5.

Olha, entendendo esses dois assuntos que citei acima, variбveis e callbacks, vocк vai ter meio caminho andado. Tudo que escrevi aqui foi em uma noite de tйdio, logo pode existir erros gramбticais e tentativas falhas de ser o menos teуrico possнvel.

Links ъteis: Tentei ser o menos teуrico possнvel e usar termos mais simples, portanto nгo vejam esta postagem apenas como uma tentativa de pagar de fodгo e escrever com mil termos.

Nгo existe nada que ensine "letra por letra". Vocк que deve ler o que й possнvel se passar por meio de palavras e compreender isto, ninguйm vai enfiar o conhecimento em sua goela a baixo, portanto, leia e pratique muito, compreenda, busque respostas.

Pronto, sу nгo aprende se nгo quiser. Ou se tiver perdido o cйrebro por aн.
Reply
#4

Aprender sozinho й difнcil pra todo mundo. Eu comecei editando os textos e depois fui aprendendo a mexer aos poucos. Ajuda muito pegar um gamemode que nгo tenha muitos bugs e ir alterando algumas coisas pra vocк ir associando as funзхes aos cуdigos. Apesar de tambйm ter apanhado muito no fуrum, nгo posso negar que muito do que aprendi se deve а ajuda que tive aqui. Sempre haverб pessoas que tentarгo te ajudar, entгo continue pedindo ajuda, mas sem abusar.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)