Вопросы

Спойлер

error 001: expected token: ";", but found ")"

error 029: invalid expression, assumed zero

warning 215: expression has no effect(x3)

stroka;

format(query,sizeof(query),"INSERT INTO `account` (`pNick`,`pPassword`,`pLevel`) VALUES ('%s','%s','1')"),Player[playerid][pNick],inputtext);

error 029: invalid expression, assumed zero
warning 215: expression has no effect(x3)
 error 001: expected token: ";", but found ")"
 error 029: invalid expression, assumed zero(x2)
 fatal error 107: too many error messages on one line

stroka;

mysql_function_query(dbHandle,query1,true,,"LoadAcc","i",playerid);

 

 

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

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

3.2. Код необходимо брать в тег "Код", а код более 10 строк – еще и в "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

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


Ссылка на сообщение

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

  • 1
{
      switch(dialogid)
    {
        //case 1 ýòî ðåãèñòðàöèÿ
        case 1:
        {
            if(!response) return Kick(playerid); // åñëè èãðîê îòêàçûâàåòñÿ îò ðåãèñòðàöèè êèêàåì åãî.
            if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ""Äëèíà ïàðîëÿ îò 4 äî 32 ñèìâîëîâ.\n Âû òàêæå íå ìîæåòå ïðîäîëæèòü íå óêàçàâ ïàðîëü""Äàëåå""");
            //ýòî áûëà ïðîâåðêà íà äëèíó ïàðîëÿ
            for(new i; i < strlen(inputtext); i++)
            {
                switch(inputtext[i])
                {
                    case 'A'..'Z','a'..'z','0'..'9':continue;
                    defaultreturn ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ""Ïàðîëü ìîæåò áûòü òîëüêî: a-z, A-Z,0-9""Äàëåå""");
                }
            }           
            new query[120 + MAX_PLAYER_NAME];//òàêæå ñîçäàëè çàïðîñ
            format(query,sizeof(query),"INSERT INTO `account` (`pNick`,`pPassword`,`pLevel`) VALUES ('%s','%s','1')",Player[playerid][pNick],inputtext);
            mysql_query(dbHandle,query);
            new query1[100];
            format(query1,sizeof(query1),"SELECT * FROM `account` WHERE `pNick` = '%s'",Player[playerid][pNick]);//îòôàðìàòèðîâààëè íîâûé çàïðîñ
            mysql_function_query(dbHandle,query1,true,"LoadAcc","i",playerid);
        }
    case 2:
    {
        if(!response) return Kick(playerid); 
        if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ""Íåâåðíûé ïàðîëü""Äàëåå""");//?????? ???????? ?? ????? ??????, ?.? ??? ??????????? ? ??? ?????? ??? ?? 4 ?? 32, ??? ???? ????? ?????? ????
        for(new i; i < strlen(inputtext); i++)
        {
            switch(inputtext[i])
            {
                case 'A'..'Z','a'..'z','0'..'9'continue;//åñëè îí òàêæå ââîäèò ïðàâèëüíûå ñèìâîëû ïðîäîëæàåì âûïîëíåíèå êîäà äëÿ èãðîêà.
                defaultreturn  ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ""Íå âåðíûé ïàðîëü!""Äàëåå""");// ïðè ââîäå ñïåö.ñèìâîëîâ åìó áóäåò âîçâðàùàòü äèàëîã àâòîðèçàöèè
            }
        }
        new query[120];
        format(query,sizeof(query),"SELECT * FROM `account` WHERE `pNick` = '%s' AND `pPassword` = '%s'",Player[playerid][pNick],inputtext)//Çàãðóçèòü èíôîðìàöèþ î èãðîêå,è ïðîâåðèòü ñîâïàäàåò ââåäåíûé ïàðîëü èãðîêîì,ñ òåì êîòîðûé â ÁÄ.
        mysql_function_query(dbHandle,query,true,"CheckPass","i",playerid);
    }
}

 

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

3.2. Код необходимо брать в тег "Код", а код более 10 строк – еще и в "Спойлер". Как это сделать рассказано в разделе "FAQ".

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


Ссылка на сообщение
  • 1

@Woternos 

Спойлер

format(query,sizeof(query),"INSERT INTO `account` (`pNick`,`pPassword`,`pLevel`) VALUES ('%s','%s','1')",Player[playerid][pNick],inputtext);

Замените строку.

 

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

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


Ссылка на сообщение
  • 1
mysql_function_query(dbHandle,query1,true,"LoadAcc","i",playerid);

 

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


Ссылка на сообщение
  • 1

@Woternos полный код предоставьте, пожалуйста

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


