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

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

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

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

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

Персональный скин, точка спавна, и сет с лутом при респавне, стартовый лут для всех!

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

Всем я разобрался , большое спасибо за помощь, я просто вытащил из черно инитCustomMission и закинул свой и в итоге все заработало, это инит со сталкера, если вдруг интересно

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


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

Привет, скрипт работает на 1.15v. 
Вопрос такой: Можно сделать так чтоб когда игрок умирает, возрождался с тем лутом что был у него до смерти а этот труп исчезал чтоб не было копии  ?
Либо возрождался в этом месте. 

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

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


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

можно, но это отдельно надо писать соответствующую запоминалку, да и смысла мало вижу в этом - вы уже из игры какую-то калл оф дюти делаете

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


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

можно, но это отдельно надо писать соответствующую запоминалку, да и смысла мало вижу в этом - вы уже из игры какую-то калл оф дюти делаете


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

Да и тестировать комфортней так.... ?

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

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


Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, Custom41k сказал:


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

Да и тестировать комфортней так.... ?

проще написать запрет поднятия таких шмоток для всех, кто не админ, или же удалять вместе с трупом сразу же посмертно или с трупа.А вообще, умные админы ставят годмод ?

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


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

В чем может быть ошибка? Я прописываю одного человека в спавн какой-то точки, все работает отлично, но когда прописываю еще кого-то, то скрипт их как будто не видит, хотя вроде все сделал правильно по гайду.

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


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

В чем может быть ошибка? Я прописываю одного человека в спавн какой-то точки, все работает отлично, но когда прописываю еще кого-то, то скрипт их как будто не видит, хотя вроде все сделал правильно по гайду.

скриптлог сервера и сам конфиг в студию

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


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

Такой вопрос. Хочу сделать чтобы игроки у которых я прописал кастомный спавн могли появляться на берегу по желанию. В голову пришла только одна мысль. Экран смерти персонажа. Там ведь две кнопки - Случайное возрождение и Пользовательское. Можно ли как-то сделать так, чтобы при нажатии на случайное возрождение, игрок респавнился не на прописанной точке, а на рандомной - на берегу?

 

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


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

Это надо изучать отдельно и тестить, да дорабатывать специально скрипт

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


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

@123new Подскажи пожалуйста, а возможно ли выданные вещи сразу назначить на горячие клавиши?

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


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

@123new Подскажи пожалуйста, а возможно ли выданные вещи сразу назначить на горячие клавиши?

пример в сообщении

 

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


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

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

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, Eladiell_Saint сказал:

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

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

телепорт player.SetPositio(); поставьте ниже выдачи всего лута ?

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


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

телепорт player.SetPositio(); поставьте ниже выдачи всего лута ?

 

не помогло(

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


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

 

не помогло(

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

а если так сделать?

 

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


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

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

а если так сделать?

 

void DefaultSets(PlayerBase player) // Функция выдает сеты игрокам, не прописанным в конфигурации скрипта!!!
    {
        EntityAI itemCreated = NULL;
        EntityAI itemCreated1 = NULL;
        ItemBase itemCasted = NULL;
        
        // ниже пример, если вам нужно задать свои точки спавна для всех игроков. Этот код можно также использовать и для каждого сета индивидуально!
        // Код закомментирован, если это надо - раскомментируйте!
        // начало кода точек спавна игрока
        
        private array <vector>  spawnpoints = 
        {
            "7215.337891 252.860779 6954.212891",
            "7218.308105 252.935974 6974.276855",
            "7225.948242 252.862625 7001.748535",
            "7234.638184 253.752472 7035.562012"
        };
        private vector selected_spawnpoint = spawnpoints.GetRandomElement();
        
        private int random_set_number = Math.RandomIntInclusive(1,6); // генерируем рандом номер сета от 1 до 6 включительно (по значениям блоков case ниже)
        switch( random_set_number ) //Раздаем лут (можно использовать значения от 1 и выше, только не 0 и не -1)
        {
            case 1: //Set with number 1 (Сет с номером 1)
            {            
                break;
            }
            
            case 2: //Set with number 2  (Сет с номером 2)
            {
                break;
            }
            
            case 3: //Set with number 3   (Сет с номером 3)
            {
                break;
            }
            
            case 4: //Set with number 4   (Сет с номером 4)
            {
                break;
            }
            
            case 5: //Set with number 5   (Сет с номером 5)
            {
                break;
            }
            
            case 6: //Set with number 6   (Сет с номером 6)
            {
                break;
            }
            
            default: //Default starting spawn set (Сет поумолчанию для всех игроков, в случае если ни один из сетов выше не выпал.
            {
                My_Custom_Spawn_Parameters.RemoveAllItems(player); // Чтобы удалить с персонажа уже имеющиеся стандартные стартовые шмотки раскомментировать строку
                break;
            }
        }
        player.SetPosition(selected_spawnpoint);
        
    }
}

так как и ранее ты описал, не работает

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

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


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

void DefaultSets(PlayerBase player) //

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

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

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

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


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

1 - код вставляется по спец тегу для его вставки, за это пред.

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

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

class StartSetsPlayersConfig
{	
	void StartSetsPlayer(PlayerBase player,int use_set_id)
	{
		EntityAI itemCreated = NULL;
		EntityAI itemCreated1 = NULL;
		ItemBase itemCasted = NULL;
		
		switch( use_set_id ) //Раздаем лут (можно использовать значения от 1 и выше, только не 0 и не -1)
		{
			case 1: //Set 1
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("HuntingBag");
				itemCreated = player.GetInventory().CreateInInventory("HunterPants_Summer");
				itemCreated = player.GetInventory().CreateInInventory("HuntingJacket_Summer");
				itemCreated = player.GetInventory().CreateInInventory("CombatBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Ushanka_Green");
				itemCreated = player.GetInventory().CreateInInventory("Headtorch_Grey");
				itemCreated = player.GetInventory().CreateInInventory("HuntingKnife");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Rice");
				itemCreated = player.GetInventory().CreateInInventory("SodaCan_Kvass");
				itemCreated = player.GetInventory().CreateInInventory("WaterBottle");
				itemCreated = itemCreated.GetInventory().CreateInInventory("Apple");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("FNX45");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolOptic");
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 2: //Set 2
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BDU");
				itemCreated = player.GetInventory().CreateInInventory("BalaclavaMask_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_BDU");
                itemCreated = player.GetInventory().CreateInInventory("BG_UKAssVest_BDU");
				itemCreated = player.GetInventory().CreateInInventory("TacticalGloves_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_BDU");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BDU");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Boots_Lowa_Black");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBelt");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("IMP_Bottle_BottlePouch_Green");
					itemCreated.GetInventory().CreateAttachment("BG_PlateCarrierHolster_BDU");
					itemCreated.GetInventory().CreateAttachment("IMP_Sheath_OD");
				}
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("FNX45");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolOptic");
					itemCreated.GetInventory().CreateAttachment("TLRLight");
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 3: //Set 3
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bag_MiniMilitaryBag_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_BalaclavaMask_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_MilitaryBoots_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_OMNOGloves_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TunaCan");
				itemCreated = player.GetInventory().CreateInInventory("SodaCan_Cola");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("Matchbox");
				itemCreated = player.GetInventory().CreateInInventory("Chemlight_White");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 4: //Set with number 4   (Сет с номером 4)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("Balaclava3Holes_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_Flecktarn");
                itemCreated = player.GetInventory().CreateInInventory("BG_UKAssVest_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("OMNOGloves_Gray");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 5: //Set with number 5   (Сет с номером 5)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_cargoPants_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_BalaclavaMask_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalGloves_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_MilitaryBoots_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 6: //Set with number 6   (Сет с номером 6)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("BG_cargoPants_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("Balaclava3Holes_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("OMNOGloves_Gray");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			default: //Default starting spawn set (Сет поумолчанию для всех игроков, если хотите назначить - добавляйте здесь!)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				DefaultSets(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_TaloonBag_SpawnSet");
				itemCreated = player.GetInventory().CreateInInventory("BalaclavaMask_Black");
				itemCreated = player.GetInventory().CreateInInventory("BG_HikingBoots_SpawnSet");
				itemCreated = player.GetInventory().CreateInInventory("BG_TrackSuitPants_SpawnSet");
				itemCreated = player.GetInventory().CreateInInventory("BG_Hoodie_SpawnSet");
				itemCreated = player.GetInventory().CreateInInventory("WorkingGloves_Beige");
				itemCreated = player.GetInventory().CreateInInventory("SteakKnife");
				itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Chemlight_Blue");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("Rice");
				itemCreated = player.GetInventory().CreateInInventory("SodaCan_Kvass");
				itemCreated = itemCreated.GetInventory().CreateInInventory("Apple");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("MakarovIJ70");	
				break;
			}
		}
	}
	
	void SetRandomHealthItem(EntityAI itemCreated) // Функция генерирует и применяет для предмета рандомное значение здоровья!
	{
		if ( itemCreated )
		{
			private int rndHlt = Math.RandomInt(55,6);
			itemCreated.SetHealth("","",rndHlt);
		}
	}
	
	void DefaultSets(PlayerBase player) // Функция выдает сеты игрокам, не прописанным в конфигурации скрипта!!!
	{
		EntityAI itemCreated = NULL;
		EntityAI itemCreated1 = NULL;
		ItemBase itemCasted = NULL;
		
		// ниже пример, если вам нужно задать свои точки спавна для всех игроков. Этот код можно также использовать и для каждого сета индивидуально!
		// Код закомментирован, если это надо - раскомментируйте!
		// начало кода точек спавна игрока
		
		private array <vector>  spawnpoints = 
		{
			"7215.337891 252.860779 6954.212891",
			"7218.308105 252.935974 6974.276855",
			"7225.948242 252.862625 7001.748535",
			"7234.638184 253.752472 7035.562012"
		};
		private vector selected_spawnpoint = spawnpoints.GetRandomElement();
		
		private int random_set_number = Math.RandomIntInclusive(1,6); // генерируем рандом номер сета от 1 до 6 включительно (по значениям блоков case ниже)
		switch( random_set_number ) //Раздаем лут (можно использовать значения от 1 и выше, только не 0 и не -1)
		{
			case 1: //Set with number 1 (Сет с номером 1)
			{			
				break;
			}
			
			case 2: //Set with number 2  (Сет с номером 2)
			{
				break;
			}
			
			case 3: //Set with number 3   (Сет с номером 3)
			{
				break;
			}
			
			case 4: //Set with number 4   (Сет с номером 4)
			{
				break;
			}
			
			case 5: //Set with number 5   (Сет с номером 5)
			{
				break;
			}
			
			case 6: //Set with number 6   (Сет с номером 6)
			{
				break;
			}
			
			default: //Default starting spawn set (Сет поумолчанию для всех игроков, в случае если ни один из сетов выше не выпал.
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player); // Чтобы удалить с персонажа уже имеющиеся стандартные стартовые шмотки раскомментировать строку
				break;
			}
		}
		player.SetPosition(selected_spawnpoint);	
	}
}

