Сегодня Понедельник | Дата: 29.04.2024 | Время: 07:18
                        
Последние новости
Оф. C-HUD GTA-ONE (v. beta 1.0) by Darius Stone для GTA - SA
Добавил: Kronos
Всего комментариев: 0
Новая волна GTA-ONE
Добавил: Ice_Code
Всего комментариев: 3
Трейлер Grand Theft Auto - V
Добавил: Kronos
Всего комментариев: 0
Новые темы форума
Last Empire War Z
Ответил: Kronos
Всего ответов:
Adobe Photoshop Touch
Ответил: Kronos
Всего ответов:
ePSXe for Android
Ответил: Kronos
Всего ответов:
Лучшие пользователи
Kronos
Логин: Kronos
Репутация: 10
Группа: Администраторы
Ice_Code
Логин: Ice_Code
Репутация: 2
Группа: Администраторы
ExT
Логин: ExT
Репутация: 1
Группа: Пользователи
Здравствуй, Гость! Авторизуйся или зарегистрируйся
Цвет фона
Случайные материалы



Последние материалы

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Pawn - скриптинг » Мануалы/уроки » MySQL » [Урок] Система регистрации MySQL R34
[Урок] Система регистрации MySQL R34
KronosДата: Воскресенье, 13.07.2014, 20:10 | Сообщение # 1
Местный мазафака
Сообщений: 117
Награды: 0
Репутация: 10
Здравствуйте дорогие друзья!
Сегодня я хотел бы с вами поделиться с системой Регистрации/Авторизации на MySQL R34
Многие друзья просили помочь с данной темой,но я решил выложить полноценную регистрацию/авторизацию для всех,чтобы вам было понятней я всё описал!

И так приступим:

Подключаем библиотеку MySQL это можно сделать кодом ниже:
Код
#include <a_mysql>


Для более удобного настраивания подключения/имя базы мы макросим функции
Код
#define mysql_host             ""//host
#define mysql_user                     ""//user
#define mysql_db                 ""//database
#define mysql_pass                 ""//password
#define Baza                      "Accountss"//Название базы


Массивы,переменные:
Код
new MYSQL_ARG;//Аргумент подключения
new asd[256];//Ячейка для работы с мускулом

enum Info
{
     pName[24],
     pPassword[15],
     pLevel,
     Float:pKaord,
     pSkype[20],
     pLogged
};
new PlayerInfo[MAX_PLAYERS][Info];


В public OnGameModeInit()
Код
    MYSQL_ARG = mysql_connect(mysql_host, mysql_user, mysql_db, mysql_pass);//Подключаем мускул(плагин) к серверу

     new stats[100];
     mysql_stat(stats);//Возвращает текущий статус сервера (время работы,количество потоков,запросов,открытых таблиц и количество запросов в секунду)
     print(stats);


В public OnPlayerCommandText(playerid, cmdtext[]) Для проверки
Код
    if (strcmp("/1", cmdtext, true) == 0)
     {
         new srt[150];
         format(srt,150,"Твой левел: %d | Твой скайп: %s | Твой каординат: %f",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pSkype],PlayerInfo[playerid][pKaord]);
         SendClientMessage(playerid, -1, srt);
             return 1;
     }


В public OnDialogResponse Сам диалог регистрации и авторизации

