TEXTDRAW - Форма для Входа

В теме 21 сообщение

BELOFF
YT [BELOFF]

Хочу слить вам форму для входа на сервер полностью на ТекстДравах.
 

  Код - Вход на сервер (открыть спойлер)


 

  Код - Регистрация (открыть спойлер)


 

  Код - Авторизация (открыть спойлер)

 


Предлагайте ваши идей для новых ТД.
По мере возможность буду их выполнять.
:blind:

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

Заметка от RASTAMAN , создано

добавте скриншот

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


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

в чем проблема -сливай скрины в студию

 

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

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


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

@DEST переместив туда,тоже самое происходит,сейчас даже так и сделаю

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


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

@DEST new global TextDraw?

@DEST C:\Users\User\Desktop\pawno\include\global-textdraws.inc(171) : error 021: symbol already defined: "Textdraw0"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(172) : error 021: symbol already defined: "Textdraw1"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(173) : error 021: symbol already defined: "Textdraw2"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(174) : error 021: symbol already defined: "Textdraw3"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(175) : error 021: symbol already defined: "Textdraw4"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(176) : error 021: symbol already defined: "Textdraw5"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(177) : error 021: symbol already defined: "Textdraw6"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(178) : error 021: symbol already defined: "Textdraw7"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(179) : error 021: symbol already defined: "Textdraw8"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(180) : error 021: symbol already defined: "Textdraw9"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(181) : error 021: symbol already defined: "Textdraw10"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(182) : error 021: symbol already defined: "Textdraw11"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(183) : error 021: symbol already defined: "Textdraw12"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(184) : error 021: symbol already defined: "Textdraw13"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(499) : error 021: symbol already defined: "Textdraw0"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(500) : error 021: symbol already defined: "Textdraw1"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(501) : error 021: symbol already defined: "Textdraw2"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(502) : error 021: symbol already defined: "Textdraw3"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(503) : error 021: symbol already defined: "Textdraw4"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(504) : error 021: symbol already defined: "Textdraw5"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(505) : error 021: symbol already defined: "Textdraw6"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(506) : error 021: symbol already defined: "Textdraw7"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(507) : error 021: symbol already defined: "Textdraw8"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(508) : error 021: symbol already defined: "Textdraw9"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(509) : error 021: symbol already defined: "Textdraw10"
C:\Users\User\Desktop\pawno\include\global-textdraws.inc(510) : error 021: symbol already defined: "Textdraw11"

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


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

@DEST а,все увидел ошибку

@DEST 