1. сори, не сообразил
2. прописап дефолтный для всех сет, на берегу респ работает адекватно, тоисть, (карта Чернарусь) вдоль всего побережья персонаж респавнится в сете, стоит только раскоментировать строку спавна по координатам, персонаж начинает респавнится в указаных точках НО с неактивными шмотками, тоисть, визуально шмоток нету, но в те слоты в которых они должны быть ничего нельзя одеть, руки тоже заблокированы т.к в спвн сете происан ИЖ в руках, если перезайти на сервер одежда и прочее появляется  

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


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

class StartSetsPlayersConfig { void StartSetsPlayer(PlayerBase player,int use_set_id) { EntityAI itemCreated = NULL; EntityAI itemCreated1 = NULL; ItemBase itemCasted = NULL; switch( use_set_id ) //Раздаем лут (можно использовать значения от 1 и выше, только не 0 и не -1) { case 1: //Set 1 { My_Custom_Spawn_Parameters.RemoveAllItems(player); itemCreated = player.GetInventory().CreateInInventory("HuntingBag"); itemCreated = player.GetInventory().CreateInInventory("HunterPants_Summer"); itemCreated = player.GetInventory().CreateInInventory("HuntingJacket_Summer"); itemCreated = player.GetInventory().CreateInInventory("CombatBoots_Black"); itemCreated = player.GetInventory().CreateInInventory("Ushanka_Green"); itemCreated = player.GetInventory().CreateInInventory("Headtorch_Grey"); itemCreated = player.GetInventory().CreateInInventory("HuntingKnife"); itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("BandageDressing"); itemCreated = player.GetInventory().CreateInInventory("BandageDressing"); itemCreated = player.GetInventory().CreateInInventory("Battery9V"); itemCreated = player.GetInventory().CreateInInventory("Battery9V"); itemCreated = player.GetInventory().CreateInInventory("Rice"); itemCreated = player.GetInventory().CreateInInventory("SodaCan_Kvass"); itemCreated = player.GetInventory().CreateInInventory("WaterBottle"); itemCreated = itemCreated.GetInventory().CreateInInventory("Apple"); itemCreated = NULL; itemCreated = player.GetHumanInventory().CreateInHands("FNX45"); if (itemCreated) { itemCreated.GetInventory().CreateAttachment("PistolOptic"); itemCreated.GetInventory().CreateAttachment("PistolSuppressor"); } break; } case 2: //Set 2 { My_Custom_Spawn_Parameters.RemoveAllItems(player); itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BDU"); itemCreated = player.GetInventory().CreateInInventory("BalaclavaMask_Green"); itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_BDU"); itemCreated = player.GetInventory().CreateInInventory("BG_UKAssVest_BDU"); itemCreated = player.GetInventory().CreateInInventory("TacticalGloves_Green"); itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_BDU"); itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BDU"); itemCreated = player.GetInventory().CreateInInventory("IMP_Boots_Lowa_Black"); itemCreated = player.GetInventory().CreateInInventory("CombatKnife"); itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("BandageDressing"); itemCreated = player.GetInventory().CreateInInventory("BandageDressing"); itemCreated = player.GetInventory().CreateInInventory("Battery9V"); itemCreated = player.GetInventory().CreateInInventory("Battery9V"); itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan"); itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan"); itemCreated = player.GetInventory().CreateInInventory("MilitaryBelt"); if (itemCreated) { itemCreated.GetInventory().CreateAttachment("IMP_Bottle_BottlePouch_Green"); itemCreated.GetInventory().CreateAttachment("BG_PlateCarrierHolster_BDU"); itemCreated.GetInventory().CreateAttachment("IMP_Sheath_OD"); } itemCreated = NULL; itemCreated = player.GetHumanInventory().CreateInHands("FNX45"); if (itemCreated) { itemCreated.GetInventory().CreateAttachment("PistolOptic"); itemCreated.GetInventory().CreateAttachment("TLRLight"); itemCreated.GetInventory().CreateAttachment("PistolSuppressor"); } break; } case 3: //Set 3 { My_Custom_Spawn_Parameters.RemoveAllItems(player); itemCreated = player.GetInventory().CreateInInventory("IMP_Bag_MiniMilitaryBag_Green"); itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_RSPM"); itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_RSPM"); itemCreated = player.GetInventory().CreateInInventory("BG_BalaclavaMask_RSPM"); itemCreated = player.GetInventory().CreateInInventory("BG_MilitaryBoots_RSPM"); itemCreated = player.GetInventory().CreateInInventory("BG_OMNOGloves_RSPM"); itemCreated = player.GetInventory().CreateInInventory("BandageDressing"); itemCreated = player.GetInventory().CreateInInventory("BandageDressing"); itemCreated = player.GetInventory().CreateInInventory("TunaCan"); itemCreated = player.GetInventory().CreateInInventory("SodaCan_Cola"); itemCreated = player.GetInventory().CreateInInventory("CombatKnife"); itemCreated = player.GetInventory().CreateInInventory("Matchbox"); itemCreated = player.GetInventory().CreateInInventory("Chemlight_White"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = NULL; itemCreated = player.GetHumanInventory().CreateInHands("Glock19"); if (itemCreated) { itemCreated.GetInventory().CreateAttachment("PistolSuppressor"); } break; } case 4: //Set with number 4 (Сет с номером 4) { My_Custom_Spawn_Parameters.RemoveAllItems(player); itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_Flecktarn"); itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_Flecktarn"); itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_Flecktarn"); itemCreated = player.GetInventory().CreateInInventory("Balaclava3Holes_Green"); itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_Flecktarn"); itemCreated = player.GetInventory().CreateInInventory("BG_UKAssVest_Flecktarn"); itemCreated = player.GetInventory().CreateInInventory("OMNOGloves_Gray"); itemCreated = player.GetInventory().CreateInInventory("MilitaryBoots_Black"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("BandageDressing"); itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan"); itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan"); itemCreated = player.GetInventory().CreateInInventory("CombatKnife"); itemCreated = player.GetInventory().CreateInInventory("PetrolLighter"); itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = NULL; itemCreated = player.GetHumanInventory().CreateInHands("Glock19"); if (itemCreated) { itemCreated.GetInventory().CreateAttachment("PistolSuppressor"); } break; } case 5: //Set with number 5 (Сет с номером 5) { My_Custom_Spawn_Parameters.RemoveAllItems(player); itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BIBA"); itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BIBA"); itemCreated = player.GetInventory().CreateInInventory("BG_cargoPants_BIBA"); itemCreated = player.GetInventory().CreateInInventory("BG_BalaclavaMask_BIBA"); itemCreated = player.GetInventory().CreateInInventory("BG_TacticalGloves_BIBA"); itemCreated = player.GetInventory().CreateInInventory("BG_MilitaryBoots_BIBA"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("BandageDressing"); itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan"); itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan"); itemCreated = player.GetInventory().CreateInInventory("CombatKnife"); itemCreated = player.GetInventory().CreateInInventory("PetrolLighter"); itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = NULL; itemCreated = player.GetHumanInventory().CreateInHands("Glock19"); if (itemCreated) { itemCreated.GetInventory().CreateAttachment("PistolSuppressor"); } break; } case 6: //Set with number 6 (Сет с номером 6) { My_Custom_Spawn_Parameters.RemoveAllItems(player); itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BOZ"); itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BOZ"); itemCreated = player.GetInventory().CreateInInventory("BG_cargoPants_BOZ"); itemCreated = player.GetInventory().CreateInInventory("Balaclava3Holes_Green"); itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_BOZ"); itemCreated = player.GetInventory().CreateInInventory("OMNOGloves_Gray"); itemCreated = player.GetInventory().CreateInInventory("MilitaryBoots_Black"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("BandageDressing"); itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan"); itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan"); itemCreated = player.GetInventory().CreateInInventory("CombatKnife"); itemCreated = player.GetInventory().CreateInInventory("PetrolLighter"); itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd"); itemCreated = NULL; itemCreated = player.GetHumanInventory().CreateInHands("Glock19"); if (itemCreated) { itemCreated.GetInventory().CreateAttachment("PistolSuppressor"); } break; } default: //Default starting spawn set (Сет поумолчанию для всех игроков, если хотите назначить - добавляйте здесь!) { My_Custom_Spawn_Parameters.RemoveAllItems(player); DefaultSets(player); itemCreated = player.GetInventory().CreateInInventory("BG_TaloonBag_SpawnSet"); itemCreated = player.GetInventory().CreateInInventory("BalaclavaMask_Black"); itemCreated = player.GetInventory().CreateInInventory("BG_HikingBoots_SpawnSet"); itemCreated = player.GetInventory().CreateInInventory("BG_TrackSuitPants_SpawnSet"); itemCreated = player.GetInventory().CreateInInventory("BG_Hoodie_SpawnSet"); itemCreated = player.GetInventory().CreateInInventory("WorkingGloves_Beige"); itemCreated = player.GetInventory().CreateInInventory("SteakKnife"); itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd"); itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Heatpack"); itemCreated = player.GetInventory().CreateInInventory("Chemlight_Blue"); itemCreated = player.GetInventory().CreateInInventory("BandageDressing"); itemCreated = player.GetInventory().CreateInInventory("BandageDressing"); itemCreated = player.GetInventory().CreateInInventory("Rice"); itemCreated = player.GetInventory().CreateInInventory("SodaCan_Kvass"); itemCreated = itemCreated.GetInventory().CreateInInventory("Apple"); itemCreated = NULL; itemCreated = player.GetHumanInventory().CreateInHands("MakarovIJ70"); break; } } } void SetRandomHealthItem(EntityAI itemCreated) // Функция генерирует и применяет для предмета рандомное значение здоровья! { if ( itemCreated ) { private int rndHlt = Math.RandomInt(55,6); itemCreated.SetHealth("","",rndHlt); } } void DefaultSets(PlayerBase player) // Функция выдает сеты игрокам, не прописанным в конфигурации скрипта!!! { EntityAI itemCreated = NULL; EntityAI itemCreated1 = NULL; ItemBase itemCasted = NULL; // ниже пример, если вам нужно задать свои точки спавна для всех игроков. Этот код можно также использовать и для каждого сета индивидуально! // Код закомментирован, если это надо - раскомментируйте! // начало кода точек спавна игрока private array <vector> spawnpoints = { "7215.337891 252.860779 6954.212891", "7218.308105 252.935974 6974.276855", "7225.948242 252.862625 7001.748535", "7234.638184 253.752472 7035.562012" }; private vector selected_spawnpoint = spawnpoints.GetRandomElement(); private int random_set_number = Math.RandomIntInclusive(1,6); // генерируем рандом номер сета от 1 до 6 включительно (по значениям блоков case ниже) switch( random_set_number ) //Раздаем лут (можно использовать значения от 1 и выше, только не 0 и не -1) { case 1: //Set with number 1 (Сет с номером 1) { break; } case 2: //Set with number 2 (Сет с номером 2) { break; } case 3: //Set with number 3 (Сет с номером 3) { break; } case 4: //Set with number 4 (Сет с номером 4) { break; } case 5: //Set with number 5 (Сет с номером 5) { break; } case 6: //Set with number 6 (Сет с номером 6) { break; } default: //Default starting spawn set (Сет поумолчанию для всех игроков, в случае если ни один из сетов выше не выпал. { My_Custom_Spawn_Parameters.RemoveAllItems(player); // Чтобы удалить с персонажа уже имеющиеся стандартные стартовые шмотки раскомментировать строку break; } } player.SetPosition(selected_spawnpoint); } }


class StartSetsPlayersConfig
{	
	void StartSetsPlayer(PlayerBase player,int use_set_id)
	{
		EntityAI itemCreated = NULL;
		EntityAI itemCreated1 = NULL;
		ItemBase itemCasted = NULL;
		
		switch( use_set_id ) //Раздаем лут (можно использовать значения от 1 и выше, только не 0 и не -1)
		{
			case 1: //Set 1
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("HuntingBag");
				itemCreated = player.GetInventory().CreateInInventory("HunterPants_Summer");
				itemCreated = player.GetInventory().CreateInInventory("HuntingJacket_Summer");
				itemCreated = player.GetInventory().CreateInInventory("CombatBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Ushanka_Green");
				itemCreated = player.GetInventory().CreateInInventory("Headtorch_Grey");
				itemCreated = player.GetInventory().CreateInInventory("HuntingKnife");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Rice");
				itemCreated = player.GetInventory().CreateInInventory("SodaCan_Kvass");
				itemCreated = player.GetInventory().CreateInInventory("WaterBottle");
				itemCreated = itemCreated.GetInventory().CreateInInventory("Apple");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("FNX45");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolOptic");
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 2: //Set 2
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BDU");
				itemCreated = player.GetInventory().CreateInInventory("BalaclavaMask_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_BDU");
                itemCreated = player.GetInventory().CreateInInventory("BG_UKAssVest_BDU");
				itemCreated = player.GetInventory().CreateInInventory("TacticalGloves_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_BDU");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BDU");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Boots_Lowa_Black");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBelt");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("IMP_Bottle_BottlePouch_Green");
					itemCreated.GetInventory().CreateAttachment("BG_PlateCarrierHolster_BDU");
					itemCreated.GetInventory().CreateAttachment("IMP_Sheath_OD");
				}
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("FNX45");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolOptic");
					itemCreated.GetInventory().CreateAttachment("TLRLight");
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 3: //Set 3
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bag_MiniMilitaryBag_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_BalaclavaMask_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_MilitaryBoots_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_OMNOGloves_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TunaCan");
				itemCreated = player.GetInventory().CreateInInventory("SodaCan_Cola");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("Matchbox");
				itemCreated = player.GetInventory().CreateInInventory("Chemlight_White");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 4: //Set with number 4   (Сет с номером 4)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("Balaclava3Holes_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_Flecktarn");
                itemCreated = player.GetInventory().CreateInInventory("BG_UKAssVest_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("OMNOGloves_Gray");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 5: //Set with number 5   (Сет с номером 5)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_cargoPants_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_BalaclavaMask_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalGloves_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_MilitaryBoots_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 6: //Set with number 6   (Сет с номером 6)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("BG_cargoPants_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("Balaclava3Holes_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("OMNOGloves_Gray");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			default: //Default starting spawn set (Сет поумолчанию для всех игроков, если хотите назначить - добавляйте здесь!)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				DefaultSets(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_TaloonBag_SpawnSet");
				itemCreated = player.GetInventory().CreateInInventory("BalaclavaMask_Black");
				itemCreated = player.GetInventory().CreateInInventory("BG_HikingBoots_SpawnSet");
				itemCreated = player.GetInventory().CreateInInventory("BG_TrackSuitPants_SpawnSet");
				itemCreated = player.GetInventory().CreateInInventory("BG_Hoodie_SpawnSet");
				itemCreated = player.GetInventory().CreateInInventory("WorkingGloves_Beige");
				itemCreated = player.GetInventory().CreateInInventory("SteakKnife");
				itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Chemlight_Blue");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("Rice");
				itemCreated = player.GetInventory().CreateInInventory("SodaCan_Kvass");
				itemCreated = itemCreated.GetInventory().CreateInInventory("Apple");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("MakarovIJ70");	
				break;
			}
		}
	}
	
