• Из-за обновления 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) последний раз были обновлены:

Мануал Система тест-драйва авто в автосалоне для мода RedAge RolePlay (NeptuneEvo) | GTA 5 RP

DaVilka

Гуру
16 Сен 2020
709
259
128

Alex

Начинающий специалист
15 Сен 2020
5
1
47
тогда пишет другие ошибке ща с из правишь эти и опять новые по лежат я просто уже до того как была ошибка делал за меня сам ничего не смог и решил на писать тут
 

Вложения

  • BDMsqG8TSzI.jpg
    BDMsqG8TSzI.jpg
    222.4 KB · Просмотры: 299
Последнее редактирование:

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,462
2,818
219
тогда пишет другие ошибке ща справишь эти и опять новые подлежат я просто уже до того как была ошибка делал за меня сам ничего не смог и решил на писать тут
Это квест.
 

DaVilka

Гуру
16 Сен 2020
709
259
128
тогда пишет другие ошибке ща с из правишь эти и опять новые по лежат я просто уже до того как была ошибка делал за меня сам ничего не смог и решил на писать тут
GetData надо определить тип явно, как в подсказке, player.GetData<string>("CARROOMTEST") (string меняется в зависимости от типа). FreezePosition на сколько я понял больше нету в серверной части и надо делать со стороны клиента
 

wearnings

Активный участник
12 Окт 2020
51
12
33
29
при нажатии на кнопку машина не спавнится а в логах вот что перепроверил всё норм вроде. единственное в carrome при сборка выдавало 3 ошибки из за символа $ я его удалил и ток тогда сборка построилась и собр.

Уго нужно не удалять! Пробел там не нужен!

Исходный код:
Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $ "CARROOMID - " + player.GetData("CARROOMID"), 3000);
Замени на:
Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"CARROOMID - " + player.GetData("CARROOMID"), 3000);
 

Сергей

Начинающий специалист
16 Ноя 2020
55
0
63
почему когда берёшь машину на тест драйв то пишет COROMID -0
 

Сергей

Начинающий специалист
16 Ноя 2020
55
0
63
Как понять передай названия туду, куда туда? Спс
 

Stepan

Участник портала
12 Фев 2023
45
3
20
Почитать выше , не?
В данном мануале мы установим систему тест-драйва для автосалона в мод RedAge RolePlay (NeptuneEvo).
Если у Вас возникли проблемы с этой системой или просто что-то не получается - пишите в эту тему, постараюсь помочь.

Тест-драйв проходит в другом измерении (dimension), прерывается при выходе из машины.

В файле NeptuneEvo/Core/Carroom.cs добавляем два новых серверных эвента (в пустое место, можете добавить рядом с другими похожими строчками):
Внимание! Один эвент enterCarroom уже есть в RedAge RP, вам необходимо его заменить на новый, старый удалить.

C#:
[ServerEvent(Event.PlayerExitVehicle)] public void Event_OnPlayerExitVehicle(Client player, Vehicle vehicle) {
  try {
    if (!player.HasData("CARROOMTEST")) return;
    enterCarroom(player, "CARROOMTEST");
    var veh = player.GetData("CARROOMTEST");
    veh.Delete();
    player.ResetData("CARROOMTEST");
  } catch(Exception e) {
    Log.Write("PlayerExitVehicle: " + e.Message, nLog.Type.Error);
  }
}
public static void enterCarroom(Client player, string name) {
  if (NAPI.Player.IsPlayerInAnyVehicle(player) && player.HasData("CARROOMTEST") == false) return;
  Main.Players[player].ExteriorPos = player.Position;
  NAPI.Entity.SetEntityPosition(player, new Vector3(CamPosition.X, CamPosition.Y - 2, CamPosition.Z));
  NAPI.Entity.SetEntityDimension(player, 1);
  player.FreezePosition = true;
  player.SetData("INTERACTIONCHECK", 0);
  Trigger.ClientEvent(player, "carRoom");
  OpenCarromMenu(player, BusinessManager.BizList[player.GetData("CARROOMID")].Type);
} [RemoteEvent("carroomTestDrive")] public static void RemoteEvent_carroomTestDrive(Client player, string vName, string color) {
  try {
    if (!player.HasData("CARROOMID")) return;
    player.FreezePosition = false;
    Trigger.ClientEvent(player, "destroyCamera");
    uint mydim = (uint)(player.Value + 400);
    NAPI.Entity.SetEntityDimension(player, mydim);
    VehicleHash vh = (VehicleHash) NAPI.Util.GetHashKey(vName);
    var veh = NAPI.Vehicle.CreateVehicle(vh, player.Position, player.Rotation.Z, 0, 0);
    veh.Dimension = mydim;
    veh.NumberPlate = "TESTDRIVE";
    veh.PrimaryColor = 131;
    veh.SecondaryColor = 131;
    veh.SetData("BY", player.Name);
    VehicleStreaming.SetEngineState(veh, true);
    NAPI.Player.SetPlayerIntoVehicle(player, veh, -1);
    player.SetData("CARROOMTEST", veh);
    Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $ "CARROOMID - " + player.GetData("CARROOMID"), 3000);
  } catch(Exception e) {
    Log.Write("TestDrive: " + e.Message, nLog.Type.Error);
  }
}

