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  
rakovskiy28

Выпадают вещи с Shelf (полка для одежды)

Установлен мод Base Furniture 3

 

Есть в этом моде полки для одежды (Shelf).

Если туда положить вещи (например рюкзак или куртку) и в эту вещь положить лут, то после рестарта сервера весь лут который был в рюкзаке, куртке и т.д. выпадает на землю. Пример на скрине.

 

Ещё заметил, что нельзя положить вещи в рюкзак пока он прикреплен к этой полке, но взять вещи можно. Так же вещи которые выпадают, почему-то не пропадают после истечения lifetime в types.xml

 

class Skyline_Shelf: Skyline_Furniture_Base
	{
		scope=2;
		displayName="Shelf";
		descriptionShort="Made by Axobi";
		model="Skyline_Furniture_Base\Shelf\Shelf.p3d";
		bounding="BSphere";
		overrideDrawArea="3.0";
		forceFarBubble="true";
		handheld="true";
		carveNavmesh=1;
		canBeDigged=0;
		weight=50000;
		itemSize[]={10,10};
		physLayer="item_large";
		rotationFlags=0;
		class Cargo
		{
			itemsCargoSize[]={6,6};
			openable=0;
			allowOwnedCargoManipulation=1;
		};
		attachments[]=
		{
			"Shoulder1",
			"Shoulder2",
			"Pistol",
			"Back",
			"Body",
			"Legs",
			"Feet",
			"Eyewear",
			"Mask",
			"Gloves",
			"Vest",
			"Headgear"
		};
		class GUIInventoryAttachmentsProps
		{
			class Row1
			{
				name="Row 1";
				description="";
				attachmentSlots[]=
				{
					"Shoulder1",
					"Shoulder2"
				};
				icon="missing";
			};
			class Row2
			{
				name="Row 2";
				description="";
				attachmentSlots[]=
				{
					"Mask",
					"Vest",
					"Pistol"
				};
				icon="missing";
			};
			class Row3
			{
				name="Row 3";
				description="";
				attachmentSlots[]=
				{
					"Eyewear",
					"Gloves",
					"Headgear",
					"Body"
				};
				icon="missing";
			};
			class Row4
			{
				name="Row 4";
				description="";
				attachmentSlots[]=
				{
					"Back",
					"Legs",
					"Feet"
				};
				icon="missing";
			};
		};
	};

 

Класс Skyline_Furniture_Base

class Skyline_Furniture_Base: Container_Base
	{
		scope=2;
		destroyOnEmpty=0;
		varQuantityDestroyOnMin=0;
		class DamageSystem
		{
			class GlobalHealth
			{
				class Health
				{
					hitpoints=100000000000;
					healthLevels[]=
					{
						
						{
							1,
							
							{
								"DZ\gear\camping\data\spotlight.rvmat"
							}
						},
						
						{
							0.69999999,
							
							{
								"DZ\gear\camping\data\spotlight.rvmat"
							}
						},
						
						{
							0.5,
							
							{
								"DZ\gear\camping\data\spotlight_damage.rvmat"
							}
						},
						
						{
							0.30000001,
							
							{
								"DZ\gear\camping\data\spotlight_damage.rvmat"
							}
						},
						
						{
							0,
							
							{
								"DZ\gear\camping\data\spotlight_destruct.rvmat"
							}
						}
					};
				};
			};
		};
	};

 

И сам скрипт полок

class Skyline_Kit_Shelf extends ItemBase
{	
	ref protected EffectSound 						m_DeployLoopSound;
	protected Object								Furniture_Shelf_Kit1;
	
	void Skyline_Kit_Shelf()
	{
		RegisterNetSyncVariableBool("m_IsSoundSynchRemote");
	}
	
	override void EEInit()
	{
		super.EEInit();
	}
	
	override void OnItemLocationChanged( EntityAI old_owner, EntityAI new_owner ) 
	{
		super.OnItemLocationChanged( old_owner, new_owner );
	}	
	
	override void OnVariablesSynchronized()
	{
		super.OnVariablesSynchronized();
		
		if ( IsDeploySound() )
		{
			PlayDeploySound();
		}
				
		if ( CanPlayDeployLoopSound() )
		{
			PlayDeployLoopSound();
		}
					
		if ( m_DeployLoopSound && !CanPlayDeployLoopSound() )
		{
			StopDeployLoopSound();
		}
	}
	
    override void SetActions()
    {
        super.SetActions();
        
        AddAction(ActionTogglePlaceObject);
		AddAction(ActionPlaceObject);
    }
	
	//================================================================
	// ADVANCED PLACEMENT
	//================================================================			
		