	void SetRandomHealthItem(EntityAI itemCreated) // Функция генерирует и применяет для предмета рандомное значение здоровья!
	{
		if ( itemCreated )
		{
			private int rndHlt = Math.RandomInt(55,6);
			itemCreated.SetHealth("","",rndHlt);
		}
	}
	
	void DefaultSets(PlayerBase player) // Функция выдает сеты игрокам, не прописанным в конфигурации скрипта!!!
	{
		EntityAI itemCreated = NULL;
		EntityAI itemCreated1 = NULL;
		ItemBase itemCasted = NULL;
		
		// ниже пример, если вам нужно задать свои точки спавна для всех игроков. Этот код можно также использовать и для каждого сета индивидуально!
		// Код закомментирован, если это надо - раскомментируйте!
		// начало кода точек спавна игрока
		
		private array <vector>  spawnpoints = 
		{
			"7215.337891 252.860779 6954.212891",
			"7218.308105 252.935974 6974.276855",
			"7225.948242 252.862625 7001.748535",
			"7234.638184 253.752472 7035.562012"
		};
		private vector selected_spawnpoint = spawnpoints.GetRandomElement();
		
		private int random_set_number = Math.RandomIntInclusive(1,6); // генерируем рандом номер сета от 1 до 6 включительно (по значениям блоков case ниже)
		switch( random_set_number ) //Раздаем лут (можно использовать значения от 1 и выше, только не 0 и не -1)
		{
			case 1: //Set with number 1 (Сет с номером 1)
			{			
				break;
			}
			
			case 2: //Set with number 2  (Сет с номером 2)
			{
				break;
			}
			
			case 3: //Set with number 3   (Сет с номером 3)
			{
				break;
			}
			
			case 4: //Set with number 4   (Сет с номером 4)
			{
				break;
			}
			
			case 5: //Set with number 5   (Сет с номером 5)
			{
				break;
			}
			
			case 6: //Set with number 6   (Сет с номером 6)
			{
				break;
			}
			
			default: //Default starting spawn set (Сет поумолчанию для всех игроков, в случае если ни один из сетов выше не выпал.
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player); // Чтобы удалить с персонажа уже имеющиеся стандартные стартовые шмотки раскомментировать строку
				break;
			}
		}
		player.SetPosition(selected_spawnpoint);	
	}
}

1. сори, не сообразил
2. прописап дефолтный для всех сет, на берегу респ работает адекватно, тоисть, (карта Чернарусь) вдоль всего побережья персонаж респавнится в сете, стоит только раскоментировать строку спавна по координатам, персонаж начинает респавнится в указаных точках НО с неактивными шмотками, тоисть, визуально шмоток нету, но в те слоты в которых они должны быть ничего нельзя одеть, руки тоже заблокированы т.к в спвн сете происан ИЖ в руках, если перезайти на сервер одежда и прочее появляется  

тогда так надо

