Jump to content

Where is the "moving furniture" file?


Trink_Reiniger

Recommended Posts

C:\Steam\steamapps\common\ProjectZomboid\media\lua\client\Moveables\ISMoveableDefinitions.lua

Everything you need is in this part of the code as far as I can tell.

    --                                      _name,          _items,                                                     _perk,                  _baseActionTime, _sound, _isWav    moveableDefinitions.addToolDefinition( "Hammer",        {"Hammer","HammerStone"},                                   Perks.Woodwork,         75,     "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Crowbar",       {"Crowbar"},                                                Perks.Woodwork,         150,    "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Electrician",   {"Screwdriver"},                                            Perks.Electricity,      100,    "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Cutter",        {"KitchenKnife","Scissors","HuntingKnife","SharpedStone"},  Perks.Woodwork,         50,     "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Shovel",        {"Shovel","HandShovel"},                                    Perks.Farming,          100,    "bushes",       false );
Link to comment
Share on other sites

Thanks Svarog!

I looked at the file, before i posted this, but oversaw the part you pointed out. Oh the shame.

 

The only thing you need to move furniture and fridges is strength, exept for ovens, which have 3 phases, 1 neurtal, and 1 "earthcable". (Thats In germany). Knowing what colour is what is very basic electricityknowledge.

I may open a suggestion-thread to lower the requirements.

Link to comment
Share on other sites

  • 3 weeks later...

Hey.

So i found time to play around with that part of the code that Svarog pointed out:

 

 

C:\Steam\steamapps\common\ProjectZomboid\media\lua\client\Moveables\ISMoveableDefinitions.lua

Everything you need is in this part of the code as far as I can tell.

    --                                      _name,          _items,                                                     _perk,                  _baseActionTime, _sound, _isWav    moveableDefinitions.addToolDefinition( "Hammer",        {"Hammer","HammerStone"},                                   Perks.Woodwork,         75,     "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Crowbar",       {"Crowbar"},                                                Perks.Woodwork,         150,    "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Electrician",   {"Screwdriver"},                                            Perks.Electricity,      100,    "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Cutter",        {"KitchenKnife","Scissors","HuntingKnife","SharpedStone"},  Perks.Woodwork,         50,     "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Shovel",        {"Shovel","HandShovel"},                                    Perks.Farming,          100,    "bushes",       false );

 

, but it had no noticable effect. (My char. is no Electrician, so i could not check, if the changed file had any effect.)

I replaced the definitions with the first row, but nothing happened. like "Electrician" to "Hammer", and "Screwdriver" to "Hammer","HammerStone".

 

My guess is, that there is a file with the furniture definitions. Like Fridge uses Electrician, Table uses Crowbar, and so on.

 

So my problem is still there.

Link to comment
Share on other sites

snip

That's becasue you changed the Name, read the thingy above the thingy

_name, _items, _perk.

