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

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

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

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

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

Добрый , кто нибудь знает как  настроить спавны игроков на карте New Horizon? желательно для разных групп.

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


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

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

  • 0

видимо никто не поможет

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


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

видимо никто не поможет


Для всех игроков:
У твоей карты должен быть mpmissions, внутри есть cfgplayerspawnpoints.xml, там и есть настройки которые ты скорее всего ищешь.
Чуть выше от координат есть настройки, эти координаты немного смещаются согласно настройкам.
Конкретно там можно менять только позицию.


Для конкретных игроков
Если ты хочешь сделать для групп, то тебе понадобятся навыки программирования. Создавать серверный мод не обязательно для такой задачи.
Идем в init.c в mpmissions
Ищем

class CustomMission: MissionServer

class CustomMission: MissionServer

Затем внутри есть функция
 

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

Конкретно vector pos отвечает за полученную рандомную позицию из файла выше, и ее можно менять в скрипте. Соответственно там игрок и заспавнится.

Если ты хочешь поменять, пишешь 
pos = "X Z Y".ToVector();

Высота - Z

В самом начале функции можно изменить позицию. Например 
 

pos = "14687.704102 2.293044 9836.301758".ToVector();

Как менять для определенных игроков?
Получить steamId64 можно функцией

string steamId = identity.GetPlainId();

Теперь steamId имеет стимайди игрока который заспавнился

Как менять для определенных игроков

switch(steamId)
{
    case "12345567":
        pos = "14687.704102 2.293044 9836.301758".ToVector();
    break;
    
    case "1111111":
        pos = "14687.704102 2.293044 9836.301758".ToVector();
    break;
    
    case "22222":
        pos = "14687.704102 2.293044 9836.301758".ToVector();
    break;
}


Полная функция будет выглядеть так
 

override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
	{
	    string steamId = identity.GetPlainId();
		switch(steamId)
        {
            case "12345567":
                pos = "14687.704102 2.293044 9836.301758".ToVector();
            break;

            case "1111111":
                pos = "14687.704102 2.293044 9836.301758".ToVector();
            break;

            case "22222":
                pos = "14687.704102 2.293044 9836.301758".ToVector();
            break;
        }
		Entity playerEnt = GetGame().CreatePlayer( identity, characterName, pos, 0, "NONE" );
		Class.CastTo( m_player, playerEnt );

		GetGame().SelectPlayer( identity, m_player );

		return m_player;
	}

После того как игрок заспавнится, он будет на этих координатах которые ты укажешь.
Если игрока нету в switch-case то он будет заспавнен стандартно

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

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


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

Тут важно обратить внимание на отсутствие запятой. Если она там окажется - игрок будет заспавнен на нулевых координатах в воде.
Если помог сделать то что ты хочешь, кинь репуташку на пост, отметь как решение.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

Поддержка