class StartSetsPlayersConfig
{	
	void StartSetsPlayer(PlayerBase player,int use_set_id)
	{
		EntityAI itemCreated = NULL;
		EntityAI itemCreated1 = NULL;
		ItemBase itemCasted = NULL;
		
		switch( use_set_id ) //Раздаем лут (можно использовать значения от 1 и выше, только не 0 и не -1)
		{
			case 1: //Set 1
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("HuntingBag");
				itemCreated = player.GetInventory().CreateInInventory("HunterPants_Summer");
				itemCreated = player.GetInventory().CreateInInventory("HuntingJacket_Summer");
				itemCreated = player.GetInventory().CreateInInventory("CombatBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Ushanka_Green");
				itemCreated = player.GetInventory().CreateInInventory("Headtorch_Grey");
				itemCreated = player.GetInventory().CreateInInventory("HuntingKnife");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Rice");
				itemCreated = player.GetInventory().CreateInInventory("SodaCan_Kvass");
				itemCreated = player.GetInventory().CreateInInventory("WaterBottle");
				itemCreated = itemCreated.GetInventory().CreateInInventory("Apple");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("FNX45");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolOptic");
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 2: //Set 2
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BDU");
				itemCreated = player.GetInventory().CreateInInventory("BalaclavaMask_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_BDU");
                itemCreated = player.GetInventory().CreateInInventory("BG_UKAssVest_BDU");
				itemCreated = player.GetInventory().CreateInInventory("TacticalGloves_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_BDU");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BDU");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Boots_Lowa_Black");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBelt");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("IMP_Bottle_BottlePouch_Green");
					itemCreated.GetInventory().CreateAttachment("BG_PlateCarrierHolster_BDU");
					itemCreated.GetInventory().CreateAttachment("IMP_Sheath_OD");
				}
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("FNX45");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolOptic");
					itemCreated.GetInventory().CreateAttachment("TLRLight");
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 3: //Set 3
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bag_MiniMilitaryBag_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_BalaclavaMask_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_MilitaryBoots_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_OMNOGloves_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TunaCan");
				itemCreated = player.GetInventory().CreateInInventory("SodaCan_Cola");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("Matchbox");
				itemCreated = player.GetInventory().CreateInInventory("Chemlight_White");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 4: //Set with number 4   (Сет с номером 4)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("Balaclava3Holes_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_Flecktarn");
                itemCreated = player.GetInventory().CreateInInventory("BG_UKAssVest_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("OMNOGloves_Gray");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 5: //Set with number 5   (Сет с номером 5)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_cargoPants_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_BalaclavaMask_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalGloves_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_MilitaryBoots_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 6: //Set with number 6   (Сет с номером 6)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("BG_cargoPants_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("Balaclava3Holes_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("OMNOGloves_Gray");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			default: //Default starting spawn set (Сет поумолчанию для всех игроков, если хотите назначить - добавляйте здесь!)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				DefaultSets(player);				
				break;
			}
		}
	}
	
	void SetRandomHealthItem(EntityAI itemCreated) // Функция генерирует и применяет для предмета рандомное значение здоровья!
	{
		if ( itemCreated )
		{
			private int rndHlt = Math.RandomInt(55,6);
			itemCreated.SetHealth("","",rndHlt);
		}
	}
	
	void DefaultSets(PlayerBase player) // Функция выдает сеты игрокам, не прописанным в конфигурации скрипта!!!
	{
		EntityAI itemCreated = NULL;
		EntityAI itemCreated1 = NULL;
		ItemBase itemCasted = NULL;
		
		itemCreated = player.GetInventory().CreateInInventory("BG_TaloonBag_SpawnSet");
		itemCreated = player.GetInventory().CreateInInventory("BalaclavaMask_Black");
		itemCreated = player.GetInventory().CreateInInventory("BG_HikingBoots_SpawnSet");
		itemCreated = player.GetInventory().CreateInInventory("BG_TrackSuitPants_SpawnSet");
		itemCreated = player.GetInventory().CreateInInventory("BG_Hoodie_SpawnSet");
		itemCreated = player.GetInventory().CreateInInventory("WorkingGloves_Beige");
		itemCreated = player.GetInventory().CreateInInventory("SteakKnife");
		itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
		itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
		itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
		itemCreated = player.GetInventory().CreateInInventory("Heatpack");
		itemCreated = player.GetInventory().CreateInInventory("Heatpack");
		itemCreated = player.GetInventory().CreateInInventory("Heatpack");
		itemCreated = player.GetInventory().CreateInInventory("Chemlight_Blue");
		itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
		itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
		itemCreated = player.GetInventory().CreateInInventory("Rice");
		itemCreated = player.GetInventory().CreateInInventory("SodaCan_Kvass");
		itemCreated = itemCreated.GetInventory().CreateInInventory("Apple");
		itemCreated = NULL;
		itemCreated = player.GetHumanInventory().CreateInHands("MakarovIJ70");	
		
		// ниже пример, если вам нужно задать свои точки спавна для всех игроков. Этот код можно также использовать и для каждого сета индивидуально!
		// Код закомментирован, если это надо - раскомментируйте!
		// начало кода точек спавна игрока
		
		private array <vector>  spawnpoints = 
		{
			"7215.337891 252.860779 6954.212891",
			"7218.308105 252.935974 6974.276855",
			"7225.948242 252.862625 7001.748535",
			"7234.638184 253.752472 7035.562012"
		};
		private vector selected_spawnpoint = spawnpoints.GetRandomElement();
		
		/*private int random_set_number = Math.RandomIntInclusive(1,6); // генерируем рандом номер сета от 1 до 6 включительно (по значениям блоков case ниже)
		switch( random_set_number ) //Раздаем лут (можно использовать значения от 1 и выше, только не 0 и не -1)
		{
			case 1: //Set with number 1 (Сет с номером 1)
			{			
				break;
			}
			
			case 2: //Set with number 2  (Сет с номером 2)
			{
				break;
			}
			
			case 3: //Set with number 3   (Сет с номером 3)
			{
				break;
			}
			
			case 4: //Set with number 4   (Сет с номером 4)
			{
				break;
			}
			
			case 5: //Set with number 5   (Сет с номером 5)
			{
				break;
			}
			
			case 6: //Set with number 6   (Сет с номером 6)
			{
				break;
			}
			
			default: //Default starting spawn set (Сет поумолчанию для всех игроков, в случае если ни один из сетов выше не выпал.
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player); // Чтобы удалить с персонажа уже имеющиеся стандартные стартовые шмотки раскомментировать строку
				break;
			}
		}*/
		player.SetPosition(selected_spawnpoint);	
	}
}

 

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


Ссылка на сообщение
Поделиться на других сайтах
13.02.2022 в 13:28, Bounty сказал:

Такой вопрос. Хочу сделать чтобы игроки у которых я прописал кастомный спавн могли появляться на берегу по желанию. В голову пришла только одна мысль. Экран смерти персонажа. Там ведь две кнопки - Случайное возрождение и Пользовательское. Можно ли как-то сделать так, чтобы при нажатии на случайное возрождение, игрок респавнился не на прописанной точке, а на рандомной - на берегу?

 

За выбираемую точку возрождения отвечает функция GetGame().GetMenuDefaultCharacterData(false).IsRandomCharacterForced()

 

Соответственно чтобы сделать то о чем ты пишешь, нужно добавить в Script.c

Функция Load_And_Check_Spawnpoints() после "private vector retun_pos = pos_default;"

 

// Если выбран спавн кепкой
if (GetGame().GetMenuDefaultCharacterData(false).IsRandomCharacterForced()){
	return pos_default;
}

 

Далее в функцию Load_And_Check_StartLoadout() в самом низу перед "StartSetsPlayers.StartSetsPlayer(player, use_set_id);"

 

// Если выбран спавн кепкой
if (GetGame().GetMenuDefaultCharacterData(false).IsRandomCharacterForced()){
	use_set_id = -1;
}

 

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

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


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

Теперь у меня встречный вопрос.

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

 

Мои размышления:

 

1) При нажатии на кнопку "Возродить" вызывается функция:

 

protected void OnClick_Respawn()
	{
		Man player = GetGame().GetPlayer();
		
		if ( player && player.IsUnconscious() )
		{
			GetGame().GetUIManager().ShowDialog("#main_menu_respawn", "#main_menu_respawn_question", IDC_INT_RETRY, DBT_YESNO, DBB_YES, DMT_QUESTION, this);
		}
		else
		{
			if ( GetGame().GetMission().GetRespawnModeClient() == GameConstants.RESPAWN_MODE_CUSTOM )
			{
				//GetGame().GetUIManager().ShowDialog("Respawning", "Respawn as custom?", IDC_INT_RESPAWN, DBT_YESNOCANCEL, DBB_YES, DMT_QUESTION, this);
				GetGame().GetCallQueue(CALL_CATEGORY_GUI).Call(GetGame().GetUIManager().EnterScriptedMenu,MENU_RESPAWN_DIALOGUE,this);
			}
			else
			{
				GameRespawn(true);
			}
		}
	}

 

По идеи мне нужно это условие:

 

if ( GetGame().GetMission().GetRespawnModeClient() == GameConstants.RESPAWN_MODE_CUSTOM ) 

 

Заменить на условие подобное ниже:

 

if (GetGame.GetPlayer().isUserVip()) 

 

Далее нужно создать функцию isUserVip() которая будет вызываться из клиента, но читать данные из сервера. А точнее из этого скрипта о котором собственно и тема.

 

Теперь вопросы:

1) Скрипт из этой темы сделан не в виде мода, а в виде скрипта. Наверное так это называется. В нём я не могу отмоддить класс PlayerBase чтобы вызвать NetSyncVariable.

Нужно перенести этот скрипт в серверный мод?

 

2) Если это всё таки будет работать в серверном моде, тогда у меня будет два разных мода: клиентский и серверный. Я не хочу в клиентский стим мод вставлять код по выдаче випок.
Если это будет два разных мода, будет ли работать NetSyncVariable?

 

3) Если NetSyncVariable всё таки будет работать, мне нужно будет и на клиенте и на сервере создать modded class PlayerBase и там и там объявить две одинаковых переменные которые будут работать с NetSyncVariable?

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

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


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

начну с того что код

Man player = GetGame().GetPlayer();

ровно как и

GetGame().GetUIManager().ShowDialog("#main_menu_respawn", "#main_menu_respawn_question", IDC_INT_RETRY, DBT_YESNO, DBB_YES, DMT_QUESTION, this);

и

GetGame().GetCallQueue(CALL_CATEGORY_GUI).Call(GetGame().GetUIManager().EnterScriptedMenu,MENU_RESPAWN_DIALOGUE,this);

и даже

GetGame().GetMenuDefaultCharacterData(false).IsRandomCharacterForced()

является клиентским и работать будет только на стороне клиента игры. Т.е. на стороне сервера игры его использовать БЕСПОЛЕЗНО, в лучшем случае он просто ничего не сделает, в худшем - даст краш и ошибки.

Теперь о цветочках и запрошенном выше.

Все что вы хотите делать между клиент-сервер и сервер-клиент делать проще и лучше в виде своего клиентского мода. Как? Через RPC вызовы разумеется, другого метода общаться клиента с сервером и назад не существует у игры. Только я сразу упомяну такой момент, что зачем изобретать велосипед ради таких вещей, когда я уверен, что этот велосипед уже кем-то изобретен в мастерской, и возможно даже не одним человеком (я уже видел у какого-то из своих знакомых менюшку с выбором точки спавна и сета спавна игрока, откуда и чья хз).

Ну а теперь о более конкретном:

у  общения от клиента на сервер есть  только один метод - rpc. У общения от сервера на клиент 2. Первый метод у обоих названных это rpc. Разница лишь в указании Man объекта вызова и его Identify. Есть они - вызывается конкретный игрок, нету - в целом весь сервер сам.

У 2 метода только одно направление - переменная, которую вы например объявляете в классе PlayerBase, например:

bool MyPeremennaya = false;

и в конструкторе класса ее регистрируете для сетевого обмена:

void Playerbase()
{
NetSyncVariiableBool("MyPeremennaya");
}

после чего в нужных местах меняете ей значение стандартным

MyPeremennaya = true;

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

SetSuncDirty();

После чего переменная сама должна отсинхронизировать свое значение от сервера на клиент игрока

Но тут есть одно но - это применимо для объекта персонажа управляемого. А при респавне как мы знаем объекта персонажа у нас может не быть или он может стать другой. Так что как вы будете это делать и насколько это вам нужно - смотрите сами. Я бы лично в это не лез, хотя бы потому что процедура респавна игрока весьма кучно сплетена по функциям и лимитированна по времени прогрузки, и внедряться в нее надо осторожно, протестировав все нюансы. Ну а для особо любящих 'жесть' советую покопать в тему создания собственного класса в своем моде, добавить свою функцию в rpc вызов обработчика и в ней отлавливать все свои вызовы так как вам надо. Как все это делать - по полочкам вам не разложу, учитесь сами.

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


