• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Проблема Не могу достать координаты/позицию машины, только когда за рулём

kazaka

Начинающий специалист
28 Дек 2021
11
1
58
Здраствуйте, помогите кто может, не могу достать координаты/позицию машины, только когда за рулём можно
пытался по разному с NAPI.Entity.GetEntityPosition не получается...
например
Код:
      public static void SavePos(Player player, string Number)
      {
          if (!Vehicles.ContainsKey(Number)) return;
          VehicleData data = Vehicles[Number];
          string items = JsonConvert.SerializeObject(data.Items);
          Vector3 pos = NAPI.Entity.GetEntityPosition(Number);
          if (string.IsNullOrEmpty(items) || items == null) items = "[]";
          MySqlCommand cmd = new MySqlCommand();
          cmd.CommandText = "UPDATE `vehicles` SET position=@pos WHERE number=@numb";
          cmd.Parameters.AddWithValue("@pos", JsonConvert.SerializeObject(pos));
          cmd.Parameters.AddWithValue("@numb", Number);
          MySQL.Query(cmd);
      }
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
1,763
1,305
5
Привет! Попробуйте использовать NAPI.Vehicle.GetVehiclePosition, чтобы получить позицию машины. Функция NAPI.Entity.GetEntityPosition работает для общих сущностей, а не конкретных машин. Надеюсь, это поможет!
 
  • Like
Реакции: kazaka

kazaka

Начинающий специалист
28 Дек 2021
11
1
58
Привет! Попробуйте использовать NAPI.Vehicle.GetVehiclePosition, чтобы получить позицию машины. Функция NAPI.Entity.GetEntityPosition работает для общих сущностей, а не конкретных машин. Надеюсь, это поможет!
Ошибка CS1061 "Vehicle" не содержит определения "GetVehiclePosition", и не удалось найти доступный метод расширения "GetVehiclePosition", принимающий тип "Vehicle" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).

Я так понял что нету GetVehiclePosition ....
 
Последнее редактирование:

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,462
2,818
219
Проблема в том, что ты пытаешься получить координаты с помощью функции - NAPI.Entity.GetEntityPosition указывая при этом первым аргументом - string Number (строчка с номером машины предположительно). А нужно указывать именно сам Nethandle Entity как написано в документации :
Попробуй разобраться в данном коде (он точно рабочий, это пример из RedAge v3):

 
  • Like
Реакции: kazaka

kazaka

Начинающий специалист
28 Дек 2021
11
1
58
Проблема в том, что ты пытаешься получить координаты с помощью функции - NAPI.Entity.GetEntityPosition указывая при этом первым аргументом - string Number (строчка с номером машины предположительно). А нужно указывать именно сам Nethandle Entity как написано в документации :
Попробуй разобраться в данном коде (он точно рабочий, это пример из RedAge v3):


Спасибо, я знаю что надо Nethandle, но это не возможно там Player только можно... Другой функции нету как достать координаты не за рулём?
 

youngBeaver

Мастер
high coder
24 Янв 2023
1,146
692
171
24
Спасибо, я знаю что надо Nethandle, но это не возможно там Player только можно... Другой функции нету как достать координаты не за рулём?
Перебери все машины, пока не найдешь транспорт с подходящим айди, далее прочитай свойство объекта position или подобный с типом данных Vector3.
 

kazaka

Начинающий специалист
28 Дек 2021
11
1
58
Перебери все машины, пока не найдешь транспорт с подходящим айди, далее прочитай свойство объекта position или подобный с типом данных Vector3.
Как я достану position? нету функции такой как GetVehiclePosition
 

youngBeaver

Мастер
high coder
24 Янв 2023
1,146
692
171
24
Как я достану position? нету функции такой как GetVehiclePosition
Каждый entity имеет свой набор свойств (позиция, айди среди таких же объектов и другие), у них у всех есть одно общее свойство Position, которое можно у объекта прочитать. Если тебе непонятно ничего из написанного, то только дорога изучать классы в c#.
 
  • Like
Реакции: Harland David Sanders

kazaka

Начинающий специалист
28 Дек 2021
11
1
58
Нет, не понимаю, раньше samp pawno занимался, там были функции такие как GetVehiclePosition(vehicleid) и всё понятно, а тут какого свойство объекта читать хз? Пример покажите хоть, плиз
 

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,462
2,818
219
Проблема в том, что ты пытаешься получить координаты с помощью функции - NAPI.Entity.GetEntityPosition указывая при этом первым аргументом - string Number (строчка с номером машины предположительно). А нужно указывать именно сам Nethandle Entity как написано в документации :
Попробуй разобраться в данном коде (он точно рабочий, это пример из RedAge v3):