	override void OnPlacementComplete( Man player, vector position = "0 0 0", vector orientation = "0 0 0" )
	{
		super.OnPlacementComplete( player );
		
		PlayerBase pb = PlayerBase.Cast( player );
		if ( GetGame().IsServer() )
		{
			PlayerBase player_base = PlayerBase.Cast( player );
			vector newPosition = player_base.GetLocalProjectionPosition();
			vector newOrientation = player_base.GetLocalProjectionOrientation();
				
			Furniture_Shelf_Kit1 = GetGame().CreateObject("Skyline_Shelf", pb.GetLocalProjectionPosition(), false );
			Furniture_Shelf_Kit1.SetPosition( position );
			Furniture_Shelf_Kit1.SetOrientation( orientation );
		}	
		
		SetIsDeploySound( true );
		SetLifetime(3888000);
	}
	
	override bool IsDeployable()
	{
		return true;
	}	
	
	override string GetDeploySoundset()
	{
		return "putDown_FenceKit_SoundSet";
	}
	
	override string GetLoopDeploySoundset()
	{
		return "BarbedWire_Deploy_loop_SoundSet";
	}
	
	void PlayDeployLoopSound()
	{		
		if ( GetGame().IsMultiplayer() && GetGame().IsClient() || !GetGame().IsMultiplayer() )
		{		
			m_DeployLoopSound = SEffectManager.PlaySound( GetLoopDeploySoundset(), GetPosition() );
		}
	}
	
	void StopDeployLoopSound()
	{
		if ( GetGame().IsMultiplayer() && GetGame().IsClient() || !GetGame().IsMultiplayer() )
		{	
			m_DeployLoopSound.SoundStop();
			delete m_DeployLoopSound;
		}
	}
}

class Skyline_Shelf_Holo extends ItemBase
{
	override bool CanPutInCargo( EntityAI parent )
    {
        if( !super.CanPutInCargo(parent) ) {return false;}        
        if ( GetNumberOfItems() == 0)
        {
            return false;
        }
        return false;
    }
    
    override bool CanPutIntoHands(EntityAI parent)
    {
        if( !super.CanPutIntoHands( parent ) )
        {
            return false;
        }
        if ( GetNumberOfItems() == 0 )
        {
            return false;
        }
        return false;
    }
}

class Skyline_Shelf extends ItemBase
{
		override bool CanPutInCargo( EntityAI parent )
    {
        if( !super.CanPutInCargo(parent) ) {return false;}        
        if ( GetNumberOfItems() == 0)
        {
            return false;
        }
        return false;
    }
    
    override bool CanPutIntoHands(EntityAI parent)
    {
        if( !super.CanPutIntoHands( parent ) )
        {
            return false;
        }
        if ( GetNumberOfItems() == 0 )
        {
            return false;
        }
        return false;
    }
}

 

 

Пробовал в vihicles вместо Container_Base наследовать Inventory_Base, добавлять разные параметры из других модов которые работают, например

 

allowOwnedCargoManipulation = 1;
hiddenSelections[] = {"placing"};
overrideDrawArea = 8;
destroyOnEmpty = 0;
carveNavmesh = 1;
heavyItem = 1;
quantityBar = 0;
varQuantityMax = 0;
itemBehaviour = 0;
lootTag[] = {"Work"};

 

но всё без результатов.

image.png.3cfa0a7f4d46e6352a551bf0e16e776e.png

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts




  • 0

уже фиксанули вчерашним апдейтом по идее и без мода будет работать

Share this post


Link to post
Share on other sites
  • 0

Нужна помощь!

 

Поставил пустой сервер, попробовал 2 других мода (MMG Base Storage и Gearstand), проблема всё равно осталась. Т.е. проблема не в моде, а в самом сервере.

Напомню в чём дело:

 

Если в локер положить вещи (например рюкзак или куртку) и в эту вещь положить лут, то после рестарта сервера весь лут который был в рюкзаке, куртке и т.д. выпадает на землю.

Ещё заметил, что нельзя положить вещи в рюкзак пока он прикреплен в локере, но взять вещи можно.

Edited by rakovskiy28 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Ап, стоит мод Furniture, но после рестарта вещи выпадают на пол из шкафов. Может есть у кого ссылка на фикс? Пробовал ставить мод Inventory Fix, но он ломает фурнитуру (если веревок положить больше 12 штук в слот фурнитуры, то они пропадают)

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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

А то что у них с фурнитурой, это другое. там если память не изменяет мод какой-то бесплатный, кривой. и именно с полок при рестарте вещи падают.

 

Share this post


Link to post
Share on other sites
  • 0

спасибо большое за ответ !!!

1 час назад, _PIONER сказал:

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

А то что у них с фурнитурой, это другое. там если память не изменяет мод какой-то бесплатный, кривой. и именно с полок при рестарте вещи падают.

 

 

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.