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;
}
Если Вы закончили использовать запрос то отключайте его вот таких образом
Для удобной работы можно установить Denwer ( спец.программа ) для работы такого рода.
Подключение в моде В начало мода
Код
#include <a_samp>
#include <a_mysql>
#include <sscanf2>
#define SQL_HOST "localhost"
#define SQL_USER "sent"
#define SQL_PASS "sent"
#define SQL_DB "sent"
new qwery[512];
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
Специально для SAMP-TEAM.COM