Ссылка на сообщение
Поделиться на других сайтах
07.04.2022 в 17:37, 123new сказал:

 


class StartSetsPlayersConfig
{	
	void StartSetsPlayer(PlayerBase player,int use_set_id)
	{
		EntityAI itemCreated = NULL;
		EntityAI itemCreated1 = NULL;
		ItemBase itemCasted = NULL;
		
		switch( use_set_id ) //Раздаем лут (можно использовать значения от 1 и выше, только не 0 и не -1)
		{
			case 1: //Set 1
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("HuntingBag");
				itemCreated = player.GetInventory().CreateInInventory("HunterPants_Summer");
				itemCreated = player.GetInventory().CreateInInventory("HuntingJacket_Summer");
				itemCreated = player.GetInventory().CreateInInventory("CombatBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Ushanka_Green");
				itemCreated = player.GetInventory().CreateInInventory("Headtorch_Grey");
				itemCreated = player.GetInventory().CreateInInventory("HuntingKnife");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Rice");
				itemCreated = player.GetInventory().CreateInInventory("SodaCan_Kvass");
				itemCreated = player.GetInventory().CreateInInventory("WaterBottle");
				itemCreated = itemCreated.GetInventory().CreateInInventory("Apple");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("FNX45");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolOptic");
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 2: //Set 2
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BDU");
				itemCreated = player.GetInventory().CreateInInventory("BalaclavaMask_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_BDU");
                itemCreated = player.GetInventory().CreateInInventory("BG_UKAssVest_BDU");
				itemCreated = player.GetInventory().CreateInInventory("TacticalGloves_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_BDU");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BDU");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Boots_Lowa_Black");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("Battery9V");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBelt");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("IMP_Bottle_BottlePouch_Green");
					itemCreated.GetInventory().CreateAttachment("BG_PlateCarrierHolster_BDU");
					itemCreated.GetInventory().CreateAttachment("IMP_Sheath_OD");
				}
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("FNX45");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolOptic");
					itemCreated.GetInventory().CreateAttachment("TLRLight");
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 3: //Set 3
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bag_MiniMilitaryBag_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_BalaclavaMask_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_MilitaryBoots_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BG_OMNOGloves_RSPM");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TunaCan");
				itemCreated = player.GetInventory().CreateInInventory("SodaCan_Cola");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("Matchbox");
				itemCreated = player.GetInventory().CreateInInventory("Chemlight_White");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 4: //Set with number 4   (Сет с номером 4)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalPants_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("Balaclava3Holes_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_Flecktarn");
                itemCreated = player.GetInventory().CreateInInventory("BG_UKAssVest_Flecktarn");
				itemCreated = player.GetInventory().CreateInInventory("OMNOGloves_Gray");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 5: //Set with number 5   (Сет с номером 5)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_cargoPants_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_BalaclavaMask_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_TacticalGloves_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("BG_MilitaryBoots_BIBA");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			case 6: //Set with number 6   (Сет с номером 6)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				itemCreated = player.GetInventory().CreateInInventory("BG_RaiderPack_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("BG_PCU5Jacket_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("BG_cargoPants_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("Balaclava3Holes_Green");
				itemCreated = player.GetInventory().CreateInInventory("BG_BoonieHat_BOZ");
				itemCreated = player.GetInventory().CreateInInventory("OMNOGloves_Gray");
				itemCreated = player.GetInventory().CreateInInventory("MilitaryBoots_Black");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("Heatpack");
				itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan");
				itemCreated = player.GetInventory().CreateInInventory("CombatKnife");
				itemCreated = player.GetInventory().CreateInInventory("PetrolLighter");
				itemCreated = player.GetInventory().CreateInInventory("IMP_Bottle_BottlePouch_Green");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = player.GetInventory().CreateInInventory("Mag_Glock_15Rnd");
				itemCreated = NULL;
				itemCreated = player.GetHumanInventory().CreateInHands("Glock19");
				if (itemCreated)
				{
					itemCreated.GetInventory().CreateAttachment("PistolSuppressor");
				}
				break;
			}
			
			default: //Default starting spawn set (Сет поумолчанию для всех игроков, если хотите назначить - добавляйте здесь!)
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player);
				DefaultSets(player);				
				break;
			}
		}
	}
	
	void SetRandomHealthItem(EntityAI itemCreated) // Функция генерирует и применяет для предмета рандомное значение здоровья!
	{
		if ( itemCreated )
		{
			private int rndHlt = Math.RandomInt(55,6);
			itemCreated.SetHealth("","",rndHlt);
		}
	}
	
	void DefaultSets(PlayerBase player) // Функция выдает сеты игрокам, не прописанным в конфигурации скрипта!!!
	{
		EntityAI itemCreated = NULL;
		EntityAI itemCreated1 = NULL;
		ItemBase itemCasted = NULL;
		
		itemCreated = player.GetInventory().CreateInInventory("BG_TaloonBag_SpawnSet");
		itemCreated = player.GetInventory().CreateInInventory("BalaclavaMask_Black");
		itemCreated = player.GetInventory().CreateInInventory("BG_HikingBoots_SpawnSet");
		itemCreated = player.GetInventory().CreateInInventory("BG_TrackSuitPants_SpawnSet");
		itemCreated = player.GetInventory().CreateInInventory("BG_Hoodie_SpawnSet");
		itemCreated = player.GetInventory().CreateInInventory("WorkingGloves_Beige");
		itemCreated = player.GetInventory().CreateInInventory("SteakKnife");
		itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
		itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
		itemCreated = player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
		itemCreated = player.GetInventory().CreateInInventory("Heatpack");
		itemCreated = player.GetInventory().CreateInInventory("Heatpack");
		itemCreated = player.GetInventory().CreateInInventory("Heatpack");
		itemCreated = player.GetInventory().CreateInInventory("Chemlight_Blue");
		itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
		itemCreated = player.GetInventory().CreateInInventory("BandageDressing");
		itemCreated = player.GetInventory().CreateInInventory("Rice");
		itemCreated = player.GetInventory().CreateInInventory("SodaCan_Kvass");
		itemCreated = itemCreated.GetInventory().CreateInInventory("Apple");
		itemCreated = NULL;
		itemCreated = player.GetHumanInventory().CreateInHands("MakarovIJ70");	
		
		// ниже пример, если вам нужно задать свои точки спавна для всех игроков. Этот код можно также использовать и для каждого сета индивидуально!
		// Код закомментирован, если это надо - раскомментируйте!
		// начало кода точек спавна игрока
		
		private array <vector>  spawnpoints = 
		{
			"7215.337891 252.860779 6954.212891",
			"7218.308105 252.935974 6974.276855",
			"7225.948242 252.862625 7001.748535",
			"7234.638184 253.752472 7035.562012"
		};
		private vector selected_spawnpoint = spawnpoints.GetRandomElement();
		
		/*private int random_set_number = Math.RandomIntInclusive(1,6); // генерируем рандом номер сета от 1 до 6 включительно (по значениям блоков case ниже)
		switch( random_set_number ) //Раздаем лут (можно использовать значения от 1 и выше, только не 0 и не -1)
		{
			case 1: //Set with number 1 (Сет с номером 1)
			{			
				break;
			}
			
			case 2: //Set with number 2  (Сет с номером 2)
			{
				break;
			}
			
			case 3: //Set with number 3   (Сет с номером 3)
			{
				break;
			}
			
			case 4: //Set with number 4   (Сет с номером 4)
			{
				break;
			}
			
			case 5: //Set with number 5   (Сет с номером 5)
			{
				break;
			}
			
			case 6: //Set with number 6   (Сет с номером 6)
			{
				break;
			}
			
			default: //Default starting spawn set (Сет поумолчанию для всех игроков, в случае если ни один из сетов выше не выпал.
			{
				My_Custom_Spawn_Parameters.RemoveAllItems(player); // Чтобы удалить с персонажа уже имеющиеся стандартные стартовые шмотки раскомментировать строку
				break;
			}
		}*/
		player.SetPosition(selected_spawnpoint);	
	}
}

 

Спасибо большое! работает!

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

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


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

Подскажите  какую строку этого мода отредактировать/удалить , чтоб в script.log не писалось каждые 2 минуты 

 