Ссылка на сообщение
  • 1
Спойлер

{
      switch(dialogid)
    {
        //case 1 ýòî ðåãèñòðàöèÿ
        case 1:
        {
            if(!response) return Kick(playerid); // åñëè èãðîê îòêàçûâàåòñÿ îò ðåãèñòðàöèè êèêàåì åãî.
            if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ""Äëèíà ïàðîëÿ îò 4 äî 32 ñèìâîëîâ.\n Âû òàêæå íå ìîæåòå ïðîäîëæèòü íå óêàçàâ ïàðîëü""Äàëåå""");
            //ýòî áûëà ïðîâåðêà íà äëèíó ïàðîëÿ
            for(new i; i < strlen(inputtext); i++)
            {
                switch(inputtext[i])
                {
                    case 'A'..'Z','a'..'z','0'..'9':continue;
                    defaultreturn ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ""Ïàðîëü ìîæåò áûòü òîëüêî: a-z, A-Z,0-9""Äàëåå""");
                }
            }           
            new query[120 + MAX_PLAYER_NAME];//òàêæå ñîçäàëè çàïðîñ
            format(query,sizeof(query),"INSERT INTO `account` (`pNick`,`pPassword`,`pLevel`) VALUES ('%s','%s','1')",Player[playerid][pNick],inputtext);
            mysql_query(dbHandle,query);
            new query1[100];
            format(query1,sizeof(query1),"SELECT * FROM `account` WHERE `pNick` = '%s'",Player[playerid][pNick]);//îòôàðìàòèðîâààëè íîâûé çàïðîñ
            mysql_function_query(dbHandle,query1,true,"LoadAcc","i",playerid);
        }
    case 2:
    {
        if(!response) return Kick(playerid); 
        if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ""Íåâåðíûé ïàðîëü""Äàëåå""");//?????? ???????? ?? ????? ??????, ?.? ??? ??????????? ? ??? ?????? ??? ?? 4 ?? 32, ??? ???? ????? ?????? ????
        for(new i; i < strlen(inputtext); i++)
        {
            switch(inputtext[i])
            {
                case 'A'..'Z','a'..'z','0'..'9'continue;//åñëè îí òàêæå ââîäèò ïðàâèëüíûå ñèìâîëû ïðîäîëæàåì âûïîëíåíèå êîäà äëÿ èãðîêà.
                defaultreturn  ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ""Íå âåðíûé ïàðîëü!""Äàëåå""");// ïðè ââîäå ñïåö.ñèìâîëîâ åìó áóäåò âîçâðàùàòü äèàëîã àâòîðèçàöèè
            }
        }
        new query[120];
        format(query,sizeof(query),"SELECT * FROM `account` WHERE `pNick` = '%s' AND `pPassword` = '%s'",Player[playerid][pNick],inputtext)//Çàãðóçèòü èíôîðìàöèþ î èãðîêå,è ïðîâåðèòü ñîâïàäàåò ââåäåíûé ïàðîëü èãðîêîì,ñ òåì êîòîðûé â ÁÄ.
        mysql_function_query(dbHandle,query,true,"CheckPass","i",playerid);
    }
}

 

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

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

3.2. Код необходимо брать в тег "Код", а код более 10 строк – еще и в "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

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


Ссылка на сообщение
  • 0

@_bogdan_

Здравствуйте 1 проблема решилась а что делать со второй она ниже

error 029: invalid expression, assumed zero
warning 215: expression has no effect(x3)
 error 001: expected token: ";", but found ")"
 error 029: invalid expression, assumed zero(x2)
 fatal error 107: too many error messages on one line

stroka;

mysql_function_query(dbHandle,query1,true,,"LoadAcc","i",playerid);

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


Ссылка на сообщение
  • 0

warning 217: loose indentation
 error 014: invalid statement; not in switch
 warning 215: expression has no effect
error 001: expected token: ";", but found ":"
error 029: invalid expression, assumed zero
 fatal error 107: too many error messages on one line

Строчка

 case 2:

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


Ссылка на сообщение
  • 0
Спойлер

