Explicaзao de Chaves/Returns...[Iniciantes] -
Transferencia - 19.05.2011
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...
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;
}
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:
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;
}
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:
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;
}
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:
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;
}
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 ".
Re: Explicaзao de Chaves/Returns...[Iniciantes] -
Macintosh - 19.05.2011
Muito bom tutorial Gustavo
Re: Explicaзao de Chaves/Returns...[Iniciantes] -
[AF]Junior - 19.05.2011
Legal pra quem й bem iniciante. Aprendi isso sozinho
Bom tuto. 10/10.
Re: Explicaзao de Chaves/Returns...[Iniciantes] -
Ricop522 - 19.05.2011
6/10
Achei o tуpico meio fraco.
Re: Explicaзao de Chaves/Returns...[Iniciantes] -
Transferencia - 19.05.2011
Vlw a todos e a voce Tambem
Ricop522,Pois acho que um Bom Scripter nao e so Feitos de Scripts,Mais tambem de Elogios e Criticas...e Depois vo dar uma concertada,e porque eu fisso meio rapido,tava com pressa,amanha do uma corrigida ae..
Re: Explicaзao de Chaves/Returns...[Iniciantes] - [S]trong - 19.05.2011
na hora que o return chega o processo й parado ali mesmo nгo estб ali sу de infeite e nem vai demorar mais para lкr ou whatever pois o resto do processo nгo vai ser processado nгo estб ali de enfeite o compilador nгo fica mais dificil ou mais fбcil na parte da identaзгo e meu amigo os pragmas existem para redefinir o comportamento do compilador.
Re: Explicaзao de Chaves/Returns...[Iniciantes] -
JonathanFeitosa - 19.05.2011
ta bom, mais й melhor explicar melhor.
Re: Explicaзao de Chaves/Returns...[Iniciantes] -
[FeK]Netizen - 19.05.2011
Quote:
Originally Posted by [AF]Junior
Legal pra quem й bem iniciante. Aprendi isso sozinho
Bom tuto. 10/10.
|
Digo o mesmo.
Re: Explicaзao de Chaves/Returns...[Iniciantes] -
steki. - 19.05.2011
Sim, sem falar que alguйm precisa ensinar para o criador como й que, pelo menos faz a identaзгo corretamente.
Depois fica usando pre-compilador e chorando no forum.
Re: Explicaзao de Chaves/Returns...[Iniciantes] -
Transferencia - 19.05.2011
Sim,mais esse eu nao fisso com pressa,apenas estava com um pouco de Sono,entao,quando estou com sono fico um pouco desatento...