Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
russianmafiaextra

Спавн персонажа в воде при кастом точках

Всем привет.
Ситуация следующая - делаю DM сервер, все практически готово, но проблема заключается в спавнах.
Спавнить игроков, в моем случае, нужно только через файл cfgplayerspawnpoints.xml (ниже расскажу почему)
Сеты настроены через CustomSpawnPlayer. В новом патче богемия изменила скрипт спавна, добавила группы и другие непонятные параметры. Что имеется:

1) Если использую фулл ванильный код, подменив только координаты - игрок спавнится всегда в первой точке первого массива. Как я выяснил, спустя некоторое время начинает спавнить в первой точке второго массива.
ВОЗМОЖНО на это влияет параметр <lifetime>1</lifetime> , по дефолту стоит 240 или 360

2) Отключение групп вроде как ни на что не влияет.
Перед сном я отключил группы, timelife выставил 1, потестил - спавнит нормально, почти всегда в новых точках.
Сейчас запустил и спавнит в воде ?  Хотя вчера все было идеально

Не использую спавн с 
CustomSpawnPlayer так как он некорректно работает - сразу после респавна персонаж падает с небольшой высоты и в течение 5-10 сек как будто-бы "прогружается" лут, после чего добавляется в быстрые слоты. При спавне через cfgplayerspawnpoints все идеально выдается (я в курсе, если спавн прописывается через CustomSpawnPlayer , в cfgplayerspawnpoints  надо удалить точки, для того чтобы игрок не тепался два раза )

Буду рад, если поможете в фиксе спавна через ванильный файл

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

Я особо не парился. Вот так сделал в init.c:
 

    override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)

    {

        array<vector> spawn_points = {

            "16085.076172 197.290375 846.946411",

            "16077.014648 197.033127 827.109802",

            "16072.505859 197.102432 833.183472",

            "16079.861328 197.360519 854.004578",

            "16079.597656 197.396973 861.432678",

            "16075.906250 197.606537 872.012817",

            "16105.824219 197.639893 856.452393",

            "16102.947266 197.423508 842.710510",

            "16096.923828 197.107635 822.568176"

        };

       

        int pos_index = Math.RandomInt(0, 8);

 

        Entity playerEnt;

        // playerEnt = GetGame().CreatePlayer( identity, characterName, pos, 0, "NONE" );

        playerEnt = GetGame().CreatePlayer( identity, characterName, spawn_points[pos_index], 0, "NONE" );

        Class.CastTo( m_player, playerEnt );

 

        GetGame().SelectPlayer( identity, m_player );

 

        return m_player;

    }

Изменено пользователем blackpanda (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MagicByte MagicByte MagicByte
  • 0
14.04.2024 в 19:03, blackpanda сказал:

Я особо не парился. Вот так сделал в init.c:
 

    override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)

    {

        array<vector> spawn_points = {

            "16085.076172 197.290375 846.946411",

            "16077.014648 197.033127 827.109802",

            "16072.505859 197.102432 833.183472",

            "16079.861328 197.360519 854.004578",

            "16079.597656 197.396973 861.432678",

            "16075.906250 197.606537 872.012817",

            "16105.824219 197.639893 856.452393",

            "16102.947266 197.423508 842.710510",

            "16096.923828 197.107635 822.568176"

        };

       

        int pos_index = Math.RandomInt(0, 8);

 

        Entity playerEnt;

        // playerEnt = GetGame().CreatePlayer( identity, characterName, pos, 0, "NONE" );

        playerEnt = GetGame().CreatePlayer( identity, characterName, spawn_points[pos_index], 0, "NONE" );

        Class.CastTo( m_player, playerEnt );

 

        GetGame().SelectPlayer( identity, m_player );

 

        return m_player;

    }

привет!
по итогу не разобрался. скрипт попросту не работает. 
заколхозил через grid (строится "сетка" на точке спавна, челик спавнится в радиусе 200м от этой точки)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

@russianmafiaextra 
Что именно не работает? Там все банально просто сделано
Или ты его как есть вставляешь?

Изменено пользователем blackpanda (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
06.05.2024 в 14:22, blackpanda сказал:

@russianmafiaextra 
Что именно не работает? Там все банально просто сделано
Или ты его как есть вставляешь?

я додик, все работает
отдуши

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.

Поддержка