C:\Users\User\Desktop\051117\H-RP.pwn(389) : error 021: symbol already defined: "Textdraw0"
C:\Users\User\Desktop\051117\H-RP.pwn(390) : error 021: symbol already defined: "Textdraw1"
C:\Users\User\Desktop\051117\H-RP.pwn(391) : error 021: symbol already defined: "Textdraw2"
C:\Users\User\Desktop\051117\H-RP.pwn(392) : error 021: symbol already defined: "Textdraw3"
C:\Users\User\Desktop\051117\H-RP.pwn(393) : error 021: symbol already defined: "Textdraw4"
C:\Users\User\Desktop\051117\H-RP.pwn(394) : error 021: symbol already defined: "Textdraw5"
C:\Users\User\Desktop\051117\H-RP.pwn(395) : error 021: symbol already defined: "Textdraw6"
C:\Users\User\Desktop\051117\H-RP.pwn(396) : error 021: symbol already defined: "Textdraw7"
C:\Users\User\Desktop\051117\H-RP.pwn(397) : error 021: symbol already defined: "Textdraw8"
C:\Users\User\Desktop\051117\H-RP.pwn(398) : error 021: symbol already defined: "Textdraw9"
C:\Users\User\Desktop\051117\H-RP.pwn(399) : error 021: symbol already defined: "Textdraw10"
C:\Users\User\Desktop\051117\H-RP.pwn(400) : error 021: symbol already defined: "Textdraw11"
C:\Users\User\Desktop\051117\H-RP.pwn(401) : error 021: symbol already defined: "Textdraw12"
C:\Users\User\Desktop\051117\H-RP.pwn(402) : error 021: symbol already defined: "Textdraw13"
C:\Users\User\Desktop\051117\H-RP.pwn(418) : error 021: symbol already defined: "Textdraw0"
C:\Users\User\Desktop\051117\H-RP.pwn(419) : error 021: symbol already defined: "Textdraw1"
C:\Users\User\Desktop\051117\H-RP.pwn(420) : error 021: symbol already defined: "Textdraw2"
C:\Users\User\Desktop\051117\H-RP.pwn(421) : error 021: symbol already defined: "Textdraw3"
C:\Users\User\Desktop\051117\H-RP.pwn(422) : error 021: symbol already defined: "Textdraw4"
C:\Users\User\Desktop\051117\H-RP.pwn(423) : error 021: symbol already defined: "Textdraw5"
C:\Users\User\Desktop\051117\H-RP.pwn(424) : error 021: symbol already defined: "Textdraw6"
C:\Users\User\Desktop\051117\H-RP.pwn(425) : error 021: symbol already defined: "Textdraw7"
C:\Users\User\Desktop\051117\H-RP.pwn(426) : error 021: symbol already defined: "Textdraw8"
C:\Users\User\Desktop\051117\H-RP.pwn(427) : error 021: symbol already defined: "Textdraw9"
C:\Users\User\Desktop\051117\H-RP.pwn(428) : error 021: symbol already defined: "Textdraw10"
C:\Users\User\Desktop\051117\H-RP.pwn(429) : error 021: symbol already defined: "Textdraw11"

Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


26 Errors.

@DEST добавил new и вот что вышло

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


Ссылка на сообщение
Поделиться на другие сайты
kusehsup
Постоянный
  В 11/5/2017 в 16:06, Коля Макаренко сказал:

@DEST а,все увидел ошибку

@DEST 

C:\Users\User\Desktop\051117\H-RP.pwn(389) : error 021: symbol already defined: "Textdraw0"
C:\Users\User\Desktop\051117\H-RP.pwn(390) : error 021: symbol already defined: "Textdraw1"
C:\Users\User\Desktop\051117\H-RP.pwn(391) : error 021: symbol already defined: "Textdraw2"
C:\Users\User\Desktop\051117\H-RP.pwn(392) : error 021: symbol already defined: "Textdraw3"
C:\Users\User\Desktop\051117\H-RP.pwn(393) : error 021: symbol already defined: "Textdraw4"
C:\Users\User\Desktop\051117\H-RP.pwn(394) : error 021: symbol already defined: "Textdraw5"
C:\Users\User\Desktop\051117\H-RP.pwn(395) : error 021: symbol already defined: "Textdraw6"
C:\Users\User\Desktop\051117\H-RP.pwn(396) : error 021: symbol already defined: "Textdraw7"
C:\Users\User\Desktop\051117\H-RP.pwn(397) : error 021: symbol already defined: "Textdraw8"
C:\Users\User\Desktop\051117\H-RP.pwn(398) : error 021: symbol already defined: "Textdraw9"
C:\Users\User\Desktop\051117\H-RP.pwn(399) : error 021: symbol already defined: "Textdraw10"
C:\Users\User\Desktop\051117\H-RP.pwn(400) : error 021: symbol already defined: "Textdraw11"
C:\Users\User\Desktop\051117\H-RP.pwn(401) : error 021: symbol already defined: "Textdraw12"
C:\Users\User\Desktop\051117\H-RP.pwn(402) : error 021: symbol already defined: "Textdraw13"
C:\Users\User\Desktop\051117\H-RP.pwn(418) : error 021: symbol already defined: "Textdraw0"
C:\Users\User\Desktop\051117\H-RP.pwn(419) : error 021: symbol already defined: "Textdraw1"
C:\Users\User\Desktop\051117\H-RP.pwn(420) : error 021: symbol already defined: "Textdraw2"
C:\Users\User\Desktop\051117\H-RP.pwn(421) : error 021: symbol already defined: "Textdraw3"
C:\Users\User\Desktop\051117\H-RP.pwn(422) : error 021: symbol already defined: "Textdraw4"
C:\Users\User\Desktop\051117\H-RP.pwn(423) : error 021: symbol already defined: "Textdraw5"
C:\Users\User\Desktop\051117\H-RP.pwn(424) : error 021: symbol already defined: "Textdraw6"
C:\Users\User\Desktop\051117\H-RP.pwn(425) : error 021: symbol already defined: "Textdraw7"
C:\Users\User\Desktop\051117\H-RP.pwn(426) : error 021: symbol already defined: "Textdraw8"
C:\Users\User\Desktop\051117\H-RP.pwn(427) : error 021: symbol already defined: "Textdraw9"
C:\Users\User\Desktop\051117\H-RP.pwn(428) : error 021: symbol already defined: "Textdraw10"
C:\Users\User\Desktop\051117\H-RP.pwn(429) : error 021: symbol already defined: "Textdraw11"

Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