Перечитай это сообщение, в последней ссылке есть пример.
 

Inoi

/dev/null
VIP
15 Окт 2020
3,372
2,121
208
35
Нет, не понимаю, раньше samp pawno занимался, там были функции такие как GetVehiclePosition(vehicleid) и всё понятно, а тут какого свойство объекта читать хз? Пример покажите хоть, плиз
тебе ж сказали, энтити
автомобиль, игрок - это всё сущности

 

kazaka

Начинающий специалист
28 Дек 2021
11
1
58
Перечитай это сообщение, в последней ссылке есть пример.

Смотрел я тот пример, там вычисляется только когда за рулём Player
Код:
                if (NAPI.Player.IsPlayerInAnyVehicle(player))
                {
                    var vehicle = (ExtVehicle) player.Vehicle;
                    pos = NAPI.Entity.GetEntityPosition(vehicle) + new Vector3(0, 0, 0.5);
                    rot = NAPI.Entity.GetEntityRotation(vehicle);
                }
 

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,462
2,818
219
Смотрел я тот пример, там вычисляется только когда за рулём Player
Код:
                if (NAPI.Player.IsPlayerInAnyVehicle(player))
                {
                    var vehicle = (ExtVehicle) player.Vehicle;
                    pos = NAPI.Entity.GetEntityPosition(vehicle) + new Vector3(0, 0, 0.5);
                    rot = NAPI.Entity.GetEntityRotation(vehicle);
                }
А тебе как нужно? Узнать координаты машины по ее номеру?
 
  • Like
Реакции: kazaka

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,462
2,818
219

kazaka

Начинающий специалист
28 Дек 2021
11
1
58
C#:
Vector3 pos = Vehicles[number].Position;
CS0029 Не удается неявно преобразовать тип "string" в "GTANetworkAPI.Vector3".
CS1503 Аргумент 1: не удается преобразовать из "GTANetworkAPI.Vector3" в "GTANetworkAPI.NetHandle".


или так


C#:
VehicleData data = Vehicles[Number];
Vector3 pos = NAPI.Entity.GetEntityPosition(data);


CS1503 Аргумент 1: не удается преобразовать из "VehicleManager.VehicleData" в "GTANetworkAPI.NetHandle".
 

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,462
2,818
219
CS0029 Не удается неявно преобразовать тип "string" в "GTANetworkAPI.Vector3".
CS1503 Аргумент 1: не удается преобразовать из "GTANetworkAPI.Vector3" в "GTANetworkAPI.NetHandle".





CS1503 Аргумент 1: не удается преобразовать из "VehicleManager.VehicleData" в "GTANetworkAPI.NetHandle".

C#:
Vector3 pos = JsonConvert.DeserializeObject<Vector3>(Vehicles[number].Position);
 

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,462
2,818
219
Вторая ошибка осталась
CS1503 Аргумент 1: не удается преобразовать из "GTANetworkAPI.Vector3" в "GTANetworkAPI.NetHandle".
Полный кусок кода скидывай и указывай на какой строчке ошибка.
 

kazaka

Начинающий специалист
28 Дек 2021
11
1
58
Полный кусок кода скидывай и указывай на какой строчке ошибка.
C#:
        public static void Savep(Player player, string Number)
        {
            if (!Vehicles.ContainsKey(Number)) return;
            VehicleData data = Vehicles[Number];
            string items = JsonConvert.SerializeObject(data.Items);
            Vector3 pos2 = JsonConvert.DeserializeObject<Vector3>(Vehicles[Number].Position);
            Vector3 pos = NAPI.Entity.GetEntityPosition(pos2);  <--- Здесь ошибка
            if (string.IsNullOrEmpty(items) || items == null) items = "[]";
            MySqlCommand cmd = new MySqlCommand();
            cmd.CommandText = "UPDATE `vehicles` SET position=@pos WHERE number=@numb";
            cmd.Parameters.AddWithValue("@pos", JsonConvert.SerializeObject(pos));
            cmd.Parameters.AddWithValue("@numb", Number);
            MySQL.Query(cmd);
        }

И Vehicles[Number].Position данные из базы? мне надо знать в реальном времени координаты