public OnRconLoginAttempt help
#1

im using it but i want it to have 3 attemts before it kicks

pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
  if(!success) //If the password was incorrect
  {
    printf("FAILED RCON LOGIN BY IP %s USING PASSWORD %s",ip, password);
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++) //Loop through all players
    {
      GetPlayerIp(i, pip, sizeof(pip));
      if(!strcmp(ip, pip, true)) //If a player's IP is the IP that failed the login
      {
        SendClientMessage(i, 0xFFFFFFFF, "Wrong Password!"); //Send a message
                Kick(i);
            }
    }
  }
  return 1;
}
Reply
#2

Quote:
Originally Posted by johnathon956
im using it but i want it to have 3 attemts before it kicks

pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
  if(!success) //If the password was incorrect
  {
    printf("FAILED RCON LOGIN BY IP %s USING PASSWORD %s",ip, password);
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++) //Loop through all players
    {
      GetPlayerIp(i, pip, sizeof(pip));
      if(!strcmp(ip, pip, true)) //If a player's IP is the IP that failed the login
      {
        SendClientMessage(i, 0xFFFFFFFF, "Wrong Password!"); //Send a message
                Kick(i);
            }
    }
  }
  return 1;
}
Use PVars, like this:

pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
  if(!success) //If the password was incorrect
  {
    printf("FAILED RCON LOGIN BY IP %s USING PASSWORD %s",ip, password);
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++) //Loop through all players
    {
      GetPlayerIp(i, pip, sizeof(pip));
      if(!strcmp(ip, pip, true)) //If a player's IP is the IP that failed the login
      {
        SendClientMessage(i, 0xFFFFFFFF, "Wrong Password!"); //Send a message
                SetPVarInt( i, "PasswordWarnings", GetPVarInt( i, "PasswordWarnings" ) + 1 );
        if( GetPVarInt( i, "PasswordWarnings" ) == 3 ) {
          DeletePVar( i, "PasswordWarnings" );
                    Kick(i);
                }
            }
        }
  }
  return 1;
}
E: Sorry for the indentation, I don't know why, but it sucks now.
Reply
#3

Quote:
Originally Posted by ZeRo_HUN
Quote:
Originally Posted by johnathon956
im using it but i want it to have 3 attemts before it kicks

pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
  if(!success) //If the password was incorrect
  {
    printf("FAILED RCON LOGIN BY IP %s USING PASSWORD %s",ip, password);
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++) //Loop through all players
    {
      GetPlayerIp(i, pip, sizeof(pip));
      if(!strcmp(ip, pip, true)) //If a player's IP is the IP that failed the login
      {
        SendClientMessage(i, 0xFFFFFFFF, "Wrong Password!"); //Send a message
                Kick(i);
            }
    }
  }
  return 1;
}
Use PVars, like this:

pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
  if(!success) //If the password was incorrect
  {
    printf("FAILED RCON LOGIN BY IP %s USING PASSWORD %s",ip, password);
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++) //Loop through all players
    {
      GetPlayerIp(i, pip, sizeof(pip));
      if(!strcmp(ip, pip, true)) //If a player's IP is the IP that failed the login
      {
        SendClientMessage(i, 0xFFFFFFFF, "Wrong Password!"); //Send a message
                SetPVarInt( i, "PasswordWarnings", GetPVarInt( i, "PasswordWarnings" ) + 1 );
        if( GetPVarInt( i, "PasswordWarnings" ) == 3 ) {
          DeletePVar( i, "PasswordWarnings" );
                    Kick(i);
                }
            }
        }
  }
  return 1;
}
E: Sorry for the indentation, I don't know why, but it sucks now.
to use pvar do i need r7 server
Reply
#4

Quote:
Originally Posted by johnathon956
Quote:
Originally Posted by ZeRo_HUN
Quote:
Originally Posted by johnathon956
im using it but i want it to have 3 attemts before it kicks

pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
  if(!success) //If the password was incorrect
  {
    printf("FAILED RCON LOGIN BY IP %s USING PASSWORD %s",ip, password);
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++) //Loop through all players
    {
      GetPlayerIp(i, pip, sizeof(pip));
      if(!strcmp(ip, pip, true)) //If a player's IP is the IP that failed the login
      {
        SendClientMessage(i, 0xFFFFFFFF, "Wrong Password!"); //Send a message
                Kick(i);
            }
    }
  }
  return 1;
}
Use PVars, like this:

pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
  if(!success) //If the password was incorrect
  {
    printf("FAILED RCON LOGIN BY IP %s USING PASSWORD %s",ip, password);
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++) //Loop through all players
    {
      GetPlayerIp(i, pip, sizeof(pip));
      if(!strcmp(ip, pip, true)) //If a player's IP is the IP that failed the login
      {
        SendClientMessage(i, 0xFFFFFFFF, "Wrong Password!"); //Send a message
                SetPVarInt( i, "PasswordWarnings", GetPVarInt( i, "PasswordWarnings" ) + 1 );
        if( GetPVarInt( i, "PasswordWarnings" ) == 3 ) {
          DeletePVar( i, "PasswordWarnings" );
                    Kick(i);
                }
            }
        }
  }
  return 1;
}
E: Sorry for the indentation, I don't know why, but it sucks now.
to use pvar do i need r7 server
Yes, you need but you can do it with simple variables:

pawn Код:
new PassWarnings[ MAX_PLAYERS ] = { 0, ... };

public OnRconLoginAttempt(ip[], password[], success)
{
  if(!success) //If the password was incorrect
  {
    printf("FAILED RCON LOGIN BY IP %s USING PASSWORD %s",ip, password);
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++) //Loop through all players
    {
      GetPlayerIp(i, pip, sizeof(pip));
      if(!strcmp(ip, pip, true)) //If a player's IP is the IP that failed the login
      {
        SendClientMessage(i, 0xFFFFFFFF, "Wrong Password!"); //Send a message
        ++PassWarnings[ i ];
        if( PassWarnings[ i ] == 3 ) {
          PassWarnings[ i ] = 0;
         Kick(i);
        }
      }
    }
  }
  return 1;
}
Reply
#5

how can i put a reason for kicking
Reply
#6

Quote:
Originally Posted by johnathon956
how can i put a reason for kicking
Place a SendClientMessage() and probably a string before the Kick(..)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)