Modding: Difference between revisions

From PZwiki
m (Replaced the broken Clothing guide link with a working new link.)
(One intermediate revision by the same user not shown)
Line 137: Line 137:


====Old and more specific Additional Modding Resources====
====Old and more specific Additional Modding Resources====
* [https://github.com/ssjshields/pz-crash-auto-launcher PZ Crash Auto Launcher: a tool for anyone interested in not constantly having to open and close PZ 24/7 while testing stuff.]
* [https://github.com/MrBounty/PZ-Mod---Doc/blob/main/How%20to%20host%20and%20join%20locally%20from%20two%20games%20on%20the%20same%20pc.md How to host and join locally from two games on the same pc.]
* [https://github.com/Konijima/PZ-Community-API/blob/master/Contents/mods/CommunityAPI/media/lua/shared/CommunityAPI/IsoUtils.lua  isoRangeScan: This is an utility function meant for large scale scans of isoGridSquares around a given IsoObject. The scans are done fractally - that is to say from a center (or centers) outward to fill a larger area.]
* [https://github.com/Konijima/PZ-Community-API/blob/master/Contents/mods/CommunityAPI/media/lua/shared/CommunityAPI/IsoUtils.lua  isoRangeScan: This is an utility function meant for large scale scans of isoGridSquares around a given IsoObject. The scans are done fractally - that is to say from a center (or centers) outward to fill a larger area.]
* [https://theindiestone.com/forums/index.php?/topic/21923-itemzed-updated-11b/ ItemZed: for editing Item scripts and distribution files (out of date, needs to be updated to work properly with build 41)]
* [https://theindiestone.com/forums/index.php?/topic/21923-itemzed-updated-11b/ ItemZed: for editing Item scripts and distribution files (out of date, needs to be updated to work properly with build 41)]

Revision as of 03:04, 22 September 2022

CommunityModdingModding
Spiffo's Workshop is the home of Project Zomboid mods on Steam.

Terms & Conditions

By purchasing Project Zomboid, you are permitted to:

  • Change or distribute the base files or contents in any way you like, provided that those changes do not result in you making Project Zomboid available to play or download (this includes making it available open source), or are for the purposes of cheating, unauthorised hacking, exploits or griefing other people or are malicious or illegal in intent or practice.
  • Use art, music, video footage or other assets of Project Zomboid for creative purposes in any way you like providing the end result is related in some way to promoting Project Zomboid, is for non-commercial use only (unless we agreed otherwise with you) and states Project Zomboid as its influence and origin by supplying the following wording prominently with the assets: “Thanks to The Indie Stone for creating Project Zomboid http://projectzomboid.com/), which made this possible. This is an unofficial fan production for non-commercial purposes made under the Indie Stone Terms [link to these terms]“

You are not permitted to:

  • Modify the base files of Project Zomboid to include malicious code or other naughtiness.
  • Distribute Project Zomboid yourself, or host its download. In order to ensure the game’s integrity we recommend it should only ever be downloaded from established portals on which we’ve placed it (e.g. Steam).

In terms of the modding of PZ, you also agree that:

  • The Indie Stone reserve the right to implement any features in the game irrespective of whether mods exist that accomplish the same goal.
  • PZ modders are solely responsible for their mod, including (but not limited to compliance with any hosting platforms (such as Steam Workshop). They are also responsible for obtaining third party consents for any third party materials in the mod. Legally, we have to ask that modders to ‘represent and warrant’ (i.e. promise legally) that their mod is their own original work and any third party contents are fully and properly licensed by the modder.
  • Creation of mods is subject to our modding guidelines, which may be updated from time to time with any technical requirements regarding how PZ mods must work.
  • Project Zomboid modders are free to receive monetary/gift donations from the players who use their releases, and appreciate the time and effort put into them. However having mods created exclusively for those who choose to donate (or separate ‘in-mod’ content and bonuses) is not allowed. Mod creators cannot sell modifications to Project Zomboid.

How to install/play mods

Mod menu

To get a full tutorial on how to install mods, see [RoboMat's tutorial on the forums].

To start a mod up, first make sure the mod is installed in the correct directory. Once you have done this, start up Project Zomboid. Once you get to the main menu, down at the bottom of the screen when you see "Survival" and "Sandbox" you will also find a menu option called Mods. Click on it, which will then lead you to the mod menu.

In there you should see the list of mods that you have installed. Double click on the mod you wish to start and a green tick should appear next to the mod. Next thing to do is shut down Project Zomboid and start it up again. Once started your mod should now be ready to go. Instructions on using the mod are usually contained in README's or information in the thread.

Current mods

Modding tutorials

Tutorial Author Last updated
Project Zomboid Modding Guide (WIP) Fenris Wolf July 27, 2019
Lua Events (v41.65) co` June 13, 2023
RoboMat's Tutorials RoboMat July 24, 2013
Java Scripting Guide (very out of date, only the item and recipe sections seems to be applicable to current builds) Lemmy101 July 24, 2013

A Note Regarding Updating and/or Changing Mods

Removing .txt and .lua files from a mod before updating them to the steam workshop may result in file mismatch errors etc. on account of steam not automatically removing said files from clients and/or servers. One solution is manually deleting these files from the installation directories of the server and/or clients. As well modders can avoid this issue by keeping those files, instead of removing them, but editing those files so they are empty instead of having any functional content. Including commented text explaining the reason for this in the files is also a good practice.

A Note Regarding Linux and Case Sensitivity

Note that, unlike Windows and Mac, Linux OS is case-sensitive regarding file and directory names. Although people playing PZ on Linux is uncommon, it's far more common with server hosting services. To avoid issues, make sure and follow the vanilla PZ capitalization conventions for file and directory names.

For example: with clothing mods fileguidtable.xml works for Windows and Mac, but will cause serious issue for Linux as it will be looking for "fileGuidTable.xml", as that is how the vanilla PZ file is capitalized. Although Client, Server, and Shared will work for the lua directories for non-Linux systems. it won't work for Linux; consequently use the vanilla capitalization, "client", "server" and "shared" for those.

Javadoc reference to Project Zomboid codebase

Basic Lua language

Typescript Modding

You can now use Typescript language to write your mods which are then compiled into lua.

Modding Tools

Important Additional Modding Resources

General Additional Modding Resources

Clothing Modding Resources

Old and more specific Additional Modding Resources

Mapping tutorials

Main article: Mapping
Tutorial Author Last updated
The One Stop TileZed Mapping Shop RingoD123 January 30, 2017
How to Combine Map Mods RingoD123 June 11, 2017
Full list of current Room Definitions RingoD123 February 7, 2014
Making new room definitions RingoD123 June 10, 2017
Mapping Tutorial's and Videos Thuztor April 20, 2015
Mapping Tutorial's and Videos (Outdated) Thuztor September 12, 2017
VegMap to Testing Custom Map Cpt_Paradox January 28, 2017
Making rooms with the place wall tool, item spawns, ortho and more! Cpt_Paradox November 30, 2017
Sliding Glass Doors, New Textures, Here's How! Cpt_Paradox November 30, 2017
How to make a map Start to Finish Full Video Tutorial BlackBeard January 30, 2017
All player made Building Archives BlackBeard May 31, 2019
Custom texture packs and tile definitions EasyPickins June 5, 2014
Card's Tutorial for Terrain Generation Cardenaglo February 22, 2017
Video Tutorials mapping Atoxwarrior June 26, 2016

Mapping tools

File format

Mapping Resources