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;
}