[Ajuda] Sistema de divulgaзao
#1

Como faзo pro player digitar um ip nгo aperece pra ele nen pra pessoas perto dele!!!

o meu sistema quando player digita o ip manda uma mensagem pros admin falando que ele esta divulgando

Obrigado!!!
Reply
#2

public OnPlayerCommandText (caso haja algum comando, por exemplo o /an, etc. Onde todos podem ver, inclua isto nos mesmos)
pawn Код:
if(TentouDivulgar(result))
            {
                if(cdivulgar[playerid] >= 4)
                {
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Aqui vocк nгo pode anunciar servidores!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu servidor й um lixo, nгo divulgue aqui!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu noob peguei esse IP e vou divulgar nesse server tambйm, uaheuhaeuhaeahe!");
                    PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
                    Kick(playerid);
                }
                format(string, 128, "AdmAviso: [%d]%s tentou divulgar: %s.",playerid,PlayerName(playerid),result);
                ABroadCast(COLOR_YELLOW,string,1);
                DivulgouLog(string);
                cdivulgar[playerid] += 1;
                return 1;
            }
OnPlayerCommandText (tbm, se nao me engano)
pawn Код:
stock TentouDivulgar(string[])
{
    new x=0;
    for (new i = 0, j = strlen(string); i <= j; i++)
    {
        if (string[i] >= 46 && string[i] <= 58)
        {
            x+=1;
        }
    }
public OnPlayerText
pawn Код:
if(TentouDivulgar(text))
    {
        if(cdivulgar[playerid] >= 4)
        {
            SendClientMessage(playerid, COLOR_LIGHTBLUE,"Aqui vocк nгo pode anunciar servidores!");
            SendClientMessage(playerid, COLOR_LIGHTBLUE,"Nгo divulgue servidores aqui!");
            SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu noob peguei esse IP e vou divulgar nesse server tambйm, uaheuhaeuhaeahe!");
            PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
            Kick(playerid);
        }
        format(string, 128, "AdmAviso: [%d]%s tentou divulgar: %s.",playerid,PlayerName(playerid),text);
        ABroadCast(COLOR_YELLOW,string,1);
        DivulgouLog(string);
        cdivulgar[playerid] += 1;
        return 0;
    }
Provalvelmente vai dar algum erro, se der, espero que algum outro membro consigo resolvк-lo, pois jб estou de saida. Poste aqui o erro, de qualquer forma.
Reply
#3

Da uma olhada neste tуpico tem vбrios aqui
Reply
#4

Fiz um pequeno esboзo do que deve ser, onde tem "achamos um candidato", vocк cria outra loop, para para todos os jogadores e verifica se й admin para enviar a mensagem para apenas admins.
pawn Код:
public OnPlayerText(playerid, text[])
{
   for(new i = 0; i != strlen(text);++i)
   {
      if(text[i] >= '0' || text[i] <= '9') // achamos uma coisa :O
      {
         ++i; // pulamo um char... para checar..
         if(text[i] == '.') // confirmamos se tem um ponto apos o numero...
         {
             ++i;
             if(text[i] >= '0' || text[i] <= '9')
             {
             // achamos um candidato !
             }

         }
      }
   }
   return 0;
}
Reply
#5

Quote:
Originally Posted by Shum493
Посмотреть сообщение
public OnPlayerCommandText (caso haja algum comando, por exemplo o /an, etc. Onde todos podem ver, inclua isto nos mesmos)
pawn Код:
if(TentouDivulgar(result))
            {
                if(cdivulgar[playerid] >= 4)
                {
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Aqui vocк nгo pode anunciar servidores!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu servidor й um lixo, nгo divulgue aqui!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu noob peguei esse IP e vou divulgar nesse server tambйm, uaheuhaeuhaeahe!");
                    PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
                    Kick(playerid);
                }
                format(string, 128, "AdmAviso: [%d]%s tentou divulgar: %s.",playerid,PlayerName(playerid),result);
                ABroadCast(COLOR_YELLOW,string,1);
                DivulgouLog(string);
                cdivulgar[playerid] += 1;
                return 1;
            }
OnPlayerCommandText (tbm, se nao me engano)
pawn Код:
stock TentouDivulgar(string[])
{
    new x=0;
    for (new i = 0, j = strlen(string); i <= j; i++)
    {
        if (string[i] >= 46 && string[i] <= 58)
        {
            x+=1;
        }
    }
public OnPlayerText
pawn Код:
if(TentouDivulgar(text))
    {
        if(cdivulgar[playerid] >= 4)
        {
            SendClientMessage(playerid, COLOR_LIGHTBLUE,"Aqui vocк nгo pode anunciar servidores!");
            SendClientMessage(playerid, COLOR_LIGHTBLUE,"Nгo divulgue servidores aqui!");
            SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu noob peguei esse IP e vou divulgar nesse server tambйm, uaheuhaeuhaeahe!");
            PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
            Kick(playerid);
        }
        format(string, 128, "AdmAviso: [%d]%s tentou divulgar: %s.",playerid,PlayerName(playerid),text);
        ABroadCast(COLOR_YELLOW,string,1);
        DivulgouLog(string);
        cdivulgar[playerid] += 1;
        return 0;
    }
Provalvelmente vai dar algum erro, se der, espero que algum outro membro consigo resolvк-lo, pois jб estou de saida. Poste aqui o erro, de qualquer forma.
nem foi vc que fez u.u
Reply
#6

como faзo pra chamar uma stock ajuda aki
Reply
#7

posta aki o OnPlayerText(playerid,text[])
Reply
#8

queria so saber como faзo pra chmar uma stock
Reply
#9

Exemplo:
pawn Код:
stock blah(playerid)
{
return 1;
}

//No seu cmd:
blah(playerid);
Reply
#10

Quote:
Originally Posted by PawnoBrasil[xPBx]
Посмотреть сообщение
nem foi vc que fez u.u
Nгo mesmo, peguei isso de um GM que eu tinha que eu usava (ainda uso) pra estudar, lembrei que tinha essa funзгo, e simplesmente coloquei aqui.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)