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

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

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,590
2,749
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

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,590
2,749
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); }
        }