26 Errors.

@DEST добавил new и вот что вышло

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

Простите, зачем заниматься этим, если ничего не умеете? Это-же элементарные вещи.
Думаю, если у Вас такие знания, то оживить данную систему у Вас не получится. 

 

Ну давайте разберемся с ошибками...
Зачем Вы понапихали все текст-дравы? Давайте сначала сделаем "Авторизацию/Регистрацию".

Давайте вместо 11-ти переменных, добавим всё в один массив.
Получится так:

// Ко всем переменным. ( Глобальные переменные ).

new auth[14]

Отлично. 1/10-ая дела сделана.

 

Теперь переходим ко всем Вашим текстдравам в моде. По умолчанию это OnPlayerConnect ( Если не прав, поправьте ).

И вставляем данный код.

auth[0] = TextDrawCreate(192.000411, -7.314816, "usebox");
TextDrawLetterSize(auth[0], 0.000000, 50.903507);
TextDrawTextSize(auth[0], 18.555856, 0.000000);
TextDrawAlignment(auth[0], 1);
TextDrawColor(auth[0], 0);
TextDrawUseBox(auth[0], true);
TextDrawBoxColor(auth[0], 8707839);
TextDrawSetShadow(auth[0], 0);
TextDrawSetOutline(auth[0], 0);
TextDrawFont(auth[0], 0);

auth[1] = TextDrawCreate(189.222152, 1.500000, "usebox");
TextDrawLetterSize(auth[1], 0.000000, 49.345882);
TextDrawTextSize(auth[1], 21.333343, 0.000000);
TextDrawAlignment(auth[1], 1);
TextDrawColor(auth[1], 0);
TextDrawUseBox(auth[1], true);
TextDrawBoxColor(auth[1], 102);
TextDrawSetShadow(auth[1], 0);
TextDrawSetOutline(auth[1], 0);
TextDrawFont(auth[1], 0);

auth[2] = TextDrawCreate(38.333610, 67.407379, "НАЗВАНИЕ СЕРВЕРА");
TextDrawLetterSize(auth[2], 0.634441, 2.217036);
TextDrawAlignment(auth[2], 1);
TextDrawColor(auth[2], -1);
TextDrawSetShadow(auth[2], 0);
TextDrawSetOutline(auth[2], 1);
TextDrawBackgroundColor(auth[2], 51);
TextDrawFont(auth[2], 1);
TextDrawSetProportional(auth[2], 1);

auth[3] = TextDrawCreate(57.777694, 86.074050, "ROLEPLAY");
TextDrawLetterSize(auth[3], 0.573333, 1.755555);
TextDrawAlignment(auth[3], 1);
TextDrawColor(auth[3], -1);
TextDrawSetShadow(auth[3], 0);
TextDrawSetOutline(auth[3], 1);
TextDrawBackgroundColor(auth[3], 51);
TextDrawFont(auth[3], 1);
TextDrawSetProportional(auth[3], 1);