У кого dialogid под свичём то используем так:
Код
        case 1: //Регистрация
         {
             if(!response) return Kick(playerid);//Кикаем игрока т.к он нажал Кик
             if(!strlen(inputtext))
             {
                 ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация","Здравствуйте вы не зарегистрированы\nВведите свой пароль в окошечко","Войти","Кик");
                 SendClientMessage(playerid, -1, "Вы не чего не ввели");
                 return 0;
             }
             if(strlen(inputtext) < 5 || strlen(inputtext) > 15)//Проверка на вводные данные
             {
                 ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация","Здравствуйте вы не зарегистрированы\nВведите свой пароль в окошечко","Войти","Кик");
                 SendClientMessage(playerid, -1, "Ваш пароль должен быть от 5 до 15 символов");
                 return 0;
             }
             format(PlayerInfo[playerid][pPassword], 15,"%s", inputtext);//Записываем пароль в переменную
             Reg(playerid);//Регистрируем нового игрока в базе(он создал для того,чтобы было удобней)
               SendClientMessage(playerid, -1, "Вы зарегистрировались");
               PlayerInfo[playerid][pLogged] = 1;//Ставим значение на 1 т.к зашли
               SetPlayerPos(playerid,-1421.8978,-291.1276,14.1484);//Посылаем игрок на координаты
         }
         //
         case 2: //Авторизация
         {
             if(!response) return Kick(playerid);//Кикаем игрока т.к он нажал Кик
             if(!strlen(inputtext))
             {
                 ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Авторизация","Здравствуйте\nВы здесь уже зарегестрированы\nВведите свой пароль, для входа в игру","Войти","Кик");
                 SendClientMessage(playerid, -1, "Вы не чего не ввели");
                 return 0;
             }
             mysql_format(MYSQL_ARG, asd,90, "SELECT * FROM `"Baza"` WHERE `Name` = '%e' AND `Password` = '%e'", PlayerInfo[playerid][pName], inputtext);//Узнаём логин игрока,и введённый пароль
               mysql_function_query(MYSQL_ARG, asd, true, "Avtoriz","ds", playerid, inputtext); //Отправляем логин игрока и введённый пароль
         }


У кого проверкой if
Код
    if(dialogid == 1)
     {
         if(!response) return Kick(playerid);//Кикаем игрока т.к он нажал Кик
         if(!strlen(inputtext))
         {
             ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация","Здравствуйте вы не зарегистрированы\nВведите свой пароль в окошечко","Войти","Кик");
             SendClientMessage(playerid, -1, "Вы не чего не ввели");
             return 0;
         }
         if(strlen(inputtext) < 5 || strlen(inputtext) > 15)//Проверка на вводные данные
         {
             ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация","Здравствуйте вы не зарегистрированы\nВведите свой пароль в окошечко","Войти","Кик");
             SendClientMessage(playerid, -1, "Ваш пароль должен быть от 5 до 15 символов");
             return 0;
         }
         format(PlayerInfo[playerid][pPassword], 15,"%s", inputtext);//Записываем пароль в переменную
         Reg(playerid);//Регистрируем нового игрока в базе(он создал для того,чтобы было удобней)
           SendClientMessage(playerid, -1, "Вы зарегистрировались");
           PlayerInfo[playerid][pLogged] = 1;//Ставим значение на 1 т.к зашли
           SetPlayerPos(playerid,-1421.8978,-291.1276,14.1484);//Посылаем игрок на координаты
     }
     if(dialogid == 2)
     {
         if(!response) return Kick(playerid);//Кикаем игрока т.к он нажал Кик
         if(!strlen(inputtext))
         {
             ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Авторизация","Здравствуйте\nВы здесь уже зарегестрированы\nВведите свой пароль, для входа в игру","Войти","Кик");
             SendClientMessage(playerid, -1, "Вы не чего не ввели");
             return 0;
         }
         mysql_format(MYSQL_ARG, asd,90, "SELECT * FROM `"Baza"` WHERE `Name` = '%e' AND `Password` = '%e'", PlayerInfo[playerid][pName], inputtext);//Узнаём логин игрока,и введённый пароль
           mysql_function_query(MYSQL_ARG, asd, true, "Avtoriz","ds", playerid, inputtext); //Отправляем логин игрока и введённый пароль
     }


В public OnPlayerConnect(playerid)
Код
    PlayerInfo[playerid][pLogged] = 0;//Проверка на вход
     PlayerInfo[playerid][pLevel] = 500;//Запишем кол-во левела для нового игрока

     GetPlayerName(playerid, PlayerInfo[playerid][pName], 24);//Узнаём ник игрока и записываем в переменную PlayerInfo[playerid][pName]
     mysql_format(MYSQL_ARG, asd, 90, "SELECT `Name` FROM `"Baza"` WHERE `Name` = '%e'", PlayerInfo[playerid][pName]);//Форматируем строку и записываем логин
     mysql_function_query(MYSQL_ARG, asd, true, "Start_R_A","d", playerid);//Отправляем запрос и узнаём есть ли в бд ник игрока


