Нет диалога регистрации / авторизации
Приветствую, ещё раз. Нету диалога регистрации / авторизации мод MySQL R38.
MySQL Log [15:18:41] [DEBUG] mysql_connect - host: "127.0.0.1", user: "root", database: "database", password: "****", port: 3306, autoreconnect: true, pool_size: 2
[15:18:41] [DEBUG] CMySQLHandle::Create - creating new connection..
[15:18:41] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called
[15:18:41] [DEBUG] CMySQLHandle::Create - connection created (id: 1)
[15:18:41] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[15:18:41] [DEBUG] CMySQLConnection::Connect - connection was successful
[15:18:41] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[15:18:41] [DEBUG] mysql_set_charset - charset: "cp1251_general_ci", connection: 1
[15:18:41] [DEBUG] CMySQLConnection::SetCharset - setting charset "cp1251_general_ci"
[15:18:41] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[15:18:41] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[15:18:41] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[15:18:41] [DEBUG] CMySQLConnection::Connect - connection was successful
[15:18:41] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[15:18:41] [DEBUG] CMySQLConnection::SetCharset - setting charset "cp1251_general_ci"
[15:18:41] [DEBUG] CMySQLConnection::Connect - connection was successful
[15:18:41] [DEBUG] CMySQLConnection::Connect - connection was successful
[15:18:41] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[15:18:41] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[15:18:41] [DEBUG] CMySQLConnection::SetCharset - setting charset "cp1251_general_ci"
[15:18:41] [DEBUG] CMySQLConnection::SetCharset - setting charset "cp1251_general_ci"
[15:19:24] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `acc` WHERE `Name` = 'e'", callback: "CheckRegistration", format: "u"
[15:19:24] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - starting query execution
[15:19:24] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - query was successfully executed within 0.357 milliseconds
[15:19:24] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[15:19:24] [DEBUG] Calling callback "CheckRegistration"..
[15:19:24] [DEBUG] cache_get_data - connection: 1
[15:19:24] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[15:19:33] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `acc` WHERE `Name` = 'e'", callback: "CheckRegistration", format: "u"
[15:19:33] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - starting query execution
[15:19:33] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - query was successfully executed within 0.515 milliseconds
[15:19:33] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[15:19:33] [DEBUG] Calling callback "CheckRegistration"..
[15:19:33] [DEBUG] cache_get_data - connection: 1
[15:19:33] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[15:19:33] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `acc` WHERE `Name` = 'e'", callback: "CheckRegistration", format: "u"
[15:19:33] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - starting query execution
[15:19:33] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - query was successfully executed within 0.486 milliseconds
[15:19:33] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[15:19:33] [DEBUG] Calling callback "CheckRegistration"..
[15:19:33] [DEBUG] cache_get_data - connection: 1
[15:19:33] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[15:19:34] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `acc` WHERE `Name` = 'e'", callback: "CheckRegistration", format: "u"
[15:19:34] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - starting query execution
[15:19:34] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - query was successfully executed within 0.290 milliseconds
[15:19:34] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[15:19:34] [DEBUG] Calling callback "CheckRegistration"..
[15:19:34] [DEBUG] cache_get_data - connection: 1
[15:19:34] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[15:19:34] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `acc` WHERE `Name` = 'e'", callback: "CheckRegistration", format: "u"
[15:19:34] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - starting query execution
[15:19:34] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - query was successfully executed within 0.361 milliseconds
[15:19:34] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[15:19:34] [DEBUG] Calling callback "CheckRegistration"..
[15:19:34] [DEBUG] cache_get_data - connection: 1
[15:19:34] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[15:19:45] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE acc SET `Skin` = '0' `Cash` = '0' `Bank` = '0' WHERE `Nam", callback: "(null)", format: "(null)"
[15:19:45] [DEBUG] CMySQLQuery::Execute[] - starting query execution
OnPlayerRequestClass:
PHP код:
format(Query, sizeof(Query), "SELECT * FROM `"TABLE_ACCOUNTS"` WHERE `Name` = '%e'", PlayerInfo[playerid][pName]);
mysql_function_query(Handle, Query, true, "CheckRegistration", "u", playerid);
Сама CheckRegistration:
PHP код:
public CheckRegistration(playerid)
{
new rows, fields;
cache_get_data(rows, fields);
if(rows)
{
format(string, sizeof(string), "Мы нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш пароль",PlayerInfo[playerid][pName]);
ShowPlayerDialog(playerid, D_LOGIN, DIALOG_STYLE_INPUT, "Авторизация", string, "Выбрать", "Отмена");
SendClientMessage(playerid, 0xffffff00, "Введите ваш пароль который вы вводили в регистрации!");
}
else
{
format(string, sizeof(string), "Мы не нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш новый пароль",PlayerInfo[playerid][pName]);
ShowPlayerDialog(playerid, D_REG, DIALOG_STYLE_INPUT, "Авторизация", string, "Выбрать", "Отмена");
SendClientMessage(playerid, 0xffffff00, "Введите пароль который вы хотите дать своему персонажу!");
}
return true;
}
Диалоги:
PHP код:
case D_LOGIN:
{
if(!response) return Kick(playerid);
if(!strlen(inputtext))
{
format(string, 150, "Мы нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш пароль",PlayerInfo[playerid][pName]);
ShowPlayerDialog(playerid, D_LOGIN, 3, "{ffffff}Авторизация", string, "Принять","Отмена");
}
cache_get_field_content(0, "Password", PlayerInfo[playerid][pPass], Handle, 124);
if(!strcmp(inputtext, PlayerInfo[playerid][pPass], true)) LoadAccount(playerid);
else return Kick(playerid);
}
case D_REG:
{
if(!response) return Kick(playerid);
if(!strlen(inputtext))
{
format(string, sizeof(string), "Мы не нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш новый пароль", PlayerInfo[playerid][pName]);
ShowPlayerDialog(playerid, D_LOGIN, 3, "{ffffff}Регистация", string, "Принять","Отмена");
}
strmid(PlayerInfo[playerid][pPass], inputtext, 0, strlen(inputtext), 32);
CreateAccount(playerid, PlayerInfo[playerid][pPass]);
SendClientMessage(playerid, -1, "Вы удачно зарегистрировались!");
}
Остальные паблики:
PHP код:
public LoadAccountData(playerid)
{
new rows, fields;
cache_get_data(rows, fields);
if(rows)
{
PlayerInfo[playerid][pModel] = cache_get_field_content_int(0, "Skin", Handle);
PlayerInfo[playerid][pCash] = cache_get_field_content_int(0, "Cash", Handle);
PlayerInfo[playerid][pBank] = cache_get_field_content_int(0, "Bank", Handle);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
}
return true;
}
stock SavePlayer(playerid)
{
format(Query, sizeof(Query), "UPDATE "TABLE_ACCOUNTS" SET `Skin` = '%d' `Cash` = '%d' `Bank` = '%d' WHERE `Name` = '%e'",
PlayerInfo[playerid][pModel], PlayerInfo[playerid][pCash], PlayerInfo[playerid][pBank], PlayerInfo[playerid][pName]);
mysql_function_query(Handle, Query, false, "", "");
return true;
}
stock LoadAccount(playerid)
{
format(Query,sizeof(Query), "SELECT * FROM "TABLE_ACCOUNTS" WHERE `Name` = '%e' LIMIT 1",PlayerInfo[playerid][pName]);
return mysql_function_query(Handle, Query, true, "LoadAccountData", "i", playerid);
}
stock CreateAccount(playerid, pass[])
{
format(Query, sizeof(Query), "INSERT INTO "TABLE_ACCOUNTS" (`Name`, `Password`, `Skin`, `Cash`, `Bank`) VALUES \
('%s', '%s', '%d', '%d', '%d')", PlayerInfo[playerid][pName], pass, 23, 0, 0);
mysql_function_query(Handle, Query, false, "", "");
SpawnPlayer(playerid);
return true;
}