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

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

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

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

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

Как повесить гранаты на жилет

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

itemCreated.GetInventory().CreateAttachment("M67Grenade");

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

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

1 - выдаю сет (только одежда, без жилета и броника)

2 - выдаю броню с каской или просто жилет по цвету согласно сета

3 - выдаю рандомно оружие согластно сета, топовое или нет + патроны.

4 - выдаю остальной лут, в том числе и гранаты

 

Почему не прописываю сразу гранаты при выдаче желета, потому как проще администрировать одну строку, чем куча дубляжей в 12 сетах.  Вариант думал сделать функцию и после  ее вставлять после выдачи жилета или броника, но мне кажиться это не совсем верный вариант. Видите ли я не все операторы знаю, есть какая-то база программирования, но щас с трудом все вспоминаю, поэтому мне кажется можно как-то вставить гранаты и потом. Возможно есть какой-то оператор в котором указывается что эту вещь нужно помесить на жилет. Как-то так. Можете помочь 

 

case 6: // Сет полевого Военного (черный)
{
	save_top_set = 6;  																		// Сохраняем в переменнуцю номер топового сета
	itemCreated = player.GetInventory().CreateInInventory("M65Jacket_Black");		        // Выдаем игроку Куртку						
	itemCreated = player.GetInventory().CreateInInventory("CargoPants_Black");		        // Выдаем игроку Щтаны
	itemCreated = player.GetInventory().CreateInInventory("BalaclavaMask_Black");		    // Выдаем игроку Маску
	itemCreated = player.GetInventory().CreateInInventory("OMNOGloves_Gray");		        // Выдаем игроку ПЕРЧАТКИ
	itemCreated = player.GetInventory().CreateInInventory("JungleBoots_Black");	            // Выдаем игроку обувь
					
	itemCreated = player.GetInventory().CreateInInventory("AssaultBag_Black"); 	            // Выдаем рюкзак	
					
	// ----- выдаем защиту или расгрузку ---- //
	random_set = Math.RandomIntInclusive(1,7);														// Случайным образом выбираем сет защиты
	//random_set = 1;  																				// Расскоментируйте, чтобы выбрать сет в ручном режиме	
					
	switch(random_set)
	{
		case 1: // Сет с Максимальной защитой NAC + шлем
		{
			save_top_weapon = 1;																	// Сохраняем в переменнуцю номер Защиты. Защита = TOP
							
			itemCreated = player.GetInventory().CreateInInventory("dzn_platecarriervest_nac");	    // Выдаем игроку броник
			itemCreated.GetInventory().CreateAttachment("dzn_platecarrierpouches_nac");				// Крепим карман на броник
			itemCreated = player.GetInventory().CreateInInventory("GorkaHelmet_Black");				// Выдаем игроку штурмовой шлем (черный)
			break;
		}
		case 2: // Сет с хорошей защитой + шлем
		{
			save_top_weapon = 1;																	// Сохраняем в переменнуцю номер Защиты. Защита = TOP
							
			itemCreated = player.GetInventory().CreateInInventory("PlateCarrierVest_Black");	    // Выдаем игроку броник (черный)
			itemCreated.GetInventory().CreateAttachment("PlateCarrierPouches_Black");				// Крепим карман на броник
			itemCreated = player.GetInventory().CreateInInventory("GorkaHelmet_Black");				// Выдаем игроку штурмовой шлем (черный)
			break;
		}
		case 3: // Сет с хорошим Бронижилетом
		{
			save_top_weapon = 1;																	// Сохраняем в переменнуцю номер Защиты. Защита = TOP
							
			itemCreated = player.GetInventory().CreateInInventory("PlateCarrierVest_Black");	    // Выдаем игроку броник (черный)
			itemCreated = player.GetInventory().CreateInInventory("WitchHood_Black");				// Выдаем игроку головной убор (черный)	
			break;
		}
		case 4: // Сет со Средней защитой + штурмовой шлем
		{
			save_top_weapon = 2;																	// Сохраняем в переменнуцю номер Защиты. Защита = MID
							
			itemCreated = player.GetInventory().CreateInInventory("dzn_ballisticvest_nac");	        // Выдаем игроку броник (черный)
			itemCreated = player.GetInventory().CreateInInventory("GorkaHelmet_Black");				// Выдаем игроку штурмовой шлем (черный)
			break;
		}
		case 5: // Сет со Средним бронижелетом
		{
			save_top_weapon = 2;																	// Сохраняем в переменнуцю номер Защиты. Защита = MID
							
			itemCreated = player.GetInventory().CreateInInventory("dzn_ballisticvest_nac");	        // Выдаем игроку броник (черный)
			itemCreated = player.GetInventory().CreateInInventory("WitchHood_Black");				// Выдаем игроку головной убор (черный)	
			break;
		}
		case 6: // Сет с Минимальной защитой
		{
			save_top_weapon = 2;																	// Сохраняем в переменнуцю номер Защиты. Защита = MID
							
			itemCreated = player.GetInventory().CreateInInventory("dzn_highcapacityvest_nac");	    // Выдаем игроку тактичесий жилет (черный)
			itemCreated = player.GetInventory().CreateInInventory("WitchHood_Black");				// Выдаем игроку головной убор (черный)	
			break;
		}
		default: // Сет по умолчанию без защиты. 
		{
			save_top_weapon = 3;																	// Сохраняем в переменнуцю номер Защиты. Защита = LOW
							
			itemCreated = player.GetInventory().CreateInInventory("UKAssVest_Black");	            // Выдаем игроку полевой жилет (черный)
			itemCreated = player.GetInventory().CreateInInventory("WitchHood_Black");				// Выдаем игроку головной убор (черный)	
			break;
		}
	}
	random_top_stels = 2;																			// Укол фермента VEGA №7 не доступен
	random_top_food = 2;																			// Дополнительное провизия, Еда и Вода - не доступна
	//top_ammoboxplus = 2;																			// Дополнительно Боеприпасы - патроны не доступны
	top_magplus = 1;																				// Дополнительно Боеприпасы - магазины
	// ---------------------------- //
					
	itemCreated = NULL;															     		        // Обнуляем значение переменной
	break;
}