{
      switch(dialogid)
    {
        //case 1 ýòî ðåãèñòðàöèÿ
        case 1:
        {
            if(!response) return Kick(playerid); // åñëè èãðîê îòêàçûâàåòñÿ îò ðåãèñòðàöèè êèêàåì åãî.
            if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ""Äëèíà ïàðîëÿ îò 4 äî 32 ñèìâîëîâ.\n Âû òàêæå íå ìîæåòå ïðîäîëæèòü íå óêàçàâ ïàðîëü""Äàëåå""");
            //ýòî áûëà ïðîâåðêà íà äëèíó ïàðîëÿ
            for(new i; i < strlen(inputtext); i++)
            {
                switch(inputtext[i])
                {
                    case 'A'..'Z','a'..'z','0'..'9':continue;
                    defaultreturn ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ""Ïàðîëü ìîæåò áûòü òîëüêî: a-z, A-Z,0-9""Äàëåå""");
                }
            }           
            new query[120 + MAX_PLAYER_NAME];//òàêæå ñîçäàëè çàïðîñ
            format(query,sizeof(query),"INSERT INTO `account` (`pNick`,`pPassword`,`pLevel`) VALUES ('%s','%s','1')",Player[playerid][pNick],inputtext);
            mysql_query(dbHandle,query);
            new query1[100];
            format(query1,sizeof(query1),"SELECT * FROM `account` WHERE `pNick` = '%s'",Player[playerid][pNick]);//îòôàðìàòèðîâààëè íîâûé çàïðîñ
            mysql_function_query(dbHandle,query1,true,"LoadAcc","i",playerid);
        }
    }
    case 2:
    {
        if(!response) return Kick(playerid); 
        if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ""Íåâåðíûé ïàðîëü""Äàëåå""");//?????? ???????? ?? ????? ??????, ?.? ??? ??????????? ? ??? ?????? ??? ?? 4 ?? 32, ??? ???? ????? ?????? ????
        for(new i; i < strlen(inputtext); i++)
        {
            switch(inputtext[i])
            {
                case 'A'..'Z','a'..'z','0'..'9'continue;//åñëè îí òàêæå ââîäèò ïðàâèëüíûå ñèìâîëû ïðîäîëæàåì âûïîëíåíèå êîäà äëÿ èãðîêà.
                defaultreturn  ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ""Íå âåðíûé ïàðîëü!""Äàëåå""");// ïðè ââîäå ñïåö.ñèìâîëîâ åìó áóäåò âîçâðàùàòü äèàëîã àâòîðèçàöèè
            }
        }
        new query[120];
        format(query,sizeof(query),"SELECT * FROM `account` WHERE `pNick` = '%s' AND `pPassword` = '%s'",Player[playerid][pNick],inputtext)//Çàãðóçèòü èíôîðìàöèþ î èãðîêå,è ïðîâåðèòü ñîâïàäàåò ââåäåíûé ïàðîëü èãðîêîì,ñ òåì êîòîðûé â ÁÄ.
        mysql_function_query(dbHandle,query,true,"CheckPass","i",playerid);
    }
    return 1;
}

 

 

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

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

3.2. Код необходимо брать в тег "Код", а код более 10 строк – еще и в "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

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


Ссылка на сообщение
  • 0

Спасибо большая часть ошибок исправилось возникли новые ошибки

error 001: expected token: ";", but found "-identifier-"

строка; mysql_function_query(dbHandle,query,true,"CheckPass","i",playerid);

error 001: expected token: ";", but found "-identifier-"

строка;  ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Авторизация","Не верный пароль!","Далее","");

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