Переходим к клиенту. В файле client_packages/cef/js/auto.js находим строчку buy: function() и ниже ее добавляем новое событие тестдрайва:

JavaScript:
testdrive: function() {
    console.log('testdriveAuto');
    mp.trigger('testdriveAuto');
},

В файле client_packages/menus.js добавляем новый клиентский эвент:

JavaScript:
mp.events.add('testdriveAuto', () => {
    if (new Date().getTime() - global.lastCheck < 50) return;
    global.lastCheck = new Date().getTime();
    global.menuClose();
    global.menu.execute('auto.active=0');
    mp.events.callRemote('carroomTestDrive', auto.model, auto.color);
    if (auto.entity == null) return;
    auto.entity.destroy();
    auto.entity = null;
})

Переходим к визуальной части. Внимание! Если у вас кастомный интерфейс то делайте кнопки и стили под себя, ниже предоставлен код под стандартный RedAge RP.

В файле client_packages/cef/menu.html находим строчку @click="buy" (это кнопка покупки авто) ниже ее добавляем кнопку тестдрайва:

HTML:
<div @click="testdrive" class="btn testdrive">Тест-драйв</div>

В файле client_packages/cef/css/auto.css в самый конец добавляем стили для нашей кнопки желтого цвета:

CSS:
.auto .testdrive { border-color: #ffdb00; margin-bottom: 10px; } .auto .testdrive:hover { background-color: #ffce00; }

Готово. Чтобы изменить координаты появления машины на тестдрайве редактируйте RemoteEvent - carroomTestDrive в файле NeptuneEvo/Core/Carroom.cs

находим строку:
C#:
 var veh = NAPI.Vehicle.CreateVehicle(vh, player.Position, player.Rotation.Z, 0, 0);

меняем на:
C#:
var veh = NAPI.Vehicle.CreateVehicle(vh, new Vector3(-18.867155, -1109.2737, 26.70288), player.Rotation.Z, 0, 0);
Слуша, а как
В данном мануале мы установим систему тест-драйва для автосалона в мод RedAge RolePlay (NeptuneEvo).
Если у Вас возникли проблемы с этой системой или просто что-то не получается - пишите в эту тему, постараюсь помочь.

Тест-драйв проходит в другом измерении (dimension), прерывается при выходе из машины.

В файле NeptuneEvo/Core/Carroom.cs добавляем два новых серверных эвента (в пустое место, можете добавить рядом с другими похожими строчками):
Внимание! Один эвент enterCarroom уже есть в RedAge RP, вам необходимо его заменить на новый, старый удалить.

C#:
[ServerEvent(Event.PlayerExitVehicle)] public void Event_OnPlayerExitVehicle(Client player, Vehicle vehicle) {
  try {
    if (!player.HasData("CARROOMTEST")) return;
    enterCarroom(player, "CARROOMTEST");
    var veh = player.GetData("CARROOMTEST");
    veh.Delete();
    player.ResetData("CARROOMTEST");
  } catch(Exception e) {
    Log.Write("PlayerExitVehicle: " + e.Message, nLog.Type.Error);
  }
}
public static void enterCarroom(Client player, string name) {
  if (NAPI.Player.IsPlayerInAnyVehicle(player) && player.HasData("CARROOMTEST") == false) return;
  Main.Players[player].ExteriorPos = player.Position;
  NAPI.Entity.SetEntityPosition(player, new Vector3(CamPosition.X, CamPosition.Y - 2, CamPosition.Z));
  NAPI.Entity.SetEntityDimension(player, 1);
  player.FreezePosition = true;
  player.SetData("INTERACTIONCHECK", 0);
  Trigger.ClientEvent(player, "carRoom");
  OpenCarromMenu(player, BusinessManager.BizList[player.GetData("CARROOMID")].Type);
} [RemoteEvent("carroomTestDrive")] public static void RemoteEvent_carroomTestDrive(Client player, string vName, string color) {
  try {
    if (!player.HasData("CARROOMID")) return;
    player.FreezePosition = false;
    Trigger.ClientEvent(player, "destroyCamera");
    uint mydim = (uint)(player.Value + 400);
    NAPI.Entity.SetEntityDimension(player, mydim);
    VehicleHash vh = (VehicleHash) NAPI.Util.GetHashKey(vName);
    var veh = NAPI.Vehicle.CreateVehicle(vh, player.Position, player.Rotation.Z, 0, 0);
    veh.Dimension = mydim;
    veh.NumberPlate = "TESTDRIVE";
    veh.PrimaryColor = 131;
    veh.SecondaryColor = 131;
    veh.SetData("BY", player.Name);
    VehicleStreaming.SetEngineState(veh, true);
    NAPI.Player.SetPlayerIntoVehicle(player, veh, -1);
    player.SetData("CARROOMTEST", veh);
    Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $ "CARROOMID - " + player.GetData("CARROOMID"), 3000);
  } catch(Exception e) {
    Log.Write("TestDrive: " + e.Message, nLog.Type.Error);
  }
}

