Просмотр истории репутации

Здесь пока ничего нет

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Rayan
      От Rayan
      Не сохраняется пароль MYSQL в бд.
       
      Вот код: 
       
      #include <a_samp> #include <dc_cmd> #include <a_mysql> #include <sscanf2> #include <streamer> #include <crashdetect> #define MYSQL_HOST      "127.0.0.1" #define MYSQL_USER      "root" #define MYSQL_DATABASE  "sa-mp" #define MYSQL_PASSWORD  "" //127.0.0.1", "root", "sa-mp", " /*==================[Подсказки]================== %s - строка (привет, игрок_1) %d - целое число (12345) %f - число с точкой (123.123) ===============================================*/ #define MAX_PASSWORD 30 #define COLOR_RED 0xFF0000AA //new MySQL:DBconnectID; new DBconnectID; //new regip[15]; enum e_pInfo{     pID,     pName[MAX_PLAYER_NAME],     pPassword[MAX_PASSWORD],     pMoney,     Float:pX,     Float:pY,     Float:pZ,     bool:pAdmin,     bool:pInGame, }; new pInfo[MAX_PLAYERS][e_pInfo]; enum{     D_REG,     D_LOG,     D_SEX, }; main() {     print("\n----------------------------------");     print(" Мод успешно запущен! </>");     print("----------------------------------\n"); } public OnGameModeInit() {     //DBconnectID = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE);     DBconnectID = mysql_connect("127.0.0.1", "root", "sa-mp", "");     switch(mysql_errno())     {             case 0: print("Подключение к базе данных - Успешно | </>");             case 1044: print("Подключение к базе данных не удалось [Указано неизвестное имя пользователя]");             case 1045: print("Подключение к базе данных не удалось [Указан неизвестный пароль]");             case 1049: print("Подключение к базе данных не удалось [Указана неизвестная база данных]");             case 2003: print("Подключение к базе данных не удалось [Хостинг с базой данных недоступен]");             case 2005: print("Подключение к базе данных не удалось [Указан неизвестный адрес хостинга]");             default: printf("Подключение к базе данных не удалось [Неизвестная ошибка. Код ошибки: %d]", mysql_errno());     }     SetGameModeText("Mode");     AddPlayerClass(0, 1154.1466,-1768.7874,16.5938,356.8533, 0, 0, 0, 0, 0, 0);     SetTimer("SecondUpdate", 1000, true);     return 1; } public OnGameModeExit() {     mysql_close(DBconnectID);     return 1; } public OnPlayerRequestClass(playerid, classid) {     SetPlayerPos(playerid,1154.1466, -1768.7874, 16.5938);     SetPlayerCameraPos(playerid, 1230.5927,-1529.1538,62.4152);     SetPlayerCameraLookAt(playerid, 1230.5927,-1529.1538,62.4152);               if(!pInfo[playerid][pInGame])     {         SetSpawnInfo(playerid, 0, 2, 1154.1466, -1768.7874, 16.5938, 0, 0, 0, 0, 0, 0, 0);         SpawnPlayer(playerid);     }     return 1; } public OnPlayerConnect(playerid) {     //new query[256];     //mysql_format(DBconnectID, query,sizeof(query),"INSERT INTO `players` (`name`, `password`, `regip`, `lastip`) VALUES ('%s','%s','%s','%s')", pInfo[playerid][pName], pInfo[playerid][pPassword], pInfo[playerid][pRegIp], pInfo[playerid][pLastIp]);     //mysql_query(DBconnectID, query);     SendClientMessage(playerid, COLOR_RED, "Добро пожаловать на Server Builds!");     SaveAcc(playerid);     ClearVars(playerid);     return 1; } public OnPlayerDisconnect(playerid, reason) {     SaveAcc(playerid);     ClearVars(playerid);     return 1; } public OnPlayerSpawn(playerid) {     if(!pInfo[playerid][pInGame])     {         GetPlayerName(playerid, pInfo[playerid][pName], MAX_PLAYER_NAME);         new qString[42 + MAX_PLAYER_NAME];         format(qString, sizeof(qString), "SELECT * FROM `players` WHERE `name` = '%s'", pInfo[playerid][pName]);         mysql_function_query(DBconnectID, qString, true, "CheckAcc", "d", playerid);     }     return 1; } forward CheckAcc(playerid); public CheckAcc(playerid) {     new rows, fields;     cache_get_data(rows,fields);     if(!rows)     {         ShowPlayerDialog(playerid, D_REG, DIALOG_STYLE_INPUT, "Регистрация", "Введите новый пароль для регистрации.","Окей","");     }     else     {         ShowPlayerDialog(playerid, D_LOG, DIALOG_STYLE_INPUT, "Авторизация", "Введите свой пароль.","Окей","");         cache_get_field_content(0, "password", pInfo[playerid][pPassword], DBconnectID, MAX_PASSWORD);     }     return 1; } public OnPlayerDeath(playerid, killerid, reason) {     return 1; } public OnVehicleSpawn(vehicleid) {     return 1; } public OnVehicleDeath(vehicleid, killerid) {     return 1; } public OnPlayerText(playerid, text[]) {     return 1; } public OnPlayerCommandText(playerid, cmdtext[]) {     if (strcmp("/mycommand", cmdtext, true, 10) == 0)     {         // Do something here         return 1;     }     return 0; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) {     return 1; } public OnPlayerExitVehicle(playerid, vehicleid) {     return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) {     return 1; } public OnPlayerEnterCheckpoint(playerid) {     return 1; } public OnPlayerLeaveCheckpoint(playerid) {     return 1; } public OnPlayerEnterRaceCheckpoint(playerid) {     return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) {     return 1; } public OnRconCommand(cmd[]) {     return 1; } public OnPlayerRequestSpawn(playerid) {     return 1; } public OnObjectMoved(objectid) {     return 1; } public OnPlayerObjectMoved(playerid, objectid) {     return 1; } public OnPlayerPickUpPickup(playerid, pickupid) {     return 1; } public OnVehicleMod(playerid, vehicleid, componentid) {     return 1; } public OnVehiclePaintjob(playerid, vehicleid, paintjobid) {     return 1; } public OnVehicleRespray(playerid, vehicleid, color1, color2) {     return 1; } public OnPlayerSelectedMenuRow(playerid, row) {     return 1; } public OnPlayerExitedMenu(playerid) {     return 1; } public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) {     return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {     return 1; } public OnRconLoginAttempt(ip[], password[], success) {     return 1; } public OnPlayerUpdate(playerid) {     if(IsPlayerConnected(playerid)) GetPlayerPos(playerid, pInfo[playerid][pX], pInfo[playerid][pY], pInfo[playerid][pZ]);     if(GetPlayerMoney(playerid) != pInfo[playerid][pMoney])     {         ResetPlayerMoney(playerid);         GivePlayerMoney(playerid, pInfo[playerid][pMoney]);     }     return 1; } public OnPlayerStreamIn(playerid, forplayerid) {     return 1; } public OnPlayerStreamOut(playerid, forplayerid) {     return 1; } public OnVehicleStreamIn(vehicleid, forplayerid) {     return 1; } public OnVehicleStreamOut(vehicleid, forplayerid) {     return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {     switch(dialogid)     {         case D_REG:         {             //GetPlayerIp(playerid,regip,15);             if(!response) return ShowPlayerDialog(playerid, D_REG, DIALOG_STYLE_INPUT, "Регистрация", "Введите новый пароль для регистрации.","Окей","");             if(strlen(inputtext) < 3 || strlen(inputtext) > 30) return ShowPlayerDialog(playerid, D_REG, DIALOG_STYLE_INPUT, "Регистрацияя", "Пароль должен состоять от 3 до 30 символов.\nВведите новый пароль для регистрации.","Окей", "");             for(new i; i < strlen(inputtext); i++)             {                 switch(inputtext[i])                 {                     case '0'..'9', 'а'..'я',  'a'..'z', 'А'..'Я', 'A'..'Z': continue;                     default: return ShowPlayerDialog(playerid, D_REG, DIALOG_STYLE_INPUT, "Регистрация", "Пароль может состоть только из латинских символов и символы!(Aa - Zz, 0 - 9).\nВведите новый пароль для регистрации.","Окей", "");                 }             }             CreateAcc(playerid, pInfo[playerid][pPassword]);             format(pInfo[playerid][pPassword], MAX_PASSWORD, "%s", inputtext);             /*pInfo[playerid][pPassword][0] = EOS;             strins(pInfo[playerid][pPassword], inputtext, 0);             return ShowPlayerDialog(playerid, D_SEX, DIALOG_STYLE_MSGBOX, "Пол", "Выберите пол персонажа", "Мужской", "Женский");*/         }         case D_LOG:         {             if(!response) return ShowPlayerDialog(playerid, D_LOG, DIALOG_STYLE_INPUT, "Авторизация", "Введите свой пароль.","Окей","");             if(strlen(inputtext) < 3 || strlen(inputtext) > 30) return ShowPlayerDialog(playerid, D_LOG, DIALOG_STYLE_INPUT, "Авторизация", "Длина пароля должна быть от 3 до 30 символов!\nВведите свой пароль.","Окей","");             for(new i; i < strlen(inputtext); i++)             {                 switch(inputtext[i])                 {                     case '0'..'9', 'а'..'я',  'a'..'z', 'А'..'Я', 'A'..'Z': continue;                     default: return ShowPlayerDialog(playerid, D_LOG, DIALOG_STYLE_INPUT, "Авторизация", "Пароль должен быть из латинских символов и символы!(Aa - Zz, 0 - 9).\nВведите свой пароль.","Окей", "");                 }             }             if(!strcmp (pInfo[playerid][pPassword], inputtext))             {                 new qString[42 + MAX_PLAYER_NAME];                 format(qString, sizeof(qString), "SELECT * FROM `players` WHERE `name` = '%s'", pInfo[playerid][pName]);                 mysql_function_query(DBconnectID, qString, true, "LoadAcc", "d", playerid);             }             else             {                 if(GetPVarInt(playerid, "BadAttemp") >= 3) return Kick(playerid);                 new string[78];                 format(string, sizeof(string), "Вы ввели неверный пароль! У вас осталось %d попытки(а)\nВведите свой пароль.", 3 - GetPVarInt(playerid, "BadAttemp"));                 ShowPlayerDialog(playerid, D_LOG, DIALOG_STYLE_INPUT, "Авторизация", string,"Окей", "");                 SetPVarInt(playerid, "BadAttemp", GetPVarInt(playerid, "BadAttemp") + 1);             }         }         /*case D_SEX:         {             pInfo[playerid][pSex] = response;             return CreateAcc(playerid, pInfo[playerid][pPassword], response);         }*/     }     return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) {     return 1; } CMD:givemoney(playerid, params[]) {     new dlid, cash;     if(sscanf(params, "dd", dlid, cash)) return SendClientMessage(playerid, -1, "Используйте: /givemoney [id] [Кол-во]");     if(!IsPlayerConnected(dlid)) return SendClientMessage(playerid, -1, "Данного игрока нету на сервере.");     GivePlayerMoney(dlid,cash);     return 1; } CMD:sethp(playerid, params[]) {     new Val;     if(sscanf(params, "d", Val)) return SendClientMessage(playerid, -1, "/sethp [число]");     new Float:fVal = (Val);     SetPlayerHealth(playerid, fVal);     return 1; } ALT:sethp:hp; stock ClearVars(playerid) {     pInfo[playerid][pID] = 0;     pInfo[playerid][pName][0] = EOS;     pInfo[playerid][pPassword][0] = EOS;     pInfo[playerid][pMoney] = 0;     pInfo[playerid][pX] = 0.0;     pInfo[playerid][pY] = 0.0;     pInfo[playerid][pZ] = 0.0;     pInfo[playerid][pAdmin] = false;     pInfo[playerid][pInGame] = false;     return 1; } stock CreateAcc(playerid, password[]) {     new qString[180 + MAX_PLAYER_NAME + MAX_PASSWORD + 11 + 1 + 33];     format(qString, sizeof(qString), "INSERT INTO `players` (`name`, `password`, `money`, `admin`, `posx`, `posy`, `posz`) VALUES ('%s', '%s', %d, %d, %f, %f, %f)", pInfo[playerid][pName], password, pInfo[playerid][pMoney], pInfo[playerid][pAdmin], pInfo[playerid][pX], pInfo[playerid][pY], pInfo[playerid][pZ]);     mysql_function_query(DBconnectID, qString, true, "LoadAccID", "d", playerid);     SendClientMessage(playerid, -1, "Ваш аккаунт успешно создан!");     pInfo[playerid][pInGame] = true;     SpawnPlayer(playerid);     return 1; } forward LoadAccID(playerid); public LoadAccID(playerid) return pInfo[playerid][pID] = cache_insert_id(DBconnectID); forward LoadAcc(playerid); public LoadAcc(playerid) {     pInfo[playerid][pID] = cache_get_field_content_int(0, "id", DBconnectID);     pInfo[playerid][pMoney] = cache_get_field_content_int(0, "money", DBconnectID);     pInfo[playerid][pAdmin] = !!cache_get_field_content_int(0, "admin", DBconnectID);     pInfo[playerid][pX] = cache_get_field_content_float(0, "posx", DBconnectID);     pInfo[playerid][pY] = cache_get_field_content_float(0, "posy", DBconnectID);     pInfo[playerid][pZ] = cache_get_field_content_float(0, "posz", DBconnectID);     SendClientMessage(playerid, -1, "Вы успешно авторизовались!");     pInfo[playerid][pInGame] = true;     SpawnPlayer(playerid);     return 1; } stock SaveAcc(playerid){     new qString[165 + MAX_PLAYER_NAME + MAX_PASSWORD + 11 + 1 + 33 + 4];     format(qString, sizeof(qString),"UPDATE `players` SET `name` = %s, `password` = %s,`money` = %d, `Admin` = %d, `posx` = %f, `posy` = %f, `posz` = %f, `level` = %d, `sex` = %d, `regip` = %f, `lastip` = %f WHERE `id` = %d", pInfo[playerid][pName], pInfo[playerid][pPassword], pInfo[playerid][pMoney], pInfo[playerid][pAdmin], pInfo[playerid][pX], pInfo[playerid][pY], pInfo[playerid][pZ], pInfo[playerid][pID]);     //format(qString, sizeof(qString), "UPDATE `players` SET `name` = %s, `password` = %s, `money` = %d, `admin` = %d, `posx` = %f, `posy` = %f, `posz` = %f  WHERRE `id` = %d", pInfo[playerid][pName], pInfo[playerid][pPassword], pInfo[playerid][pMoney], pInfo[playerid][pAdmin], pInfo[playerid][pX], pInfo[playerid][pY], pInfo[playerid][pZ], pInfo[playerid][pID]);     mysql_function_query(DBconnectID, qString, true, "", "");     return 1;          /*==================[Подсказки]==================     %s - строка (привет, игрок_1)     %d - целое число (12345)     %f - число с точкой (123.123)     ===============================================*/           } /*stock GiveMoney(playerid, money) {     pInfo[playerid][pMoney] += money;     static const fmt_query[] = "UPDATE `player` SET `money` = "%d" FROM `id` = "%d"";     new query[sizeof(fmt_query)+(-2+9)+(-2+8)];     format(query,sizeof(query), fmt_query, pInfo[playerid][pMoney], pInfo[playerid][pID]);     mysql_tquery(DBconnectID, query);     GivePlayerMoney(playerid, pInfo[playerid][pMoney]); } */