В public OnPlayerDisconnect(playerid, reason)
Код
    if(PlayerInfo[playerid][pLogged] == 1)//Проверяем подключен ли игрок
     {
         Save(playerid);//Сохраним его аккаунт
     }


В конец мода
Код
forward Start_R_A(playerid);
public Start_R_A(playerid)//Тут мы узнаём статус игрока(зарегистрирован или наоборот)
{
     new rows, fields;
     cache_get_data(rows, fields);
     if(rows)
     {
         ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Авторизация","Здравствуйте\nВы здесь уже зарегестрированы\nВведите свой пароль, для входа в игру","Войти","Кик");
     }
     else
     {
         ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация","Здравствуйте вы не зарегистрированы\nВведите свой пароль в окошечко","Войти","Кик");
     }
      return 1;
}


Код
forward Avtoriz(playerid, password[]);
public Avtoriz(playerid, password[])//Тут мы узнаём верные данные он ввёл или нет(Пароль)
{
     new rows, fields;
     cache_get_data(rows, fields);
     if(!rows)
     {
         ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Авторизация","Здравствуйте\nВы здесь уже зарегестрированы\nВведите свой пароль, для входа в игру","Войти","Кик");
         SendClientMessage(playerid,-1,"Вы ввели не верный пароль");
         return 1;
     }
     PlayerInfo[playerid][pLogged] = 1;//Ставим значение на 1 т.к зашли
     for(new i = 0; i < rows;i++)
     {
         Avt(i,playerid);//Тут читаем бд и записываем в переменную(сток создал чтобы вы не запутались и было удобней)
     }
     SetPlayerPos(playerid,-1421.8978,-291.1276,14.1484);//Посылаем игрок на координаты
     SendClientMessage(playerid, -1, "Вы успешно вошли");
     return 1;
}


Код
stock Avt(i,playerid)//Сток для чтения бд
{
     PlayerInfo[playerid][pLevel] = cache_get_field_content_int(i, "Level", MYSQL_ARG);//Чтение цифрового значение
     PlayerInfo[playerid][pKaord] = cache_get_field_content_float(i, "Kaord", MYSQL_ARG);//Чтение дробного значения
     cache_get_field_content(i, "Skype", PlayerInfo[playerid][pSkype], MYSQL_ARG, 20);//Чтение текстового значения
  //Дальше можно делать аналогично
}


Код
stock Reg(playerid)//Сток для создания нового игрока в базе
{
     format(PlayerInfo[playerid][pSkype], 20, "%s", "Qwerty");//Придумаем скайп игроку
     PlayerInfo[playerid][pKaord] = 190.13122;//Запишем в значение дробь 190.13122
     mysql_function_query(MYSQL_ARG, asd, false, "", "");
     mysql_format(MYSQL_ARG, asd, sizeof(asd), "INSERT INTO `"Baza"` (`Name`, `Password`,`Level`,`Kaord`,`Skype`) VALUES ('%e', '%e', '%d', '%f', '%e')",
     PlayerInfo[playerid][pName],
     PlayerInfo[playerid][pPassword],
     PlayerInfo[playerid][pLevel],
     PlayerInfo[playerid][pKaord],
     PlayerInfo[playerid][pSkype]
     ); //Запишем в asd логин,пароль,деньги,координат 1,скайп
     mysql_function_query(MYSQL_ARG, asd, false, "", "");//Отправляем запрос

}


