SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 20/08/2017, 01:00 AM   #1
Jonorusc
Big Clucker
 
Jonorusc's Avatar
 
Join Date: Jun 2017
Location: Portugal
Posts: 171
Reputation: 7
Default Pesquisando jogadores...

Um comando para achar jogadores que você só sabe uma parte do nick

Usei:
ZCMD
SSCANF ou SSCANF2

STRFIND

PHP Code:
#include "a_samp"
#include "ZCMD"
#include "sscanf"

//Carregamos as includes que tem as funções que iremos usar! 
//CMD:comando(playerid,params[]){ return 1 e o processador de comando, essa função e da include ZCMD
PHP Code:
CMD:procurar(playerid,params[])
{
   if(!
IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1"Você não está logado no sistema");
   
//se ele não estiver logado. o "!" e o inverso do que você coloca, "IsPlayerConnected" = se o jogador estiver 
   //conectado adcionando o ! fica o inverso! pouca fazer 
   
if(IsPlayerConnected(playerid))
   {
      
funcao;
   }
   else
  {
     
aqui seria se ele não estiver 
  
}
   return 
1;

PHP Code:
CMD:procurar(playerid,params[])
{
   new 
parte//vamos usar como entrada de dados, getar a string digitada pelo playerid
   //função do sscanf
   
if(sscanf(params"s"parte)) return SendClientMessage(playerid, -1"Use: /procurar [parte do nick]");

   new 
str[128];
   
format(str,sizeof(str),"Procurando por: \"%s\": ",parte);
   
SendClientMessage(playerid, -1str);
  
    new 
tem//vmos usar para dizer que não tem ninguem que ele procura

   //abriremos um loop para checar todos os jogadores online
   
for(new 0<= MAX_PLAYERSi++)
   
//new i; i = 0, se ir for menor que 1000(depende da sua include o numero int do max_players), i mais 1
   
{
       
//vamos criar uma variavel para armazenar os nome de todos os jogadores, para compararmos eles com o parte
       
new nomeplayers[MAX_PLAYERS_NAME];
       
GetPlayerName(inomeplayerssizeof(nomeplayers)); //getamos e guardamos na variavel nomeplayers;
      
       //variavel para armazenar o pos;
       
new varpos strlen(nomeplayers);
      
//strfind(const string[], const sub[], bool:ignorecase=false, pos=0)

     // Nos vamos mostrar o level id e o nick  e o numero de players com essa parte no nick
      //Criaremos outro loop para pega o pos!
      //criaremos uma variavel para armazena quantas pessoas a com essa parte no nick
      
new parte2;
      for(new 
pos=0pos <= varpospos++)
      {
          if(
strfind(nomeplayers,parte,true) == pos//ex: eu sou merda, id 1, função = (se merda tiver parte no nome, e se o id for 1) retorna os dados
          
{
                
parte2++; //cada vez que o loop achar, um nego com essa parte, parte2 adcionar mais 1, ent ficara 1 = 
                //irineu 2 = lepra tlg?

                
new string[128];
                
format(string,sizeof(string),"%d. NOME (%s) ID %d | Level %d",parte2,nomeplayers,iGetPlayerScore(i));
        
SendClientMessage(playerid, -1string);

                
tem++; // ++ == += 1; (tem = 1)
                
ou 
                tem 
1;
          }
   }
   if(
tem == 0) return SendClientMessage(playerid, -1"Ninguém foi encontrado"); //se tem = 0, e pq o loop achou ninguém com a parte no nick.
   
return 1;

PHP Code:
format(string,sizeof(string),"%d. NOME (%s) ID %d | Level %d",parte2,nomeplayers,iGetPlayerScore(i)); 
1 %d = parte2, = 1 - Irineu (5) Level (100)
2 %s = nomeplayers, = 1 - Irineu (5) Level (100)
3 %d = i = o loop armazenou i como os id de todos os jogadores
4 %d = level
__________________
EveryThings in life depends on the how much you wanna eat someone!

Last edited by Jonorusc; 20/08/2017 at 01:10 AM. Reason: Procurando por: \"%s\"
Jonorusc is offline   Reply With Quote
Old 20/08/2017, 01:02 AM   #2
GuilhermeNunes
Gangsta
 
Join Date: Feb 2017
Posts: 554
Reputation: 8
Default Re: Pesquisando jogadores...

Boa Mano esse comando é util em RPG.
GuilhermeNunes is offline   Reply With Quote
Old 20/08/2017, 01:34 AM   #3
RodrigoMSR
Gangsta
 
RodrigoMSR's Avatar
 
Join Date: Mar 2015
Location: Paraná - Brasil
Posts: 954
Reputation: 129
Default Re: Pesquisando jogadores...

Alguns erros:

Checar se o jogador está conectado no comando é inútil.
Esse loop no strfind não faz sentido algum, basta checar se a função retornou diferente de -1.
A variável "parte" foi declarada como inteiro quando devia ser uma string.
Não é necessário duas variáveis de contagem ("parte2" e "tem"), uma só é suficiente.
__________________
Asus Prime H310M-K, i5-8400 Six-core @ 3.8GHz, GTX 1060 6GB, 16GB DDR4-2400.
RodrigoMSR is offline   Reply With Quote
Old 20/08/2017, 01:45 AM   #4
ThiagoMikael
Big Clucker
 
Join Date: Jul 2017
Posts: 98
Reputation: 0
Default Re: Pesquisando jogadores...

O do player connect serve pra se ele tentar usar o comando e ainda estiver na tela de loguin bicho
ThiagoMikael is offline   Reply With Quote
Old 20/08/2017, 01:50 AM   #5
RodrigoMSR
Gangsta
 
RodrigoMSR's Avatar
 
Join Date: Mar 2015
Location: Paraná - Brasil
Posts: 954
Reputation: 129
Default Re: Pesquisando jogadores...

Quote:
Originally Posted by ThiagoMikael View Post
O do player connect serve pra se ele tentar usar o comando e ainda estiver na tela de loguin bicho
A partir de OnPlayerConnect o jogador já está conectado, para evitar o que você citou seria necessário criar uma variável integrada a um sistema de registro.
__________________
Asus Prime H310M-K, i5-8400 Six-core @ 3.8GHz, GTX 1060 6GB, 16GB DDR4-2400.
RodrigoMSR is offline   Reply With Quote
Old 20/08/2017, 01:53 AM   #6
ThiagoMikael
Big Clucker
 
Join Date: Jul 2017
Posts: 98
Reputation: 0
Default Re: Pesquisando jogadores...

Vdd ele deve ter viajado deve ter criado e não testou so criou tlg, mas msm assim me ajudou, lgl acha um player so pela parte do nick
ThiagoMikael is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Quantidade de Jogadores JuninTJF Português/Portuguese 4 28/12/2015 06:04 PM
[Ajuda] Jogadores de ESC 0.3.7 AzulimZW Português/Portuguese 21 24/05/2015 04:21 AM
[Ajuda] Ver jogadores banidos PetterAdriano Português/Portuguese 6 14/02/2015 07:18 PM
[Ajuda] RNPC Jogadores JuninTJF Português/Portuguese 2 26/10/2014 05:19 AM
[FilterScript] Eleição de Jogadores Shelby Lançamentos/Releases 25 21/09/2011 08:01 PM


All times are GMT. The time now is 10:23 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.