[25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [ReadAndUpdateSettings]  Started Reading config!
SCRIPT       : [25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [ReadFileConfig] Open file config: $profile:CustomSpawnPlayerConfig.txt
SCRIPT       : [25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 11111111111111111 with 1 spawnpoints.
SCRIPT       : [25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 11111111111111111 with 1 sets.
SCRIPT       : [25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Detected for 11111111111111111 skin SurvivorM_Oliver
SCRIPT       : [25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [ReadAndUpdateSettings] config readed successfull!

 

SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [ReadAndUpdateSettings]  Started Reading config!
SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [ReadFileConfig] Open file config: $profile:CustomSpawnPlayerConfig.txt
SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 11111111111111111 with 1 spawnpoints.
SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 11111111111111111 with 1 sets.
SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Detected for 11111111111111111 skin SurvivorM_Oliver
SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [ReadAndUpdateSettings] config readed successfull!

. . .

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


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

Подскажите  какую строку этого мода отредактировать/удалить , чтоб в script.log не писалось каждые 2 минуты 

 

[25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [ReadAndUpdateSettings]  Started Reading config!
SCRIPT       : [25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [ReadFileConfig] Open file config: $profile:CustomSpawnPlayerConfig.txt
SCRIPT       : [25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 11111111111111111 with 1 spawnpoints.
SCRIPT       : [25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 11111111111111111 with 1 sets.
SCRIPT       : [25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Detected for 11111111111111111 skin SurvivorM_Oliver
SCRIPT       : [25.04.2022 - 19.44.44] [CustomSpawnPlayerConfig] [ReadAndUpdateSettings] config readed successfull!

 

SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [ReadAndUpdateSettings]  Started Reading config!
SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [ReadFileConfig] Open file config: $profile:CustomSpawnPlayerConfig.txt
SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 11111111111111111 with 1 spawnpoints.
SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 11111111111111111 with 1 sets.
SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [LoadFileConfig] Detected for 11111111111111111 skin SurvivorM_Oliver
SCRIPT       : [25.04.2022 - 19.46.44] [CustomSpawnPlayerConfig] [ReadAndUpdateSettings] config readed successfull!

. . .

override void OnInit () 
    {
		super.OnInit();
		GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(My_Custom_Spawn_Parameters.Read_Update_Config, 120000, false); // Обновление настроек скрипта кастомных спавнов, 1 минута = 60000
	
    }

init_mod.c меняем кусок на вот такой и не будет

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


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

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

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

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

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

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

Войти

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

Войти сейчас

  • Похожие публикации

    • Автор: paranoyk
      ©(краткая ода как я выносил себе мозг с помощью лута)
      Настроить лут на сервере постарались сразу после релиза ибо многое "не там и не тут"....
      Первая фигура Марлезонского балета.
       
         Файлов которые отвечают за лут прямым и коственным образом,судя по всему мнго,но настройки которые нам доступны сосредоточены в папке mpmissions\dayzOffline.chernarusplus  и mpmissions\dayzOffline.chernarusplus\db
       
      cfglimitsdefinition.xml -файл в котором обозначены категории лута, тэги спавна, классы объектов для спавна и зоны спавна.(если я правельно понял,в информатике это называеться "заданием классов" или как то так). Даллее с чем я экспериментировал.
       
              <category name="......."/> Спавнящийся лут имеет (а может и не иметь) определенную категорию и только одну. Сюда можно вписать свою категорию и давать её предметам.(в файле тайпс)
         Тэги...  в ванили
              <tag name="floor"/>
              <tag name="shelves"/>
              <tag name="ground"/>
      Лут может иметь или не иметь, для более точного "определения" что и где должно спавнится. Можно вводить свои и потом в mapgroupproto.xml вставлять в нужном мест. Если нет-спавнятся везде, если для лута есть тэг, только в тех местах где тэг присутствует .("пол"," полка","земля"-всего лишь для удобства и понимания, можно назвать тэг хоть "мистер питкин", без кирилицы ебстестенно, вводится в другом файле о чём ниже)
         Классы объектов для спавна
              <usage name="......."/> Стационарные объекты имеют в своём обозначении один или несколько таких классов имён. Легко можно прописать свой и дать его категории стационарных объектов или объекту. (правда уникальных объектов на карте-раз,два и обчёлся). Опять таки используется в тайпс. Лут может иметь или нет. (насчёт нескольких-не проверял, но не советую).
      Прописав свой к примеру "MyBox"....и потом в mapgroupproto.xml у военных контейнеров убрав все классы и оставив только этот, в нём будут спавниться только те предметы которым вы в "тайпс" пропишите данную категорию. Так же есть на карте СЕ в виде пятен, минус в том что нанесены они небрежно, результат-спавн к примеру медпредметов в машинах и киосках больницы Черногорска. Любой объект попавший в ореол получит спавн только обозначенного ореола. (после патча 1.20 стало проблематично сразу ввести новый класс, мгновенно ломается вся экономика. Приходится несколько раз пробовать с разными именами)
         Зоны спавна
              <value name="....."/> Тиры и иже с ними. Глобальные зоны на карте для определения спавна. Лут может иметь несколько или ни одного. Будет спавнится только там, если не оговорено особые условия. см опис. тайпс) И как они нанесены на карту-опять таки СЕ редактор... (картинка устаревшая).

      Они могут накладыватся друг на друга. Так же их можно редактировать в редакторе СЕ.
       
      mapgrouppos.xml - Файл в котором определяться координаты точки "карты" лута для каждого обьекта.(мдя,чего я счас сморозил то)
      То есть указывает спавнеру "в этой точке будет спанится лут по "сетке" из файла mapgroupproto " и если там ЕСТЬ описание. Это не место спавна лута конкретно, а место спавна массива координат по которым спавнится лут. Проще всего это понять если у вас есть нормальный маппинг со спавном....и убрать маппинг-лут будет спавнится в старых местах и даже висеть в воздухе. (получить все точки для "спавна" можно с помощью команд в init )
      Пример:
          <group name="Land_Misc_FeedShack" pos="80.255409 113.792282 4422.158691" rpy="-0.000000 0.000000 -70.013718" a="160.013718" />
       
      Land_Misc_FeedShack - название обьекта из файла mapgroupproto ,его ID...Можно написать хоть "Мой генимальный спавн". И спавнер если найдёт в mapgroupproto объект с таким названием-заспавнит лут по сетке. (вот ещё способ как модифицировать спавн лута).
      pos="80.255409 113.792282 4422.158691" rpy="-0.000000 0.000000 -70.013718" - координаты центра "карты" лута для этого обьекта, совпадают с координатами обьекта
      формат записи X-Y-Z завал,наклон,поворот.
      a="........" Вектор поворота карты лута обьекта относительно самого обьекта.
      Как он определяется - экспериментально выяснил в принципе....(угол поворота объекта - 90)х(-1)...как то там ещё можно возиться переводить с +360, но я просто пишу полученное значение и всё работает.
      Да-да,именно тут прописывается что в вашей точке появляется лут и если он имеет прописанную сетку лута в mapgroupproto .(имееться ввиду в оффлайн редакторе поставив "француз"-тут вы пропишите в него лут,как прописать в он-лайн сам обьект-другая история под названием "возврат водяных колонок"). Сам объект НЕ НУЖЕН даже. Он всего лишь декорация карты и для спавна ка видите НЕ НУЖЕН.
       
      mapgroupproto.xml - Файл в котором прописана "карта" лута для объекта. Вначале идёт описание для "дефолта" ,то есть деревьев и растений,а также камней! (тут я не понял,но ...это нам и не нужно,яблоки падают и хорошо..)
      Пример:
              <group name="Land_Tisy_Barracks"> - название обьекта, ID ИЛИ придуманный вами обьект.
                      <usage name="Military" /> - класс имени обьекта,может быть не один. (а если вы ввели свои-писать именно сюда)
                      <container name="lootFloor" lootmax="8"> - имя "контейнера" и максимальное количество лута которое может там появиться.(количество лута может быть и не обозначено,но если есть-никогда не будет больше чем количество точек спавна что ниже. НЕ РАБОТАЕТ- можно даже не мучатся, есть подозрения что количество лута ни как не изменить именно этой переменной для обьекта. )
                              <category name="tools" /> - класс лута который будет спавниться в данном "контейнере" ,может быть не один.                      
                             <tag name="ground" /> - тэг лута который будет спавнится.(может быть несколько). Спавн лута с этим тэгом. Если у лута нет тэга-спавн ТОЖЕ.
                              <point pos="-2.429444 -3.799637 3.698242" range="1.199951" height="2.000000" flags="32" /> - точка спавна лута, расстояние по X-Y-Z от центральной точки "карты лута" (где она,можно выяснить только эксперементально для каждого обьекта или в редакторе или...с помощью мода).
      range="......." радиус спавна от заданной точки, то есть в этом "круге" будет спавниться лут.(не точно,если обьект имеет большие линейные размеры-не заспанится)
      height="........."-высота объекта спавна,как я понял....(не точно,если обьект имеет большие линейные размеры-не заспавнится)
      flags="32" -  указание что спавн лута будет на уровне земли игнорируя координаты по высоте. Грубо говоря к примеру если спавн вокруг елки рождественской -весь лут будет лежать на земле. Вокруг ёлки. Или округ "воображаемой точки", если надо.
      ниже всё тоже самое, но для своего "контейнера" данном здании.То есть обьект может иметь несколько контейнеров.
      </container> <container name="lootshelves" lootmax="8"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <tag name="shelves" /> <point pos="0.968751 -3.434326 7.507324" range="0.581250" height="0.532341" /> .................................................. </container> <container name="lootweapons" lootmax="8"> <category name="weapons" /> <category name="explosives" /> <point pos="3.985354 -3.434326 6.267576" range="0.478125" height="0.533684" /> ................................................... </container> </group>  
      cfgrandompresets.xml - Файл в котором мы найдём так называемые "грузы"-группы предметов спавнящихся в предметах,зомби и тому подобное....(судя по всему сделано для удобства)
              <cargo chance="0.35" name="foodVillage"> - шанс появления  и его название.
      Тут маленькое отступление. Поначалу я тоже думал что это какие то проценты, да так легче воспринимать. Но таки и немного не так. Просто опишу как спавнер "думает".
      "Обьект имеет спавна внутри, получаем псевдослучайное число от 0 до 1. Сравниваем. Псевдочисло больше-нет спавна, иначе-спавн есть". Будем привычно называть его "шанс" и обозначим его как проценты, но ещё раз это НЕ ПРОЦЕНТЫ в прямом смысле.
                      <item name="SodaCan_Cola" chance="0.11" /> - название (ID) предмета и его шанс выпадения
      .......................................................................
                      <item name="SpaghettiCan" chance="0.11" />
                      <item name="BakedBeansCan" chance="0.11" />
              </cargo>
       То есть "груз" foodVillage может выпасть в 35% случаев, если условее истинно,то может выпасть предмет из списка с вероятностью которая задана для предмета или ,если ни один предмет не прошёл-то опять таки ничего не выпадет. Выпадает только один предмет из списка, так и не выяснил,влияет ли очерёдность списка предметов или нет. То есть возможностей настройки тут-море,кто хорошо разбираеться в теорией вероятности поймёт данный раздел влёгкую.
      Дополненно. Судя по всему спавнер не перебирает все предметы,а выбирает "случайно" какой тоодин и проверяет его.
       
      Можно создавать свои собственные "миксы"....к примеру.
      </cargo> <cargo chance="1.0" name="mixOptics"> <item name="PUScopeOptic" chance="0.33" /> <item name="PSO1Optic" chance="0.33" /> <item name="HuntingOptic" chance="0.3" /> </cargo> То есть "микс" появиться стопроцентно в объекте из него может выпасть....с вероятностью 33% ...перечисленные вещи.
      Важно помнить,что если размер "контейнера" маленький (к примеру мишка),то в нём ни как не заспавниться ПСО-1. Размер имеет значение.
       
      cfgspawnabletypes.xml - Список тех вещей, "контейнеры" в которых спавняться наборы из прошлого файла.
      Так же можно прописать спавн в контейнер отдельной вещи.
      И самое важное!
      Именно тут можно указать степень износа заспавненых вещей по отдельности, если степень износа не указана-вещь будет иметь износ зданный в файле globals.xml, это строчки:
      "LootDamageMax" и "LootDamageMin" .
      Но это не относится что спавнится в них, то есть наборы грузов, аттачменты и сами грузы в контейнере всегда будут "идеальны".....(но контейнером может стать и обычная вещь!)
      Тут же прописывается аттачменты если они есть и вы хотите заспавнитьвещь с прикреплёным аттачем.
          <type name="ammobox"> - название (ID) вещи-контейнера.
          <damage min="0.0" max="0.0" /> - этой строчки может и не быть, тогда износ будет взят из "глобалс". Означает что лут будет иметь при спавне не меньше едениц урона и не больше. То есть если выствите
      min=0.2 то лут всегда будет всегда иметь при спвне 20% урона. Не меньше, максимальный урон это max, поставите к примеру 0,9 то вещи даже заруиненые будут спавнится.
      Пороги когда вещь считается неповреждённой,а когда поношеной и тк.дл.-в другом файле и меняется уже сервер модом.
           <cargo preset="optics" /> -название набора который может появиться внутри с шансом( как было описано выше)....
      ........................................
              <cargo preset="ammoArmy" />
          </type>
      То есть можно прописать несколько наборов и если из каждого заспавниться вещь,то ограничение только "размер" контейнера и вещей.
      Так же тут есть наборы аттачей для зомби, о них ниже, собраны примерно также.
       
      Вторая фигура Марлезонского балета.
       
      <type name="ZmbM_PatrolNormal_Autumn"> <cargo preset="foodArmy" /> <cargo preset="ammoArmy" /> </type>   Вот вам и первый "ходячий" контейнер.....Увеличив к примеру в cfgrandompresets.xml шанс выпадения данных наборов-получите "доставщиков пиццы на дом".
      Но не в каждом зомби такой набор и опять таки,вы можете их менять,добавлять,убирать....
      А так же для зомби тут прописано что них может быть одето в виде аттачей. Не все зомби такое могут,смотреть нужно по ванильным файлам.
      Пример:
      <type name="ZmbM_HunterOld_Winter">-наш подопытный <cargo preset="foodHermit" />-набор лута в зомби <cargo preset="toolsHermit" />-набор лута в зомби <attachments preset="glassesVillage" />-какой набор может прирепится на местоаттача (очки в данном случае) <attachments preset="hatsFarm" />-какой набор может прирепится на местоаттача (кепка в данном случае) <attachments preset="bagsHunter" />-какой набор может прирепится на местоаттача (рюкзак в данном случае) <attachments preset="vestsHunter" />-какой набор может прирепится на местоаттача (разгрузка\броник в данном случае) </type> (очки ни когда не прописывайте-не работают)
       
         А дальше-оружие...(так,дышите глубже)
       
          <type name="CZ61"> - ID оружия
              <attachments chance="0.10"> -Шанс что на нём будет прикреплён аттачмент 10%
                  <item name="AK_Suppressor" chance="1.00" /> - шанс появления самого аттачмента 100%
      (не факт что так и надо,просто так проще высчитыывать процент появления аттачементов на оружии)
              </attachments>
              <attachments chance="0.30"> -то же самое и для другого аттачмента,обратите внимание,что мы не смешиваем в одну кучу "глушители и магазины"...
                  <item name="Mag_CZ61_20Rnd" chance="1.00" />
              </attachments>
          </type>
      А если хочется "АКМ" что бы мог спавниться в полном обвесе?
      А легко...
      <type name="AKM"> <damage min="0.0" max="0.5" /> <attachments chance="1.00"> <item name="AK_WoodBttstck" chance="0.80" /> <item name="AK_PlasticBttstck" chance="0.30" /> <item name="AK_FoldingBttstck" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="AK_WoodHndgrd" chance="0.80" /> <item name="AK_PlasticHndgrd" chance="0.30" /> <item name="AK_RailHndgrd" chance="0.10" /> </attachments> <attachments chance="0.30"> <item name="Mag_AKM_30Rnd" chance="1.00" /> </attachments> <attachments chance="0.30"> <item name="AK_Suppressor" chance="0.50" /> </attachments> Видим что он может появляться с разными прикладами, цевьями, может с глушителем или без,с магазином или без....(хотите,можете и ПСО ему прописать).
       
      Как видитев в этом файле нет многих вещей, тут нет ни ИЖ18,ни МП133....и они,гады спавняться всегда как прописано в globals.....Стоит добавить
          <type name="Izh18">
               <damage min="0.0" max="0.2" />
          </type>
      .....и ИЖ18 будет спавниться с дамагом который вы установили!
      Думаете это всё?....Индейское жилище-фигвам!
      Машины!....
      <type name="OffroadHatchback"> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.60" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.60" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="CarRadiator" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="CarBattery" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HeadlightH7" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HeadlightH7" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackDoors_Driver" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HatchbackDoors_CoDriver" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HatchbackHood" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="HatchbackTrunk" chance="0.20" /> </attachments> </type> Это он так выглядит сейчас вроде...раньше было всё намного хуже...Машина стандартно спавнилась с ОДНИМ колесом.
      Можете изменить аттачментам шансы хоть до "1.00" что бы машина спавнилась сразу собранная.(залить в неё жидкости-знает Боррзик,описывал на форуме,ищите).
      Правда мы подло могЁм положить в машину.....бензин,масло...можно и ремкомплект.
       
              <attachments chance="1.00">
                  <item name="SparkPlug" chance="0.6" />
              </attachments>
              <attachments chance="1.00">
                  <item name="EngineOil" chance="0.5" />
              </attachments>
              <attachments chance="1.00">
                  <item name="EngineOil" chance="0.5" />
              </attachments>
              <attachments chance="1.00">
                  <item name="EngineOil" chance="0.5" />
              </attachments>
       
      (в этом же файле,ПОЗЖЕ,появились и рождественские наборы...но было уже поздно-бегемоты должны быть повешаны!)
      Дальше мы можем мелочь привесть к предметам,обычно это батарейка
      Но можно и "предмет в предмете"! Поле для извращений-огромно.
      Как пример:
       
      <type name="PersonalRadio"> <attachments chance="0.30"> <item name="Battery9V" chance="1.00" /> </attachments> </type> <type name="GPSReceiver"> <attachments chance="0.30"> <item name="Battery9V" chance="1.00" /> </attachments> </type> Файлы с названием по типу mapgroupcluster.xml -это тот же mapgrouppos для камней, грибов,яблок и прочего.
      Глыбжее,ширее,нижее. Преходим в папку db
       
      events.xml - файл в котором описаны "случайные"  события,такие как зомби,полицейская волга, хеликраш, адми...тоесть петух!, ну и прочие коровы и звери.
      Например
       
          <event name="AnimalCow"> -название ивента. Можно прописывать свои НО! Название ивента может начинатся ТОЛЬКО строго определенно.
      аnimal - события с животными.
      static - для спавна статичных ивентов типа Ми-8 или дома...
      item - Для различных игровых предметов,как пример в ванили - блок досток.
      Infected-зомби
      Trajectory - спавн грибов,ягод и прочих камней
       
      <nominal>10</nominal> - Колличество ивентов на карту единомоментно.То есть сразу. Именно ИВЕНТОВ. Десять машин, десять СТАЙ волков, десять ТОЧЕК спавна зомби....(может и меньше если невозможно заспавнить ивент из-за других условий, к примеру наличие игрока на спавне)

      <min>6</min> -  минимальное количество дочерних объектов указанных в <children> в ивенте
      <max>15</max> - максимальноеколичество дочерних объектов указанных в <children> в ивенте
      (обычно для стай волков и прочих живых организмов)
      Причем от 6 до 15 ВСЕХ вписанных <children>. А вот сколько конкретно каждого,это  уже в них настраивается

       <lifetime>180</lifetime> - "время жизни" события Именно СОБЫТИЯ. То есть заспавнаня ивентом машина-пока стоит на точке спавна-это СОБЫТИЕ,как только вы отехали-это уже лут и время её жизни будет считыватся с (не кночи будет помянут сей файл) тайпса.

       <restock>0</restock> - на сколько будет отложен спавн ивента до номинала, когда остальные условия для начала ивента выполнены.
      Думате если два хеликраша они исчезнут и заспавнятся одновременно? Ага,счасЗъ. Тут зависит от много,даже от взаимодействия с ними игрока.

      <saferadius>200</saferadius> - это расстояние от позиции игрока, на котором может возникнуть это событие.(поставте для интреса 50 для зомби:)))
       <distanceradius>0</distanceradius> - минимальное расстояние от другого события.(очень актульно для машин, решать вам)
      <cleanupradius>0</cleanupradius> - это расстояние от позиции игрока, на котором событие исчезнет после того, как время жизни закончится. (добвлено- для хеликрашей имхо лучше ставить ОЧЕНЬ большое,с хороший километр)
      <secondary>InfectedArmy</secondary> - это имя другого события, которое вы хотите вызвать одновременно с этим событием, например, чтобы вызвать зомби вокруг здания или предмета. Настраивается в дочернем событии.(можно создать свой, но смешать зомбей с волками-не получится, генетика не та)
      <flags deletable="0" init_random="0" remove_damaged="1" sec_spawner="0"/> -флаги настройки
      deletable 1/0 - ивент удалятеся согласно параметрам самого события или по истечению времени в тайпс (не точно)...ИМХО
      init_random 1/0 - ???
      remove_damaged 1/0 -  будет ли событие удаляться если достигла состояния "уничтожено" или останется лежать до истечения срока события.(актуально для машин...но ТОЛЬКО НА ТОЧКЕ СПАВНА!)
      sec_spawner="0" - сорри не знаю, а чего не знаю-не меняю.
      <position>fixed</position>
      <position>player</position> - позиция будет выбираться из зафиксированых в файле cfgeventspawns.xml или событие срабатывает "на игрока".

      <limit>.......</limit> - может быть следующии
      custom - относится к внешнему файлу, например, для территорий животных.
      child - событие будет обращатся к атрибутам min и max каждого дочернего элемента
      parent - lотносятся к минимальным и максимальным атрибутам самого события
      mixed -  будет учитыватся и дочерние и собсвенное min-max события
       
      <active>1/0</active> - включение и выключение события.(Вот она кнопка!)
       
       <children>
                  <child lootmax="0" lootmin="0" max="3" min="0" type="Animal_BosTaurusF_Brown"/>
      lootmax="0" lootmin="0" ....если предмет имеет сетку лута или контейнер -колличество лута при спавне (а теперь фокус, если в ивенте есть <secondary> с зомбями то их колличество будет равно.... мин + макс)
      max="3" min="0" ......минимальное и максимальное колличество дочерних обьектов. (к примеру-коров данного типа в стаде)
       
      types.xml-великий и ужасный.Содержит в себе данные о всём спавнещемся луте и контейнерах (хеликраши,машины,зомби-по сути-контейнеры).
      Всякий лут должен быть в этом файле иначе-нет его спавна на карте. Также и синтаксическая ошибка в этом файле приводит к исчезновению всего лута с карты.
      Если из него убрать что-то,(но этот предмет останеться лежать на земле до истечения срока)....и игрок его поднимет-краш.Так что файл требует трезвого ума и терпения.
       
          <type name="Canteen"> - Название ID предмета
              <nominal>30</nominal> -номинальное колличество спавна на карте к которому стремиться "спавнер".
              <lifetime>7200</lifetime> - время "лежания" предмета после спавна ( а также судя,по всему-время после падения на землю с игрока).в сек. (на параметр не влияет ускорение времени на сервере, но влияет параметр из скриптс-"колличество тактов в секунду")
              <restock>0</restock> - на сколько будет отложен спавн предмета до номинала, когда остальные условия для начала спавна выполнены. "задержка спавна".
              <min>20</min>- минимальное колличество предмета на карте после которого начинаеться работа спавнера.
              <quantmin>-1</quantmin> - если предмет "бутылка-магазин"-степень его наполнения минимальная - Для остальных значение -1
              <quantmax>-1</quantmax> - если предмет "бутылка-магазин"-степень его наполнения минимальная - Для остальных значение -1
             (теперь это значение работает и для оружия у котрого нет "сьёмного" магазина, типа СКС или 133 ружжа)
              <cost>100</cost> - приоритет спавна грубо говоря. чем меньше-тем ниже будет вещь в очереди.
              <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> -Флаги спавнера, они указывают в каких типах объектов считать nominal и min значения:
      count_in_cargo - считает все предметы в контейнерах, ящики, рюкзаки, включая автомобили
      count_in_hoarder - будет считаться в таких вещах как закопанные предметы, бочки, сундуки и всевозможные палатки
      count_in_map - объекты, размещенные на карте (здания)
      count_in_player - внутри инвентаря игроков, исключая руки (учёт для игроков онлайн, проверяется)
      crafted - указывает на то, что данный предмет может быть закрафчен игроками
      deloot - указывает что это объекты для спавна на динамических ивентах (событиях). (хеликрашыи, крушения поездов, дтп и прочее)
              <category name="food"/> -категория лута ,может быть ТОЛЬКО одна.
              <tag name="shelves"/> - тэги для настройки точек спавна
              <usage name="Military"/> - класс  лута может быть не один.
              <value name="Tier2"/>  - Зоны в каких будет спавниться лут
              <value name="Tier3"/>
              <value name="Tier4"/>
          </type>
      Если по простому,то "фляжка" будет спавниться в колличестве 30 штук постоянно в зонах 2-3-4 на военных обектах где возможно появление еды с использованием тэга shelves, то есть если в объекте совпадает в начале описания в mapgroupproto.xml,класс,категория,тэг -то предмет заспаниться в точке спавна,которые в этом же файле,для обьекта на карте из файла mapgrouppos.xml
      <type name="ACOGOptic"> <nominal>20</nominal> <lifetime>7200</lifetime> <restock>1800</restock> <min>15</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="weapons"/> <usage name="Military"/> </type> <type name="AgaricusMushroom"> <lifetime>900</lifetime> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="1" deloot="0"/> </type> как видите,есть даже грибы,которые спавняться динамически.
      И на закуску...
       
      (если вещевые или другие моды перезаписывают эти файлы,то следите за тем что бы они сливались в экстазе,а не выпихивали друг друга)
      По идее-ничего сложного,даже я разобрался.....почти.
       
      Третья фигура Марлезонского балета....
      Пара примеров....
      <type name="StartKitIV"> <nominal>50</nominal> <lifetime>7200</lifetime> <restock>0</restock> <min>40</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="tools"/> <tag name="shelves"/> <value name="Tier1"/> <value name="Tier2"/> <value name="Tier3"/> <value name="Tier4"/> </type> Это "квадратик" или....гхм!. Что видим?Лут из категории "инструменты",спавниться постоянно в местах с тэгом,по всей карте....А какой он категории?А ни какой,вот и спавниться,хоть на лодках на берегу,хоть на вышке.
      Добавляем категорию...
      <type name="StartKitIV"> <nominal>50</nominal> <lifetime>7200</lifetime> <restock>0</restock> <min>20</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="tools"/> <tag name="shelves"/> <usage name="Medic"/> <value name="Tier1"/> <value name="Tier2"/> <value name="Tier3"/> <value name="Tier4"/> </type> Всё,теперь только на обьектах с классом "медик"-как и положено. (бегемоты должны быть повешаны!)....
      Обьект радиовышка,кто лазил на неё,тот помнит что на ней спавнился полецейский лут. Почему?
      А смотрим mapgroupproto.xml
      <group name="Land_Tower_TC1"> <usage name="Village" /> <usage name="Industrial" /> <usage name="Police" /> <container name="lootFloor"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <category name="weapons" /> <category name="books" /> <category name="explosives" /> <point pos="-0.454809 14.404877 0.712779" range="0.314223" height="0.785558" /> <point pos="-0.582537 14.404785 0.034267" range="0.375000" height="0.913483" /> <point pos="0.773581 14.405716 0.067886" range="0.375000" height="0.915054" /> <point pos="-0.448550 14.404892 1.860424" range="0.432076" height="1.080190" /> <point pos="0.641068 14.405640 1.884647" range="0.512500" height="1.279480" /> <point pos="-1.132879 -1.965958 1.837671" range="0.581250" height="1.453125" /> <point pos="0.925214 -1.964554 -0.245559" range="0.821875" height="1.996796" /> <point pos="-0.880515 -1.965805 -0.105441" range="0.821875" height="2.000610" /> <point pos="0.998695 -1.964493 1.724339" range="0.890625" height="1.996490" /> </container> Лут категории "инструмент","контейнер"...."оружие" классов ...Да,"Полиция".....Удаляем нафинг полицию!
      <group name="Land_Tower_TC1"> <usage name="Village" /> <usage name="Industrial" /> <container name="lootFloor"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <category name="weapons" /> <category name="explosives" /> <point pos="-0.454809 14.404877 0.712779" range="0.314223" height="0.785558" /> <point pos="-0.582537 14.404785 0.034267" range="0.375000" height="0.913483" /> <point pos="0.773581 14.405716 0.067886" range="0.375000" height="0.915054" /> <point pos="-0.448550 14.404892 1.860424" range="0.432076" height="1.080190" /> <point pos="0.641068 14.405640 1.884647" range="0.512500" height="1.279480" /> <point pos="-1.132879 -1.965958 1.837671" range="0.581250" height="1.453125" /> <point pos="0.925214 -1.964554 -0.245559" range="0.821875" height="1.996796" /> <point pos="-0.880515 -1.965805 -0.105441" range="0.821875" height="2.000610" /> <point pos="0.998695 -1.964493 1.724339" range="0.890625" height="1.996490" /> </container> </group> Теперь в лучшем случае дробаш там будет.
       
      Ну,как то так....

      Запрещено копирование данной статьи без соглосование с Администрацией и автором на другие ресурсы. All Rights Reserved
    • Автор: BR0wi
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Подскажите как удалить точки спавна лута после удаления ванильных объектов через дейз эдитор. А то гадость какая-то получается, объектов нет, а лут спавнит.
      Пытался найти точки по примерным коордмнатам в файле mapgrouppos.xml, но что-то как-то не получается, да и объектов слишком много удалено, вручную так искать несколько дней уйдет. Кто-нибудь владеет информацией на этот счет?
      Заранее спасибо.
    • Автор: Plut
      Доброго дня! 
      Ув. форумчане., такая проблема: берем лут и кладем в рюкзак(любой), рюкзак кладем в спец слот для рюкзаков машины, а после РР все что было в рюкзаке вываливается на землю под машину, а сам рюкзак(который в спец слоте маашины) оказывается пуст.  При этом в бочках и ящиках/сундуках все отлично сохраняется. 
       
      Может быть связанно, но когда рюкзак в машине, то в него ничего не положить(в отличии от бочек и ящиков), приходится брать его в руки, наполнять хламом и класть в специальный для него слот. 
       
      Памагити, пасиба. 
    • Автор: vitacite
      Квест на аномалии. Участники - любые игроки. 3 НПС, 3 Анимированных аномалии (пока без дамага), 3 квестовых предмета - детектор аномалий, карта сокровищь и журнал с девчонками ?
      Выглядит это так...
       

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

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

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

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

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

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

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

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

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

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
       
      Мануаль по установке тут....
      Обновление от 19.01.2016
      https://github.com/olkeakavitacite/EQP_Anomaly/
      Так же находится описание, как и чего делать.
       
    • Автор: DrTauren
      DZAI создана простой, легко настраиваемой, лёгкой в установке системой. Она создана для работы с любыми DayZ-модами и картами.

      Особенности системы:
      Статичный спавн ботов - в городах, деревнях, на военных базах Динамический спавн ботов - спавнятся рандомно по всей карте. Могут появиться где угодно и когда угодно Патрули на воздушной технике - патрули также появляются рандомно. Пешие игроки имеют маленький шанс быть обнаруженными, но игрокам на какой-либо технике повезло гораздо меньше  Сухопутные патрули на технике - появляются так же рандомно, курсируют по дорогам между городами и деревнями Собственноручно настраиваемые патрули - спавните ботов и различные патрули в нужных вам местах. Например на ваших кастомных военных базах Боты используют только лутабельное оружие - вы можете подобрать любое оружие с убитого бота без каких-либо проблем, т.к. их лут генерируется с учётоб таблиц лута вашего мода. Чем реже лут у бота, тем он опасней (автор имеет ввиду скилл бота) Система жизней - боты имеют столько же жизней, как игрок. Точно так же могут упасть без сознания. Так что лучше стрелять по головам  
       
      Установка:
      1) Качаем архив: 
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      2) Распаковываем наш dayz_server.pbo, затем открываем файл server_monitor.sqf
      3) Находим строку:
      allowConnection = true; и добавляем над ней эту:
      [] call compile preprocessFileLineNumbers "\z\addons\dayz_server\DZAI\init\dzai_initserver.sqf"; 4) Копируем папку DZAI из скаченного архива в корень нашего dayz_server
      5) Настроить работу системы под себя вы можете в этом файле: DZAI\init\dzai_config.sqf
  • Наш выбор

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

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

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

Поддержка