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

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

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

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

    Use services of the guarantor
    We will make your deal safe
  • 0
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("____");}																// Выдаем игроку ____
	
}

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

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 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 в теме соответствующей объясняли, проще поиском найти.

 

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

 

Edited by 123new (see edit history)

Share this post


Link to post
Share on other sites



Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

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