auth[4] = TextDrawCreate(59.999938, 60.148124, "САЙТ СЕРВЕРА");
TextDrawLetterSize(auth[4], 0.243331, 1.034814);
TextDrawAlignment(auth[4], 1);
TextDrawColor(auth[4], -1);
TextDrawSetShadow(auth[4], 0);
TextDrawSetOutline(auth[4], 1);
TextDrawBackgroundColor(auth[4], 51);
TextDrawFont(auth[4], 2);
TextDrawSetProportional(auth[4], 1);

auth[5] = TextDrawCreate(177.000000, 213.574081, "usebox");
TextDrawLetterSize(auth[5], 0.000000, 1.815019);
TextDrawTextSize(auth[5], 31.333332, 0.000000);
TextDrawAlignment(auth[5], 1);
TextDrawColor(auth[5], 0);
TextDrawUseBox(auth[5], true);
TextDrawBoxColor(auth[5], 10944498);
TextDrawSetShadow(auth[5], 0);
TextDrawSetOutline(auth[5], 0);
TextDrawFont(auth[5], 0);

auth[6] = TextDrawCreate(176.444442, 214.092590, "usebox");
TextDrawLetterSize(auth[6], 0.000000, 1.697736);
TextDrawTextSize(auth[6], 31.888889, 0.000000);
TextDrawAlignment(auth[6], 1);
TextDrawColor(auth[6], 0);
TextDrawUseBox(auth[6], true);
TextDrawBoxColor(auth[6], 102);
TextDrawSetShadow(auth[6], 0);
TextDrawSetOutline(auth[6], 0);
TextDrawFont(auth[6], 0);

auth[7] = TextDrawCreate(50.000019, 214.666610, "Registration");
TextDrawLetterSize(auth[7], 0.362776, 1.454815);
TextDrawAlignment(auth[7], 1);
TextDrawColor(auth[7], -1);
TextDrawSetShadow(auth[7], 0);
TextDrawSetOutline(auth[7], 1);
TextDrawBackgroundColor(auth[7], 51);
TextDrawFont(auth[7], 2);
TextDrawSetProportional(auth[7], 1);
TextDrawSetSelectable(auth[7], true);

auth[8] = TextDrawCreate(176.888885, 242.574127, "usebox");
TextDrawLetterSize(auth[8], 0.000000, 1.703907);
TextDrawTextSize(auth[8], 31.333332, 0.000000);
TextDrawAlignment(auth[8], 1);
TextDrawColor(auth[8], 0);
TextDrawUseBox(auth[8], true);
TextDrawBoxColor(auth[8], 10944498);
TextDrawSetShadow(auth[8], 0);
TextDrawSetOutline(auth[8], 0);
TextDrawFont(auth[8], 0);

auth[9] = TextDrawCreate(176.444442, 243.129623, "usebox");
TextDrawLetterSize(auth[9], 0.000000, 1.580453);
TextDrawTextSize(auth[9], 31.888891, 0.000000);
TextDrawAlignment(auth[9], 1);
TextDrawColor(auth[9], 0);
TextDrawUseBox(auth[9], true);
TextDrawBoxColor(auth[9], 102);
TextDrawSetShadow(auth[9], 0);
TextDrawSetOutline(auth[9], 0);
TextDrawFont(auth[9], 0);

auth[10] = TextDrawCreate(41.666683, 243.185211, "authentication");
TextDrawLetterSize(auth[10], 0.349999, 1.434074);
TextDrawAlignment(auth[10], 1);
TextDrawColor(auth[10], -1);
TextDrawSetShadow(auth[10], 0);
TextDrawSetOutline(auth[10], 1);
TextDrawBackgroundColor(auth[10], 51);
TextDrawFont(auth[10], 2);
TextDrawSetProportional(auth[10], 1);
TextDrawSetSelectable(auth[10], true);

