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

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

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

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

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

Выдача лута игроку красивым способом

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

n = 0; while (n < 2){n++; itemCreated = player.GetInventory().CreateInInventory("BandageDressing");}				// Выдаем игроку Бинт
itemCreated = player.GetInventory().CreateInInventory("Morphine");													// Выдаем игроку Морфин
itemCreated = player.GetInventory().CreateInInventory("Epinephrine");												// Выдаем игроку Адриналин
itemCreated = player.GetInventory().CreateInInventory("TacticalGoggles");											// Выдаем игроку Такические очки
itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan_Opened");									// Выдаем игроку Бекон - открытый
if (random_top_food == 1)
	{n = 0; while (n < 3){n++; itemCreated = player.GetInventory().CreateInInventory("TacticalBaconCan_Opened");}	// Выдаем игроку дополнительно Бекон - открытый
n = 0; while (n < 2){n++; itemCreated = player.GetInventory().CreateInInventory("WaterBottle");}}					// Выдаем игроку дополнительно Бутылку с водой
if (random_surv_type > 1){itemCreated = player.GetInventory().CreateInInventory("WaterBottle");}					// Выдаем игроку Бутылку с водой
itemCreated = player.GetInventory().CreateInInventory("PurificationTablets");										// Выдаем игроку Хлорные таблетки
itemCreated = player.GetInventory().CreateInInventory("CharcoalTablets");											// Выдаем игроку Активированный уголь
n = 0; while (n < 2){n++; itemCreated = player.GetInventory().CreateInInventory("Heatpack");}						// Выдаем игроку Грелки
itemCreated = player.GetInventory().CreateInInventory("Battery9V");													// Выдаем игроку Батарейка
itemCreated = player.GetInventory().CreateInInventory("SalineBagIV");												// Выдаем игроку Комплект физраствора
if (y == 1) {itemCreated = player.GetInventory().CreateInInventory("ImprovisedSuppressor");}						// Выдаем самодельный глушитель

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

Лут распределяется хаотично, остаётся много места свободного не используемого.  Заранее както прописать не могу, так как сеты все разные, разная одежда итд. Хотелось бы хотябы понять, если я выдал сет, то как можно выдать лут например так. 

1. Если есть жилет, то в него патроны с обоймами

2. В куртку, например еду и хрень всякую.

3. В штаны, бинты

4. В рюкзак, все что габаритное.

 

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

 

Подскажите? 

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


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

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

  • 0

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

itemClothing = player.FindAttachmentBySlotName( "Body" );
        if ( itemClothing )
        {
            SetRandomHealth( itemClothing ); //  ВЕЩИ
            itemEnt = player.GetInventory().CreateInInventory( "Colt1911" ); // ПИСТОЛЕТ ГЛОК 19
            itemEnt = player.GetInventory().CreateInInventory( "Mag_1911_7Rnd" ); // ОБОЙМА 
            itemEnt = player.GetInventory().CreateInInventory( "Ammo_45ACP" ); // ПАТРОНЫ 45ACP
            itemEnt = player.GetInventory().CreateInInventory( "HuntingKnife" ); // ОХОТНИЧИЙ НОЖ
            itemEnt = player.GetInventory().CreateInInventory( "BaseballCap_Black" ); // ЧЕРНАЯ КЕПКА
            itemEnt = player.GetInventory().CreateInInventory( "FurCourierBag" ); // РЮКЗАК ИЗ МЕШКОВИНЫ
            if ( Class.CastTo( itemBs, itemEnt ) )
                itemBs.SetQuantity( 1 );

            string chemlightArray[] = { "Chemlight_White", "Chemlight_Yellow", "Chemlight_Green", "Chemlight_Red" };
            int rndIndex = Math.RandomInt( 0, 4 );
            itemEnt = itemClothing.GetInventory().CreateInInventory( chemlightArray[rndIndex] );
            SetRandomHealth( itemEnt );

            rand = Math.RandomFloatInclusive( 0.0, 1.0 );
            if ( rand > 0.15 )
                itemEnt = player.GetInventory().CreateInInventory( "Hatchet" ); // ТОПОР
            if ( rand > 0.35 )
                itemEnt = player.GetInventory().CreateInInventory( "TetracyclineAntibiotics" ); // АНТИБИОТИКИ 
                itemEnt = player.GetInventory().CreateInInventory( "CharcoalTablets" ); // АКТИВИРОВАННЫЙ УГОЛЬ
            if ( rand > 0.50 )
                itemEnt = player.GetInventory().CreateInInventory( "SodaCan_Cola" ); // КОЛА
                itemEnt = player.GetInventory().CreateInInventory( "Plum" ); // СЛИВА
            if ( rand > 0.75 )
                itemEnt = player.GetInventory().CreateInInventory( "WaterBottle" ); // БУТЫЛКА ВОДЫ
                itemEnt = player.GetInventory().CreateInInventory( "BakedBeansCan" ); // КОНСЕРВЫ
            if ( rand > 1.0 )
                itemEnt = player.GetInventory().CreateInInventory( "BandageDressing" ); // БИНТ
                itemEnt = player.GetInventory().CreateInInventory( "Flashlight" ); // ФОНАРИК
            SetRandomHealth( itemEnt );
        }
        
        itemClothing = player.FindAttachmentBySlotName( "Legs" );
        if ( itemClothing )
            SetRandomHealth( itemClothing );
            itemEnt = player.GetInventory().CreateInInventory( "Matchbox" ); // СПИЧКИ
            itemEnt = player.GetInventory().CreateInInventory( "Battery9V" ); // БАТАРЕЙКА 9V
            if ( Class.CastTo( itemBs, itemEnt ) )
                itemBs.SetQuantity( 1 );
        
        itemClothing = player.FindAttachmentBySlotName( "Feet" );
    }
};

 

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

Поддержка