[AJUDA] strfind
#1

queria saber como retornar o bad name part encontrado?
segue o code:
pawn Код:
#define MAX_BAD_PARTS 9
new BadNameParts[MAX_BAD_PARTS][] =
{
"@","#","$","!","*","con","adm","admin","dono"
};

public OnPlayerConnect(playerid)
{
    for(new i; i < MAX_BAD_PARTS; ++i)
    {
        if(strfind(GetPlayerNameMk(playerid),BadNameParts[i],true) != -1)
        {
            SendFmtdMsgToAll(vermelho,"%s foi kikado pois seu nick й invбlido. (%s (bad name part))",GetPlayerNameMk(playerid),_____________);
            Kick(playerid);
        }
    }
    return 1;
}
Reply
#2

Mais prбtico:

pawn Код:
public OnPlayerConnect(playerid)
{
        if(strfind(Nome(playerid),"clock$",true) != -1)
    {
        Ban(playerid);
    }
    if(strfind(Nome(playerid),"prn",true) != -1)
    {
        Ban(playerid);
    }
    if(strfind(Nome(playerid),"Carl",true) != -1)
    {
        Ban(playerid);
    }
    if(strfind(Nome(playerid),"con",true) != -1)
    {
        Ban(playerid);
    }
    if(strfind(Nome(playerid),"SgtPepper",true) != -1)
    {
        Ban(playerid);
    }
        return 1;
}
Reply
#3

Код:
SendFmtdMsgToAll(vermelho,"%s foi kikado pois seu nick й invбlido. (%s (bad name part))",GetPlayerNameMk(playerid),_____________);
Errado!
Deveria Usar format.
Reply
#4

Aqui esta Com uma array acho que й assim que vocк quer
PHP код:

//Topo do gm
new NomesProibido[][MAX_PLAYER_NAME] =
{
"com1","com2","com3","com4","com5","com6","com7","com8","com9","lpt1","lpt2","lpt3","lpt4","lpt5","lpt6","lpt7","lpt8","lpt9",
"Carl","Rocky","Sony","clock$","prn","nul","con","Azucar","CON","con","con1","aux","aux1","prn","PRN","AUX","TSSA","[BOT]",
"BOT","ServerLixo","Lixo","DKlixo","[DK]Drifter","[TSSA]","NomeAqui"
};///Para adicionar mais basta colocar ,"NomeAqui" e lembre se deixar o ultimo sem virgula
OnPlayerConnect(playerid)
{
    for(new 
ii<sizeof(NomesProibido); i++)
    {
        new 
Anti_Bot[24];
        
GetPlayerName(playeridAnti_Bot24);
        if(
strcmp(NomesProibido[i], Anti_Bottrue)== 0)
        {
            
SendClientMessage(playerid0x1E90FFAA"»»» 'KICK'  Vocк Foi kickado Motivo: [Nome Proibido] Troque seu (NICK-NAME)");
            
GetPlayerName(playeridNomeMAX_PLAYER_NAME);
            
format(stringsizeof string"»» 'Kick' O jogador '%s' Foi kickado do Motivo: [Nome Proibido]"Nome);
            
SendClientMessageToAll(0x1E90FFAAstring);
            
Kick(playerid);
        }
    }
return 
1;

Reply
#5

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
Код:
SendFmtdMsgToAll(vermelho,"%s foi kikado pois seu nick й invбlido. (%s (bad name part))",GetPlayerNameMk(playerid),_____________);
Errado!
Deveria Usar format.
eu uso o
pawn Код:
#define SendFmtdMsg(%0,%1,%2,%3) format(strt, sizeof(strt),%2,%3) && SendClientMessage(%0, %1, strt)


Quote:
Originally Posted by Schocc
Посмотреть сообщение
Aqui esta Com uma array acho que й assim que vocк quer
pawn Код:
//Topo do gm
new NomesProibido[][MAX_PLAYER_NAME] =
{
"com1","com2","com3","com4","com5","com6","com7","com8","com9","lpt1","lpt2","lpt3","lpt4","lpt5","lpt6","lpt7","lpt8","lpt9",
"Carl","Rocky","Sony","clock$","prn","nul","con","Azucar","CON","con","con1","aux","aux1","prn","PRN","AUX","TSSA","[BOT]",
"BOT","ServerLixo","Lixo","DKlixo","[DK]Drifter","[TSSA]","NomeAqui"
};///Para adicionar mais basta colocar ,"NomeAqui" e lembre se deixar o ultimo sem virgula

OnPlayerConnect(playerid)
{



    for(new i; i<sizeof(NomesProibido); i++)
    {
        new Anti_Bot[40];
        GetPlayerName(playerid, Anti_Bot, 40);
        if(strcmp(NomesProibido[i], Anti_Bot, true)== 0)
        {
            SendClientMessage(playerid, 0x1E90FFAA, "»»» 'KICK'  Vocк Foi kickado Motivo: [Nome Proibido] Troque seu (NICK-NAME)");
            GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
            format(string, sizeof string, "»» 'Kick' O jogador '%s' Foi kickado do Motivo: [Nome Proibido]", Nome);
            SendClientMessageToAll(0x1E90FFAA, string);
            Kick(playerid);
        }
    }



return 1;
}
tipo que queria assim, se caso o player esteja com ADM no nome ele buscaria isso na array e retornaria como string
dessa forma:

%s for kikado pois seu nome й invбlido (ADM)


Quote:
Originally Posted by delete
Посмотреть сообщение
Mais prбtico:

pawn Код:
public OnPlayerConnect(playerid)
{
        if(strfind(Nome(playerid),"clock$",true) != -1)
    {
        Ban(playerid);
    }
    if(strfind(Nome(playerid),"prn",true) != -1)
    {
        Ban(playerid);
    }
    if(strfind(Nome(playerid),"Carl",true) != -1)
    {
        Ban(playerid);
    }
    if(strfind(Nome(playerid),"con",true) != -1)
    {
        Ban(playerid);
    }
    if(strfind(Nome(playerid),"SgtPepper",true) != -1)
    {
        Ban(playerid);
    }
        return 1;
}
assim fica muito grande
Reply
#6

O que seria localizado no nome do jogador para que ele recebesse kick ? Nгo seria o mesmo que BadNameParts[i] que seria passado ao strfind pouco antes ?


Sendo assim:


Код:
SendFmtdMsgToAll(vermelho,"%s foi kikado pois seu nick й invбlido. (%s (bad name part))",GetPlayerNameMk(playerid),BadNameParts[i]);

Espero ter ajudado .
Reply
#7

Quote:
Originally Posted by rjjj
Посмотреть сообщение
O que seria localizado no nome do jogador para que ele recebesse kick ? Nгo seria o mesmo que BadNameParts[i] que seria passado ao strfind pouco antes ?


Sendo assim:


Код:
SendFmtdMsgToAll(vermelho,"%s foi kikado pois seu nick й invбlido. (%s (bad name part))",GetPlayerNameMk(playerid),BadNameParts[i]);

Espero ter ajudado .
thx bro deu certo nгo tinha pensado nisso rep++ a todos
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)