Код
stock Save(playerid)//Сток для сохранения данных
{
     mysql_format(MYSQL_ARG, asd, sizeof(asd),"UPDATE `"Baza"` SET `Password` = '%e', `Level` = '%d', `Kaord` = '%f', `Skype` = '%e' WHERE `Name` = '%e'",
     PlayerInfo[playerid][pPassword],
     PlayerInfo[playerid][pLevel],
     PlayerInfo[playerid][pKaord],
     PlayerInfo[playerid][pSkype],
     PlayerInfo[playerid][pName]
     );//Запишем в asd логин,пароль,деньги,координат 1,скайп
     mysql_tquery(MYSQL_ARG, asd, "", "");//Отправляем запрос
}  


Плагины,инклюд,и сам pwn - Скачать!
Пароль - pawno-info

Вот и всё,с вами был Mr.Pawn
С наступающим друзья!!!
Всего хорошего вам!


СообщениеЗдравствуйте дорогие друзья!
Сегодня я хотел бы с вами поделиться с системой Регистрации/Авторизации на MySQL R34
Многие друзья просили помочь с данной темой,но я решил выложить полноценную регистрацию/авторизацию для всех,чтобы вам было понятней я всё описал!

И так приступим:

Подключаем библиотеку MySQL это можно сделать кодом ниже:
Код
#include <a_mysql>


Для более удобного настраивания подключения/имя базы мы макросим функции
Код
#define mysql_host             ""//host
#define mysql_user                     ""//user
#define mysql_db                 ""//database
#define mysql_pass                 ""//password
#define Baza                      "Accountss"//Название базы


Массивы,переменные:
Код
new MYSQL_ARG;//Аргумент подключения
new asd[256];//Ячейка для работы с мускулом

enum Info
{
     pName[24],
     pPassword[15],
     pLevel,
     Float:pKaord,
     pSkype[20],
     pLogged
};
new PlayerInfo[MAX_PLAYERS][Info];


В public OnGameModeInit()
Код
    MYSQL_ARG = mysql_connect(mysql_host, mysql_user, mysql_db, mysql_pass);//Подключаем мускул(плагин) к серверу

     new stats[100];
     mysql_stat(stats);//Возвращает текущий статус сервера (время работы,количество потоков,запросов,открытых таблиц и количество запросов в секунду)
     print(stats);


В public OnPlayerCommandText(playerid, cmdtext[]) Для проверки
Код
    if (strcmp("/1", cmdtext, true) == 0)
     {
         new srt[150];
         format(srt,150,"Твой левел: %d | Твой скайп: %s | Твой каординат: %f",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pSkype],PlayerInfo[playerid][pKaord]);
         SendClientMessage(playerid, -1, srt);
             return 1;
     }


В public OnDialogResponse Сам диалог регистрации и авторизации

У кого dialogid под свичём то используем так:
Код
        case 1: //Регистрация
         {
             if(!response) return Kick(playerid);//Кикаем игрока т.к он нажал Кик
             if(!strlen(inputtext))
             {
                 ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация","Здравствуйте вы не зарегистрированы\nВведите свой пароль в окошечко","Войти","Кик");
                 SendClientMessage(playerid, -1, "Вы не чего не ввели");
                 return 0;
             }
             if(strlen(inputtext) < 5 || strlen(inputtext) > 15)//Проверка на вводные данные
             {
                 ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация","Здравствуйте вы не зарегистрированы\nВведите свой пароль в окошечко","Войти","Кик");
                 SendClientMessage(playerid, -1, "Ваш пароль должен быть от 5 до 15 символов");
                 return 0;
             }
             format(PlayerInfo[playerid][pPassword], 15,"%s", inputtext);//Записываем пароль в переменную
             Reg(playerid);//Регистрируем нового игрока в базе(он создал для того,чтобы было удобней)
               SendClientMessage(playerid, -1, "Вы зарегистрировались");
               PlayerInfo[playerid][pLogged] = 1;//Ставим значение на 1 т.к зашли
               SetPlayerPos(playerid,-1421.8978,-291.1276,14.1484);//Посылаем игрок на координаты
         }
         //
         case 2: //Авторизация
         {
             if(!response) return Kick(playerid);//Кикаем игрока т.к он нажал Кик
             if(!strlen(inputtext))
             {
                 ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Авторизация","Здравствуйте\nВы здесь уже зарегестрированы\nВведите свой пароль, для входа в игру","Войти","Кик");
                 SendClientMessage(playerid, -1, "Вы не чего не ввели");
                 return 0;
             }
             mysql_format(MYSQL_ARG, asd,90, "SELECT * FROM `"Baza"` WHERE `Name` = '%e' AND `Password` = '%e'", PlayerInfo[playerid][pName], inputtext);//Узнаём логин игрока,и введённый пароль
               mysql_function_query(MYSQL_ARG, asd, true, "Avtoriz","ds", playerid, inputtext); //Отправляем логин игрока и введённый пароль
         }


