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
Sign in to follow this  
Maks86

Удалить выбранную вещь из игрока. (не очистка!!!)

Подскажите знающие товарищи! Каким оператором можно удалить выбранный лут из инвентаря, тобишь не очистить а именно выборочно удалить.?

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

 

Спавнить:

      n = 0; while (n < 3){n++;  vest.GetInventory().CreateInInventory("Ammo_9x39AP");} 

      vest.GetInventory().CreateInInventory("WeaponCleaningKit");}  // предмет 3х2 - предмет можно любой, можно скотч + швека например (потом его нужно удалить)

      n = 0; while (n < 3){n++;  vest.GetInventory().CreateInInventory("Ammo_9x39AP");} 

И как потом удалить мне "WeaponCleaningKit" ?

 

Я так понял нужно его сперва найти както, а потом удалять, но какими операторами, я не знаю. Возможно объявить переменную для него dellut например и потом его удалить.

dellut  = vest.GetInventory().CreateInInventory("WeaponCleaningKit");}  // с переменной если.

 

Понятное дело это потом все красиво, тобиш код оформить, мне щас главное понимать как удалить это добро. И подскажите еще, есть ли такой функционал... при выдачи лута, можно ли его както поворачивать на 90 градусов при выдачи?

 

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Разобрался.  GetGame().ObjectDelete(переменная); 

 

void create_ammo(string a1, int b, string a2, int b24, int b30, int b35, int c1, int c2) // Функция выдает боеприпасы [название обоймы][кол-во занимаемых слотов][название патронов][max. кол-во обойм в жилете на 24][max. кол-во обойм в жилете на 30][max. кол-во обойм в жилете на 35][кол-во обойм по умолчанию][кол-во свободных слотов]
	{
		int z = 0;
		int z2 = 0;
		int z3 = 0;
		int t = 0;
		z = b;
		// --- выдача обойм
		if (vest_size == 24){z2 = b24;} if (vest_size == 30){z2 = b30;} if (vest_size == 35){z2 = b35;}
		if (vest_size > 0){p = vest;} else {p = jacket;}
		n = 0; while (n < c1){n++; p.GetInventory().CreateInInventory(a1); z2 = z2 - 1; z3 = z3 + z;}		        				// Выдаем на M4 Магазин 60 пат.
		if (random_top_weapontwo > 1){n = 0; while (n < 1){n++; p.GetInventory().CreateInInventory(a1); z2 = z2 - 1; z3 = z3 + z;}}// Если оружие для дальнего боя не выдаеться, то конпенсируем это дополнительно обоймами
		if (top_magplus == 1){n = 0; while (n < z2){n++; p.GetInventory().CreateInInventory(a1); z3 = z3 + z;}}	// Выдаем дополнительно на M4 Магазин 60 пат.
		
		// --- выдача патронов	
		n = 0; while (n < 2){n++; p.GetInventory().CreateInInventory(a2); z3 = z3 + 1;}	  	      						// Выдаем патроны
		
		if (vest_size == 24){z3 = vest_size - z3;} else{z3 = vest_size - z3 - c2;}
		if (z3 > 16){z3 = z3 - 30;}
		if (z3 > 12){z3 = z3 - c2 - 6;}
		if (z3 > 6){z3 = z3 - c2;} 
		if (z3 == 4){t = 1;}
		if (z3 == 6){t = 2;}
		if (z3 == 3){t = 1;}
		if (top_ammoboxplus == 1)
		{
			n = 0; 
			while (n < z3)
			{
				n++; 
				p.GetInventory().CreateInInventory(a2); 
				if (n == t){p1 = p.GetInventory().CreateInInventory("DuctTape"); p3 = p.GetInventory().CreateInInventory("BandageDressing");}
				if (n == t && z3 == 3){p2 = p.GetInventory().CreateInInventory("DuctTape"); p4 = p.GetInventory().CreateInInventory("BandageDressing");}
				
			}
			GetGame().ObjectDelete(p1); GetGame().ObjectDelete(p2); GetGame().ObjectDelete(p3); GetGame().ObjectDelete(p4);

 

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
Sign in to follow this  

×
×
  • 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.