Search the Community

Showing results for tags 'modding'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News & Announcements
    • News
  • Project Zomboid
    • PZ Updates
    • General Discussions
    • Bug Reports
    • PZ Support
    • PZ Multiplayer
    • PZ Community & Creativity
    • PZ Suggestions
  • PZ Modding
    • Tutorials & Resources
    • Mods
    • Items
    • Mapping
    • Mod Ideas and Requests
  • General Games Development
    • Indie Scene
  • Other Discussions
    • General Discussion
    • Forum Games & Activities
    • Pen & Paper / Community RPGs

Found 46 results

  1. As the title says, sometimes you want to make it quick to read the text of a sheet of paper or more specifically the post-it notes without having to right click- left click on read and wait for the windows to appear. The tooltip might not show the whole text but a portion. No need to create a whole "tooltip class object" but to reuse the existing one. I would kindly try to make a mod out of it.. But I would need some kickstarter tips Regards
  2. **THIS IS A NEW FEATURE THAT CURRENTLY ONLY WORKS ON THE WEATHER TEST BRANCH, MAKE SURE YOU ARE SUBSCRIBED TO THE WEATHER BETA BRANCH BEFORE TESTING** 1) The first thing you want to do, as with most mods is to create your mods folder structure, use the image below as a reference, replacing MOD_NAME with the name of your mod: Don't worry about the files shown above, you will be creating them as you follow this guide, just make sure to remember, anytime you see "MOD_NAME" in this guide, replace that with the name you chose for your mod. 2) In your "..mods/MOD_NAME" folder, create your "" text file which contains the following code: Remember to replace all "MOD_NAME"'s with the actual name of your mod. 3) In the same folder, create/place your MOD_NAME.png , this will be the thumbnail used in game as the poster/picture for your mod. 4) Next up, in your "mods/MOD_NAME/media/lua/client" folder, create your MOD_NAME.lua file with the following code inside: This is the script that will load your model and scripts into the game, it also controls the spawn rate for the car in each type of zone as well as providing the vehicle mechanic overlay. Remember to replace all instances of "MOD_NAME" with the actual name you chose for your mod. 5) Next, in your "mods/MOD_NAME/media/scripts/vehicles" folder, create your MOD_NAME.txt file containing the following code: This script example contains all of the parameters to control the simulation of the vehicle, such as engine power, gear ratios, collision cube and much more. You will (hopefully) find it well commented to give you an idea of what each parameter does. You can look in the games "media\scripts\vehicles" folder for a vanilla vehicle script that more closely reflects the vehicle you are adding rather than starting with the example above, have a good look through them all to get a sense of the different templates you can use and the various changes that can be made to different components. 6) Now you need to (if you have not already) make the 3d model for your vehicle. We suggest using Blender, but as long as you're experienced in 3d modelling, any program that can export .ply files should work, just make sure your faces are triangulated, in Blender you can do this by selecting your model in Edit mode then pressing Ctrl + T. Then drag and drop the exported ply file onto the converter supplied below (unzip the below file, drag your .ply directly onto the .exe, do not double click the exe), it will output a new txt file with the same name as the .ply in the same directory. Copy the new .txt file into your "mods/MOD_NAME/media/models" folder as "Vehicles_MOD_NAME.txt This is the .ply to PZ convertor: 7) Now it's time to create your vehicles texture files, these should all go into the "mods/MOD_NAME/media/textures/Vehicles" folder. First up is your "Vehicles_MOD_NAME_Shell.png" , this is the main texture image for your vehicle and needs to be 512x512 pixels, as do all of your textures, below is an example: Next there are 6 different overlay/detail png's to create, the first is for the vehicle lights ("Vehicles_MOD_NAME_Lights.png"): Then the vehicle rust ("Vehicles_MOD_NAME_Rust.png"): The next 2 image examples ("Vehicles_MOD_NAME_Shell_Damaged01.png" and "Vehicles_MOD_NAME_Shell_Damaged02.png") are to show light and heavy damage, respectively, on the vehicle's shell. They are used to represent dents in the bodywork: The next 2 image examples ("Vehicles_MOD_NAME_Overlays_Damaged01.png" and "Vehicles_MOD_NAME_Overlays_Damaged02.png") are very similar to the previous 2 except they are for showing damage on windows and lights as well as scratched on the body work: The last file we need is the vehicle colour mask ("Vehicles_MOD_NAME_Mask.png"), which should also be placed in your "mods/MOD_NAME/media/textures/Vehicles" folder. This tells the game which parts of your vehicle texture correspond to which part of your vehicle model and is needed to display damage, lowered windows and removed elements etc: Here the colour values to be used: Copy your complete mod folder structure into your C:\Users\YourUsernameHere\Zomboid\Mods folder, load the game, turn the mod on in the mod menu and start a new game, your new vehicle is now ready to be found and taken for a spin. Finally, here: - you can find an example vehicle mod using the above instructions. Notice the included example mod uses a slightly different process with its textures/overlays. The main texture is transparent while the detail has been shifted onto the vehicle_lights .png. This allows the game to automatically and procedurally generate different colours of your car when they are spawned in. Happy Modding!
  3. 1) First create a folder structure for your mod, call the first folder something like "MyCarReskinMod". Inside that create a "media" folder, inside your media folder create 2 more folders, one called "textures" and one called "scripts". Inside the texture folder create a folder called "Vehicles" and inside the scripts folder create a folder called "vehicles". Your final folder structure should look like: MyCarReskinMod media textures Vehicles scripts vehicles Don't forget to place your and poster.png files inside your first folder alongside the media folder. 2) Copy, paste and rename the vehicles main texture that you want to edit/reskin from the ProjectZomboid/Media/Textures/Vehicles folder to your media/textures/vehicles folder. Use this texture along with the vehicles texture mask (also found in the same folder) as a template for your skin. The vehicle mask is listed in the code snippet below ("textureMask = ...") and dictates what part of your vehicle texture gets assigned to each part of the 3d vehicle. 3) Find and copy the original script of the vehicle you want to reskin from the ProjectZomboid/Media/Scripts/Vehicles folder and paste it into your media/scripts/vehicles folder. Below is what the start of your vehicle script should look like, in this example we are editing the taxi skin: Change the line "texture = Vehicles/Vehicle_CarTaxiShell" to "texture = Vehicles/"YourVehicleSkinPNGNameHere" and save. Add your entire mod folder structure into your users/zomboid/mods folder, enable the mod on the in game mods page and play, your edited vehicle skin should now be in game. You can download an example here:
  4. How to start modding?

    How to start modding? is there any website where I can learn to create items? I can not find tutorials on the forum and I would like to learn. I have some nice ideas for items.
  5. This is very similar to adding foraging zones to your map, (step 6 of this tutorial: ) Simply add the following code to your map mods' PZW file the same way as in step 6 of the above guide: <objecttype name="ParkingStall"/> <objectgroup name="ParkingStall" color="#85929e" defaulttype="ParkingStall"/> List of vehicle zone names to use in WorldEd: bad good medium sport farm junkyard trafficjams trafficjamn trafficjame trafficjamw rtrafficjams rtrafficjamn rtrafficjame rtrafficjamw police ranger fire mccoy fossoil postal spiffo radio ambulance burnt The first group is the most common type of vehicle zones used. The second group are for traffic jams pointing in specific directions to immitate the flow of traffic. The ones prefixed with r will spawn less than the regular trafficjam zones. The third group are specific zones for the type of vehicles listed, they are still also spawn random cars but will also spawn the vehicle listed. The final one will add random burn out vehicles. Vehicle zones should be placed as a multiple of 4x3 tiles (4x3, 8x6, 28x3 etc) with 4x3 being a single vehicle, 4 being its side and 3 being its front/back. You can choose any color values you want for the different zones, just make sure they are hex color codes. Once done, load your map mod up in WorldEd, open a cell and add your new vehicle zones as you would foraging zones. Whenever you add a zone you need to use the objects panel on the left of the WorldEd window to give the zone a name (use the names listed above) that will be visible in WorldEd as a tag over the zone, making it easier to keep track of what you have placed where, if these are left blank then the game will default back to grabbing random vehicles from the ParkingStall zone. Example: After you have added vehicle zones to all of your cells, save your map. Once saved, generate your lots and then write objects to lua. You now have vehicle spawns in your map. If you are having trouble with your vehicle zones, you can always take a look at the vanilla objects.lua within the muldraugh folder of your zomboid install, once opened just search for "ParkingStall" to see examples of vehicle zones used in the vanilla vehicle branch. For aligning vehicles in parking stalls: Select a ParkingStall object. In the Properties panel, click the "add" button under Templates. Choose one of the 4 ParkingStallX templates. You should see "Direction=X" where the object name is displayed. The direction controls where the front (or back) edge of each vehicle is aligned. In the picture you can see a Direction=E ParkingStall facing a Direction=W ParkingStall. This is used to ensure the vehicles don't overlap each other, and leaves space for the player (and zombies) to walk between them. For single parking stalls, there is usually no need to choose a direction. The FaceDirection property can be added to ParkingStall objects to align the front of a vehicle to the edge specified by the Direction property. When this property is "false" or isn't assigned to a ParkingStall object, the vehicle will face in a random direction as before. This can be used for parallel-parked vehicles for example.
  6. Any full tile roof peice that is currently not over a room definition in your building needs a room definition. For any bits that are above an internal room, simply make sure that room has a room definition (all room in buildings should, even hallways etc). If the roof bit is over an outside area (such as a porch) then instead of giving it an internal room definition, which could possibly mess with loot tables etc, use the new room definition made for this situation - emptyoutside. In the example below you can see that this building has a porch roof outside the front door, all other bits of roof are already over a pre-existing room definition and so we don't need to worry about them. We do need to add an emptyoutside room definition on/under the porch roof however as there currently is no room definition outside the building. In this example, the porch roof is on the roof layer of floor 2. If we check Ortho view you can see that a room definition of emptyoutside yellow) has been applied to the corrosponding tiles on floor 2. Once applied, simply save the building and move on to the next. Once all buildings are done, close buildingEd and open your map in WorldEd, generate lots and you're done, your map should now support the new roof occlusion system! If you're having problems getting it to work properly, remember: every "full tile" roof peice (the little overhang peices you see in the example above do not need to adhere to this rule, just leave them as is if you have any) must be "over/on" a room definition, so make sure every room in your buildings has a room definition (including hallways etc). Add a room definition of "emptyoutside" (without " ") to any full tile roof peices that do not sit "over/on" an internal room definition. Make sure to generate lots in WorldEd once all of your relevant buildings have been updated.
  7. Hey guys I need some help with TileZed's BuildingEd. I just finished a cool building that I worked so hard on, saved it and everything, didn't click on anything out of the ordinary. When I went to WorldEd, I clicked on my building, didn't show a preview image. When I dragged it out onto my Cell, it didn't show a building, neither did it plop a building when I placed it on my map itself. Then I went to BuildingEd to see if I messed something up, and instead I got an error saying, "Error Reading Building - Invalid Object Coordinates (1, -3 Line 2209, Column 72". What does this mean and how can I fix it without having to remake my whole tower? THANK YOU! My building's png is still in one of the .pzeditor folders, so idky it won't show in WorldEd or let me edit it either in BuildingEd.
  8. I suggest adding a method that will allow us to load skinned mesh in game! I replaced the original models of clothes, and it looks good. But unfortunately adding them without replacing the original is impossible, since there is no skinned model load method. :(( Class LuaManager.GlobalObject has a method that allows loading a static model, but it does not allow upload skinned model, because it sends boolean true to ModelLoader.instance.Load
  9. Hello to anyone who's reading this. I'm working with Neutz on the Union City map. We'll release a part of it once the Suburban Area is done. What I need from each one of you is an idea for buildings, it can be a shop, a gas station, (no more house ideas, please, unless you made some and want to share them, my brain is mush as this moment from making 200+ houses already) warehouses, small clinics, pet shops, you name it. I just need building ideas. If you want to give some buildings for the upcoming map you're more than welcome to do so. If you want to give ideas, give a small description or a list of the buildings, if you can, provide a picture if you want something custom which I could try and make. Thanks to anyone who'll be writing below, be sure to check the Union City thread, we'll keep you posted weekly (if we don't forget from time to time ._.) on the upcoming map progress.
  10. Download and install CartoZed from here: Follow the instructions in the above thread to create a top down image of your map mod (or any map mod), I created a copy of and renamed the default theme and removed all the trees, vegetation and walls options within to create the look I wanted for my map. Try it yourself, create a new theme and add/remove or edit different options to create different looks. Next, create the following file structure (if you are adding the lootable map to your own map mod then create all folders within the media folder below in your map mods media folder instead): Spoiler MyLootableMapsMod >media >>lua >>>server >>>>Items >scripts >ui >>LootbaleMaps Once you have finished editing your lootable map image you extracted using CartoZed (I simply copy and pasted one of the keys from one of the official lootable maps found in "steamapps\common\ProjectZomboid\media\ui\LootableMaps" and then area filled each building the corresponding colour) save it in your LootbaleMaps folder as a png file with a name like "MyLootableMap" or "FictitiousTownMap" etc. Next up create a .txt file in the scripts folder called something like "mylootablemap" (except make it more unique to avoid any possible compatability issues with other mods that might use the same names), it should include this code: Spoiler module Base { item MyLootableMap { Type = Normal, DisplayName = Your map name here, Icon = Map, Weight = 0.1, Map = media/ui/LootableMaps/MyLootableMap.png, } } The above code is adding a new item with the internal name "MyLootableMap" (so again make sure your's is something unique) into the vanilla pool of items, the above settings work for maps, just make sure the "Map = " line is pointed to your lootable map png. The last file you need you will want to create in the "media\lua\server\Items" folder, call it something like MyLootableMapDistribution.lua but again make it's a unique name to avoid any possible mod imcompatability with other mods. It should contain the following code: Spoiler require 'Items/SuburbsDistributions' table.insert(SuburbsDistributions["fossoil"]["shelvesmag"].items, "Base.MyLootableMap"); table.insert(SuburbsDistributions["fossoil"]["shelvesmag"].items, 2); table.insert(SuburbsDistributions["all"]["shelvesmag"].items, "Base.MyLootableMap"); table.insert(SuburbsDistributions["all"]["shelvesmag"].items, 0.5); In the above code you can see that we are adding our new Item "MyLootableMap" into the "shelvesmag" containers within the "fossoil" and "all" room definitions. The numbers 2 and 0.5 govern the likelihood of a map spawning in said containers, higher being more likely. To find the current room and container definitions, navigate to your "steamapps\common\ProjectZomboid\media\lua\server\Items" folder and open the Distributions.lua file. And that's it, copy your entire folder structure into your "C:\Users\YourUserNameHere\Zomboid\Mods" folder, load up the game, enable the mod (Your map mod if you made your lootable maps as part of a map mod) and start a new game, you now have your lootable map in game and waiting for you to find. If you need a working example you can always subscribe to Bedford Falls on Steam and check it's workshop folder "steamapps\workshop\content\108600\522891356" . It's handy to verify your folder/file structure etc if you're having problems.
  11. How to Combine Map Mods

    This is mainly for Single Player use as you can use the "mods=" for server setups. Also on Steam: First you want to subscribe to and/or download the maps that you want to combine. If you subscribe using Steam you will find the downloaded mods in your "Steam\steamapps\workshop\content\108600" folder, each mod with its own unique id number (for example Bedford Falls is 522891356). Now you want to create the following folder structure (on your desktop): Spoiler MyCombinedMaps media maps MyCombinedMaps Now, inside the first folder, alongside the media folder, you want to place a file and a poster.png file, you can create your own from scratch, but it's easier to copy them from one of the map mods (e.g, from the "steamapps\workshop\content\108600\522891356\mods\Bedford Falls" folder) and edit them to suit your needs. The should look like the following: Spoiler name=My Combined Maps id=MyCombinedMaps description=This adds multiple map mods together for use in Single Player poster=poster.png The poster.png file should be a 256x256 image, you can make your own using paint etc or simply use one from one of the map mods you downloaded. Now, for each map mod you would like to combine, navigate to its map data folder (e.g, "steamapps \workshop\content\108600\522891356\mods\Bedford Falls\media\maps\BedfordFalls") and copy across all of the ".lotheader", ".bin" and ".lotpack" files to your own map data folder ("MyCombinedMaps\media\maps \MyCombinedMaps"). Be careful when adding any maps that have cells that overlap, add the map you want be "on top" last. Once done, copy across the "", "objects.lua", "spawnpoints.lua", "spawnregions.lua" and "thumb.png" from ONE of the map mods to the same folder as the files above. Rename the spawnpoints.lua file to something like bedfordspawns.lua or denverspawns.lua depending on the map. Now copy the rest of the spawnpoints.lua files from each map and rename them to something relevant too. Your map data foler should now have multiple "*spawns.lua" (one for each map) files alongside all the rest of the map files (".bin", ".lotheader", ".lotpack" etc). The next thing you need to do is add the objects.lua data from each other map to the one you copied into your map data folder. For each one, open using notepad and copy/paste everything after "objects= {" up to but not including the final "}" in the file, into the objects.lua already in your map data folder, after the final entry but before the final "}". Next, edit the file to: Spoiler title=My Combined Maps lots=Muldraugh, KY description=Adds multiple map mods to the vanilla world The last file you need to edit is the spawnregions.lua file (some maps may not include one of these, but you can easily make your own too), you will need to add/edit entries to point to the "*spawns.lua" files you renamed, it should end up looking somehting like: Spoiler function SpawnRegions() return { { name = "Muldraugh, KY", file = "media/maps/Muldraugh, KY/spawnpoints.lua" }, { name = "West Point, KY", file = "media/maps/West Point, KY/spawnpoints.lua" }, { name = "Rosewood, KY", file = "media/maps/Rosewood, KY/spawnpoints.lua" }, { name = "Bedford Falls", file = "media/maps/MyCombinedMaps/bedfordspawns.lua" }, { name = "New Denver", file = "media/maps/MyCombinedMaps/denverspawns.lua" }, } end This will give you the option of spawning at any of the map mods (or vanilla games) spawn options after selecting your combined mod on the world select screen. All that is left to do now is copy your entire folder structure into your "C:\Users\YourUserName\Zomboid\mods" folder. Now you can load up the game, enable your mod, start a new game, select your combined mod and then spawn in a town of your choice. Some map mods will also come with additional folders inside of their "media" folder, alongside the maps folder, it's important to also copy these across to your combined mods "media" folder as they will be adding things such as lootable maps, additional items/recipes etc. Here's a working example that combines Bedford Falls and Fetzington into a single mod: (Should only be used as an example as it will become outdated as soon as a new version of Bedford Falls or Fetzington are released).
  12. I tried with some codes but not working local Player = getSpecificPlayer(0); local Item = Player:getPrimaryHandItem(); if (instanceof(Item, "Food") and Item:getType() == "Bass") then if Item ~= nil and Item:IsRotten() then luautils.okModal("YES", true); else luautils.okModal("NO", true); end end --SOLVED!!!!
  13. WordZed

    WordZed Version 1 - download You can add custom radio data to the game via a mod. The radio data including final translation files should go into "media/radio/" within the mod directory. Optionally this simple mod package can be used to get started quickly: RadioTestMod Note: The current version may contain some bugs, which can be posted here when encountered. Some additional info bits: The following spoiler contains a list of channels from the games radio data, if you intend to use wordzed for custom contentavoid these channels unless you intentionally want to override a certain existing channels. The following tutorial video has some information on the operating basics: Manual: Manual.docx
  14. The html code "<br>" works really good on translation tooltips. Adding colors codes can be a really good thing for modding, adding directly on translate txt. Like this example: Tooltip_EN = { Tooltip_Pliers = "<RGB:1,0,1> Can be used to trap a rat.", } Or maybe adding directly to scripts.txt Like this example: Tooltip = <RGB:1,0,1>Tooltip_Pliers, Sorry about my language i speak spanish.
  15. On YouTube I've been making tutorials of the basics of project zomboids Map editor tools. right now I am finishing up with the building editor. if I missed anything let me know and I'll make sure to make tutorial covering it here is part one for more tutorials check out my channel Doge's Creator
  16. So i thought if someday devs would consider creating some kind of tool to make modding easier to do. I don't talk about very very user friendly etc. but just slightly easier by categorazing stuff without searching and doing things through trial and error etc. We got recently a upgraded and very good tool to make maps and stuff so i just thought that some tool to make modding easier would be very nice too. I know that there like 123012301 things much more important atm but it would be very useful to help people in communnity to contribute something just like with map tool.
  17. I am making a mod that shows zombie and player locations on PZ Server map project. This requires some alterations of both game and the map. Currently it looks like this and uses JSON to transfer all zombie locations at once: I would rather stream the zombies and their location continuously through event-driven model, ideally in a separate thread. Currently I'm just gonna replace the original zombie registry ArrayList with my overridden ArrayList implementation that registers adding and removal of the zombies. But that doesn't deal with zombie locations.
  18. In the /media/sound/banks/Desktop there are several .bank files. Typically when confronted with unknown files, I try to open then with 7zip, but this didn't work out for those files. What's the format of the files and how to properly alter their contents?
  19. After a long time away from PZ, I've returned to the game and am loving all the new improvements since I last played! I've of course been equally excited to get back into modding again. I have been re-creating my old outdated mods such as my new professions, but I've hit upon something I never could figure out last and wanted to finally ask: If I want to assign an existing trait (e.g. Graceful) to be given 'free' by a profession, this works fine except that the player can 'remove' that trait if they want to. This is to be expected; these traits weren't designed to be exclusive to a profession. Of course, this is visually ugly (duplicate traits in trait list) and not really the designed functionality. The answer, I would have thought, would be to create a 'duplicate' of the desired existing trait (e.g. "Poised" for "Graceful") and set as an exclusive profession-only trait with a 0 point cost. Makes sense to me! Except... how *do* I duplicate the functionality of an existing trait, such as Graceful or Light Eater or Brave? Unlike the simple traits that increase skill points, I can't find the "mechanics" of these traits anywhere in the game's files (lua or otherwise). In other words, if I make my own "Eats Less" trait, how do I make sure it has the same game effect as selecting "Light Eater"? Presumably, there's some code somewhere that does some sort of "if has this trait, do X" but the place to find this is a total mystery to me, hence I have no idea how to code my own such traits! If any experts here could even just point me in the right direction, I'd really appreciate it!
  20. Hi. Just wonder: how can i replace an item stats or modify scripts without needing to change original game files, so my replacements won't be affected by unavoidable updates in most cases? I want to create a separate mod (separate files) with overwriting original content (witch priority is higher: original file records or mod file records). Is this possible at this moment or planned?
  21. Farming Mod Art

    Making some art for a project, thought i would share in case it is helpful for others. Hope this is right forum section. I give anybody permission to use them for any Project Zomboid mod. From top left to bottom right (after planter box and filled planter box)... Apple, Avocado, Banana, Bell Pepper, Blackberry, Blueberry, Broccoli, Cucumber, Cabbage, Carrot, Cherry, Chinese Cabbage, Corn, Cotton, Coffee, Eggplant, Garlic, Grape, Green Onion, Hemp, Jute, Lemon, Leek, Lettuce, Lime, Orange, Onion, Pear, Peach, Pumpkin, Peanut, Pea, Pineapple, Potato, Poppy, Radish, Rubber, Strawberry, Sunflower, Sweet Potato, Tea, Tomato, Watermelon, Zucchini Lotus, Papyrus, Watercress, Taro, Water Hawthorn, Eel Grass, Lepironia, Sweet Flag, Aloe, Bamboo, Barberry, Basil, Bean, Belladonna, Celery, Cashew, Chamomile, Clove, Date Palm, Elderberry, Eucalyptus, Ginger, Henna, Kava, Lavender, Mango, Maple, Mandrake, Mescal, Mint, Okra, Pepper (chili), Papaya, Passion-fruit, Peyote, Rice, Rosemary, Sage, Spinach, Sugarcane, Thyme, Turmeric, Valerian, Wheat-grass. Also made these non farming related objects.
  22. Type = Normal,There are various types of items in Project Zomobid, below you will se each of them with a short description. Normal – A basic item. Drainable – An item that has a certain amount of uses before it's destroyed Food – An item that can be consumed by the character Weapon – An item that can serve as an equpable weapon. Container – An item that can store other items inside it. Clothing – Item worn by the player character. Literature – A readable item like a book or a newspaper. Weight = 1,The weight of an item as seen in-game, it should be a sum of weight + size of the item.Typically used in Item Type: All DisplayName = Example item,Defines the name of the item as displayed in gameTypically used in Item Type: All Icon = ItemIcon,Defines the icon the item will have in-game, the .png file of the icon should be in media/textures folder of the mod and the name must look like this Item_ItemIcon.pngTypically used in Item Type: All UseDelta = 0.1,Defines how many uses a Drainable item has, if it's 0.1 the item will have 10 uses before it's depleted.Typically used in Item Type: Drainable Capacity = 20,Defines the maximum carrying capacity of the container.Typically used with item Type: Container CanBeEquipped = Back,Defines the clothing slot the item is equipped in, typically only used for containers in the form above. BodyLocation = Bottoms,Defines what part of the body a Clothing item is worn on. Can be Bottoms, Shoes or Top Temperature = 8,Defines the temperature resistance a Clothing item gives to the player when worn. CanStoreWater = TRUE/FALSE,Defines if the item can be used to store water. Defaults to FALSE if not used.Typically used in Item Type: Drainable IsWaterSource = TRUE/FALSE,Defines whether or not the item is a source of water. Defaults to FALSE if not used.Typically used in Item Type: Drainable UseWhileEquipped = TRUE/FALSE,Defines if the items has to be equipped in Primary or Secondary slot in order to be used. Defaults to FALSE if not used. ReplaceOnDeplete = Module.ItemID,When the item is depleted (Has no uses left or if you've eaten\drank all of it) it will be replaced by Module.ItemID ReplaceOnUseOn = WaterSource-WaterBottleFull,If the item is used on something it will turn into something else, in the case above, if used on a Water Source (Item\Water Barrel\River) it will become WaterBottleFull IsCookable = TRUE,Defnises whether or not the item can be Cooked using Fire Pits, Stoves or BBQ. If the item is cookable and stores water, it can be used to boil it to remove the tainted water effect. Defaults to FALSE if not used. DangerousUncooked = TRUE,If TRUE, eating the food item without cooking will result in it having a semi-poisonous effect. HungerChange = -20,Defines how much hunger will be removed upon consumption, if the value is Positive, consuming the item will make the character more hungry. ThirstChange = -20,Defines how much thirst will be removed upon sonsumption, if the value is Positive, consuming the item will make the character more thirsty. StressChange = -20,Defines how much stress will be removed upon sonsumption, if the value is Positive, consuming the item will make the character more stressed. UnhappyChange = -20,Defines how much happiness will be removed upon sonsumption, if the value is Positive, consuming the item will make the character more unhappy. BoredomChange = -20,Defines how much boredom will be removed upon sonsumption, if the value is Positive, consuming the item will make the character more bored. FatigueChange = -20,Defines how much fatigue will be removed upon sonsumption, if the value is Positive, consuming the item will make the character more tired. EnduranceChange = 20,Defines how much endurance will be removed upon sonsumption, if the value is NEGATIVE, consuming the item will make the character more fatigued. Alcoholic = TRUE,If TRUE consuming the item will make the character drunk. If used for Bandage items, it will act as disinfectant. DaysFresh = 6,Defines the amount of days before a food item starts to rot. DaysTotallyRotten = 10,Defines the amount of days before the food item rots completely, becoming poisonous. MinutesToCook = 40,In-Game Minutes before the item is cooked, use with Cookable = TURE, MinutesToBurn = 110,In-Game Minutes of Cooking the item before it becomes Burned. Poison = TRUE,Defnines if the item is poisonous upon consumption. PoisonDetectionLevel = 1,Unknown, probably defines the difficulty of detecting poison if used in Evolved Recipe. PoisonPower = 5,Defines the power of poison, the higher the value, the more lethal it is upon consumpion. 5 Is PoisonIvy (White Berry) 45 is Bleach level. UseForPoison = 1,Unknown, possibly amount of PoisonPower goes into Evolved Recipes. FoodType = Fruits,Unknown, no known use as of Build 32 AlwaysWelcomeGift = true,Unknown, no known use as of Build 32 CustomContextMenu = Take,Will replace "Eat" text in the context menu for food items. EvolvedRecipe = Stew:3;Pie:3;Soup:3;Sandwich:3;Salad:3;Roasted Vegetables:3,Item can be used in Evolved Recipes, in the above case, it could be used in Stew, Pie, Soup, Sandwitch and so on... DisplayCategory = Ammo,Will be displayed as the item's category, can be anything but custom Categories need a Translation file. CanBandage = true,If TRUE the item can be used as a Bandage for wounds. BandagePower = 4,Defines how good a bandage is, higher values make the bandage last longer before it goes Dirty. ReduceInfectionPower = 50,If used, it will reduce infection (NOT Zombie Infection, it reduces regular wound infection, it might slow down zombie infection though, uncofirmed) Tooltip = Tooltip_UseOnHealthPanel,Will display tooltip if item is moused over in inventory, requires Translation file that defines the text to display. Known Preset Tooltips: Tooltip_Painkillers,Tooltip_PillsAntidepressant,Tooltip_PillsBetablocker,Tooltip_PillsSleeping,Tooltip_tissue_tooltip,Tooltip_IronSight,Tooltip_Scope,Tooltip_AmmoStrap,Tooltip_Sling,Tooltip_FiberglassStock,Tooltip_RecoilPad,Tooltip_Laser,Tooltip_RedDot,Tooltip_ChokeTubeFull,Tooltip_ChokeTubeImproved,Tooltip_Trap,Tooltip_Generator,Tooltip_UseOnHealthPanel,Tooltip_Vitamins, RequiresEquippedBothHands = TRUE,If TRUE the item HAS TO be equipped in Both Hands in order to even be carried. TeachedRecipes = Make Bread Dough,If Read the item will teach the character how to make Bread Dough, any Recipe name can be used.Typically used with Literature NumberOfPages = 260,Defines the number of pages a Skill Book has.Typically used with Literature Skill Books SkillTrained = Trapping,Defines what skill the Skill Book gives a multiplier to. LvlSkillTrained = 3,Minimum skill level required to read the skill book. NumLevelsTrained = 2,Amount of skill levels the multiplier will apply to beginning with LvlSkillTrainer. CanBeWrite = true,If TRUE the item can be used to write on if the character has a Pencil or Pen Weapon Type Only Below: MELEE/RANGED WEAPONS MinRange = 0.61, Defines the minimum range at which the weapon is effective, if the target is closer, he will be pushed away. Possibly 1 = 1 tile. MaxRange = 1.5,Defines the maximum range at which the weapon is effective. Possibly 1 = 1 tile. WeaponSprite = Fireaxe,Defines the weapon model used. MinAngle = 0.2,Unsure, defines the angle at which the weapon is effective. HitAngleMod = -30,Unsure, as above. SwingTime = 3.0,Defines the default time it will take for the swing animation to play out. MinimumSwingTime = 3.0,Defines the minimum time it will take to swing the melee weapon, affects the speed of animation and DPS. KnockBackOnNoDeath = TRUE,If TRUE the weapon will knock back the target if the strike was not lethal. SwingAmountBeforeImpact = 0.002,Defines the time from start of the swing before it makes an impact. Categories = Axe,Defines the weapon Category. Can be Blunt, Blade, Axe, Improvised, Unarmed SubCategory = Swinging,Defines the weapon Sub Category. Can be Swinging, Stab, Firearm ConditionMax = 15,Defines the maximum durability of the weapon. ConditionLowerChanceOneIn = 30,Defines the chance for weapon condition to lower when used. SplatNumber = 1,Unsure, Possible affects how many blood splats comes out after impact. SplatSize = 5,Unsure, possible affects how much blood comes out with each splat. SplatBloodOnNoDeath = TRUE,Defines whether or not blood comes out if the strike was not lethal. PushBackMod = 0.3,Modifies the strength with which the target is pushed back upon impact. MinDamage = 1,Defines the minimum damage. MaxDamage = 2.5,Defines the maximum damage. MaxHitCount = 2,Defines how many targets can be hit with a single attack. DoorDamage = 35,Defines the amount of damage done to doors. Doors have 100 HP by default. TreeDamage = 35,Defines the amount of damage done to trees. Trees have 100HP by default. IdleAnim = Idle_Weapon2,Defines the idle animation that plays when the character is holding the weapon. SwingAnim = Bat,Defines the swinging animation that plays when the weapon is used RunAnim = Run_Weapon2,Defines the animation that plays when the character runs with the weapon. CriticalChance = 20,Chance to inflict critical, lethal damage upon the target. WeaponWeight = 3,Higher values cause exertion faster. KnockdownMod = 2,Defines the knockdown modifier, higher values mean it will be easier to knock the target down. TwoHandWeapon = TRUE,If true the weapon will be most effective if equipped in both hands. CloseKillMove = Jaw_Stab,Defines the type of close kill move, used for knives and some other stabbing weapons only. CantAttackWithLowestEndurance = TRUE,If TRUE the weapon can't be used if the character is under Extreme Exertion moodle. EnduranceMod = 0.5,Modifies the amount of endurance used up when swinging the weapon. Higher values mean exertion comes on faster. Weapon Type Only Below: RANGED SPECIFICRanged weapons will use a lot of variables, if not all, used by melee weapons, below you will find variables specific for Ranged Weapons, they would probably all work with a melee weapon, you can experiment. AmmoType = BerettaClip,Defines the type of Ammo being used. To the best of my knowledge, reloading requires .lua code. ImpactSound = null,Defines the sound created after impact. SwingSound = 9mmShot,Defines the attack sound. SoundVolume = 75,Defines the volume of attack sound. ToHitModifier = 1.5,Unsure, possibly a modifier for a chance to hit the target. NPCSoundBoost = 1.5,Unknown. No use as of Build 32. Speculated boost to sound if used by NPC so more zombies hear it and come. Ranged = TRUE,Defines if the weapon is a ranged weapon. ProjectileCount = 1,Defines the amount of projectiles created by shooting the weapon. ShareDamage = FALSE,Unknown effect. IsAimedFirearm = TRUE,Defines if the weapon needs to be aimed. UseEndurance = FALSE,Defines if using the weapon uses up endurance. MultipleHitConditionAffected = FALSE,Unknown. SoundRadius = 150,Defines the sound radius, higher values cause more zombies to hear it from more far away. AimingPerkCritModifier = 10,Defines Aiming Skill Bonus to Critical Chance AimingPerkRangeModifier = 1.5,Defines Aiming Skill Bonus to Range. HitChance = 45,Default chance to hit the target. AimingPerkHitChanceModifier = 15,Defines Aiming Skill Bonus to Hit Chance. AimingPerkMinAngleModifier = 0.05,Defines Aiming Skill Bonus to Min Angle. RecoilDelay = 20,Unsure. Defines time that must pass between shots. SoundGain = 1.5,Unknown effect. ClipSize = 15,Maximum amount of ammo that can go into the weapon. Again, .lua code is required for the weapon to be re loadable. ReloadTime = 10,Defines the time needed for the weapon to be reloaded. AimingTime = 40,Defines Aiming Difficulty, lower values increase chance to hit with low aiming time. PiercingBullets = TRUE,If true, multiple objects can be hit by a single projectile if they are in the right angle. Weapon Type Only Below: THROWN SPECIFIC UseSelf = TRUE,If TRUE the item itself will be used up when attacking. PhysicsObject = Aerosolbomb,Defines the thrown item sprite. ExplosionPower = 70,Defines the power of the explosion created upon impact. ExplosionRange = 6,Defines the AoE of the explosion. FirePower = 97,Defines the amount of fire that will be created upon impact. FireRange = 6,Defines the AoE of fire. triggerExplosionTimer = 50,Defines the time before exlosion if placed. ExplosionSound = smallExplosion,Defines the sound of explosion. PlacedSprite = constructedobjects_01_32,Defines sprite used if the weapon is placed as a trap. I hope this helps anyone who wants to create their own items for PZ. Remember, this is just a list of variables, don't use all of them, it's not required. Take a look at items.txt and newitems.txt to see what variables are used by what items and base your items off that.
  23. 1: Give Recipes IDs Why? Because replacing a vanilla recipe is impossible without replacing the entire recipes.txt file. Let's say I change the functionality of a Base item like the Count value of Nails, it will break the recipe of Open Box of Nails by giving too much or too little and the only way to make it work right would be to replace the entire recipes file. Not to mention being able to make make some recipes NeedToLearn in a mod or removing that restriction would be nice. Or there are many cases where I would like to add some OnCreate lua functionality to base recipes and I can't because I won't make mods that replace base game's files. Recipes Displayed Name could be defined by DisplayName = Make Stuff, like it is for items. 2: Add a Type = xxxx, for items. What? Type = ExampleType, where ExampleType would be used in recipes and .lua it would help streamline some recipes and add many variants of the same item, with the same functionality without the need to make a ton of recipes. Like an alternative for nails that doesn't require modding or remaking the entire Build menu lua code. 3: New Category: Drinks What? Why? A combo between Food and Drainable, items like that would have a straight up UseDelta instead of using Hunger value as UseDelta, would make using liquids more straightforward in recipes as well as being able to remove the Hunger buff from them which doesn't make sense anyway and keep the other stuff. Drinking All\1/2\1/4 would just use 1 0.5 or 0.25 of it, regardless of UseDelta value while recipes would use them up like regular UseDelta. 4: ReplaceOnRot or ReplaceOnAge = X Why? Because it would be nice to have a way to turn some items into different items after they rot or if some item passes (Items Age reaches a certain level) I believe HydromancerX once suggested something like this with the idea of turning a living Rabbit into a Dead Rabbit Or just make something through crafting that you then have to leave be so you can get the final product like, idk, various alcoholic beverages. 5: ReplaceOnBreak and DestroyOnBreak Why? Because some weapons can't be repaired and just remain broken forever while they could be simply removed or replaced by some base material after they break (Eg. get a stone after your stone hammer breaks) 6: RottenHunger, RottenThirst, RottenUnhappines, RottenPoisonPower etc. Having a way to control the item's base stats after it rots would be cool, or making them poisonous over time, yeah. 7: EffectiveOver and EffectiveAfter Why? Because it would enable creation of edible stuff (or simple medicine) where the Hunger, Happiness, Boredom effects are applied over a certain amount of time (Preferably In-Game Hours) and\or after a certain time has passed. 8: RottenNamePrefix Why? Because imagine Molten Icecream done in a simple way without tooling around with temperature. 9: AlcoholPower stat that affects how quickly the given drink get's the character drunk. Because all it does is effect how effective it is as a disinfectant. Or it could be used make an item that reduces drunknes (Realism be damned) Edit: 10: Renameable = True\False Why? Why not? Add it to any item to give players an option to name their favorite plushie or weapon, for fun and roleplaying. It's one option I really wish I had sometimes. ---------- I believe having those would make things a lot easier for modders as well as open the possibility for them to create some really fun mods without having to know .lua much. And I think it would add some neat functionality to the game itself.
  24. Key distribution with custom buildings

    Now then fellow survivors. For a while now I've been recreating the village I grew up in, which mostly consists of semi-detached and terraced houses. As such, I've been building them in pairs or a big long row in the editor, rather than individual homes. Finally decided to create a mod to test it, realised how easy it was and got annoyed for not doing it earlier, but before long I had spawned in my childhood home. Awesome! However, as I had built both my neighbours house and mine as one, I could lock/unlock both front doors. Not the biggest crime in history I admit, but was wondering if there was something I was missing whilst creating. Is there a way to tell TileZed that there are numerous homes in one building and to spawn seperate keys? Or, do I need to create seperate buildings for each individual home and line them up in WorldEd? Either way, I'm happy. I'm not too far into making the houses as I've been focusing on gettng the pngs right. I can duplicate the buildings I have, split them in 2 and create side A and B. I'd just like to know before going on a building creation rampage and end up making more work for myself in the long run. Thanks for your time and to TIS for making Project Zomboid. It's pretty wizard.
  25. All, I am working on my mod which adds new guns and ammos to the PZ world, I am working on a distributions script to give a chance for spare empty magazines to show up, however I don't want them showing up if the reload difficulty is set on easy... I have tried a couple of things testing it out on an item spawning script to no avail... does someone have an idea what that scrip would be? Much thanks in advance!