Перейти к содержанию
Авторизация  
Trateus

Оптимизированный вид регистрации(by Trateus)

Рекомендуемые сообщения

Trateus

Доброго времени суток!

Сегодня я вам покажу ,оптимизированный вид регистрации!

 

И так просмотрим код :

 

Добавим парочку переменных:

new PlayerName[MAX_PLAYER_NAME]/*Имя игрока*/, dialogitem[MAX_PLAYERS]/*Переменная отвечающая за переход диалога*/, pass[64]/*Переменная сохраняющая в себя веденный пароль*/,use[256]/*Переменная отвечающая за форматирование диалогов*/,file[128]/*Переменная отвечающая за форматирования файла*/

Добавим #define:

#define LOGIN_ID 10

 

Потом ставим в OnPlayerConnect или OnPlayerRequest ,куда пожелаете :

GetPlayerName(playerid,PlayerName,26);
format(file,128,"Дерриктория файла");
if(fexist(file)) format(use,sizeof(use),"{ffffff}Привет %snПройдите авторизацию",PlayerName),dialogitem[playerid] = 1; // Форматируем диалог ,даём направление!
else format(use,sizeof(use),"{ffffff}Привет %snПройдите регистрацию",PlayerName),dialogitem[playerid] = 2; // Форматируем диалог ,даём направление!
ShowPlayerDialog(playerid,LOGIN_ID,DIALOG_STYLE_INPUT,"Авторизация аккаунта",use,"Ввод","Отмена");// Показываем диалог

Добавим диалоги*(OnPlayerDialogResponse) :

if(dialogid == LOGIN_ID && dialogitem[playerid] == 1)
{
if(!response) SendClientMessage(playerid,-1,"Вы отменили авторизацию ,Досвидание!"),Kick(playerid); // При нажатии кнопки отмена ,кик!
if(!strlen(inputtext)) ShowPlayerDialog(playerid, LOGIN_ID, DIALOG_STYLE_INPUT, "", "Вы оставили поле пустымnВведите пароль придуманный при регистрации", "Ввод", "Отмена"); // Сообщение при пустом поле
strmid(pass,inputtext,0,strlen(inputtext),64);// Фрагментируем пароль
Registration(dialogitem[playerid],playerid,pass); // Записываем в файлик
}
//-----------------------------------
if(dialogid == LOGIN_ID && dialogitem[playerid] == 2)
{
if(!response) SendClientMessage(playerid,-1,"Вы отменили авторизацию ,Досвидание!"),Kick(playerid); // При нажатии кнопки отмена ,кик!
if(!strlen(inputtext)) ShowPlayerDialog(playerid, LOGIN_ID, DIALOG_STYLE_INPUT, "", "Вы оставили поле пустымnВведите пароль придуманный при регистрации", "Ввод", "Отмена"); // Сообщение при пустом поле
if(!strlen(inputtext) < 6 || !strlen(inputtext) > 15) rerurn ShowPlayerDialog(playerid,LOGIN_ID,DIALOG_STYLE_MSGBOX,"{C0C0C0}Ошибка!","{FF6347}Длина пароля должна быть от 6 до 15 символов!","Повтор",""); // strlen(inputtext) < 6 Минимальное значение ввода!
strmid(pass,inputtext,0,strlen(inputtext),64); // Фрагментируем пароль
Registration(dialogitem[playerid],playerid,pass); // Записываем в файл
ShowPlayerDialog(playerid,LOGIN_ID,DIALOG_STYLE_INPUT,"{C0C0C0}Этап 1/2","Введите пароль для ,продолжения!","Ввод","Отмена"); // Переходим на диалог входа
}

Теперь в конец мода добавим :

 


forward Registration(type,playerid,password[]);
public Registration(type,playerid,password[])
{
//-----------------
if(type == 1) // Тип 1 : Авторизация / Login
{
// Сюда ставим файлы получения при авторизации
}
//-----------------
if(type == 2) // Тип 2 : Регистрация
{
// Сюда ставим сохранение файлов при регистрации
}
return true;
}

Автор : Trateus

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Amfy

Потом ставим в OnPlayerConnect или OnPlayerRequest ,куда пожелаете :

use будет неизвестным, т.к не объявлена переменная.

А так за старание плюсик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SHOROOP

О какой оптимизации может идти речь? В диалогах вместо логичного switch-case используется if, в функции регистрации - та же борода. Туча времени пройдет, пока проверятся все условия.

А условие проверки длины пароля вообще составлено неверно.

!strlen(inputtext)  15

Что за борода? Если НЕ длина строки меньше шести или если НЕ длина строки больше пятнадцати?

  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
FanHamMеr

О какой оптимизации может идти речь? В диалогах вместо логичного switch-case используется if, в функции регистрации - та же борода. Туча времени пройдет, пока проверятся все условия.

А условие проверки длины пароля вообще составлено неверно.

!strlen(inputtext) < 6 || !strlen(inputtext) > 15

Что за борода? Если НЕ длина строки меньше шести или если НЕ длина строки больше пятнадцати?

 

Это называется "ОБУЧИ МЕНЯ О ЧУДО МОД, ГОВНОКОДИТЬ" :-)

 

На самом деле, даже если бы ты сделал хотя бы с переключателями, уже была бы типа "оптимизация".

Но о какой оптимизации идёт речь если ты даже операторы правильно поставить не можешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Trateus
На самом деле ,я забыл убрать негативный символ ,а вы тут кипишь наводите!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Trateus
Только срать умеете ,я тут встал на путь исправления ,переосмыслил всё и тут на те нах! Говнюки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smart_Ua

Только срать умеете ,я тут встал на путь исправления ,переосмыслил всё и тут на те нах! Говнюки

 

ахаха , переосмыслил Саша :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TrollFace

Еще и русский язык, похоже, не знаете....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SHOROOP

Только срать умеете ,я тут встал на путь исправления ,переосмыслил всё и тут на те нах! Говнюки

 

За оскорбление администрации сразу бан выписать или подумаешь, что написал?

 

За свои слова отвечать нужно в любом случае. А если ты не проверил материал перед публикацией - это только твои проблемы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smart_Ua

 

Только срать умеете ,я тут встал на путь исправления ,переосмыслил всё и тут на те нах! Говнюки

 

За оскорбление администрации сразу бан выписать или подумаешь, что написал?

 

За свои слова отвечать нужно в любом случае. А если ты не проверил материал перед публикацией - это только твои проблемы.

 

А причем тут оскорблять администрацию, реально Саша выложил "готовое решение" а его все "засрали" , и вы в ту же очередь.

А потом ещё и в бан он попадает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TrollFace

Smart_Ua и Trateus проверьте IP пользователей.

 

Тему желательно закрыть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
reAL

Smart_Ua и Trateus проверьте IP пользователей.

 

Тему желательно закрыть.

 

Это два разных человека )

 

Оптимизации нету, готовым решением не является.

 

P.S просто кусок кода.

 

Тема закрыта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.