У кого проверкой if
Код
    if(dialogid == 1)
     {
         if(!response) return Kick(playerid);//Кикаем игрока т.к он нажал Кик
         if(!strlen(inputtext))
         {
             ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация","Здравствуйте вы не зарегистрированы\nВведите свой пароль в окошечко","Войти","Кик");
             SendClientMessage(playerid, -1, "Вы не чего не ввели");
             return 0;
         }
         if(strlen(inputtext) < 5 || strlen(inputtext) > 15)//Проверка на вводные данные
         {
             ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация","Здравствуйте вы не зарегистрированы\nВведите свой пароль в окошечко","Войти","Кик");
             SendClientMessage(playerid, -1, "Ваш пароль должен быть от 5 до 15 символов");
             return 0;
         }
         format(PlayerInfo[playerid][pPassword], 15,"%s", inputtext);//Записываем пароль в переменную
         Reg(playerid);//Регистрируем нового игрока в базе(он создал для того,чтобы было удобней)
           SendClientMessage(playerid, -1, "Вы зарегистрировались");
           PlayerInfo[playerid][pLogged] = 1;//Ставим значение на 1 т.к зашли
           SetPlayerPos(playerid,-1421.8978,-291.1276,14.1484);//Посылаем игрок на координаты
     }
     if(dialogid == 2)
     {
         if(!response) return Kick(playerid);//Кикаем игрока т.к он нажал Кик
         if(!strlen(inputtext))
         {
             ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Авторизация","Здравствуйте\nВы здесь уже зарегестрированы\nВведите свой пароль, для входа в игру","Войти","Кик");
             SendClientMessage(playerid, -1, "Вы не чего не ввели");
             return 0;
         }
         mysql_format(MYSQL_ARG, asd,90, "SELECT * FROM `"Baza"` WHERE `Name` = '%e' AND `Password` = '%e'", PlayerInfo[playerid][pName], inputtext);//Узнаём логин игрока,и введённый пароль
           mysql_function_query(MYSQL_ARG, asd, true, "Avtoriz","ds", playerid, inputtext); //Отправляем логин игрока и введённый пароль
     }


В public OnPlayerConnect(playerid)
Код
    PlayerInfo[playerid][pLogged] = 0;//Проверка на вход
     PlayerInfo[playerid][pLevel] = 500;//Запишем кол-во левела для нового игрока

     GetPlayerName(playerid, PlayerInfo[playerid][pName], 24);//Узнаём ник игрока и записываем в переменную PlayerInfo[playerid][pName]
     mysql_format(MYSQL_ARG, asd, 90, "SELECT `Name` FROM `"Baza"` WHERE `Name` = '%e'", PlayerInfo[playerid][pName]);//Форматируем строку и записываем логин
     mysql_function_query(MYSQL_ARG, asd, true, "Start_R_A","d", playerid);//Отправляем запрос и узнаём есть ли в бд ник игрока


В public OnPlayerDisconnect(playerid, reason)
Код
    if(PlayerInfo[playerid][pLogged] == 1)//Проверяем подключен ли игрок
     {
         Save(playerid);//Сохраним его аккаунт
     }


В конец мода
Код
forward Start_R_A(playerid);
public Start_R_A(playerid)//Тут мы узнаём статус игрока(зарегистрирован или наоборот)
{
     new rows, fields;
     cache_get_data(rows, fields);
     if(rows)
     {
         ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Авторизация","Здравствуйте\nВы здесь уже зарегестрированы\nВведите свой пароль, для входа в игру","Войти","Кик");
     }
     else
     {
         ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация","Здравствуйте вы не зарегистрированы\nВведите свой пароль в окошечко","Войти","Кик");
     }
      return 1;
}


