19.05.2011, 01:07
Ola Pessoal,criei este tutorial com o Intuito de ajudar os iniciantes no Pawn,Esse tuto Abordara: Chaves,Returns,Explicaзoes de Funзoes de Um Comando...
e aqui vamos nos,comeзarei explicando o processador de Comandos Do Proprio Sa-mp,que e o strcmp.
e ele deve ser usado dentro da public OnPlayerCommandText,Diferente de Zcmd...
Explicaзao:
public OnPlayerCommandText(playerid, cmdtext[]) A Calback do processador de comandos originais do samp.
if(!strcmp(cmdtext, "/comando", true))o if significa:Se , o Strcmp que e para processar o comando,o /comando e o comando que quando digitar acontera a funзao definida no comando,no caso desse,o SendClientMessage, e o True e igual a Verdadeiro,no pawn, true e verdadeiro,pode ser usado como True ou como numero 1,o compiler lera da mesma forma...
Agora resumindo : Se Digitar /comando verificara se o comando e verdadeiro(True ou 1),e se for executara a funзao dele.
SendClientMessage(playerid,0x008000AA,"Ola,esse e um Comando Simples de SendClientMessage");
SendClientMessage = Enviar Mensagem Ao Cliente.
Playerid = Armazenara o id do player e executara aquela funзao a ele.
0x008000AA = Cor da mensagem
"Ola,esse e um Comando Simples de SendClientMessage" = Aspas abre e fecha a mensagem,e dentro fica a mensagem. e o ; finaliza a funзao.
return 1; retornara verdade ou 1,pois no pawn True = 1,False = 0,entao pode se usar por palavras ou por numeros,voce e quem escolhe.
} A Chave que fechara o comando em,nao a public.
return 0;Agora sim,Isto fecha a calback,0 = False,ou seja se nao existir o comando que o player digitar retornara Server : Unknown Command
} E Nessa chave e a que fecha a calback,
Conclusгo Sobre Chaves: Toda chave que se abre deve ser fechada,Observe que na public,Depois de Public OnPlayerCommandText... tem uma chave abrindo a public,e essa ultima depois do return 0 e a que fecha a public
agora,vou ensinar algo mais sobre chaves(estou falando tanto assim de chaves,porque qualquer chave aberta que nao e fechada e vice-versa Causa 26 Erros no seu Script,em linhas que nao contem erros,entao,quando voce tiver 26 erros em Lugares onde nao tem erros,isso e causado por Chaves,e ultimamente,no forum esta cheio de duvidas de como arrumar esses 26 Erros.).
Veja agora um exemplo de comando:
Observe que depois da funзao existe uma chave que fecha,quer saber por que?? R:Ela serve para fechar o if,simplesmente isso.
e agora vo dar uma dica de como Identar um comando,ou seja,deixar ele mais leve para o compilador...
vamos usar o comando que usei acima:
Como eu ja disse,o "if" significa Se,e o "!" Significa nao,ou seja,Se Nao EstiverNoPontoCerto que e
231.4386,161.1232,1003.0234,retornara "Voce Nao Esta No Lugar Certo!" e nao acontecera a funзao do comando que e "Parabens,voce esta no lugar certo e digitou o comando!".
Muitos usam dessa forma:
Isso tambem funciona,so que faz com que o compilador demore mais para ler.
Conclusгo Geral
{ = Abre
} = Fecha
True = Verdadeiro
1 = Verdadeiro Tambem
False = Falso
0 = Falso Tambem
Return = Retorna
E Pessoal,por inquanto e isso,se estiver algo errado,por favor fale,e se quiser que eu acrescente ao mais e so pedir,e se nao intender,Pergunte,seja curioso,assim se voce nao Desistir, voce sera um Grande Scripter um dia,Como a minha antiga Frase diz : " O Bom Scripter Nao E Aquele Que E Experiente,Mais Sim Aquele Que Nunca Desiste ".
e aqui vamos nos,comeзarei explicando o processador de Comandos Do Proprio Sa-mp,que e o strcmp.
e ele deve ser usado dentro da public OnPlayerCommandText,Diferente de Zcmd...
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/comando", true))
{
SendClientMessage(playerid,0x008000AA,"Ola,esse e um Comando Simples de SendClientMessage");
return 1;
}
return 0;
}
public OnPlayerCommandText(playerid, cmdtext[]) A Calback do processador de comandos originais do samp.
if(!strcmp(cmdtext, "/comando", true))o if significa:Se , o Strcmp que e para processar o comando,o /comando e o comando que quando digitar acontera a funзao definida no comando,no caso desse,o SendClientMessage, e o True e igual a Verdadeiro,no pawn, true e verdadeiro,pode ser usado como True ou como numero 1,o compiler lera da mesma forma...
Agora resumindo : Se Digitar /comando verificara se o comando e verdadeiro(True ou 1),e se for executara a funзao dele.
SendClientMessage(playerid,0x008000AA,"Ola,esse e um Comando Simples de SendClientMessage");
SendClientMessage = Enviar Mensagem Ao Cliente.
Playerid = Armazenara o id do player e executara aquela funзao a ele.
0x008000AA = Cor da mensagem
"Ola,esse e um Comando Simples de SendClientMessage" = Aspas abre e fecha a mensagem,e dentro fica a mensagem. e o ; finaliza a funзao.
return 1; retornara verdade ou 1,pois no pawn True = 1,False = 0,entao pode se usar por palavras ou por numeros,voce e quem escolhe.
} A Chave que fechara o comando em,nao a public.
return 0;Agora sim,Isto fecha a calback,0 = False,ou seja se nao existir o comando que o player digitar retornara Server : Unknown Command
} E Nessa chave e a que fecha a calback,
Conclusгo Sobre Chaves: Toda chave que se abre deve ser fechada,Observe que na public,Depois de Public OnPlayerCommandText... tem uma chave abrindo a public,e essa ultima depois do return 0 e a que fecha a public
agora,vou ensinar algo mais sobre chaves(estou falando tanto assim de chaves,porque qualquer chave aberta que nao e fechada e vice-versa Causa 26 Erros no seu Script,em linhas que nao contem erros,entao,quando voce tiver 26 erros em Lugares onde nao tem erros,isso e causado por Chaves,e ultimamente,no forum esta cheio de duvidas de como arrumar esses 26 Erros.).
Veja agora um exemplo de comando:
pawn Код:
if(!strcmp(cmdtext, "/comando", true))
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, 231.4386,161.1232,1003.0234)) return SendClientMessage(playerid, 0x008000AA, "Voce Nao Esta No Lugar Certo!");
SendClientMessage(playerid, 0x008000AA, "Parabens,voce esta no lugar certo e digitou o comando!");
}
return 1;
}
e agora vo dar uma dica de como Identar um comando,ou seja,deixar ele mais leve para o compilador...
vamos usar o comando que usei acima:
pawn Код:
if(!strcmp(cmdtext, "/comando", true))
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, 231.4386,161.1232,1003.0234)) return SendClientMessage(playerid, 0x008000AA, "Voce Nao Esta No Lugar Certo!");
SendClientMessage(playerid, 0x008000AA, "Parabens,voce esta no lugar certo e digitou o comando!");
}
return 1;
}
231.4386,161.1232,1003.0234,retornara "Voce Nao Esta No Lugar Certo!" e nao acontecera a funзao do comando que e "Parabens,voce esta no lugar certo e digitou o comando!".
Muitos usam dessa forma:
pawn Код:
if(!strcmp(cmdtext, "/comando", true))
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, 231.4386,161.1232,1003.0234))
{
SendClientMessage(playerid, 0x008000AA, "Voce Nao Esta No Lugar Certo!");
return 1;
}
SendClientMessage(playerid, 0x008000AA, "Parabens,voce esta no lugar certo e digitou o comando!");
}
return 1;
}
Conclusгo Geral
{ = Abre
} = Fecha
True = Verdadeiro
1 = Verdadeiro Tambem
False = Falso
0 = Falso Tambem
Return = Retorna
E Pessoal,por inquanto e isso,se estiver algo errado,por favor fale,e se quiser que eu acrescente ao mais e so pedir,e se nao intender,Pergunte,seja curioso,assim se voce nao Desistir, voce sera um Grande Scripter um dia,Como a minha antiga Frase diz : " O Bom Scripter Nao E Aquele Que E Experiente,Mais Sim Aquele Que Nunca Desiste ".