Algumas pessoas tem dúvida se Pawno é a mesma coisa que Pawn, então eu digo, nada a vêr...
O Pawno é um programa editor de C++ que é usado para criar gamemodes, filterscript e includes..
O Pawn é uma linguagem de script de código aberto dentro do Pawno, que tem por abreviação o formato do arquivo chamado .pwn, o mesmo só é reconhecido ao ser compilado apertando F5.
Então vamos ao restante..
No topo:
Esta include ela é a principal função que faz com que seu GM funcione, motivo: dentro da include a_samp.inc bem dizer tem tooodas as funções, exemplo: SetTimer, SetPlayerHealth, SetPlayerArmour, etc...
Depois vamos adicionar o:
Esta função deve ser adicionada no GM ou seu GM não compila, então dentro destamain() você pode adicionar uma
Pra que serve essa print?
Então ela serve para mandar uma mensagem no log do seu servidor, que você pode adicionar em qualquer função do gamemode, exemplo:
Ele enviará as seguintes mensagens para seu server-log.txt,
Servidor execultado com sucesso
-------------------------
Forum.SA-MP.com - Acesse!
Logo após você adiciona uma das principais funções de um gm
Nesta função você adiciona as funções que vai fazer funcionar no seu gm, exemplo: quero adicionar skins e veículos, você usará
Que para aumentar o número de skins e veículos basta apenas você ir duplicando...
Logo após viemos fazer o:
Aqui será a visualização dos skins que terá no servidor, que para exibir as skins você usará
SetPlayerPos
SetPlayerInterior
SetPlayerCameraPos
SetPlayerCameraLookAt
Essa são apenas algumas das funções mais usadas na public OnPlayerRequestClass(playerid, classid) com seus links da wiki com suas explicações...
Voltando ao public anterior que fizermos e com suas funções ele ficaria deste modo:
Agora passando para o próximo passo é o:
Nesta calbak é usada para quando o player se conecta ao servidor ou para carregar alguns sistemas ou funções, exemplo: sistema de login, entre outros que não me vem na cabeça '-'
Aqui vai um exemplo de um código na public OnPlayerConnect(playerid) que vai identificar quando o player se conecta ao servidor:
Então aqui vai o nome das funções com seus links de explicações na SA-MP Wiki
GetPlayerName
format
SendClientMessageToAll - OBS: Na wiki eles tão dando a SendClientMessageToAll em uma só linha como se fosse SendClientMessage, mais aqui neste tutorial avançei um pouco fazendo com format '-', não é difícil de entender
Próximo passo será o:
Na public OnPlayerDisconnect é quase a mesma coisa que o public OnPlayerConnect só que na public OnPlayerDisconnect já fala né, quando o player desconecta do servidor.. é usado a mesma função da que está na public OnPlayerConnect(playerid) não tem nada de difícil 
Próximo passo é o:
Esta calbak é a função que o player nasce, que para fazer o player nascer é usadoSetPlayerPos e SetPlayerInterior exemplo:
Lembrando que para pegar os interiores você deve entrar dentro do interior que deseja depois digitar /interior, você pode fazer com que o player dê spawn dentro de interior ou não...
Próximo passo iremos mecher com:
Hoje em dia, muitos scripters profissional ou até mesmo iniciantes ou intermediários usam o strcmp enquantos alguns usam ZCMD, para dar inicio a criação de um comando simples usaremos o seguinte:
Este é um comando para você ter uma noção de como se faz o comando, que o mesmo também pode ser desta forma:
Vai dar na mesma coisa, só que pelo que vimos fica maior né? Dai você se pergunta o que aquele 10 faz ali? Então ela é uma string para o comando que não pode ser definida em nome, somente em número.. O comando junto com a public OnPlayerCommandText ficará:
Simples né? Para finalizar o:
Este é para você por dialogs com id direcionado em comandos, sistema de logins e etc... Para saber mais informações sobre a OnDialogReponse acesse: Clique Aqui
Lá tem tudo sobre o OnDialogResponse..
Então é isso aê pessoal, espero que tenham gostado, lembrando que fiz este tutorial para quem é "INICIANTE" depois não fale besteira =}
Criado Por Miqueias Barros
O Pawno é um programa editor de C++ que é usado para criar gamemodes, filterscript e includes..
O Pawn é uma linguagem de script de código aberto dentro do Pawno, que tem por abreviação o formato do arquivo chamado .pwn, o mesmo só é reconhecido ao ser compilado apertando F5.
Então vamos ao restante..
No topo:
pawn Código:
#include a_samp
Depois vamos adicionar o:
pawn Código:
main() { }
pawn Código:
print("Mensagem");
Então ela serve para mandar uma mensagem no log do seu servidor, que você pode adicionar em qualquer função do gamemode, exemplo:
pawn Código:
main() { print("Servidor execultado com sucesso"); print("-------------------------"); print("Forum.SA-MP.com - Acesse!"); }
Servidor execultado com sucesso
-------------------------
Forum.SA-MP.com - Acesse!
Logo após você adiciona uma das principais funções de um gm
pawn Código:
public OnGameModeInit() { return 1; }
pawn Código:
public OnGameModeInit() { AddPlayerClass(skinid, Float:X, Float:Y, Float:Z, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo); AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2); return 1; }
Logo após viemos fazer o:
pawn Código:
public OnPlayerRequestClass(playerid, classid) { return 1; }
SetPlayerPos
SetPlayerInterior
SetPlayerCameraPos
SetPlayerCameraLookAt
Essa são apenas algumas das funções mais usadas na public OnPlayerRequestClass(playerid, classid) com seus links da wiki com suas explicações...
Voltando ao public anterior que fizermos e com suas funções ele ficaria deste modo:
pawn Código:
public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, Float:x, Float:y, Float:z); SetPlayerInterior(playerid, interiorid); SetPlayerCameraPos(playerid, Float:x, Float:y, Float:z); SetPlayerCameraLookAt(playerid, Float:x, Float:y, Float:z); return 1; }
Agora passando para o próximo passo é o:
pawn Código:
public OnPlayerConnect(playerid) { return 1; }
Aqui vai um exemplo de um código na public OnPlayerConnect(playerid) que vai identificar quando o player se conecta ao servidor:
pawn Código:
public OnPlayerConnect(playerid) { new str[78], pnome[MAX_PLAYER_NAME]; GetPlayerName(playerid, pnome, sizeof(pnome)); format(str, sizeof(str), "%s (ID:%d) conectou-se ao servidor.", pnome, playerid); SendClientMessageToAll(-1, str); return 1; }
GetPlayerName
format
SendClientMessageToAll - OBS: Na wiki eles tão dando a SendClientMessageToAll em uma só linha como se fosse SendClientMessage, mais aqui neste tutorial avançei um pouco fazendo com format '-', não é difícil de entender

Próximo passo será o:
pawn Código:
public OnPlayerDisconnect(playerid, reason) { return 1; }

Próximo passo é o:
pawn Código:
public OnPlayerSpawn(playerid) { return 1; }
pawn Código:
public OnPlayerSpawn(playerid) { SetPlayerInterior(playerid, interiorid); SetPlayerPos(playerid, Float:x, Float:y, Float:z); return 1; }
Próximo passo iremos mecher com:
pawn Código:
public OnPlayerCommandText(playerid, cmdtext[]) { return 0; }
pawn Código:
if(strcmp(cmdtext, "/seucomando", true) == 0) { //Função return 1; }
pawn Código:
if(strcmp("/seucomando", cmdtext, true, 10) == 0) { //Função return 1; }
pawn Código:
public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmdtext, "/seucomando", true) == 0) { //Função return 1; } return 0; }
pawn Código:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { return 1; }
Lá tem tudo sobre o OnDialogResponse..
Então é isso aê pessoal, espero que tenham gostado, lembrando que fiz este tutorial para quem é "INICIANTE" depois não fale besteira =}
Criado Por Miqueias Barros