Переходим к клиенту. В файле client_packages/cef/js/auto.js находим строчку buy: function() и ниже ее добавляем новое событие тестдрайва:

JavaScript:
testdrive: function() {
    console.log('testdriveAuto');
    mp.trigger('testdriveAuto');
},

В файле client_packages/menus.js добавляем новый клиентский эвент:

JavaScript:
mp.events.add('testdriveAuto', () => {
    if (new Date().getTime() - global.lastCheck < 50) return;
    global.lastCheck = new Date().getTime();
    global.menuClose();
    global.menu.execute('auto.active=0');
    mp.events.callRemote('carroomTestDrive', auto.model, auto.color);
    if (auto.entity == null) return;
    auto.entity.destroy();
    auto.entity = null;
})

Переходим к визуальной части. Внимание! Если у вас кастомный интерфейс то делайте кнопки и стили под себя, ниже предоставлен код под стандартный RedAge RP.

В файле client_packages/cef/menu.html находим строчку @click="buy" (это кнопка покупки авто) ниже ее добавляем кнопку тестдрайва:

HTML:
<div @click="testdrive" class="btn testdrive">Тест-драйв</div>

В файле client_packages/cef/css/auto.css в самый конец добавляем стили для нашей кнопки желтого цвета:

CSS:
.auto .testdrive { border-color: #ffdb00; margin-bottom: 10px; } .auto .testdrive:hover { background-color: #ffce00; }

Готово. Чтобы изменить координаты появления машины на тестдрайве редактируйте RemoteEvent - carroomTestDrive в файле NeptuneEvo/Core/Carroom.cs

находим строку:
C#:
 var veh = NAPI.Vehicle.CreateVehicle(vh, player.Position, player.Rotation.Z, 0, 0);

меняем на:
C#:
var veh = NAPI.Vehicle.CreateVehicle(vh, new Vector3(-18.867155, -1109.2737, 26.70288), player.Rotation.Z, 0, 0);
Слуша, а как этот процесс отличается при сборке с нуля?
 

Harland David Sanders

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

Harland David Sanders

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