• 0

[закрыто] Что делать если ошибка номер 033 error 033: array must be indexed (variable "-unknown-")

Question

Как исправить эту ошибку? Попытался залить на мод данный код и при компиляции происходит данная ошибка. Эта ошибка находится на строчке if(GetPlayerData(targetid, "friend_request") == playerid)

Спойлер

error 033: array must be indexed (variable "-unknown-")

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;
}

Share this post


Link to post
Share on other sites

7 answers to this question

  • 0
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))
    {
        new friend_request_playerid = GetPlayerData(targetid, "friend_request");
        if(friend_request_playerid != INVALID_PLAYER_ID && friend_request_playerid == 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;
}

Попробуй-ка это.

 

@Demon7

Edited by angel_sinvays

Share this post


Link to post
Share on other sites
  • 0

@angel_sinvays Нечего не изменилось(

Share this post


Link to post
Share on other sites
  • 0

@Demon7 Такая же ошибка осталась?

Share this post


Link to post
Share on other sites
  • 0

@Demon7 попробуй сделать тогда так:
 

        new friend_request_playerid[MAX_PLAYERS];

        GetPlayerData(targetid, "friend_request", friend_request_playerid, sizeof(friend_request_playerid));

 

Share this post


Link to post
Share on other sites
  • 0

@angel_sinvays короче я сделал как на скриншоте и вроде бы работает если что напишу сюда еще раз 

Снимок_2024_05_02_01_09_06_800.png

Share this post


Link to post
Share on other sites
  • 0

@angel_sinvays а ты случайно не знаешь как исправить эти предупреждения? (67913) : warning 213: tag mismatch (67915) : warning 219: local variable "friend_request_playerid" shadows a variable at a preceding level (67916) : warning 215: expression has no effect (67922) : warning 225: unreachable code (67925) : warning 215: expression has no effect (67926) : warning 215: expression has no effect (67896) : symbol is never used: "friend_request_playerid"

Share this post


Link to post
Share on other sites
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By d7.KrEoL
      Datalink filterscript - передача тактической информации об игроках на карту sampmap.ru
      Скачать файл Данный скрипт позволяет передавать информацию об игроках на тактическую карту проекта sampmap. Управление функциями через RCON команды, сам скрипт хоть и полностью готов к использованию, но скорее является примером, на его основе можно писать свои системы для взаимодействия с тактической картой.
      Тактическая карта проекта sampmap - это подобие даталинк системы, которая позволяет координировать действия отряда, либо просто отслеживать местоположение игроков в режиме радара. Для каждого переданного в datalink систему (на тактическую карту) игрока выводится его основная информация о скорости, азимуте, высоте, величине и направлении вектора скорости, а так же принадлежность свой/чужой
      Несколько скринов:
       
       
      Архивы:
       
      Исходники:
       
      Команды (ркон) для dlink:
      Помимо серверной версии скрипта существуют так же клиентские для обычного клиента с moonloader и для RakSAMP Lite бота. Все эти скрипты распространяются по открытой лицензии MIT, здесь находится git с исходниками. Проект открыт для ваших предложений относительно кода, или дальнейшего развития, вы можете оставить свои предложения на официальной странице github.






      Добавил d7.KrEoL Добавлено 09.12.2024 Категория Скрипты Автор d7.KrEoL  
    • By d7.KrEoL
      Данный скрипт позволяет передавать информацию об игроках на тактическую карту проекта sampmap. Управление функциями через RCON команды, сам скрипт хоть и полностью готов к использованию, но скорее является примером, на его основе можно писать свои системы для взаимодействия с тактической картой.
      Тактическая карта проекта sampmap - это подобие даталинк системы, которая позволяет координировать действия отряда, либо просто отслеживать местоположение игроков в режиме радара. Для каждого переданного в datalink систему (на тактическую карту) игрока выводится его основная информация о скорости, азимуте, высоте, величине и направлении вектора скорости, а так же принадлежность свой/чужой
      Несколько скринов:
       
       
      Архивы:
       
      Исходники:
       
      Команды (ркон) для dlink:
      Помимо серверной версии скрипта существуют так же клиентские для обычного клиента с moonloader и для RakSAMP Lite бота. Все эти скрипты распространяются по открытой лицензии MIT, здесь находится git с исходниками. Проект открыт для ваших предложений относительно кода, или дальнейшего развития, вы можете оставить свои предложения на официальной странице github.






    • By Мемен Томорли
      Как сделать табличку после бана аккаунта? Типо как на малиновке, когда тебя банят, выдают табличку(скрин приложил), и при входе на сервер такую же табличку давало??