Всем привет! Хочу вам предоставить новую систему "Авто Логин". Так же игрок может его отключить или включить.
Ко всем new:
В OnPlayerConnect:
Код
format( gsQuery, 128, "SELECT * FROM `Accounts` WHERE `Name` = '%s'", PlayerName( playerid ) );
mysql_function_query(g_Handle, gsQuery, true, "LoginPlayerAccount", "i", playerid );
В конец мода:
Код
forward LoginPlayerAccount(playerid);
public LoginPlayerAccount( playerid )
{
if ( !IsPlayerConnected( playerid ) ) return ( 1 );
new Rows, Fields, Login_Field[ 128 ];
cache_get_data( Rows, Fields, g_Handle );
if(Rows)
{
cache_get_field_content( 0, "IP", Login_Field, g_Handle );//Получаем IP игрока
PlayerInfo[ playerid ][ AutoLogin ] = cache_get_field_content_int( 0, "AutoLogin",g_Handle );
if(PlayerInfo[ playerid ][ AutoLogin ] == 1)//Если авто логин включен
{
if ( !strcmp( GetPlayerIPEx( playerid ), Login_Field, true))
{
//Загрузка аккаунта. padmin и так далее
}
else
ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Логин", "{FFFFFF}Вход: Введите пароль:", "Вход");//Если IP не такой
}
else
ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Логин", "{FFFFFF}Вход: Введите пароль:", "Вход");//Если Авто логин не включен
}
else
ShowPlayerDialog(playerid, Register, DIALOG_STYLE_PASSWORD, "{FFFFFF}Регистрация", "{FFFFFF}Регистрация: Введите пароль:", "Регистрация");//Если нет аккаунта
return 1;
}
GetPlayerIpEx:
Код
GetPlayerIPEx( playerid )
{
new pIP[ 17 ];
GetPlayerIp( playerid, pIP, 17 );
return pIP;
}
PlayerName( playerid ):
Код
stock PlayerName( playerid )
{
new name[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, name, MAX_PLAYER_NAME );
return name;
}
Важно: Заменить g_Handle на свое!
Версия MySQL: R34-33
P.S. Команду чтобы отключить или включить авто логин сделайте сами, это не трудно