Это один из вариантов выдачи сета.

 

 

case 2: // AUR AX 556x45
{
	top2 = 1;
	// --- AUR AX 556x45 / Магазин 60 пат. ---
	if ((save_top_set == 5 && weapon_set_color == 1) || save_top_set == 6 || (save_top_set == 7 && weapon_set_color == 1) || save_top_set == 8 || save_top_set == 9 || save_top_set == 10 || save_top_set == 11 || save_top_set == 12)	// Выдаем оружие согластно стилю сета топика
	{
		itemCreated = player.GetHumanInventory().CreateInHands("Aug");				        									  			// Выдаем AUR AX в руки
		if (itemCreated)															          									  			// Проверяем, создалось ли оружие
		{
			itemCreated.GetInventory().CreateAttachment("Mag_STANAG_60Rnd"); 			       									  			// Крепим на AUR AX Магазин 60 пат.
			if (random_top_suppressor == 1){itemCreated.GetInventory().CreateAttachment("M4_Suppressor");}				  					// Крепим на AUR AX Глушитель, если он доступен
			if (save_top_set == 8 || save_top_set == 9 || save_top_set == 11)
				{itemCreated.GetInventory().CreateAttachment("ReflexOptic");itemCreated1.GetInventory().CreateAttachment("Battery9V");}		// Крепим на AUR AX Оптику Baraka + Вставляем батарейку в прицел (Для Кикимор)
			else
				{itemCreated.GetInventory().CreateAttachment("ACOGOptic_6x");}																// Крепим на AUR AX Оптику ACOG 6x (по умолчанию)

			ghillie_weapon()																												// Крепим Гиллий на оружие		
		}
		//itemCreated = player.GetInventory().CreateInInventory("StarlightOptic"); itemCreated.GetInventory().CreateAttachment("Battery9V");	// Выдаем Ночной прицел для СВАЛ + Вставляем батарейку в прицел
		n = 0; while (n < 1){n++; itemCreated = player.GetInventory().CreateInInventory("Mag_STANAG_60Rnd");}     					  		// Выдаем на AUR AX Магазин 60 пат.
		if (random_top_weapontwo > 1){n = 0; while (n < 1){n++; itemCreated = player.GetInventory().CreateInInventory("Mag_STANAG_60Rnd");}}// Если оружие для дальнего боя небудет, то конпенсируем это дополнительно обоймами
		if (top_magplus == 1){n = 0; while (n < 1){n++; itemCreated = player.GetInventory().CreateInInventory("Mag_STANAG_60Rnd");}}		// Выдаем дополнительно на AUR AX Магазин 60 пат.
		n = 0; while (n < 2){n++; itemCreated = player.GetInventory().CreateInInventory("Ammo_556x45");}						  			// Выдаем патроны 20 к AUR AX
		if (top_ammoboxplus == 1){n = 0; while (n < 2){n++; itemCreated = player.GetInventory().CreateInInventory("Ammo_556x45");}}			// Выдаем дополнительно патроны 20 к AUR AX
		w = 1;
		itemCreated1 = NULL;																							   	      		// Обнуляем значение переменной itemCreated1 (один которая)
		break;	
	}
}

