SA-MP Forums Archive
[Ajuda] Duvidas - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Duvidas (/showthread.php?tid=568153)



Duvidas - maykom15 - 20.03.2015

Cansei de pegar gm e tentar editar etc.. quero aprender a codar mesmo, eu tenho tempo e curto o sistema de samp.. etc tenho varias dicas para os outros sv ,, assim quero implantar no meu etc..

Baixei uma gm pra iniciante e entendi +/-.. sim entendi mais ou menos uma gm para iniciante explicando quase tudo,,
Entгo vou ser um pouco chato.. mais quero aprender sim aprender mesmo.
do 0
PHP код:
if(strcmp(cmdtext"/meucomando"true) == 0)
 {
   
SendClientMessage(playerid0xFFFFFFAA"Esse й Meu Comando Pow :D Vocк Ganhou 100 Reais !");
   
GivePlayerMoney(playerid100); // DA 100 REAIS
   
return 1;
   } 
Exemplo do tutorial ^^ Entгo.. entendi quase tudo ali.
Entendi que
SendClientMessage e para mandar a msg para um player etc.. a cor etc.
Giveplayermoney tambйm entendi que e pra mandar dinheiro etc.. receber ..
Agora nгo entendi muito o sistema do
if(strcmp(cmdtext, "/meucomando", true) == 0
Entendi que true e algo que o /meucomando pegara se alguйm digitar /MEUCOMANDO acho que e isso.. Sendo isso o true farб isto nгo й? Entгo mais o por que do if no comeзo ? por que abriu (strcmp do lado?e por que nгo fechou ele com ? ) etc.
E isso se puder me ajudar..


Re: Duvidas - Dayvison_ - 20.03.2015

strcmp compara strings,
Ou seja
agora o true, e == 0 sгo parametros dele


Re: Duvidas - Dolby - 20.03.2015

Quando o jogador digita qualquer coisa no chat, que comece com /, o SA-MP interpreta como comando, entгo chama esta parte do seu gamemode(e filterscripts):

PHP код:
public OnPlayerCommandText(playeridcmdtext[]) 
Isto й conhecido como callback.

O parвmetro cmdtext й o que foi digitado.

Strcmp compara duas strings. No caso, ele vai verificar se o que foi digitado й "/meucomando". Caso seja, vai executar as aзхes que estгo entre o escopo( { e } ).

Espero que tenha sido claro.

Links uteis:
Boa sorte.


Re: Duvidas - maykom15 - 20.03.2015

Dolby , entгo entedi +/- nгo mentira entendi quase nada, qual a funзгo do 0 ali no == ?
Eu tentei enter no samp wiki etc..
e por isso que eu vim aqui


Re: Duvidas - GWMPT - 20.03.2015

a funзгo strcmp, que compara duas cadeias de texto, devolve 0 caso os dois textos sejam iguais, outro valor caso sejam diferentes.*

Portanto, a condiзгo strcmp("blabla","blabla",...) == 0 irб ser executada caso as duas cadeias de texto sejam iguais.

* Na realidade, os outros valores devolvidos tкm um significado, sendo que nгo й necessбrio para a tua questгo.



Re: Duvidas - Dolby - 20.03.2015

Estamos tratando com condicionais, e o == й um operador.



Re: Duvidas - DiegoLeo - 20.03.2015

Vou dar uma dica, quando for estudar sempre procure olhar quais valores as funзхes retorna. Ou seja, na samp wiki diz que o Strcmp retorna 3 valores, ela retorna 0 caso as strings comparadas sejam iguais, e retorna 1 e -1 caso as strings retornem diferente. Explicando
PHP код:
if(strcmp(cmdtext"/meucomando"true) == 0
if = 
O Mesmo que "Se"ou seja "Se o que estб entre parenteses ocorrer, ele faz o que estб entre as chaves ({ e })
strcmp(cmdtext, "
/meucomando", true) = Aqui ele esta comparando se o cmdtext que vocк digitou no chat, й igual ao /meucomando. O True й sentitive case , ou seja:
if(strcmp("
Teste", "TeSte", true) == 0) - Aqui ele comparou as duas strings, e ele lк como iguais , por que tem o true ali, agora se no lugar de true estivesse false, ele entenderia que as strings eram diferente pois ele leva em conta letras maiusculas e minusculas.
O == 0 significa que as strings sгo iguais, por que se elas nгo forem iguais ira retornar 1 ou -1 . Entгo se retornar 0 ( sгo iguais), ele executa o comando.. 
й mais ou menos isso, se tiver algum erro por favor me corrijam


Re: Duvidas - maykom15 - 20.03.2015

Diego obrigado ^^ mesmo entendi melhor agora sim entгo no final das contas sempre pra criar um cmd vai ter que usar ?
if(strcmp(cmdtext, "/meucomando", true) == 0)


Re: Duvidas - Dolby - 20.03.2015

Exato. Mas isto, tem que ser colocado dentro de sua devida Callback.


Re: Duvidas - DiegoLeo - 20.03.2015

Sim como o Dolby disse , sempre vai ser usado em sua respectiva callback , que no caso й a OnPlayerCommandText, vocк pode usar o Strcmp para N coisas, com o tempo vocк vai ver como й importante o seu uso, alйm de fazer comandos. Vocк pode usar ele para evitar que bots entrem, comparar nomes, senhas, etc.