PawnerTopoviy 2 Опубликовано 21 апреля, 2019 Ну вообщем то всем привет, вот давно не было в крмп, решил создать заного сервер, ну не важно. Выбивает ошибку при регистрации(mysql подключено) Все диалоги с регистрацией работают, перед выбором скина выбивает. Вот сам код: stock ShowPlayerRegDialog(playerid, step) { if(GetPlayerData(playerid, P_ACCOUNT_STATE) != ACCOUNT_STATE_REGISTER) return 0; switch(step) { case REGISTER_STATE_PASSWORD: { Dialog ( playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "{66CCFF}Регистрация", "{FFFFFF}Добро пожаловать на сервер "SERVER_NAME" RolePlay\n"\ "Чтобы начать игру сначала необходимо зарегистрироваться\n\n"\ "Пожалуйста укажите пароль для Вашего аккаунта\n"\ "Он будет запрашиваться каждый раз, когда вы заходите на сервер\n\n"\ "\t{66CC66}Примечания:\n"\ "\t- Пароль может состоять из русских и латинских символов\n"\ "\t- Пароль чувствителен к регистру\n"\ "\t- Длина пароля от 6-ти до 15-ти символов", "Далее", "" ); } case REGISTER_STATE_EMAIL: { Dialog ( playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "{66CCFF}Email", "{FFFFFF}Введите адрес Вашей электронной почты\n"\ "Используя его, вы сможете восстановить доступ к аккаунту\n"\ "в случае взлома или если забудете пароль.\n\n"\ "На email мы вышлем ссылку. В течение 14 дней Вы можете\n"\ "перейти по ней для подтверждения почты.\n\n"\ "Убедитесь в правильности ввода и нажмите \"Далее\"", "Далее", "" ); } case REGISTER_STATE_REFER: { Dialog ( playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "{66CCFF}Ник пригласившего игрока", "{FFFFFF}Если Вы узнали о нашем сервере от своего друга\n"\ "который тут играет, укажите его ник в поле ниже\n\n"\ "{66CC66}При достижении вами 4-го уровня он получит вознаграждение", "Ввести", "Пропустить" ); } case REGISTER_STATE_SEX: { Dialog ( playerid, DIALOG_REGISTER, DIALOG_STYLE_MSGBOX, "{66CCFF}Пол", "{FFFFFF}Выберите пол вашего персонажа", "Мужской", "Женский" ); } case REGISTER_STATE_RULES: { ShowServerRules(playerid, true); } case REGISTER_STATE_CREATE_ACC: { if(CreatePlayerAccount(playerid)) { SetPlayerData(playerid, P_ACCOUNT_STATE, ACCOUNT_STATE_REG_SKIN); SetSpawnInfo(playerid, 0, 0, 332.2033, -174.1066, 999.6743, 1.0, 0, 0, 0, 0, 0, 0); SpawnPlayer(playerid); SendClientMessage(playerid, 0xFFFFFFFF, " "); SendClientMessage(playerid, 0xFFFFFFFF, "Регистрация завершена!"); SendClientMessage(playerid, 0x66CC00FF, "Теперь выберите внешность Вашего персонажа"); SendClientMessage(playerid, 0xCECECEFF, "Подсказка: Используйте {FF6600}курсор мышки {CECECE}для выбора внешности"); } else { SendClientMessage(playerid, 0xFF6600FF, "Ошибка создания аккаунта, перезайдите и повторите попытку"); Kick:(playerid); } } default: return 1; } SetPlayerData(playerid, P_ACCOUNT_STEP_STATE, step); return 1; } Ошибку выбивает эту - { SendClientMessage(playerid, 0xFF6600FF, "Ошибка создания аккаунта, перезайдите и повторите попытку"); Kick:(playerid); } Если еще какой-то код нужен, пишите, ибо давно не было, уже не помню что скидывать, что нет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
16Shadows 101 Опубликовано 21 апреля, 2019 CreatePlayerAccount покажите (можно не весь, а строчки с return). И большой код лучше вставлять под спойлер. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
PawnerTopoviy 2 Опубликовано 21 апреля, 2019 10 минут назад, 16Shadows сказал: CreatePlayerAccount покажите (можно не весь, а строчки с return). И большой код лучше вставлять под спойлер. stock CreatePlayerAccount(playerid) { new query[256]; new Cache: result; new time = gettime(); SetPlayerData(playerid, P_REG_TIME, time); SetPlayerData(playerid, P_LAST_LOGIN_TIME, time); format(g_player[playerid][P_REG_IP], 16, "%s", GetPlayerIpEx(playerid)); format(g_player[playerid][P_LAST_IP], 16, "%s", GetPlayerIpEx(playerid)); mysql_format ( mysql, query, sizeof query, "INSERT INTO accounts "\ "(name,password,email,refer,sex,reg_time,reg_ip,last_ip,last_login) "\ "VALUES "\ "('%e','%e','%e',%d,%d,%d,'%e','%e',%d)", GetPlayerNameEx(playerid), GetPlayerData(playerid, P_PASSWORD), GetPlayerData(playerid, P_EMAIL), GetPlayerData(playerid, P_REFER), GetPlayerData(playerid, P_SEX), GetPlayerData(playerid, P_REG_TIME), GetPlayerData(playerid, P_REG_IP), GetPlayerData(playerid, P_LAST_IP), GetPlayerData(playerid, P_LAST_LOGIN_TIME) ); result = mysql_query(mysql, query); SetPlayerData(playerid, P_ACCOUNT_ID, cache_insert_id()); cache_delete(result); return GetPlayerAccountID(playerid); } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
16Shadows 101 Опубликовано 22 апреля, 2019 Тогда GetPlayerAccountID Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты