• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в 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/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


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

Мануал Фикс метки таксиста (клавиша Z) для мода RedAge RolePlay (NeptuneEvo) | GTA 5 RP

Harland David Sanders

Куратор портала
Автор темы
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,058
2,443
219
В данном мануале мы установим фикс передачи метки пассажира таксисту (на клавишу Z) в моде RedAge RolePlay (NeptuneEvo).
Если у Вас возникли проблемы с этой системой или просто что-то не получается - пишите в эту тему, постараюсь помочь.
  1. В файле NeptuneEvo/Jobs/Taxi.cs находим строчку if (NAPI.Data.GetEntityData(vehicle, "DRIVER") != null) и внутри этой конструкции закомментируем одну строчку:
    C#:
    if (NAPI.Data.GetEntityData(vehicle, "DRIVER") != null){
    Notify.Send(player, NotifyType.Info, NotifyPosition.BottomCenter, "Если Вы хотите передать свой маршрут водителю, то поставьте метку на карте и нажмите Z.", 5000);
    var driver = NAPI.Data.GetEntityData(vehicle, "DRIVER");
    if (driver.HasData("PASSAGER") && driver.GetData("PASSAGER") == player)
    {
    driver.ResetData("PASSAGER");
    player.SetData("IS_CALL_TAXI", false);
    //player.ResetData("TAXI_DRIVER"); // Эту строчку
    try
    {
    NAPI.ColShape.DeleteColShape(orderCols[player]);
    orderCols.Remove(player);
    }
    catch { }
    }
    }
    else
    {
    Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"В такси сейчас нет водителя", 3000);
    VehicleManager.WarpPlayerOutOfVehicle(player);
    }
  2. В файле NeptuneEvo/Main.cs находим строчку [RemoteEvent("syncWaypoint")] и заменяем всю конструкцию эвента на следующий код:
    C#:
    [RemoteEvent("syncWaypoint")]public void Event_SyncWP(Client player, float X, float Y) {try {
    if(player.Vehicle == null || !player.HasData("TAXI_DRIVER")) return;
    Client driver = player.GetData("TAXI_DRIVER");
    if(driver == player || driver == null) return;
    Notify.Send(player, NotifyType.Success, NotifyPosition.BottomCenter, "Вы передали водителю данные о своём маршруте!", 3000);
    Trigger.ClientEvent(driver, "syncWP", X, Y);
    } catch(Exception e) {
    Log.Write("WP: " + e.Message);
    }
    }
Баг или фича?: Передача метки работает как таксисту так и другому игроку в обычной машине.. (Проверено: для обычного игрока не работает.)
 

Harland David Sanders

Куратор портала
Автор темы
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,058
2,443
219
Внимание! Актуальный фикс такси для 1.1, ставьте лайки, буду еще выкладывать бесплатные фиксы.

Клиентская часть (файл main.js находите и заменяете код):
JavaScript:
mp.keys.bind(Keys.VK_Z, false, function () { // Z key
    if (!loggedin || chatActive || editing || new Date().getTime() - lastCheck < 1000 || global.menuOpened) return;
    if (localplayer.isInAnyVehicle(false)) {
        CheckMyWaypoint();
    } else mp.events.callRemote('playerPressFollowBut');
    lastCheck = new Date().getTime();
});

function CheckMyWaypoint() {
    try {
        if(mp.game.invoke('0x1DD1F58F493F1DA5')) {
            let foundblip = false;
            let blipIterator = mp.game.invoke('0x186E5D252FA50E7D');
            let totalBlipsFound = mp.game.invoke('0x9A3FF3DE163034E8');
            let FirstInfoId = mp.game.invoke('0x1BEDE233E6CD2A1F', blipIterator);
            let NextInfoId = mp.game.invoke('0x14F96AA50D6FBEA7', blipIterator);
            for (let i = FirstInfoId, blipCount = 0; blipCount != totalBlipsFound; blipCount++, i = NextInfoId) {
                if (mp.game.invoke('0x1FC877464A04FC4F', i) == 8) {
                    var coord = mp.game.ui.getBlipInfoIdCoord(i);
                    foundblip = true;
                    break;
                }
            }
            if(foundblip)
            {
                mp.events.callRemote('syncWaypoint', coord.x, coord.y);
            }
        }
    } catch (e) { }
}


Серверная часть (файл Main.cs находите и заменяете код):
C#:
        [RemoteEvent("syncWaypoint")]
        public void ClientEvent_SyncWP(Player player, float X, float Y)
        {
            try
            {
                if (player.Vehicle == null) return;
                var tempDriver = NAPI.Vehicle.GetVehicleDriver(player.Vehicle);
                var driver = NAPI.Player.GetPlayerFromHandle(tempDriver);
                if (driver == player || driver == null) return;
                Notify.Send(player, NotifyType.Success, NotifyPosition.BottomCenter, "Вы передали водителю данные о своём маршруте!", 3000);
                Trigger.ClientEvent(driver, "syncWP", X, Y);
            }
            catch (Exception e) { Log.Write("syncWaypoint: " + e.Message, nLog.Type.Error); }
        }