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

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

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

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

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

Спавн игроков на кастомных объектах в море

Добрый день
если кто то знает, подскажите как стандартные точки спавна игроков (которые по берегу) изменить на спавн на своих объектах в море
пытался вводить нужные координаты но все координаты что дальше берега не видит и отправляет в левый нижний угол карты в воду
координаты x=11111 z=111111 прописаны без высоты
как прописать эти спавны на своих объектах в море?

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


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

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

  • 0

Убери дефолтные спавны игроков и вставь в инит вот это:
 

	private ref TStringArray m_RespawnPositions	= {};
	
	
	override void OnInit()
	{
		super.OnInit();

		m_RespawnPositions.Insert( "5212.09 23.90 2255.91" );
		m_RespawnPositions.Insert( "5218.35 23.90 2266.9" );
	}

image.png.b500f2f6f3e64b969702d1ac15711e5d.png

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


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





  • 0
1 час назад, MalinaRussian сказал:

Убери дефолтные спавны игроков и вставь в инит вот это:
 

private ref TStringArray m_RespawnPositions = {}; override void OnInit() { super.OnInit(); m_RespawnPositions.Insert( "5212.09 23.90 2255.91" ); m_RespawnPositions.Insert( "5218.35 23.90 2266.9" ); }


	private ref TStringArray m_RespawnPositions	= {};
	
	
	override void OnInit()
	{
		super.OnInit();

		m_RespawnPositions.Insert( "5212.09 23.90 2255.91" );
		m_RespawnPositions.Insert( "5218.35 23.90 2266.9" );
	}

image.png.b500f2f6f3e64b969702d1ac15711e5d.png

тоже самое, спавнит в море в левом нижнем углу

Может я не правильно убрал ванильные спавны игроков...
мне нужно просто убрать координаты? или сделать что то ещё?

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

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


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

Карта какая используется

черно

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


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

в ините дописать

modded class CustomMission
{
	override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
	{
		super.StartingEquipSetup(player, clothesChosen);	
		private array <vector>  spawnpoints = {"5212.09 23.90 2255.91",
			"5218.35 23.90 2266.9"};
		private vector selected_spawnpoint = spawnpoints.GetRandomElement();
		player.SetPosition(selected_spawnpoint);
	}
	
}

или

modded class CustomMission
{
	override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
	{
		super.StartingEquipSetup(player, clothesChosen);	
		player.SetPosition("5212.09 23.90 2255.91");
	}
	
}

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

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
3 часа назад, 123new сказал:

в ините дописать

modded class CustomMission { override void StartingEquipSetup(PlayerBase player, bool clothesChosen) { super.StartingEquipSetup(player, clothesChosen); private array <vector> spawnpoints = {"5212.09 23.90 2255.91", "5218.35 23.90 2266.9"}; private vector selected_spawnpoint = spawnpoints.GetRandomElement(); player.SetPosition(selected_spawnpoint); } }


modded class CustomMission
{
	override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
	{
		super.StartingEquipSetup(player, clothesChosen);	
		private array <vector>  spawnpoints = {"5212.09 23.90 2255.91",
			"5218.35 23.90 2266.9"};
		private vector selected_spawnpoint = spawnpoints.GetRandomElement();
		player.SetPosition(selected_spawnpoint);
	}
	
}

или

modded class CustomMission { override void StartingEquipSetup(PlayerBase player, bool clothesChosen) { super.StartingEquipSetup(player, clothesChosen); player.SetPosition("5212.09 23.90 2255.91"); } }


modded class CustomMission
{
	override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
	{
		super.StartingEquipSetup(player, clothesChosen);	
		player.SetPosition("5212.09 23.90 2255.91");
	}
	
}

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

подскажи)
есть ли возможность всё это сделать через 

только сделать так что бы это работало без внесения стим айди и для всех кто подключается на сервер сразу
просто указать несколько координат и несколько сетов шмота и все игроки спавнились рандомно по этим координатам?

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


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

подскажи)
есть ли возможность всё это сделать через 

только сделать так что бы это работало без внесения стим айди и для всех кто подключается на сервер сразу
просто указать несколько координат и несколько сетов шмота и все игроки спавнились рандомно по этим координатам?

реально. Только раскомментить в нижней функции массив с точками спавна и телепортом, но комманду телепорта игрока перенести после выдачи вещей с сета (иначе лута визуально не отобразится у игрока до его перезахода)

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
7 минут назад, 123new сказал:

реально. Только раскомментить в нижней функции массив с точками спавна и телепортом, но комманду телепорта игрока перенести после выдачи вещей с сета (иначе лута визуально не отобразится у игрока до его перезахода)

а если просто отключить выдачу сетов и брать выдачу сетов из другого мода
мод (спавн классы) там ты выбираешь при спавне сет из панельки
но именно рандомный спавн оставить на определённых координатах без стим айди для всех

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


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

