MySQL ( разговорн. "Мускул" ) - сис-ма управления базами данных. Имеет 3 так сказать действия - Чтение - Запись - Обновление ( По другому "Перезапись" )
Система используется на сайтах,в программах и т.д. Но в данной теме исключительно про SAMP Плюсы MySQL - Работает быстрей файлов - Возможность записи и чтения например одновременно - Ну и по общему обозрению это лучше чем работа с файлами * Многие пользователи поддерживают и соглашаются что MySQL лучше записи в файлы
Минусы Их как бы нету в том случае если у Вас мощный хостинг
Для работы с базами требуется обязательно: Сервер ( в основе это так называемый Apache ) Сам сервер SAMP И плагин для работы с БД
Для всей этой работы следует создать базу,пользователя и таблицу для записи данных
Функции чтения,записи и обновления используются в запросах к БД . В павно запросы происходят через функцию mysql_query(query[]); Вот пример запроса к базе данных
Код
public OnPlayerConnect(playerid) { GetPlayerName(playerid,PlayerInfo[playerid][pName],24); format(qwery,sizeof(qwery),"SELECT * FROM `users` WHERE `name` = '%s' LIMIT 1",PlayerInfo[playerid][pName]); mysql_query(qwery); mysql_store_result(); /*===============================...Авторизация на сервере...=====================*/ if(mysql_fetch_row_format(qwery)) { ShowPlayerDialog(playerid,1,1,"Авторизация на SAMP SERVER","Здравствуйте,добро пожаловать на наш сервер\nЧто-бы начать играть необходимо авторизоваться.\nПожалуйста введите пароль ниже...","Далее",""); } /*===============================...Регистрация на сервере...=====================*/ else { ShowPlayerDialog(playerid,2,1,"Регистрация на SAMP SERVER","Здравствуйте,добро пожаловать на наш сервер\nЧто-бы начать играть необходимо зарегистрироваться.\nПожалуйста введите пароль ниже...","Далее",""); } return 1; }
Данные мы получили,проверили есть ли таблица с аккаунтами,если нет просим зарегистрироваться игрока. Дальше Обновление игрока
Код
public OnPlayerDisconnect(playerid, reason) { BaseSetInt("users","level",PlayerInfo[playerid][pLevel],"Name" ,PlayerInfo[playerid][pName]); /* format(query,128,"UPDATE `users` SET `level` = '%d' WHERE `Name` = '%s'",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pName] ); mysql_query(query); */ //Дальнейшие действия return 1; }
Если Вы закончили использовать запрос то отключайте его вот таких образом
Код
mysql_free_result();
Для удобной работы можно установить Denwer ( спец.программа ) для работы такого рода. Подключение в моде В начало мода
SQL_HOST "localhost" Хост базы,обычно это IP -адрес базы данных SQL_USER "sent" Имя пользователя БД SQL_PASS "sent" Пароль от БД SQL_DB "sent" Имя базы
Код
public OnGameModeInit() { mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS); if(mysql_ping() == 1) { mysql_debug(1); printf("База данных подключена", SQL_DB); } else printf("Не удалось подкл. к базе", SQL_DB);
Код
public OnGameModeExit() { mysql_close(); return 1; }
Тема создана по просьбе пользователей. Объяснять я конечно не умею,но пытался В скором времени выложу еще около 3-5 тем по MySQL