20.08.2017, 01:00
(
Последний раз редактировалось Jonorusc; 20.08.2017 в 01:10.
Причина: Procurando por: \"%s\"
)
Um comando para achar jogadores que vocк sу sabe uma parte do nick
Usei:ZCMD
SSCANF ou SSCANF2
STRFIND
PHP код:
#include "a_samp"
#include "ZCMD"
#include "sscanf"
//Carregamos as includes que tem as funзхes que iremos usar!
PHP код:
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 код:
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, -1, str);
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 i = 0; i <= MAX_PLAYERS; i++)
//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(i, nomeplayers, sizeof(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=0; pos <= varpos; pos++)
{
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,i, GetPlayerScore(i));
SendClientMessage(playerid, -1, string);
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 код:
format(string,sizeof(string),"%d. NOME (%s) ID %d | Level %d",parte2,nomeplayers,i, GetPlayerScore(i));
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