Один из вариантов выдачи оружия

 

if (random_surv_type == 1) // только ТОПикам
{	
	if (save_top_set == 2){itemCreated = player.GetInventory().CreateInInventory("CivilianBelt");} 				            						// Выдаем игроку простой ремень
		else {if (save_top_set == 10) {} else {itemCreated = player.GetInventory().CreateInInventory("MilitaryBelt");}}		           				// Выдаем игроку военный ремень, кроме одного сета
	
	if (save_top_set == 1 || save_top_set == 4){itemCreated.GetInventory().CreateAttachment("PlateCarrierHolster_Camo");}  	 	   					// Крепим кобуру на ремень (зеленный пиксел)
	if (save_top_set == 2 || save_top_set == 6 || save_top_set == 12){itemCreated.GetInventory().CreateAttachment("PlateCarrierHolster_Black");}	// Крепим кобуру на ремень (черный)
	if (save_top_set == 3 || save_top_set == 5 || save_top_set == 7){itemCreated.GetInventory().CreateAttachment("PlateCarrierHolster_Green");}  	// Крепим кобуру на ремень (зеленный)
	if (save_top_set == 8 || save_top_set == 11){itemCreated.GetInventory().CreateAttachment("PlateCarrierHolster");}  	    						// Крепим кобуру на ремень
	if (save_top_set == 9){itemCreated.GetInventory().CreateAttachment("dzn_platecarrierholster_nac");}  	    									// Крепим кобуру на ремень (черный NAC)
		
	if (save_top_set == 1 || save_top_set == 3 || save_top_set == 4 || save_top_set == 5 || save_top_set == 7)
		{itemCreated.GetInventory().CreateAttachment("Canteen");} else																				// Выдаем игроку Флягу воды и крепим ее на ремень
		{itemCreated = player.GetInventory().CreateInInventory("Canteen");}																			// Выдаем игроку Флягу с водой, кроме тех кому уже была она выданна раньше
	
	itemCreated = player.GetInventory().CreateInInventory("M67Grenade");																			// Выдаем игроку Граната М67
	
	if (save_top_set == 8 || save_top_set == 10 || save_top_set == 11)
		{itemCreated = player.GetInventory().CreateInInventory("M18SmokeGrenade_White");} 															// Выдаем игроку Дымовая ганата - белая
		else {itemCreated = player.GetInventory().CreateInInventory("RDG2SmokeGrenade_Black");}														// Выдаем игроку Дымовая ганата - черная
		
	if (y == 1) {itemCreated = player.GetInventory().CreateInInventory("Rangefinder"); itemCreated1.GetInventory().CreateAttachment("Battery9V");}	// Выдаем игроку Дальнометр + батарейка. Выдаем только у кого есть снайперка ТОП
		else {if (save_top_set == 8) {} else {itemCreated = player.GetInventory().CreateInInventory("Binoculars");}}								// Выдаем игроку Биноколь  ??????????????????????????????????
	
	if (save_top_set == 1 || save_top_set == 12){itemCreated = player.GetInventory().CreateInInventory("HuntingKnife");}							// Выдаем игроку Охотничий нож
		else {itemCreated = player.GetInventory().CreateInInventory("CombatKnife");}																// Выдаем игроку Боевой нож
	
	if (random_top_stels == 1){itemCreated = player.GetInventory().CreateInInventory("dzn_vega7_enzyme");} 				            				// Выдаем игроку Укол фермента VEGA №7 - неведимка для зомби, если доступно
	if (save_top_set == 1 || save_top_set == 3 || save_top_set == 12){itemCreated = player.GetInventory().CreateInInventory("TripwireTrap");}		// Выдаем игроку Растяжку
	if (random_top_minekleymor == 1){itemCreated = player.GetInventory().CreateInInventory("ClaymoreMine");}										// Выдаем игроку Мину клеймор
	if (random_top_mine == 1){itemCreated = player.GetInventory().CreateInInventory("LandMineTrap");}												// Выдаем игроку Мину
	if (save_top_set == 2 || save_top_set == 4 || save_top_set == 5 || save_top_set == 6 || save_top_set == 7){n = 0; while (n < 2){n++; itemCreated = player.GetInventory().CreateInInventory("M67Grenade");}}	// Выдаем игроку дополнительно Гранаты М67
	if (save_top_set == 1 || save_top_set == 3 || save_top_set == 12)
		{itemCreated = player.GetInventory().CreateInInventory("LeatherSewingKit");																	// Выдаем игроку Набор скорняка
		 itemCreated = player.GetInventory().CreateInInventory("SewingKit");																		// Выдаем игроку Набор для шитья
		 itemCreated = player.GetInventory().CreateInInventory("DuctTape");																			// Выдаем игроку Скотч
		 //itemCreated = player.GetInventory().CreateInInventory("WeaponCleaningKit");																// Выдаем игроку Ремкомплект для оружия
		 //itemCreated = player.GetInventory().CreateInInventory("Whetstone");}																		// Выдаем игроку Точильный камень
		}
	if (random_top_medic == 1)
		{itemCreated = player.GetInventory().CreateInInventory("BandageDressing");																	// Выдаем игроку Бинт
		 itemCreated = player.GetInventory().CreateInInventory("Morphine");																			// Выдаем игроку Морфин
		 itemCreated = player.GetInventory().CreateInInventory("Epinephrine");																		// Выдаем игроку Адриналин
		 itemCreated = player.GetInventory().CreateInInventory("TetracyclineAntibiotics");															// Выдаем игроку Тетрациклин
		 itemCreated = player.GetInventory().CreateInInventory("PainkillerTablets");																// Выдаем игроку Болеутоляющие таблетки
		 itemCreated = player.GetInventory().CreateInInventory("IodineTincture");																	// Выдаем игроку Йод
		 itemCreated = player.GetInventory().CreateInInventory("Splint");}																			// Выдаем игроку Шина
	//if (____ == 1){itemCreated = player.GetInventory().CreateInInventory("____");}																// Выдаем игроку ____
	//if (____ == 1){itemCreated = player.GetInventory().CreateInInventory("____");}																// Выдаем игроку ____
	
}