Ссылка на сообщение
  • 0
{
      switch(dialogid)
    {
        //case 1 ýòî ðåãèñòðàöèÿ
        case 1:
        {
            if(!response) return Kick(playerid); // åñëè èãðîê îòêàçûâàåòñÿ îò ðåãèñòðàöèè êèêàåì åãî.
            if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ""Äëèíà ïàðîëÿ îò 4 äî 32 ñèìâîëîâ.\n Âû òàêæå íå ìîæåòå ïðîäîëæèòü íå óêàçàâ ïàðîëü""Äàëåå""");
            //ýòî áûëà ïðîâåðêà íà äëèíó ïàðîëÿ
            for(new i; i < strlen(inputtext); i++)
            {
                switch(inputtext[i])
                {
                    case 'A'..'Z','a'..'z','0'..'9':continue;
                    defaultreturn ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ""Ïàðîëü ìîæåò áûòü òîëüêî: a-z, A-Z,0-9""Äàëåå""");
                }
            }           
            new query[120 + MAX_PLAYER_NAME];//òàêæå ñîçäàëè çàïðîñ
            format(query,sizeof(query),"INSERT INTO `account` (`pNick`,`pPassword`,`pLevel`) VALUES ('%s','%s','1')",Player[playerid][pNick],inputtext);
            mysql_query(dbHandle,query);
            new query1[100];
            format(query1,sizeof(query1),"SELECT * FROM `account` WHERE `pNick` = '%s'",Player[playerid][pNick]);//îòôàðìàòèðîâààëè íîâûé çàïðîñ
            mysql_function_query(dbHandle,query1,true,"LoadAcc","i",playerid);
        }
    case 2:
    {
        if(!response) return Kick(playerid); 
        if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ""Íåâåðíûé ïàðîëü""Äàëåå""");//?????? ???????? ?? ????? ??????, ?.? ??? ??????????? ? ??? ?????? ??? ?? 4 ?? 32, ??? ???? ????? ?????? ????
        for(new i; i < strlen(inputtext); i++)
        {
            switch(inputtext[i])
            {
                case 'A'..'Z','a'..'z','0'..'9'continue;//åñëè îí òàêæå ââîäèò ïðàâèëüíûå ñèìâîëû ïðîäîëæàåì âûïîëíåíèå êîäà äëÿ èãðîêà.
                defaultreturn  ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ""Íå âåðíûé ïàðîëü!""Äàëåå""");// ïðè ââîäå ñïåö.ñèìâîëîâ åìó áóäåò âîçâðàùàòü äèàëîã àâòîðèçàöèè
            }
        }
        new query[120];
        format(query,sizeof(query),"SELECT * FROM `account` WHERE `pNick` = '%s' AND `pPassword` = '%s'",Player[playerid][pNick],inputtext)//Çàãðóçèòü èíôîðìàöèþ î èãðîêå,è ïðîâåðèòü ñîâïàäàåò ââåäåíûé ïàðîëü èãðîêîì,ñ òåì êîòîðûé â ÁÄ.
        mysql_function_query(dbHandle,query,true,"CheckPass","i",playerid);
    }
}

 

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

3.2. Код необходимо брать в тег "Код", а код более 10 строк – еще и в "Спойлер". Как это сделать рассказано в разделе "FAQ".

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


Ссылка на сообщение
  • 0

