Перейти к содержанию

Поиск сообщества

Показаны результаты для тегов 'регистрация'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Информационный раздел
    • Новости портала
    • Техническая поддержка
    • Приватный форум
  • CRMP 0.3е
    • Помощь по Скриптингу
    • Ошибки
    • Готовые сервера
    • Дополнительные скрипты
    • Мануалы/Уроки
    • Модификации
    • Поиск
    • Архив Вопросов/Проблем/Ошибок
    • Файловый архив
    • Другое
  • SAMP/CRMP 0.3.7
    • Помощь по Скриптингу
    • Ошибки
    • Готовые сервера
    • Плагины
    • Поиск
    • Документация
  • Другое
    • Флейм

Поиск результатов в...

Поиск результатов, которые содержат...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Найдено: 9 результатов

  1. Вечер добрый! У меня проблемка возникла с регистрацией! Делал её на другом хостинге - работало! Перешёл на другой - перестало! А именно не стал работать DIALOG_STYLE_TABLIST. Кусок кода: stock show_register_dialog(playerid) { str_text = "\0"; switch(p_info[playerid][p_sex]) { case 1: str_switch = "Мужской"; case 2: str_switch = "Женский"; default: str_switch = "Выбрать..."; } format(str_local, sizeof(str_local), "Пол персонажа:\t{ffff00}%s\n", str_switch), strcat(str_text, str_local); if(strlen(p_info[playerid][p_pass]) < 8 || strlen(p_info[playerid][p_pass]) > 64) { format(str_local, sizeof(str_local), "Пароль:\t{ffff00}Ввести...\n"), strcat(str_text, str_local); } else { format(str_local, sizeof(str_local), "Пароль:\t{ffff00}%s\n", p_info[playerid][p_pass]), strcat(str_text, str_local); } SPD(playerid, REG_DIALOG, DIALOG_STYLE_TABLIST, "Регистрация:", str_text, "Далее", "Выход"); return 1; } Вторая часть кода: case REG_DIALOG: { if(!response) { Kick(playerid); return 1; } else { switch(listitem) { case 1: { SPD(playerid, 1001, DSM, "Пол персонажа:", "Выберите пол Вашего персонажа", "Мужской", "Женский"); } case 2: { SPD(playerid, REG_DIALOG+2, DSI, "Пароль:", "Придумайте пароль для Вашего аккаунта", "Далее", "Назад"); } } if(!p_info[playerid][p_sex]) return SCM(playerid, -1, "{ff0000}Администрация: {ffffff}Вы не указали пол для Вашего персонажа!"), show_register_dialog(playerid); if(strlen(p_info[playerid][p_pass]) < 8 || strlen(p_info[playerid][p_pass]) > 64) return SCM(playerid, -1, "{ff0000}Администрация: {ffffff}Вы не придумали пароль для Вашего аккаунта!"), show_register_dialog(playerid); format(p_info[playerid][p_pass], 64, p_info[playerid][p_pass]); p_info[playerid][p_sex] = p_info[playerid][p_sex]; mysql_format(c_query, s_query, 512, "INSERT INTO `p_info` (`p_name`, `p_pass`, `p_sex`, `p_skin`) VALUES ('%s', '%s','%d', 299)", p_info[playerid][p_name], p_info[playerid][p_pass], p_info[playerid][p_sex], p_info[playerid][p_skin]); mysql_pquery(c_query, s_query, "OnRegisterAccount", "d", playerid); reset_p_data(playerid); } return 1; } case 1001: { if(response) p_info[playerid][p_sex] = 1; else p_info[playerid][p_sex] = 2; SCM(playerid, -1, "{ff0000}Администрация: {ffffff}Пол для Вашего персонажа успешно выбран"); show_register_dialog(playerid); return 1; }
  2. Приветствую уважаемые пользователи портала! Перебирая свои архивы нашёл систему регистрации и авторизации на версии mysql r7 и решил предоставить её Вам. 1. Регистрация (приветствие, пароль, выбор пола, выбор страны, выбор реферала, выбор скина, краткая информация) 2. Авторизация (пароль) Скриншоты: кликабельно Скачать: кликабельно Автор: Александр Алексеев (SaAleks) new.pwn.rar
  3. Приветствую. Появилась проблема На одном из известных хостингов я купил Авто установку мода. Вообщем , установил. А тут бац , и проблема уже сразу! Вообщем к теме. При регистрации/авторизации нельзя сменить скин. Например ид скина 102 , а когда нажимаешь на стрелочку что бы поменялся на 103 на секунду 103 , потом мгновенно 102. Когда нажимаешь "Вход" ничего не происходит в прямом смысле слова. Не знаю что сюда скинуть.
  4. Как поставить регистрацию на сервер (хотинг) Либо скиньте файлы и куда их добавить
  5. Здравствуйте. Я хочу спросить как сделать окно регистрации на texdraw-ах. Если не сложно распишите. Я не очень понимаю как сделать.
  6. MERUN

    Срочно нужна помощь

    Я работаю над модом Novgorod rp точнее взял его под основу.Я все нормально сделал ввел пасс,mail сдал UCP выбрал пол,расу. И вылезло вот это: https://imgur.com/a/TRAlP76 Прошу сильно не критиковать из-за того что я не очень опытен в этой сфере Если данный пост уже есть прошу скинуть его сюда.Заранее благодарствую
  7. Когда я прохожу UCP на сервере и уже ответил на вопросы правильно меня не перекидывает дальше на выбор расы Вот мод:Вот мод: https://yadi.sk/d/WYKLpnIJ3QXE2f Вот сама UCP: case dCreateAccount: { if(!response) { SCM(playerid, -1, "Регистрация отменена. Для выхода с сервера используйте /q(uit)"); Kick(playerid); return 1; } for(new i = strlen(inputtext)-1; i != -1; i--) { switch(inputtext) { case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue; default: return SPD(playerid, dCreateAccount, DIALOG_STYLE_INPUT, "Регистрация", "Ошибка. Использовать возможно только латинские буквы и цифры\n{FFFFFF}Введите пароль от аккаунта для того, чтоб продолжить игру:", "Вход", "Выход"); } } new password_length = strlen(inputtext); if(!password_length) return SPD(playerid, dCreateAccount, DIALOG_STYLE_INPUT, "Регистрация", erorreg1, "Далее", "Отмена"); else if(password_length < 4) return SPD(playerid, dCreateAccount, DIALOG_STYLE_INPUT, "Регистрация", erorreg2, "Далее", "Отмена"); else if(password_length > 20) return SPD(playerid, dCreateAccount, DIALOG_STYLE_INPUT, "Регистрация", erorreg3, "Далее", "Отмена"); else { format(pInfo[playerid][pPass], 30, "%s", inputtext); SPD(playerid, dCreateAccount + 1, DIALOG_STYLE_INPUT, "Электронная почта", mailtext, "Далее", "Отмена"); } } case dCreateAccount + 1: { if(!response) { SCM(playerid, -1, "Регистрация отменена. Для выхода с сервера используйте /q(uit)"); Kick(playerid); return 1; } new length = strlen(inputtext); if(!length) return SPD(playerid, dCreateAccount + 1, DIALOG_STYLE_INPUT, "Электронная почта", mailtext, "Далее", "Отмена"); if(length < 4) return SPD(playerid, dCreateAccount + 1, DIALOG_STYLE_INPUT, "Электронная почта", mailtext, "Далее", "Отмена"); for(new idx; idx < length; idx ++) { switch(inputtext[idx]) { case '0'..'9', 'a'..'z', 'A'..'Z', '@', '.', '_', '-': continue; default: return SPD(playerid, dCreateAccount + 1, DIALOG_STYLE_INPUT, "Электронная почта", #C_GRAY "Ошибка: {FFFFFF}EMail-адрес не соответствует эталону\n\n" mailtext, "Далее", "Отмена"); } } if(strfind(inputtext, "@") == -1) { return SPD(playerid, dCreateAccount + 1, DIALOG_STYLE_INPUT, "Электронная почта", #C_GRAY "Ошибка: {FFFFFF}EMail-адрес не соответствует эталону\n\n" mailtext, "Далее", "Отмена"); } format(pInfo[playerid][pMail], 25, "%s", inputtext); SetPVarInt(playerid, "ucp_question_id", 0); format:str_big( #C_GRAY "UCP Регистрация / Вопрос №%d\n\n{ffffff}%s", GetPVarInt(playerid, "ucp_question_id") + 1, ucp_questions[GetPVarInt(playerid, "ucp_question_id")]); SPD(playerid, dCreateAccount + 2, DIALOG_STYLE_INPUT, "UCP Регистрация", str_big, "Далее", "Отмена"); } case dCreateAccount + 2: { new question_id = GetPVarInt(playerid, "ucp_question_id"), bool: right_type = false; switch(inputtext[0]) { case '0'..'9': right_type = true; } if(response && right_type) { pInfo[playerid][pUcpData][question_id] = ucp_answers[question_id] == strval(inputtext) ? 1 : 0; SetPVarInt(playerid, "ucp_question_id", question_id + 1); if(question_id + 1 == 10) { new answers = 0; for(new idx; idx < sizeof ucp_questions; idx ++) if(pInfo[playerid][pUcpData][idx] == 1) answers ++; if(answers >= 7) { SCM(playerid, -1, "UCP Регистрация завершена"); mysql_format:str_big("INSERT INTO `" #DB_ACCOUNTS "` (Name, Pass, Mail, UcpData) VALUES ('%s', '%s', '%s', '%d|%d|%d|%d|%d|%d|%d|%d|%d|%d')", pInfo[playerid][pName], pInfo[playerid][pPass], pInfo[playerid][pMail], pInfo[playerid][pUcpData][0],pInfo[playerid][pUcpData][1],pInfo[playerid][pUcpData][2],pInfo[playerid][pUcpData][3],pInfo[playerid][pUcpData][4], pInfo[playerid][pUcpData][5],pInfo[playerid][pUcpData][6],pInfo[playerid][pUcpData][7],pInfo[playerid][pUcpData][8],pInfo[playerid][pUcpData][9]); mysql_function_query(mysql_connect_ID, str_big, false, "", ""); CheckNickname(playerid); mysql_format:str_small( "SELECT ID, Ban, Pass FROM `" #DB_ACCOUNTS "` WHERE `Name` = '%s' LIMIT 1", pInfo[playerid][pName]); mysql_tquery( mysql_connect_ID, str_small, "OnPlayerFind", "i", playerid ); } else { SCM(playerid, 0xFF5533FF, "Вы не набрали нужного количества правильных ответов"); SCM(playerid, 0xFFCC00FF, "Регистрация отменена"); Kick(playerid); return 1; } return 1; } } format:str_big( #C_GRAY "UCP Регистрация / Вопрос №%d\n\n{ffffff}%s", GetPVarInt(playerid, "ucp_question_id") + 1, ucp_questions[GetPVarInt(playerid, "ucp_question_id")]); SPD(playerid, dCreateAccount + 2, DIALOG_STYLE_INPUT, "UCP Регистрация", str_big, "Далее", "Отмена"); } case dRegister: { if(!response) { pInfo[playerid][pChart][0]=1; new year, month, day; getdate(year, month, day); new RegIp[16]; GetPlayerIp(playerid, RegIp, 16); mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `Chart` = '%d|%d|%d|%d' WHERE `Name` = '%s'",pInfo[playerid][pChart][0],pInfo[playerid][pChart][1],pInfo[playerid][pChart][2],pInfo[playerid][pChart][3],pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", ""); mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `Regdate` = '%d|%d|%d' WHERE `Name` = '%s'",day,month,year,pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", ""); mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `Regip` = '%s' WHERE `ID` = '%d'", RegIp, pInfo[playerid][pID]); mysql_function_query(mysql_connect_ID, str_small, false, "", ""); SCM(playerid,-1,"Вы выбрали женский пол своему персонажу"); return SPD(playerid,dRegister+1,list,"Выберите расу вашего","" #C_GRAY "1. {ffffff}Европеец\n" #C_GRAY "2. {ffffff}Латиноамериканец\n" #C_GRAY "3. {ffffff}Африканец\n" #C_GRAY "4. {ffffff}Азиат","Ок",""); } pInfo[playerid][pChart][0]=2; SCM(playerid,-1,"Вы выбрали мужской пол своему персонажу"); mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `pInvSlotsKol` = '0|0|0|0|0|0|0|0|0|0' WHERE `Name` = '%s'",pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", ""); mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `Chart` = '%d|%d|%d|%d' WHERE `Name` = '%s'",pInfo[playerid][pChart][0],pInfo[playerid][pChart][1],pInfo[playerid][pChart][2],pInfo[playerid][pChart][3],pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", ""); mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `pInvSlots` = '0|0|0|0|0|0|0|0|0|0' WHERE `Name` = '%s'",pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", ""); return SPD(playerid,dRegister+1,list,"Выберите расу вашего","" #C_GRAY "1. {ffffff}Европеец\n" #C_GRAY "2. {ffffff}Латиноамериканец\n" #C_GRAY "3. {ffffff}Африканец\n" #C_GRAY "4. {ffffff}Азиат","Ок",""); } case dRegister+1: { if(!response) return Kick(playerid); pInfo[playerid][pChart][2]=listitem; mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `pInvSlotsKol` = '0|0|0|0|0|0|0|0|0|0' WHERE `Name` = '%s'",pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", ""); mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `Chart` = '%d|%d|%d|%d' WHERE `Name` = '%s'",pInfo[playerid][pChart][0],pInfo[playerid][pChart][1],pInfo[playerid][pChart][2],pInfo[playerid][pChart][3],pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", ""); mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `pInvSlots` = '0|0|0|0|0|0|0|0|0|0' WHERE `Name` = '%s'",pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", ""); SetPVarInt(playerid,"skinchange",1); SpawnPlayer(playerid); }
  8. Всем доброе время суток. Нужна помощь,как сделать чтобы после регистрации заставляла вводить дату рождения и после этого показывалось в паспорте? Нужные коды буду скидывать по просьбе.
  9. Так, как у нас нету этого урока, решил его выложить. Все источники и авторы указаны ниже. Данный урок есть на официальном сайте www.sa-mp.com Автор статьи: newbienoob Что нам понадобиться в этой статье: - Mysql plugin - Whirlpool Начнем: 1. Ко всем include: #include <a_samp> #include <a_mysql> 2. Ко всем define: #define host "localhost" //ваш хост mysql. По умолчанию localhost #define user "root" //имя пользователя mysql #define db "server" //название базы данных #define pass "" //Ваш пароль mysql #define dregister 6287 //диалог регистрации #define dlogin 6288 // диалог авторизации 3. К глобальным переменным: static mysql, //переменная будет использоваться для управления в базе Name[MAX_PLAYERS][24], //для хранения имени игрока. IP[MAX_PLAYERS][16] //для хранения игрока ip. ; native WP_Hash(buffer[], len, const str[]); enum PDATA { ID, //для хранения игрока ID из базы данных, поэтому мы можем использовать его в любом месте позже Password[129],//загрузка пароля игрока в этот varible из базы данных Admin, //загрузка игрока на уровне администратора из базы данных в этой переменной VIP, //загрузка уровня VIP игрока из базы данных в этой переменной Money, //загрузка денег игрока из базы данных в этой переменной Float:posX, //загрузка X позиции игрока из базы данных в этой переменной Float:posY, //загрузка Y позиции игрока из базы данных в этой переменной Float:posZ //загрузка Z позиции игрока из базы данных в этой переменной } new pInfo[MAX_PLAYERS][PDATA]; //Переменная для хранения всего, что перечислили выше 4. В public OnGameModeInit(): mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG); //включаем отладку, так мы можем выявить проблемы(если есть) mysql = mysql_connect(host, user, db, pass); //подключение сервера к базе данных. if(mysql_errno(mysql) != 0) print("Не удалось подключиться к базе данных!"); //ошибка о подключении к БД, проверьте правильно ли вы ввели свои данные 5. В public OnPlayerConnect(playedid): new query[128]; //запрос GetPlayerName(playerid, Name[playerid], 24); //Получение имени игрока GetPlayerIp(playerid, IP[playerid], 16); //Получение IP игрока mysql_format(mysql, query, sizeof(query),"SELECT `Password`, `ID` FROM `players` WHERE `Username` = '%e' LIMIT 1", Name[playerid]); mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid); 6. В конце скрипта создаем public: forward OnAccountCheck(playerid); public OnAccountCheck(playerid) { new rows, fields; cache_get_data(rows, fields, mysql); if(rows) //если есть строка {//затем cache_get_field_content(0, "PASS", pInfo[playerid][Password], mysql, 129); //загружаем пароль игрока в pInfo[playerid][Password], используемый в регистрации pInfo[playerid][ID] = cache_get_field_content_int(0, "ID"); //загрузка ID игрока в pInfo[playerid][ID] printf("%s", pInfo[playerid][Password]); ShowPlayerDialog(playerid, dlogin, DIALOG_STYLE_INPUT, "Авторизация", "Для того чтобы начать игру, необходимо авторизоваться", "Вход", "Выйти"); //Обнаружили аккаунт, показываем данный диалог } else //если аккаунта нет { ShowPlayerDialog(playerid, dregister, DIALOG_STYLE_INPUT, "регистрация", "Для того, чтобы начать игру, Вам необходимо зарегистрироваться.", "регистрация", "Выйти"); //То показываем этот диалог регистрации аккаунта } return 1; } forward OnAccountLoad(playerid); forward OnAccountRegister(playerid); public OnAccountLoad(playerid) { pInfo[playerid][Admin] = cache_get_field_content_int(0, "Admin"); pInfo[playerid][VIP] = cache_get_field_content_int(0, "VIP"); pInfo[playerid][Money] = cache_get_field_content_int(0, "Money"); pInfo[playerid][posX] = cache_get_field_content_float(0, "PosX"); pInfo[playerid][posY] = cache_get_field_content_float(0, "PosY"); pInfo[playerid][posZ] = cache_get_field_content_float(0, "PosZ"); GivePlayerMoney(playerid, pInfo[playerid][Money]);//деньги SendClientMessage(playerid, -1, "Успешный вход!"); //Успешный вход в аккаунт return 1; } public OnAccountRegister(playerid) { pInfo[playerid][ID] = cache_insert_id(); //загружает ID игрока в переменную, после того, как он зарегистрировался. printf("New account registered. ID: %d", pInfo[playerid][ID]); return 1; } 7. В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]): switch(dialogid) { case dlogin: //диалоговое окно входа в систему { if(!response) return Kick(playerid); //если нажал выйти - кикает new hpass[129]; //для хэширования паролей new query[100]; // для форматирования нашего запроса WP_Hash(hpass, 129, inputtext); //хеширования inputtext if(!strcmp(hpass, pInfo[playerid][Password])) { mysql_format(mysql, query, sizeof(query), "SELECT * FROM `players` WHERE `Username` = '%e' LIMIT 1", Name[playerid]); mysql_tquery(mysql, query, "OnAccountLoad", "i", playerid); } else { ShowPlayerDialog(playerid, dlogin, DIALOG_STYLE_INPUT, "Авторизация", "Чтобы начать игру необходимо вести пароль", "Вход", "Выйти"); } } case dregister: //диалог регистрации { if(!response) return Kick(playerid); //если нажали выйти, мы будем кикать их if(strlen(inputtext) < 6) return ShowPlayerDialog(playerid, dregister, DIALOG_STYLE_INPUT, "Регистрация", "Для того, чтобы играть, Вам необходимо зарегистрироваться.\nВаш пароль должен быть не менее 6 символов!", "Регистрация", "Выйти"); //strlen проверяет длину строки, если игрок вводит свой пароль, который ниже, чем 6 символов, то выводим данное сообщение new query[300]; WP_Hash(pInfo[playerid][Password], 129, inputtext); mysql_format(mysql, query, sizeof(query), "INSERT INTO `players` (`Username`, `Password`, `IP`, `Admin`, `VIP`, `Money`, `PosX` ,`PosY`, `PosZ`) VALUES ('%e', '%s', '%s', 0, 0, 0, 0.0, 0.0, 0.0)", Name[playerid], pInfo[playerid][Password], IP[playerid]); mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid); } } 8. В public OnPlayerDisconnect(playerid, reason): new query[128], Float:pos[3]; //query[128] для форматирования нашего запроса и Float:pos[3] Для получения и сохранения позиции игрока GetPlayerPos(playerid, pos[0], pos[1], pos[2]); //добавление позиции игрока, когда они покидают сервер mysql_format(mysql, query, sizeof(query), "UPDATE `players` SET `Admin`=%d, `VIP`=%d, `Money`=%d, `posX`=%f, `posY`=%f, `posZ`=%f WHERE `ID`=%d",\ pInfo[playerid][Admin], pInfo[playerid][VIP], pInfo[playerid][Money], pos[0], pos[1], pos[2], pInfo[playerid][ID]); //Обновляем таблицу игроков mysql_tquery(mysql, query, "", ""); 9. В public OnPlayerSpawn(playerid): SetPlayerPos(playerid, pInfo[playerid][posX], pInfo[playerid][posY], pInfo[playerid][posZ]); //Установка позиции игрока к последнему сохранению позиций. Перевод комментариев может быть не точным, а также может отсутствовать совсем. Кто шарит по английски, смотрите оригинальную тему. Пишите свои поправки в тему, исправлю. Оригинальная статья: Нажимай, чтобы посмотреть
×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.