- 0
Войдите для возможности подписаться
Подписчики
0
Проблема с компилом мода
Вопросы
Лучший ответ
@kekkomomek1941 Я дурачек вставил в 1 часть кода другую, ошибку пофиксил

Эта тема закрыта для публикации ответов.
Войдите для возможности подписаться
Подписчики
0
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От 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, помогите пожалуйста сохранение лидерки и заместителя сделать
-
От breznov
Всем доброго времени суток ! Я пишу мод с нуля, дело дошло до подключения cef интерфейсов, я от слова совсем не понимаю как в моде прописать подключения cef.
Пробовал конечно же подключать, создавал браузер через "cef_create_browser(playerid, 0x12345, "ссылка", false, false);", но ничего не получалось.
Я только начинаю изучать работу данного языка, извиняюсь за то что я тупоголовый. Хочу попросить помощи у специалистов, будьте добры объяснить написание данной системы с отображением cef пожалуйста =(
Если нужен будет мой код, я могу его предоставить.
-
kekkomomek1941 Освоившийся 1
Всем привет, вот ошибки, понятия не имею как их исправить, кто может - помогите пожалуйста
arizona.pwn(92829) : error 001: expected token: ";", but found ":"
arizona.pwn(92829) : error 029: invalid expression, assumed zero
arizona.pwn(92799) : error 002: only a single statement (or expression) can follow each "case"
arizona.pwn(92829) : error 014: invalid statement; not in switch
arizona.pwn(92829) : fatal error 107: too many error messages on one line
Вот все строчки с ошибками
Отредактировано пользователем Cawfee
Поделиться сообщением
Ссылка на сообщение
Поделиться на другие сайты