auth[11] = TextDrawCreate(176.777770, 270.537200, "usebox");
TextDrawLetterSize(auth[11], 0.000000, 1.592797);
TextDrawTextSize(auth[11], 31.888887, 0.000000);
TextDrawAlignment(auth[11], 1);
TextDrawColor(auth[11], 0);
TextDrawUseBox(auth[11], true);
TextDrawBoxColor(auth[11], 10944498);
TextDrawSetShadow(auth[11], 0);
TextDrawSetOutline(auth[11], 0);
TextDrawFont(auth[11], 0);

auth[12] = TextDrawCreate(176.444442, 271.129638, "usebox");
TextDrawLetterSize(auth[12], 0.000000, 1.469339);
TextDrawTextSize(auth[12], 32.444442, 0.000000);
TextDrawAlignment(auth[12], 1);
TextDrawColor(auth[12], 0);
TextDrawUseBox(auth[12], true);
TextDrawBoxColor(auth[12], 102);
TextDrawSetShadow(auth[12], 0);
TextDrawSetOutline(auth[12], 0);
TextDrawFont(auth[12], 0);

auth[13] = TextDrawCreate(52.222164, 270.666748, "Information");
TextDrawLetterSize(auth[13], 0.374444, 1.351111);
TextDrawAlignment(auth[13], 1);
TextDrawColor(auth[13], -1);
TextDrawSetShadow(auth[13], 0);
TextDrawSetOutline(auth[13], 1);
TextDrawBackgroundColor(auth[13], 51);
TextDrawFont(auth[13], 2);
TextDrawSetProportional(auth[13], 1);

Ну и все. Текстдрав добавлен в мод. Оживляйте систему сами, под свой мод.

Надеюсь на плюсик, за подробное разъяснение :3
 

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

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


Ссылка на сообщение
Поделиться на другие сайты
srtg
Новичок
  Код (открыть спойлер)


что делать?

Отредактировано пользователем odosenok
Причина: Код вложил в тег "Код".

Заметка от Cawfee , создано

Посмотрите здесь, как правильно публиковать большой код.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

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

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

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

    • deltaSpeed
      От deltaSpeed
      Нужен готовый или кастомный лаунчер SAMP Mobile для Android.
      Поддержка автообновления, загрузки ресурсов, и входа на мой сервер.
      Пишите в ЛС или в Discord: @ndp3042
       
    • breznov
      От breznov
      Доброго времени суток уважаемые форумчане !
      Я начинающий Pawn-кодер, немного влился в функционал, шарю за диалоги, актеров, и прочего, сейчас занялся автошколой, 
      создал актеров, добавил маппинг, добавил 1 диалог на актера встречающего игрока при входе, ну и преподавателя, вот теперь дело дошло до системы вопросов на тесте и самой практики, много думал по этому делу, думал через switch вопросы писать, потом думал через отдельные диалоги, но всё-таки не додумался, хочу попросить помощи у специалистов данного языка, с реализацией данной системы, желательно на базе MySQL, с плеча попрошу не рубить, у меня код предельно не стандартный, на примере диалогов, чтобы создать сам диалог, надо его объявить в enum dialogs, после переходить в респонс и писать кейс, начинал делать мод по урокам Леона, где 41 серия, дошел до шахты, потом стало в падлу смотреть и начал самостоятельно изучать язык, пока-что в процессе, горю огромным желанием научиться, и всё-же, прошу помощи у специалистов языка.
    • 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, помогите пожалуйста сохранение лидерки и заместителя сделать
    • Senwik
      От Senwik
      Всем привет! Я горю желанием сделать свой хороший Крмп проект, чтоб люди играли и радовались. Но только есть одна большая проблемка. я мало разбираюсь в создании Крмп. Вот хотел спросить, где можно почитать, чтоб научится делать Крмп, то-есть что такое scriptfiles и как настраивать файлики внутри него, как делать всякие дополнительные панельки. К примеру, человек вводит команду /frak и у него открывается панель фракции, кто в ней и так далее.
      PS:Спасибо всем кто поможет
      Также, если кто-то захочет как-то помочь в разработке или просто поговорить на тему разработки, то вот мой дс @triptolin.