Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Dmitey

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

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

Share this post


Link to post
Share on other sites

13 answers to this question

Recommended Posts

  • 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

Share this post


Link to post
Share on other sites







  • 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

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

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

Edited by Dmitey (see edit history)

Share this post


Link to post
Share on other sites
  • 0
Только что, AKuznecov сказал:

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

черно

Share this post


Link to post
Share on other sites
  • 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");
	}
	
}

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

Share this post


Link to post
Share on other sites
  • 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");
	}
	
}

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

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

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

Share this post


Link to post
Share on other sites
  • 0
24 минуты назад, Dmitey сказал:

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

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

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

Share this post


Link to post
Share on other sites
  • 0
7 минут назад, 123new сказал:

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

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

Share this post


Link to post
Share on other sites
  • 0
2 минуты назад, Dmitey сказал:

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

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

Share this post


Link to post
Share on other sites
  • 0
Только что, 123new сказал:

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

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

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

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 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;
    }


 

Edited by 123new
вставка кода в обязательный тег для вставки (see edit history)

Share this post


Link to post
Share on other sites
  • 0
35 минут назад, Dmitey сказал:

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

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

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

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

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

Ну а далее в

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

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

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

player.SetPosition(selected_spawnpoint);

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.