а если просто отключить выдачу сетов и брать выдачу сетов из другого мода
мод (спавн классы) там ты выбираешь при спавне сет из панельки
но именно рандомный спавн оставить на определённых координатах без стим айди для всех

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

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, 123new сказал:

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

```Только раскомментить в нижней функции массив с точками спавна и телепортом, но комманду телепорта игрока перенести после выдачи вещей с сета (иначе лута визуально не отобразится у игрока до его перезахода)```

А как это сделать? если не сложно буду благодарен наглядно увидеть

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


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

что мне писать тут и как что бы точки спавна работали для всех игроков и несколько точек спавна прописать?
76262192662992221|SurvivorM_Indar|0|12864.081055 172.868149 4463.454102
 

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


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

что мне писать тут и как что бы точки спавна работали для всех игроков и несколько точек спавна прописать?
76262192662992221|SurvivorM_Indar|0|12864.081055 172.868149 4463.454102

    

vector Load_And_Check_Spawnpoints(PlayerIdentity identity, vector pos_default)
    {
        private string name_block_work = "[Load_And_Check_Spawnpoints] ";
        private vector retun_pos = pos_default;        
        if(identity)
        {
            private string Name_P = identity.GetName();
            private string UID_P = identity.GetPlainId();
            private string Game_UID_P = identity.GetId();
            private string Game_ID_P = identity.GetPlayerId().ToString();
            if (enabled_loading_custom_spawnpoints)
            {
                if ((players_spawnpoints.Count() > 0) && (enabled_loaded_successfull_config))
                {                
                    if (players_spawnpoints.Contains(UID_P))
                    {
                        private array<vector> readed_lines_config = new array<vector>;
                        readed_lines_config = players_spawnpoints.Get(UID_P);
                        private vector retun_pos_check = readed_lines_config.GetRandomElement();
                        if (Check_coords_disable(retun_pos_check))
                        {
                            Print(Log_CustomSpawnPlayerConfig_GetDateTime() + default_log_block_name + name_block_work + "For player " + Name_P + "(steam64id=" + UID_P + ") disabled loading private spawn point. Will be used default spawn point!");
                        } else
                        {
                            retun_pos = retun_pos_check;
                            Print(Log_CustomSpawnPlayerConfig_GetDateTime() + default_log_block_name + name_block_work + "For player " + Name_P + "(steam64id=" + UID_P + ") setuped private spawn point: " + retun_pos.ToString());
                        }                        
                    } else
                    {
                        Print(Log_CustomSpawnPlayerConfig_GetDateTime() + default_log_block_name + name_block_work + "Can't founded private spawnpoint for player " + Name_P + "(steam64id=" + UID_P + ")");
                    }
                } else 
                {
                    Print(Log_CustomSpawnPlayerConfig_GetDateTime() + default_log_block_name + name_block_work + "Config script is incorrect, checking private spawnpoints is disabled! Player: " + Name_P + "(steam64id=" + UID_P + ")");
                }
            } else
            {
                Print(Log_CustomSpawnPlayerConfig_GetDateTime() + default_log_block_name + name_block_work + "disabled loading personal spawnpoints from config file script!");
            }
        }        
        Print(Log_CustomSpawnPlayerConfig_GetDateTime() + default_log_block_name + name_block_work + "For player " + Name_P + "(steam64id=" + UID_P + ") will be used spawn point: " + retun_pos.ToString());
        return retun_pos;
    }


 

Изменено пользователем 123new
вставка кода в обязательный тег для вставки (история изменений)

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


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

```Только раскомментить в нижней 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

которую разумеется правим отдельно ниже под свой вкус и цевет, если оно нам нужно, вынесена для удобства.

Можно ее использовать, можно не использовать, и сет прямо сверху внести нужный. Добавлена такая конструкция по просьбам трудящихся.

Собственно поумолчанию ее вызов включен.

Ну а далее в

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

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

Блок с точками спавна там был как шаблон. Закомментированный.  Как показала практика, если комманду

player.SetPosition(selected_spawnpoint);

поместить до выдачи сета - сет не будет виден у игрока, пока не перезайдет (как-то с синхронизацией связано видимо напрямую). Потому ее ставим снизу после выдачи сетов всех, как скинул выше.

Ну а как точки спавна задавать смотрите сами, можно сверху над switch-case задать один общий массив, можно к сету свой набор точек задать, крутите как вам нравится.

 

Ну а если вам скрипт не подходит - открою великую тайну - все что в sets.c идет можно буквально в инит внести ручками в функцию, что выдает стартовый лут (кроме комманды My_Custom_Spawn_Parameters.RemoveAllItems(player); - она в скрипте своя добавлена). как правильно - объяснять не буду, читайте темы и самообразовывайтесь, специально для вас написаны, чтобы хотя бы простецкий сет могли сами без вопросов собрать - это самое простое. Рекоммендую к изучению, кароче:

 

Ну а в качестве благодарности за помощь я всегда принимаю 'тугрики', реквизиты есть в описании любой из моих работ на торговой площадке.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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