Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
11.02.2013, 20:09 | |
В этой статье я расскажу Вам, как можно написать систему регистрации с нуля (можно и адаптировать под Ваш Godfather мод). Итак, для этого нам понадобятся следующие вещи: 1.Denwer 3 (2012) — через эту программу мы будем запускать и администрировать наш MySQL сервер. Скачать Denwer 3. 2.MySQL Plugin от g-stylezzz — плагин для работы с базой данных. Это кинуть в папку Plugins (жми на ссылку) a_mysql.inc - это кинуть в папку Pawno\Includes Начнём! - Заходим в браузер и в адресной строке вводим «localhost» (без кавычек). - Спускаемся ниже и переходим по ссылке: http://localhost/Tools/CODEmyadmin/index.CODE - Итак, вы видите CODEmyadmin, сейчас мы можем управлять базой данных. - Создаём таблицу: - Примерно в центре есть «Create new database». - Я назвал свою БД «pawno», кодировку выбрал «cp1251_bin». БД создана Теперь нам нужно создать таблицу для аккаунтов. Name — Название таблицы, Number of Fields — количество полей. Мы используем 3 поля, 1. ID аккаунта, чтобы можно было его распознать в таблице, можно, конечно использовать ник, но с ИД удобней; 2. Ник игрока, думаю тут всё ясно; 3. Пароль игрока. Таблица создана, сейчас мы настроим наши поля. Нажимаем Save. Все нужное я выделил красным, теперь расскажу, что за что отвечает. Field — название поля; Type — тип данных, есть integer (целые числа), string (VARCHAR, TEXT), float, DATE, DATETIME, TIME и т.д., в общем как в павно, тут я использую VARCHAR для строк, и INT для целых чисел. Length/Values — сколько «ячеек» мы выделяем для поля, для ника 24 (MAX_PLAYER_NAME), для пароля — 64. Collation — кодировка. AUTO_INCREMENT — генерирует значения для ID игрока в порядке возрастания (1, 2, 3...). Так будет выглядеть пустая, без аккаунтов таблица: - Базу данных и таблицу мы подготовили, теперь перейдем к моду. - Сверху мода, где вы подключаете все инклюды, добавляем эти строки: #include <a_mysql> // SQL функции. #include <sscanf2> // Извлечение данных. - Чуть ниже задефайним парметры БД: #define SQL_HOST "localhost" // IP адресс БД. #define SQL_USER "root" // Login БД. #define SQL_DB "pawno" // Название БД. #define SQL_PASS "" // Пароль БД. - Дефайны для ID'ов диалогов и цвета сообщений. #define DIALOG_LOGIN 1 #define DIALOG_REGISTER 2 #define DIALOG_WRONGPAS 3 #define COLOR_LIGHTRED 0xFF6347AA #define COLOR_YELLOW 0xFFFF00AA - Создадим массив для хранения данных аккаунта. enum Variables { aID, aName[MAX_PLAYER_NAME], aPassword[64], bool: aLogged, aWrongPassword, }; new playerVariable[100][Variables]; // 100 - моё кол-во слотов для игроков на сервере. - Создадим функцию для подключения и отключения к БД. ConnectMySQL() { // В OnGameModeInIt вставьте ConnectMySQL(); mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS); // Тут мы используем все данные, которые мы дефайнили. switch(mysql_ping()) { // Проверка на то, что мы подключены к БД. case 1: print("MySQL connection: alive."); // Если подключена БД. case -1: print("MySQL connection: dead."); // Если не подключена БД. } return 1; } DisconnectMySQL() { // Вставьте DisconnectMySQL(); в OnGameModeExit, отключаемся от БД. mysql_close(); print("MySQL connection closed."); } CheckMySQLConnection() { // Этот сток мы будем использовать для проверки, подключена ли БД перед её использованием. if(mysql_ping() == -1) mysql_reconnect(); return 1; } | |
Добавил: AXE |
| Теги: | |
Просмотров: 14536 | Рейтинг: 5.0/2 |