Если Вы нашли ответ на вопрос, пожалуйста, пометьте необходимый ответ лучшим (галочка сбоку от сообщения) и поблагодарите автора этого ответа поднятием репутации (плюс в нижней правой части сообщения). Спасибо.
Подробнее:
FAQ по форуму
Как пометить ответ лучшим

Вопросы

Гость
Новичок

Помогите, не понимаю в чем ошибка, с базой данных особо не дружу, подключено все верно, как на локальной сети, так и на хостинге не работает
 

  server_log (открыть спойлер)
  mysql_log (открыть спойлер)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 ответ на этот вопрос

  • 0
Гость
Новичок

@stibs у меня тестовый хостинг сейчас по этому мне серовно:
 

host = 94.142.141.41
username = gs50
password = wun2AlNVz4
datebase = gs50

у меня это идет отдельным файлом

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Гость stibs
Новичок

Найдите эту строку в моде и скиньте код, который с ней связан: 
 

Error while reading MySQL settings file (database). Error code:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Гость
Новичок

@stibs 

stock LoadMySQLSettings()
{
	new FileID = ini_openFile("mysql_settings.ini"),errCode;
	if(FileID < 0)
	{
		printf("Error while opening MySQL settings file. Error code: %d",FileID);
		return 0;
	}
	errCode = ini_getString(FileID,"host",MySQLSettings[DOOME_HOST]);
	if(errCode < 0) printf("Error while reading MySQL settings file (host). Error code: %d",errCode);
	errCode = ini_getString(FileID,"username",MySQLSettings[DOOME_USERNAME]);
	if(errCode < 0) printf("Error while reading MySQL settings file (username). Error code: %d",errCode);
	errCode = ini_getString(FileID,"password",MySQLSettings[DOOME_PASSWORD]);
	if(errCode < 0) printf("Error while reading MySQL settings file (password). Error code: %d",errCode);
	errCode = ini_getString(FileID,"database",MySQLSettings[DOOME_DATABASE]);
	if(errCode < 0) printf("Error while reading MySQL settings file (database). Error code: %d",errCode);
	ini_closeFile(FileID);
	return 1;
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Гость stibs
Новичок

Замените свои настройки на эти: 
 

host = 94.142.141.41
username = gs50
password = wun2AlNVz4
database = gs50

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Гость
Новичок

@stibs 

  server_log (открыть спойлер)
  mysql_log (открыть спойлер)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Гость
Новичок

@stibs может из за этого проблема?
 

public OnGameModeInit()
{
    gamemodeloaded = 0;
    LoadMySQLSettings();
	SetGameModeText("LOADING...");
	AntiDeAMX();
	
/*	for(new i = 0; i<MAX_PLAYERS; i++)
	{
	    MessagesCount[i] = 9999999;
	}
	SetTimer("NetworkUpdate", 5000, true);*/

	new bind[64];
    GetServerVarAsString("bind", bind, sizeof(bind));
 	printf("DOOME CONNECT - Идёт подключение к базе данных: %s", MySQLSettings[DOOME_USERNAME]);
	if(!strcmp(bind, "localhost", true))
	{
	    dbHandle = mysql_connect(MySQLSettings[DOOME_HOST],MySQLSettings[DOOME_USERNAME],MySQLSettings[DOOME_DATABASE],MySQLSettings[DOOME_PASSWORD]);
	    TEST_SERVER = true;
	}
	else
	{
	    dbHandle = mysql_connect(MySQLSettings[DOOME_HOST],MySQLSettings[DOOME_USERNAME],MySQLSettings[DOOME_DATABASE],MySQLSettings[DOOME_PASSWORD]);
	}
	mysql_log(LOG_WARNING | LOG_ERROR);
    if(mysql_errno() == -1)
    {
        if(!strcmp(bind, "localhost", true)) SetGameModeText(""SERVER_NAME" | Error SQL");
        else print("  MySQL connection: FALSE (host)\n");
    }
    else
    {
        if(!strcmp(bind, "localhost", true)) print("  MySQL connection: TRUE (local)\n");
	    else print("  MySQL connection: TRUE (host)\n");
	    
	    mysql_tquery(dbHandle, "SET NAMES 'cp1251'", "", "");
		mysql_tquery(dbHandle, "SET CHARACTER SET 'cp1251'", "", "");
		mysql_tquery(dbHandle, "SELECT * FROM "T_VEHICLE"", "LoadVeh", "");
		mysql_tquery(dbHandle, "SELECT * FROM "T_BIZZ" ORDER BY  "T_BIZZ".`id` ASC ", "LoadBizz", "");
		mysql_tquery(dbHandle, "SELECT * FROM "T_HOUSE" ORDER BY  "T_HOUSE".`id` ASC ", "LoadHouse", "");
		mysql_tquery(dbHandle, "SELECT * FROM "T_MAFIA"", "LoadMafia", "");
		mysql_tquery(dbHandle, "SELECT * FROM "T_GANG"", "LoadGang", "");
		mysql_tquery(dbHandle, "SELECT * FROM "T_GANGZONE"", "LoadGZ", "");
		mysql_tquery(dbHandle, "SELECT * FROM "T_ATM"", "LoadATM", "");
		mysql_tquery(dbHandle, "SELECT * FROM "T_OTHER"", "LoadOther", "");
		mysql_tquery(dbHandle, "SELECT * FROM "T_RADAR"", "LoadRadar", "");
		mysql_tquery(dbHandle, "SELECT * FROM "T_DROPIT"","LoadDropItem", "");
		mysql_tquery(dbHandle, "SELECT * FROM "T_FAMILY"","LoadFamily", "");
	    mysql_tquery(dbHandle, "SELECT * FROM "T_PODEZD"", "LoadPodezd", "");
	    mysql_tquery(dbHandle, "SELECT * FROM "T_ROOMS"", "LoadRooms", "");
		
		mysql_tquery(dbHandle, "UPDATE "T_ADMIN" SET `timemin` = '0'", "", "");
    }
    
	SendRconCommand("mapname Russia");
	SendRconCommand("weburl "SERVER_WEBSITE"");

 

Отредактировано пользователем Daniil Roslyakov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Гость
Новичок

@stibs я сверил авторизацию, основного мода Just и дороботки Just
В итоге все одинакова кроме базы данных (подключение разное)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Гость
Новичок

@stibs теперь

  server_log (открыть спойлер)
  mysql_log (открыть спойлер)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Гость stibs
Новичок

@Daniil Roslyakov ошибки не в мускул, ошибке в вашем моде: 

  В 10/21/2017 в 14:20, Daniil Roslyakov сказал:

[17:17:16] [debug] Run time error 4: "Array index out of bounds" [17:17:16] [debug] Accessing element at index 5 past array upper bound 4 [17:17:16] [debug] AMX backtrace: [17:17:16] [debug] #0 00027b7c in public OnPlayerRequestClass (playerid=0, classid=0) at J:\Сервер TimePlay RolePlay\Новый мод\gamemodes\timeplay.pwn:4234 [17:17:25] [debug] Run time error 4: "Array index out of bounds" [17:17:25] [debug] Accessing element at index 3 past array upper bound 2 [17:17:25] [debug] AMX backtrace: [17:17:25] [debug] #0 0002cc2c in public Itter_OnPlayerDisconnect (playerid=0, reason=1) at J:\Сервер TimePlay RolePlay\Новый мод\gamemodes\timeplay.pwn:4577 [17:17:25] [debug] #1 00013f00 in public SSCANF_OnPlayerDisconnect (playerid=0, reason=1) at J:\Сервер TimePlay RolePlay\Новый мод\pawno\include\YSI\y_iterate.inc:909 [17:17:25] [debug] #2 0000bdd4 in public OnPlayerDisconnect (playerid=0, reason=1) at J:\Сервер TimePlay RolePlay\Новый мод\pawno\include\sscanf2.inc:260

Читать далее...  

Если заинтересованы в их решении, создавайте отдельную тему. Эта тема решена. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

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

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

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

    • Senwik
      От Senwik
      Здравствуйте,где можно скачать КРМП 0.3.7 не бета тест?
    • breznov
      От breznov
      Доброго времени суток уважаемые форумчане !
      Хочу попросить помощь у вас, у меня проблемы с сохранением лидерки в базу данных, код:
       
      new FactionName[32] = "Скинхеды"; new Float:FactionHQX = 123.45, Float:FactionHQY = 678.90, Float:FactionHQZ = 10.11; new FactionMembers[MAX_PLAYERS]; new FactionRank[MAX_PLAYERS]; new FactionLeader = -1; // ID лидера (-1 означает, что лидера нет) new FactionDeputy = -1; // ID заместителя (-1 означает, что заместителя нет)

       
      #define FACTION_SKINHEDS 1 #define LEADER_INFO_DIALOG 1


       
      new const FactionRankNames[][] = {     "Новичок",     "Боец",     "Стрелок",     "Головорез",     "Бригадир",     "Доверенное лицо",     "Советник",     "Заместитель",     "Консильери",     "Дон" };  
      public OnGameModeInit():

       
      public OnGameModeInit() {     ConnectMySQL();     DisableInteriorEnterExits();     EnableStuntBonusForAll(0);     SetGameModeText("Armade RP v2.0");     SendRconCommand("hostname "SERVER_NAME" by Didenko");     LoadMapping();     Iter_Clear(Admins_ITER);     Iter_Clear(Question_ITER);     actor1 = CreateActor(159, 1800.0490, 2506.0791, 15.8725, 269.5358);     ApplyActorAnimation(actor1, "PED", "ROADROSS_FEMALE", 4.1, 1, 1, 1, 0, 0);     Create3DTextLabel("{FFFFFF}Нажмите {ffff00}L.ALT{FFFFFF} чтобы начать взаимодействие", COLOR_GREEN, 1800.0490, 2506.0791, 15.8725, 10.0, 0, 1);     //======================[ Пикапы ]==================================     magazvhod1 = CreatePickup(1318, 23, 2074.3257,1838.3256,12.5391, -1);     magazvihod1 = CreatePickup(1318, 23, -25.5779,-184.9357,1003.5469, -1);     SetTimer("SecondUpdate", 1000, true);     SetTimer("MinuteUpdate", 60000, true);     LoadFactionsData(); // Загружаем данные о фракциях и лидерах     return 1; }
       
      Стоки:

       
      stock LoadFactionsData() {     print("LoadFactionsData: Starting to load factions data...");     new query[64];     format(query, sizeof(query), "SELECT id, FactionLeader FROM factions");     mysql_tquery(dbHandle, query, "LoadFactionsData_Callback");     print("LoadFactionsData: Query sent.");     return 1; } forward LoadFactionsData_Callback(MySQL:handle, Cache:result); public LoadFactionsData_Callback(MySQL:handle, Cache:result) {     new rows = cache_num_rows();     printf("LoadFactionsData_Callback: Number of rows loaded: %d", rows);     if(rows > 0)     {         for(new i = 0; i < rows; i++)         {             cache_set_result(0);             new factionID, factionLeaderID;             if (!cache_get_value_name_int(i, "id", factionID)) {                 printf("[ERROR] LoadFactionsData_Callback: Failed to get 'id' for row %d", i);                 continue; // Переходим к следующей итерации, если не удалось получить ID             }             if (!cache_get_value_name_int(i, "FactionLeader", factionLeaderID)) {                 printf("[ERROR] LoadFactionsData_Callback: Failed to get 'FactionLeader' for row %d", i);                 continue; // Переходим к следующей итерации, если не удалось получить FactionLeader             }             printf("LoadFactionsData_Callback: Row %d: factionID = %d, factionLeaderID = %d", i, factionID, factionLeaderID);             if(factionLeaderID != 0)             {                 FactionLeader = factionLeaderID;                 FactionRank[factionLeaderID] = 10;                 printf("LoadFactionsData_Callback: Setting FactionLeader to %d and rank to 10.", factionLeaderID);                 // Не вызываем здесь SetPlayerSkin, пока не подключится игрок                 //if(IsPlayerConnected(factionLeaderID))                 //{                 //    SetPlayerSkin(factionLeaderID, 115);                 //    PlayerSkin[factionLeaderID] = 115;                 //}             }         }     }     else {         print("LoadFactionsData_Callback: No factions data found in the database.");     }     return 1; } stock SetFactionLeader(playerid, targetid) {     if(player_info[playerid][ADMIN] < 5)     {         SendClientMessage(playerid, CG, "Вы не являетесь администратором!");         return 1;     }     // Убираем старого лидера     if(FactionLeader != -1)     {         FactionRank[FactionLeader] = 1; // Понижаем ранг старого лидера     }     // Назначаем нового лидера     FactionLeader = targetid;     FactionRank[targetid] = 10;     // Сохраняем ID лидера в базу данных     new query[128];     format(query, sizeof(query), "UPDATE factions SET FactionLeader = '%d' WHERE id = '1'", targetid); // Замените '1' на ID вашей фракции, если у вас их несколько     mysql_tquery(dbHandle, query);     new szString[128];     format(szString, sizeof(szString), "Игрок %s назначен лидером фракции!", targetid);     SendClientMessage(playerid, 0x00FF00AA, szString);     SendClientMessage(targetid, 0x00FF00AA, "Вы назначены лидером фракции!");     // Выдаем скин 115     SetPlayerSkin(targetid, 115);     PlayerSkin[targetid] = 115; // Обновляем массив PlayerSkin     SPD(playerid, DLG_LEADERINFO1, DIALOG_STYLE_LIST, "Информация необходимая к прочтению", "{FF0000}!!!ПРОЧИТАТЬ!!!\n{0089ff}[1]{ffffff} Команды лидера", "Выбрать", "Закрыть");     return 1; } stock SetFactionDeputy(playerid, targetid) {     // Проверка на то, является ли игрок админом     if(player_info[playerid][ADMIN] > 5)     {         SendClientMessage(playerid, CG, "Вы не являетесь администратором!");         return 1;     }     // Убираем старого заместителя     if(FactionDeputy != -1) FactionRank[FactionDeputy] = 1; // Понижаем ранг старого заместителя     // Назначаем нового заместителя     FactionDeputy = targetid;     FactionRank[targetid] = 9; // Устанавливаем ранг 9 (Консильери)     new szString[128];     format(szString, sizeof(szString), "Игрок %d назначен заместителем фракции!", targetid);     SendClientMessage(playerid, 0x00FF00AA, szString);     SendClientMessage(targetid, 0x00FF00AA, "Вы назначены заместителем фракции!");     return 1; } // Функция проверки, является ли игрок лидером stock IsPlayerLeader(playerid) {     if(playerid == FactionLeader)     {         return 1;     }     return 0; } // Функция проверки, является ли игрок заместителем stock IsPlayerDeputy(playerid) {     if(playerid == FactionDeputy)     {         return 1;     }     return 0; } // Функция вступления во фракцию stock JoinFaction(playerid, inviterid) {     // Проверяем, состоит ли игрок уже в какой-либо фракции     for(new i = 0; i < MAX_PLAYERS; i++)     {         if(FactionMembers[playerid] != 0)         {             SendClientMessage(playerid, 0xFF0000AA, "Вы уже состоите в другой фракции!");             return 1;         }     }     // Добавляем игрока во фракцию     FactionMembers[playerid] = FACTION_SKINHEDS;     FactionRank[playerid] = 1; // Рядовой (Новичок) - Устанавливаем ранг     new szString[128];     format(szString, sizeof(szString), "Вы вступили в '%s' по приглашению игрока %d!", FactionName, inviterid);     SendClientMessage(playerid, 0x00FF00AA, szString);     format(szString, sizeof(szString), "Игрок %d вступил в '%s' по вашему приглашению!", playerid, FactionName);     SendClientMessage(inviterid, 0x00FF00AA, szString);     return 1; } stock LeaveFaction(playerid) {     if(!IsPlayerInFaction(playerid, FACTION_SKINHEDS))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не состоите в этой фракции!");         return 1;     }     FactionMembers[playerid] = 0; // Обнуляем ID фракции (0 - значит, не состоит)     FactionRank[playerid] = 0;     SendClientMessage(playerid, 0x00FF00AA, "Вы покинули Семью Рейес!");     return 1; } stock GetFactionRank(playerid) {     return FactionRank[playerid]; } stock SetFactionRank(playerid, targetid, rank) {     // Проверка на то, является ли игрок лидером или заместителем     if(!IsPlayerLeader(playerid) && !IsPlayerDeputy(playerid))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не имеете права устанавливать ранги!");         return 1;     }     // Проверка на то, чтобы ранг не был слишком высоким     if(rank > 10 || rank < 1)     {         SendClientMessage(playerid, 0xFF0000AA, "Неверный ранг!");         return 1;     }     FactionRank[targetid] = rank;     new szString[128];     format(szString, sizeof(szString), "Вы установили ранг '%s' для игрока %d", FactionRankNames[rank - 1], targetid); // Получаем название из массива     SendClientMessage(playerid, 0x00FF00AA, szString);     format(szString, sizeof(szString), "Вам установлен ранг '%s' игроком %d", FactionRankNames[rank - 1], playerid); // Получаем название из массива     SendClientMessage(targetid, 0x00FF00AA, szString);     return 1; } // Функция проверки, состоит ли игрок во фракции stock IsPlayerInFaction(playerid, factionid) {     if(FactionMembers[playerid] == factionid)     {         return 1;     }     return 0; }
      Ну и команды естественно:

       
      // Команда для установки ранга (пример, только для лидеров) CMD:setrank(playerid, cmdtext[]) {     new targetid, rank;     if(sscanf(cmdtext, "dd", targetid, rank))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /setrank [ID игрока] [Ранг]");         return 1;     }     SetFactionRank(playerid, targetid, rank);     return 1; } // Команда информации о фракции CMD:factioninfo(playerid, cmdtext[]) {     new szString[256];     format(szString, sizeof(szString), "Название: %s, Штаб-квартира: %.2f %.2f %.2f", FactionName, FactionHQX, FactionHQY, FactionHQZ);     SendClientMessage(playerid, 0x00FF00AA, szString);     return 1; } CMD:setleader(playerid, cmdtext[]) {     new targetid;     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /setleader [ID игрока]");         return 1;     }     SetFactionLeader(playerid, targetid);     return 1; } CMD:setdeputy(playerid, cmdtext[]) {     new targetid;     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /setdeputy [ID игрока]");         return 1;     }     SetFactionDeputy(playerid, targetid);     return 1; } // -------------------------------------------------------------------------- // Команда для приглашения игрока во фракцию (только для лидеров и заместителей) // -------------------------------------------------------------------------- CMD:invite(playerid, cmdtext[]) {     new targetid;     if(!IsPlayerLeader(playerid) && !IsPlayerDeputy(playerid))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не имеете права приглашать игроков!");         return 1;     }     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /invite [ID игрока]");         return 1;     }     // Добавим проверку на приглашение самого себя     if(playerid == targetid)     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не можете пригласить самого себя!");         return 1;     }     JoinFaction(targetid, playerid);     return 1; } // -------------------------------------------------------------------------- // Команда для исключения игрока из фракции (только для лидеров и заместителей) // -------------------------------------------------------------------------- CMD:uninvite(playerid, cmdtext[]) {     new targetid;     if(!IsPlayerLeader(playerid) && !IsPlayerDeputy(playerid))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не имеете права исключать игроков!");         return 1;     }     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /uninvite [ID игрока]");         return 1;     }     // Добавим проверку на исключение самого себя     if(playerid == targetid)     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не можете увольнять самого себя!");         return 1;     }     if(!IsPlayerInFaction(targetid, FACTION_SKINHEDS))     {         SendClientMessage(playerid, 0xFF0000AA, "Этот игрок не состоит в вашей фракции!");         return 1;     }     LeaveFaction(targetid);     return 1; }

      Ребят, не судите строго пожалуйста, делал с помощью ChatGPT, помогите пожалуйста сохранение лидерки и заместителя сделать