lonin
Компетентный
Здравствуйте! Требуется помощь)
Проблема в том, что не создаётся аккаунт в БД. Версия MySQL R39-4:
Диалог регистрации:
Паблик: CreateNewAccount
Паблик: UploadPlayerAccountNumber:
На всякий случай приложу дамп таблицы БД "account":
Проблема в том, что не создаётся аккаунт в БД. Версия MySQL R39-4:
Диалог регистрации:
PHP:
case dRegister:
{
if(!response)
{
ShowPlayerDialog(playerid, dKickMessage, DIALOG_STYLE_MSGBOX, "Отключение", "{FFFFFF}Вы были отключены от сервера.\n{FF0000}Причина: отказ от регистрации.\n{FFFFFF}Для выхода из игры исользуйте \"/q\"", "Ок", "");
return Kick(playerid);
}
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация {FF0000}(Ошибка)", "{FF0000}Ошибка: {FFFFFF}Вы не ввели пароль для аккаунта!\nРегистрация без пароля невозможна,\n{C0C0C0}введите пароль повторно.\n{666666}Пароль должен содержать символы:\nот A до Z, от А до Я, 0-9 (Чувствителен к регистру)", "Регистрация", "Отмена");
else if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация {FF0000}(Ошибка)", "{FF0000}Ошибка: {FFFFFF}Вы ввели слишком короткий пароль!\nПароль должен содержать от 4 до 30 символов.\n{666666}Пароль должен содержать символы:\nот A до Z, от А до Я, 0-9 (Чувствителен к регистру)", "Регистрация", "Отмена");
else if(strlen(inputtext) > 30) return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация {FF0000}(Ошибка)", "{FF0000}Ошибка: {FFFFFF}Вы ввели слишком длинный пароль!\nПароль должен содержать от 4 до 30 символов.\n{666666}Пароль должен содержать символы:\nот A до Z, от А до Я, 0-9 (Чувствителен к регистру)", "Регистрация", "Отмена");
for(new i = strlen(inputtext)-1; i != -1; i--)
{
switch(inputtext[i])
{
case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
default: return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация {FF0000}(Ошибка)", "{FF0000}Ошибка: {FFFFFF}Вы ввели недопустимые символы!\nПароль должен содержать от 4 до 30 символов.\n{666666}Пароль должен содержать символы:\nот A до Z, от А до Я, 0-9 (Чувствителен к регистру)", "Регистрация", "Отмена");
}
}
PlayerInfo[playerid][pPassword][0] = EOS;
strins(PlayerInfo[playerid][pPassword], inputtext, 0);
CreateNewAccount(playerid, PlayerInfo[playerid][pPassword]);
return 1;
}
Паблик: CreateNewAccount
PHP:
stock CreateNewAccount(playerid, password[])
{
new str[500];
format(str, sizeof(str), "INSERT INTO `account` (`player_name`, `password`, `Level`, `Money`, `Admin`, `Score`, `HP`, ARM`, `Rank`, `VIP`, `Sex`, `Model`, `Donate`, `LeftCapt`, `TrueCapt`) VALUES \
('%s', '%s', '%d', '%d', '%d', '%d', '%f', '%f', '%d', '%d', '%d', '%d', '%d', '%d', '%d')",
PlayerInfo[playerid][pName],
password,
PlayerInfo[playerid][pLevel],
PlayerInfo[playerid][pMoney],
PlayerInfo[playerid][pAdmin],
PlayerInfo[playerid][pScore],
PlayerInfo[playerid][pHeal],
PlayerInfo[playerid][pArmour],
PlayerInfo[playerid][pRank],
PlayerInfo[playerid][pVip],
PlayerInfo[playerid][pSex],
PlayerInfo[playerid][pModel],
PlayerInfo[playerid][pDonatechet],
PlayerInfo[playerid][pLCapt],
PlayerInfo[playerid][pCapt]);
mysql_function_query(mysql_connect_id, str, true, "UploadPlayerAccountNumber", "i", playerid);
format(str, sizeof(str), "Аккаунт %s успешно создан.", PlayerInfo[playerid][pName]);
SendClientMessage(playerid, 0xFFFFFF00, str);
SpawnPlayer(playerid);
return 1;
}
Паблик: UploadPlayerAccountNumber:
PHP:
public UploadPlayerAccountNumber(playerid) PlayerInfo[playerid][pID] = cache_insert_id(mysql_connect_id);
На всякий случай приложу дамп таблицы БД "account":
PHP:
-- phpMyAdmin SQL Dump
-- version 3.5.1
-- http://www.phpmyadmin.net
--
-- Хост: 127.0.0.1
-- Время создания: Фев 15 2016 г., 14:21
-- Версия сервера: 5.5.25
-- Версия PHP: 5.3.13
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- База данных: `cod_ac`
--
-- --------------------------------------------------------
--
-- Структура таблицы `account`
--
CREATE TABLE IF NOT EXISTS `account` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`player_name` varchar(32) COLLATE cp1251_bin NOT NULL,
`password` varchar(32) COLLATE cp1251_bin NOT NULL,
`Level` int(11) NOT NULL,
`Money` int(11) NOT NULL,
`Admin` int(11) NOT NULL,
`Score` int(11) NOT NULL,
`HP` float NOT NULL,
`ARM` float NOT NULL,
`Rank` int(11) NOT NULL,
`VIP` int(11) NOT NULL,
`Sex` int(11) NOT NULL,
`Model` int(11) NOT NULL,
`Donate` int(11) NOT NULL,
`LeftCapt` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin AUTO_INCREMENT=48 ;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
