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

Вопрос Как правильно создавать педов?

fiend

Новый участник
17 Ноя 2023
19
0
21
Подскажите как правильно создавать педов, в моем примере я хочу дать педу анимацию но она не срабатывает, и как сделать что бы он был статичным и бессмертным?
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,255
233
5
Для того чтобы пед имел анимацию, следует использовать функцию TaskStartScenarioInPlace. Чтобы пед был статичным и бессмертным, можно при создании педа добавить флаги PedFlag.CanWander и PedFlag.CanBeShotInVehicle.
 

fiend

Новый участник
17 Ноя 2023
19
0
21
1738689856021.png
 

Cold

Участник портала
9 Окт 2022
46
22
46
Подскажите как правильно создавать педов, в моем примере я хочу дать педу анимацию но она не срабатывает, и как сделать что бы он был статичным и бессмертным?


Код:
   [Command("dancer", "/dancer g_m_m_armlieut_01")]
    private void dancerPed(Player player, string name)
    {
        var pedik = NAPI.Ped.CreatePed(NAPI.Util.GetHashKey(name), player.Position + new Vector3(+1f, +1f, 0), 500f, true, false,
            false, false, 0);
        pedik.Controller = player;
        player.SetOwnSharedData("pedDancer", pedik); // положили в setown чтоб на клиенте достать
        player.TriggerEvent("pedDancerEv"); // позвонили на клиент
    }
На клиенте приняли вызов, достали нашего педа и запустили в методе код

Код:
Task.Run(() =>
{
Streaming.RequestAnimDict("anim@amb@casino@mini@dance@dance_solo@female@var_a@");
    if (Streaming.HasAnimDictLoaded("anim@amb@casino@mini@dance@dance_solo@female@var_a@"))
    {
pedik.TaskPlayAnim("anim@amb@casino@mini@dance@dance_solo@female@var_a@", "high_center", 8.0f, 1.0f,
            -1, 1, 1.0f, false, false, false);
    }
}, 290);
 
Реакции: youngBeaver

youngBeaver

Покинул форум.
BackEnd developer
24 Янв 2023
1,173
463
171
Код:
   [Command("dancer", "/dancer g_m_m_armlieut_01")]
    private void dancerPed(Player player, string name)
    {
        var pedik = NAPI.Ped.CreatePed(NAPI.Util.GetHashKey(name), player.Position + new Vector3(+1f, +1f, 0), 500f, true, false,
            false, false, 0);
        pedik.Controller = player;
        player.SetOwnSharedData("pedDancer", pedik); // положили в setown чтоб на клиенте достать
        player.TriggerEvent("pedDancerEv"); // позвонили на клиент
    }
На клиенте приняли вызов, достали нашего педа и запустили в методе код

Код:
Task.Run(() =>
{
Streaming.RequestAnimDict("anim@amb@casino@mini@dance@dance_solo@female@var_a@");
    if (Streaming.HasAnimDictLoaded("anim@amb@casino@mini@dance@dance_solo@female@var_a@"))
    {
pedik.TaskPlayAnim("anim@amb@casino@mini@dance@dance_solo@female@var_a@", "high_center", 8.0f, 1.0f,
            -1, 1, 1.0f, false, false, false);
    }
}, 290);
Было бы не плохо обернуть условие в while, потому что не факт, что RequestAnimDict успеет подгрузить перед проверкой, а тот же цикл в случае отрицания пройдется ещё раз. Только ещё нужно поставить Sleep перед итерацией.
 
Реакции: Inoi, Cold и enotit

enotit

Гений
High developer
BackEnd developer
13 Ноя 2020
1,541
490
187
21
Было бы не плохо обернуть условие в while, потому что не факт, что RequestAnimDict успеет подгрузить перед проверкой, а тот же цикл в случае отрицания пройдется ещё раз. Только ещё нужно поставить Sleep перед итерацией.
И ограничить количество итераций. Был один раз мем. Гта выпустила обнову и удалила анимацию.

Мы на сервер зайти не можем "finished handshake", потому что в рендере подкачка анимаций, которая ушла в бесконечный цикл. Пол ночи локализировали проблему.
 
  • Wow
Реакции: youngBeaver и Cold