@Holmoне помогло остались тежи 2 ошибки

 

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


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

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

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

    • angel_sinvays
      От angel_sinvays


      Скачать файл Florida Role Play | (Бонусный)
      Список доработок/изменений:

      1. Исправлены дыры с рублями, падением мода
      2. Новый античит(/ac)
      3. Аренда вертолетов (/gps - аренда транспорта - аренда вертолетов)
      4. Добавлена система /goadminka (раздача админки при определённом онлайне)
      5. Обновленны интерьеры банд, СМИ, ПД, выбор скина, домов, магазинов
      6. Изменён экстерьер парка у мэрии, на против больницы
      7. Изменен текстдрав Логотипа, выбор скина, спидометра, дм арены, капта
      8. Вместо мопедов сделаны пикапы аренды
      9. Добавлена система VIP (Бронза, Серебро, Золото и Верона)
      10. Изменена система семей
      11. Добавлен чат для випов (/vc)
      12. При попытки проследить за ботом, перекидывает за игрока
      13. Добавлено казино, в котром можно играть на донат и рубли
      14. Добавлена система дуэлей
      15. Добавлены команды: /security, /checkfull и /fonline
      16. Изменён бот для авто-инвайта
      17. Изменена система дм зон (отличается от дуэлей)
      18. Доработана система статистики администратора, добавлено время администрирования в /admins
      19. Добавлен премиум меню для Verona PREMIUM
      20. Добавлены карты для /tp - Мероприятия
      21. Добавлена статистика лидера, изменена /lmenu
      22. Добавлена покупка аксессуаров в /donate
      23. Добавлена команда /obj
      24. Перераспределил команды для админов
      25. При наличии 1000 рублей или большой суммы виртов у игрока появляется кейс
      26. Исправлены баги со спавном банд
      27. Исправлены баги с падением под текстуры
      28. Исправлен баг с виртуальными мирами
      29. Добавлен NPC авто-инвайт на спавн
      30. Добавлен NPC проведения дуэлей
      31. Исправлена команда /banip
      32. Изменена и доделана система от сливов
      33. Возможность добавить своих ботов (+ уже встроены в мод)
      34. Доработана система мероприятий
      35. Переработана система доната (/donaterub and /donate)
      36. Обновлены плагины, почищена БД
      37. Новые артефакты
      38. Новый спавн
      39. Новая аренда
      40. Автоинвайт в мэрии
       
      UPD: Понизил ценник на мод
      Добавил angel_sinvays Добавлено 14.02.2022 Категория Моды Автор Angel Sinvays  
    • angel_sinvays
      От angel_sinvays
      Список доработок/изменений:

      1. Исправлены дыры с рублями, падением мода
      2. Новый античит(/ac)
      3. Аренда вертолетов (/gps - аренда транспорта - аренда вертолетов)
      4. Добавлена система /goadminka (раздача админки при определённом онлайне)
      5. Обновленны интерьеры банд, СМИ, ПД, выбор скина, домов, магазинов
      6. Изменён экстерьер парка у мэрии, на против больницы
      7. Изменен текстдрав Логотипа, выбор скина, спидометра, дм арены, капта
      8. Вместо мопедов сделаны пикапы аренды
      9. Добавлена система VIP (Бронза, Серебро, Золото и Верона)
      10. Изменена система семей
      11. Добавлен чат для випов (/vc)
      12. При попытки проследить за ботом, перекидывает за игрока
      13. Добавлено казино, в котром можно играть на донат и рубли
      14. Добавлена система дуэлей
      15. Добавлены команды: /security, /checkfull и /fonline
      16. Изменён бот для авто-инвайта
      17. Изменена система дм зон (отличается от дуэлей)
      18. Доработана система статистики администратора, добавлено время администрирования в /admins
      19. Добавлен премиум меню для Verona PREMIUM
      20. Добавлены карты для /tp - Мероприятия
      21. Добавлена статистика лидера, изменена /lmenu
      22. Добавлена покупка аксессуаров в /donate
      23. Добавлена команда /obj
      24. Перераспределил команды для админов
      25. При наличии 1000 рублей или большой суммы виртов у игрока появляется кейс
      26. Исправлены баги со спавном банд
      27. Исправлены баги с падением под текстуры
      28. Исправлен баг с виртуальными мирами
      29. Добавлен NPC авто-инвайт на спавн
      30. Добавлен NPC проведения дуэлей
      31. Исправлена команда /banip
      32. Изменена и доделана система от сливов
      33. Возможность добавить своих ботов (+ уже встроены в мод)
      34. Доработана система мероприятий
      35. Переработана система доната (/donaterub and /donate)
      36. Обновлены плагины, почищена БД
      37. Новые артефакты
      38. Новый спавн
      39. Новая аренда
      40. Автоинвайт в мэрии
       
      UPD: Понизил ценник на мод
    • angel_sinvays
      От angel_sinvays
      Attractive RP
      Скачать файл Давно не было сливов , сейчас я вам готов продемонстрировать копию проекта Attractive RolePlay
      Изначально слив был выложен на моём канале, но после я хочу выложить его сюда.
      Добавил angel_sinvays Добавлено 01.05.2024 Категория Моды Автор Angel Sinvays  
    • KAIF
      От KAIF
      !!!!!ВСЕГО ОДНА КОПИЯ!!!! 
      Единственный мод GTA RP.
       
      Фракции:
      Правительство
      ГИБДД
      Полиция Южного
      ФСБ
      ЦГБ-А
      Автошкола
      Китайская мафия
      Русская Мафия
      Итальянская Мафия
      Американская Мафия
      Чеченская Мафия
      ВВС
      МЧС
      ОПГ Тяп-Ляп
      ОПГ Хади-Такташ
      СМИ Южного
      ФСИН
      В комплекте идёт СБОРКА И МОД.
      Также после покупки вы отправляете мне свой айпи сервера и я привязываю вам сборку под ваш айпи (единоразово) 
      Единственный мод GTA RP.
    • Demon7
      От Demon7
      Как исправить эту ошибку? Попытался залить на мод данный код и при компиляции происходит данная ошибка. Эта ошибка находится на строчке if(GetPlayerData(targetid, "friend_request") == playerid)
      CMD:frien(playerid, params[]) {     new targetid = strval(params);     if(!IsPlayerConnected(targetid))     {         SendClientMessage(playerid, COLOR_RED, "Целевой игрок не подключен к серверу.");         return 0;     }     if(targetid == playerid)     {         SendClientMessage(playerid, COLOR_RED, "Вы не можете предложить себе подружиться.");         return 0;     }     if(IsPlayerInRangeOfPlayer(playerid, targetid, 2.0))     {         if(GetPlayerData(targetid, "friend_request") == playerid)         {             SendClientMessage(playerid, COLOR_RED, "У вас уже есть ожидающий запрос на дружбу от этого игрока.");             return 0;         }         SendClientMessage(playerid, COLOR_YELLOW, "Вы предложили игроку подружиться. Ожидайте ответа...");         SendClientMessage(targetid, COLOR_YELLOW, "Игрок предлагает вам подружиться. Используйте /accept или /reject.");         SetPlayerData(playerid, "friend_request", targetid);         SetPlayerData(targetid, "friend_request", playerid);     }     else     {         SendClientMessage(playerid, COLOR_RED, "Игрок находится слишком далеко.");     }     return 1; }