Гайд Система тест-драйва авто в автосалоне для мода RedAge RolePlay (NeptuneEvo) | RAGE:MP

НН-челик
Забаненный
Статус
Оффлайн
Регистрация
29 Авг 2020
Сообщения
22
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В данном мануале мы установим систему тест-драйва для автосалона в мод RedAge RolePlay (NeptuneEvo).
Если у Вас возникли проблемы с этой системой или просто что-то не получается - пишите в эту тему, постараюсь помочь.

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


1) В файле 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); }




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



JavaScript:

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


3) В файле 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;
})

4) Переходим к визуальной части. Внимание! Если у вас кастомный интерфейс то делайте кнопки и стили под себя, ниже предоставлен код под стандартный RedAge RP.
В файле client_packages/cef/menu.html находим строчку @click="buy" (это кнопка покупки авто) ниже ее добавляем кнопку тестдрайва:

HTML:

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

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

CSS:

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

6) Готово. Чтобы изменить координаты появления машины на тестдрайве редактируйте RemoteEvent - carroomTestDrive в файле NeptuneEvo/Core/Carroom.cs
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
31 Мар 2017
Сообщения
998
Реакции[?]
653
Поинты[?]
0
Ну что за говно из жопы то, оформи тему нормально, раскидай код в нормальные блоки, читать просто не хочется после такого оформления.

Никакого форматирования, объяснения, ничего, с такими "усердиями" твои темы просто никто не будет читать и применять.
 
НН-челик
Забаненный
Статус
Оффлайн
Регистрация
29 Авг 2020
Сообщения
22
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну что за говно из жопы то, оформи тему нормально, раскидай код в нормальные блоки, читать просто не хочется после такого оформления.

Никакого форматирования, объяснения, ничего, с такими "усердиями" твои темы просто никто не будет читать и применять.
Это код для тех, кто разбирается в нем, либо только учится.
 
Сверху Снизу