Код
forward Avtoriz(playerid, password[]);
public Avtoriz(playerid, password[])//Тут мы узнаём верные данные он ввёл или нет(Пароль)
{
     new rows, fields;
     cache_get_data(rows, fields);
     if(!rows)
     {
         ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Авторизация","Здравствуйте\nВы здесь уже зарегестрированы\nВведите свой пароль, для входа в игру","Войти","Кик");
         SendClientMessage(playerid,-1,"Вы ввели не верный пароль");
         return 1;
     }
     PlayerInfo[playerid][pLogged] = 1;//Ставим значение на 1 т.к зашли
     for(new i = 0; i < rows;i++)
     {
         Avt(i,playerid);//Тут читаем бд и записываем в переменную(сток создал чтобы вы не запутались и было удобней)
     }
     SetPlayerPos(playerid,-1421.8978,-291.1276,14.1484);//Посылаем игрок на координаты
     SendClientMessage(playerid, -1, "Вы успешно вошли");
     return 1;
}


Код
stock Avt(i,playerid)//Сток для чтения бд
{
     PlayerInfo[playerid][pLevel] = cache_get_field_content_int(i, "Level", MYSQL_ARG);//Чтение цифрового значение
     PlayerInfo[playerid][pKaord] = cache_get_field_content_float(i, "Kaord", MYSQL_ARG);//Чтение дробного значения
     cache_get_field_content(i, "Skype", PlayerInfo[playerid][pSkype], MYSQL_ARG, 20);//Чтение текстового значения
  //Дальше можно делать аналогично
}


Код
stock Reg(playerid)//Сток для создания нового игрока в базе
{
     format(PlayerInfo[playerid][pSkype], 20, "%s", "Qwerty");//Придумаем скайп игроку
     PlayerInfo[playerid][pKaord] = 190.13122;//Запишем в значение дробь 190.13122
     mysql_function_query(MYSQL_ARG, asd, false, "", "");
     mysql_format(MYSQL_ARG, asd, sizeof(asd), "INSERT INTO `"Baza"` (`Name`, `Password`,`Level`,`Kaord`,`Skype`) VALUES ('%e', '%e', '%d', '%f', '%e')",
     PlayerInfo[playerid][pName],
     PlayerInfo[playerid][pPassword],
     PlayerInfo[playerid][pLevel],
     PlayerInfo[playerid][pKaord],
     PlayerInfo[playerid][pSkype]
     ); //Запишем в asd логин,пароль,деньги,координат 1,скайп
     mysql_function_query(MYSQL_ARG, asd, false, "", "");//Отправляем запрос

}


Код
stock Save(playerid)//Сток для сохранения данных
{
     mysql_format(MYSQL_ARG, asd, sizeof(asd),"UPDATE `"Baza"` SET `Password` = '%e', `Level` = '%d', `Kaord` = '%f', `Skype` = '%e' WHERE `Name` = '%e'",
     PlayerInfo[playerid][pPassword],
     PlayerInfo[playerid][pLevel],
     PlayerInfo[playerid][pKaord],
     PlayerInfo[playerid][pSkype],
     PlayerInfo[playerid][pName]
     );//Запишем в asd логин,пароль,деньги,координат 1,скайп
     mysql_tquery(MYSQL_ARG, asd, "", "");//Отправляем запрос
}  


Плагины,инклюд,и сам pwn - Скачать!
Пароль - pawno-info

Вот и всё,с вами был Mr.Pawn
С наступающим друзья!!!
Всего хорошего вам!

Автор - Kronos
Дата добавления - 13.07.2014 в 20:10
Форум » Pawn - скриптинг » Мануалы/уроки » MySQL » [Урок] Система регистрации MySQL R34
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Revision by www.GTA-ONE.ru
Copyright © 2024 |