Система регистрации на сервере SAMP (MySQL) - Часть 3

Главная » Полезные статьи » Расширение функционала при помощи плагинов

Система регистрации на сервере SAMP (MySQL) - Часть 3
09.02.2013, 20:10

Отключаем возможность писать в чат неавторизованному. 

public OnPlayerText(playerid, text[]) 
{
if(playerVariable[playerid][aLogged] == false) return 0;
return 1;
}


Наш OnPlayerConnect. 

public OnPlayerConnect(playerid)
{
RemovePlayerVariables(playerid);
//------------------------------------------------------------------------------
GetPlayerName(playerid, playerVariable[playerid][aName], MAX_PLAYER_NAME);
//------------------------------------------------------------------------------
if(GetAccountID(playerid)) { // Аккаунт зарегистрирован
new dialog[128+MAX_PLAYER_NAME];
format(dialog, sizeof(dialog),
"Добро пожаловать на Сервер!\n\
Этот аккаунт зарегистрирован.\n\n\
Логин: %s\n\
Введите пароль:",
playerVariable[playerid][aName]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Авторизация.", dialog, "Войти", "Отмена");
}
else {
// Аккаунт не зарегистрирован (return 0, в функции GetAccountID, т.е. не нашло записи с аккаунтом).
new dialog[344+MAX_PLAYER_NAME];
format(dialog, sizeof(dialog),
"Добро пожаловать на Сервер!\n\
Этот аккаунт не зарегистрирован.\n\n\
Логин: %s\n\
Введите пароль и нажмите \"Далее\".\n\n\
Примечания:\n\
- Пароль чувствительный к регистру.\n\
- Длина пароля от 6 до 32 символов.\n\
- В пароле можно использовать символы на кириллице и латинице.\n", playerVariable[playerid][aName]);
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация.", dialog, "Далее", "Отмена");
}
return 1;
}



Наш OnPlayerDisconnect. 

public OnPlayerDisconnect(playerid, reason)
{
if(playerVariable[playerid][aLogged] == true) SaveAccount(playerid);
return 1;
}

Готово, у нас есть система регистрации. 

Вот так выглядит таблица с аккаунтами:

Основу дал, объяснил. Дальше дорабатывайте сами под свой лад. 

Защиту от съезда полей (из-за sscanf) сами делайте, опять же, тут разжевал основу.  
Автор урока: Snoowker (на SRC — Satellite).
Добавил: AXE |
Просмотров: 4179 | Рейтинг: 5.0/1