What you changed has no effect because it is just the name (That appears in the menu, it's nothing more than Text), it is followed by the tool(s) that is/are used and finally, the skill (perk) required to do whatever.

I might be wrong, I'm just guessing based on the code and what you said.

Edit: That being said, most of the stuff related to moving furniture (I believe) is in the TileDefinitions and I know no easy way to modify those, maybe with TileZed but I could never get into using that tool.

Link to comment
Share on other sites

 

snip

That's becasue you changed the Name, read the thingy above the thingy

_name, _items, _perk.

 

 

 

No, i changed:     _name,     _items,     _perk.      I did not change:      _baseActionTime,      _sound,      _isWav

 

I will look into the tiledefinitions, but i asume that will be over my head.

 

If i get any result, ill post it here. May take a while.

 

Thanks for your help and insantanious reply.

Link to comment
Share on other sites

snip

Well I just changed it myself, I changed the requirement to pick up carpentry stuff to required _item Screwdriver and proceeded removed some Wooden Floor with a screwdriver.

Edit:

 
moveableDefinitions.addToolDefinition( "MENUNAME", {"ITEMNAME","ITEMNAME2"}, Perks.PERKNAME, 75, "SOUNDNAME", true );
 moveableDefinitions.addToolDefinition( "Hammer",        {"Screwdriver"},                                   Perks.Woodwork,         75,     "PZ_Hammer",    true );

The above is a template, the below worked as described way above.

 

Link to comment
Share on other sites

 

That's becasue you changed the Name, read the thingy above the thingy

 

No, i changed:     _name,     _items,     _perk.      I did not change:      _baseActionTime,      _sound,      _isWav

 

I dont know where i screwed up there, because i deleted the old changed file.

Just tried again, and it worked. Now i am able to move fridges with the woodwork-skill.

Like this:

 

    --                                      _name,          _items,                                                     _perk,                  _baseActionTime, _sound, _isWav    moveableDefinitions.addToolDefinition( "Hammer",        {"Hammer","HammerStone"},                                   Perks.Woodwork,         75,     "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Crowbar",       {"Crowbar"},                                                Perks.Woodwork,         150,    "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Electrician",   {"Hammer","HammerStone"},                                   Perks.Woodwork,         100,    "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Cutter",        {"KitchenKnife","Scissors","HuntingKnife","SharpedStone"},  Perks.Woodwork,         50,     "PZ_Hammer",    true );    moveableDefinitions.addToolDefinition( "Shovel",        {"Shovel","HandShovel"},                                    Perks.Farming,          100,    "bushes",       false );

 

My guess is, that i also changed  _name,  and that broke it.

 

Thanks for your help and patience, Svarog.

Link to comment
Share on other sites

snip

Anytime. Also I did open newtiledefinistions.tiles file in Notepad++ and as I suspected, most of the specific stuff related to moveable furniture is defined in there, stuff like weight after it is picked up, what level of what perk is required, if it is a container when placed etc.

I didn't try to modify that, I don't really know if you can just change stuff with notepad, save it and have it keep working but hey, thought I'd let you know.

Example of some stuff from that file.

CustomNameOvenFacingWGroupNameGreyIsLowIsMoveAbleIsoTypeIsoStovePickUpLevel3PickUpToolElectricianPickUpWeight200PlaceToolElectriciancontainerstovesolidtrans
Link to comment
Share on other sites

 

snip

Anytime. Also I did open newtiledefinistions.tiles file in Notepad++ and as I suspected, most of the specific stuff related to moveable furniture is defined in there, stuff like weight after it is picked up, what level of what perk is required, if it is a container when placed etc.

I didn't try to modify that, I don't really know if you can just change stuff with notepad, save it and have it keep working but hey, thought I'd let you know.

Example of some stuff from that file.

CustomNameOvenFacingWGroupNameGreyIsLowIsMoveAbleIsoTypeIsoStovePickUpLevel3PickUpToolElectricianPickUpWeight200PlaceToolElectriciancontainerstovesolidtrans

Many definitions exist in the.Tiles file(Use tiled-tools-tile properties edit .Tiles file)

Many new definitions are missing, but you can edit TileProperties.txt to add a new definition.
 
Movable state = IsMoveAble
Link to comment
Share on other sites

 

snip?

snip?

 

Awesome!

It looks like i can change the "_perk," to strength, and than choose the level using the program shown in the post above.

 

May make a small mod out of this. How exciting, that would be my first mod. :D

 

I will be gone for some days, so no Zomboid in that time. I will use that snippy-thing i just learned to let you know, when i made progress.

Link to comment
Share on other sites

Eya guys, i see Sky_Orc mentioned the tile definitions and TileProperties.txt

If anyone wants to mess about with it, heres the properties added for movables (and one or two radio):

property{    Type = Integer    Name = Surface    ShortName =    Min = 0    Max = 128    Default = 0}property{    Type = Boolean    Name = IsSurfaceOffset    ShortName =    Default = false    ReverseLogic = false}separator{}property{    Type = Boolean    Name = IsMoveAble    ShortName =    Default = false    ReverseLogic = false}property{    Type = Enum    Name = MoveType    ShortName =    Enums    {	Normal = Object	WallObject = WallObject	WindowObject = WindowObject	Window = Window	FloorTile = FloorTile	FloorRug = FloorRug	Vegitation = Vegitation    }    Default = Normal    ValueAsPropertyName = false}property{    Type = String    Name = CustomName    ShortName =    Default = CustomName}property{    Type = Enum    Name = PickUpTool    ShortName =    Enums    {	None =	Hammer = Hammer	Crowbar = Crowbar	Electrician = Electrician	Cutter = Cutter	Shovel = Shovel    }    Default = None    ValueAsPropertyName = false}property{    Type = Enum    Name = PlaceTool    ShortName =    Enums    {	None =	Hammer = Hammer	Crowbar = Crowbar	Electrician = Electrician	Cutter = Cutter	Shovel = Shovel    }    Default = None    ValueAsPropertyName = false}property{    Type = Integer    Name = PickUpLevel    ShortName =    Min = 0    Max = 5    Default = 0}property{    Type = Integer    Name = PickUpWeight    ShortName =    Min = 0    Max = 1000    Default = 0}property{    Type = Boolean    Name = CanBreak    ShortName =    Default = false    ReverseLogic = false}property{    Type = Boolean    Name = IsClosedState    ShortName =    Default = false    ReverseLogic = false}property{    Type = String    Name = GroupName    ShortName =    Default =}property{    Type = Enum    Name = Facing    ShortName =    Enums    {        None = none        North = N        West = W	South = S	East = E    }    Default = None    ValueAsPropertyName = false}property{    Type = Integer    Name = LinkedOffset    ShortName =    Min = -1000    Max = 1000    Default = 0}property{    Type = Enum    Name = LinkedLocIs    ShortName =    Enums    {        North = N        West = W	South = S	East = E    }    Default = North    ValueAsPropertyName = false}property{    Type = Enum    Name = IsoType    ShortName =    Enums    {	IsoObject = IsoObject	IsoBarbecue = IsoBarbecue	IsoRadio = IsoRadio	IsoJukebox = IsoJukebox	IsoStove = IsoStove	IsoTelevision = IsoTelevision    }    Default = IsoObject    ValueAsPropertyName = false}property{    Type = String    Name = Item (full name)    ShortName = CustomItem    Default =}separator{}property{    Type = Boolean    Name = BlocksPlacement    ShortName =    Default = false    ReverseLogic = false}property{    Type = Enum    Name = Material    ShortName =    Enums    {	Undefined = Undefined	Wood = Wood	Steel = Steel	Plumbing = Plumbing	Electric = Electric	Fabric = Fabric	Leather = Leather	Natural = Natural	Brick = Brick	Plastic = Plastic    }    Default = Undefined    ValueAsPropertyName = false}property{    Type = Boolean    Name = IsHigh (only occupies upper half)    ShortName = IsHigh    Default = false    ReverseLogic = false}property{    Type = Boolean    Name = IsLow (only occupies lower half)    ShortName = IsLow    Default = false    ReverseLogic = false}property{    Type = Boolean    Name = IsTable    ShortName =    Default = false    ReverseLogic = false}property{    Type = Boolean    Name = IsTableTop    ShortName =    Default = false    ReverseLogic = false}property{    Type = Enum    Name = signal    ShortName =    Enums    {	none = none	Radio Device = radio	Television Device = tv    }    Default = none    ValueAsPropertyName = false}
Link to comment
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...