Это уже остатки лута часть. Тут есть эта граната.

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


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

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

  • 0

Мой совет - заведите отдельные переменные, обозначающие каждый элемент экипировки в вашем сете. например:

EntityAI top;
EntityAI shoe;
EntityAI vest;
EntityAI pants;
EntityAI backpack;
EntityAI mask;
EntityAI gloves;

и затем уже спавните объекты в ваших сетах (или сете, если он один) в эту переменную.

top = player.GetInventory().CreateInInventory("M65Jacket_Black");
pants = player.GetInventory().CreateInInventory("CargoPants_Black");
mask = player.GetInventory().CreateInInventory("BalaclavaMask_Black");
gloves = player.GetInventory().CreateInInventory("OMNOGloves_Gray");
shoe = player.GetInventory().CreateInInventory("JungleBoots_Black");
backpack = player.GetInventory().CreateInInventory("AliceBag_Black");

А затем создаем нужный(е) вам объекты В инвентаре или НА нужном вам объекте, указывая именно его:

if(pants)
{
pants.GetInventory().CreateInInventory("Apple");
}
if(backpack)
{
backpack.GetInventory().CreateAttachment("Canteen");
}

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

Один минус, как управлять 'тетрисом' в инвентаре я хз, именно скриптом.

Бинд на хотбар не буду объяснять, уже раз 5 в теме соответствующей объясняли, проще поиском найти.

 

И да, советую для самообразования:

 

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

Поддержка