Jump to content

Search the Community

Showing results for tags 'modding'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • 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

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Twitter


Interests

  1. I've created a really simple map just to test everything out. I've went through this tutorial and got everything working except actually being able to spawn into my own map in-game. Here's the repository of my mod: https://github.com/Urbs97/ProjectZomboidTestMap And as an attachment the finished mod I'm using that is the result of generating lots with the repository I've linked. The mod is loaded: But I can only choose the vanilla spawns: Those are the contents of my map.info which you can also look up in the repository and fork the project if you like: title=Hello World Map lots=Muldraugh, KY description=My description fixed2x=true I've tried different "lots" (even the mod name) and also removing it. The result is always the same. In case more information is needed I will try to answer as soon as possible in this thread. Thank you for your time. MyMapMod.zip
  2. Is it possible to use the XML markup for probability inside of a subitem branch? <m_items> <itemGUID>cbe793fe-97d9-4585-88e0-bc18be39d714</itemGUID> <subItems> <probability>0.25</probability> <itemGUID>48efaf62-6a65-474a-8773-886e05ea7632</itemGUID> </subItems> </m_items> In the example above, would this work such that one of these items would guarantee to be on the zombie, but Item A (main item GUID) would appear 75% of the time versus Item B (subitem GUID) spawning 25% of the time?
  3. I have been searching about some info about this, since I started to imagine recreating part of my city on a modded map, I got many questions of how to do some especific buildings. I bring two examples here that may help game developers to give us new experiences and building news. First of all, I know that new build would bring basement on houses, after this, I asked my self if there will be a way to make an underground parking, I mean: Take a build, put garage door and there will be a ramp to enter the parking. It woult be very usefull to implement this on vanilla. My other suggestion has the same mechanic, would be the same but used to connect with other roads or direction changes. The main problem is to make the ramp on vanilla game to have the oportunity to make this examples. That would bring diversity to the scenarios. If anyone who reads this knows something about this ideas, reply me, thanks!
  4. I've been working on a Helmet mod and its texture only has problems with baggy clothing on the character, I'm not sure if anyone else has encountered this problem and has a solution or not. I have been comparing it to other mods that add clothing but I can't find anything that jumps out. any help would be appreciated. Some clothing that has been giving it trouble is mostly static model clothing, for example, long shorts, suit jackets/pants.
  5. Would there be a way to adjust the rendering pipeline without half re-creating the game? From what I can find the relevant functions are all private in Core, GameWindow and SpriteRenderer. I'm assuming that because I can't because any other mod that does this sort of thing. If I can't modify the perspective of the entire game would it be horribly frowned upon to have a go modding in a new build of PZ to make it first person? Thanks.
  6. For the past month or so I've been working on further developing the DrHyde's Vaccine mod to suit the needs of PZ roleplaying servers. There is one feature I'd really like to implement but am unable to. Vaccinating OTHER PLAYERS -- how can I code a function that will change the other player's bodyDamage()? So far I've successfully added a UI-button to the HealthPanelUI that opens up when medically checking right-clicked player, but I just can't manage to add function that will change right-clicked player's stats. The code I'm using is simple: adds UI-button and a 'confirmPress' function that runs when that button is pressed. But how do I change the local function confirmPress(button, args) to apply changes to the other player's stats and not the one that initiates the button press (me)? Any help is appreciated-- please help me solve something that I couldn't figure out in a month worth of time.. -- Functions for button of UIs local function confirmPress(button, args) local player = getPlayer(); if player:getInventory():getItemFromType('CmpSyringeWithVirus') then if player:getInventory():getItemFromType('AlcoholedCottonBalls') then player:getBodyDamage():setInfected(true); player:getInventory():Remove("CmpSyringeWithVirus"); player:getInventory():Remove("AlcoholedCottonBalls"); else player:Say("Cotton balls?"); end--if else player:Say("Nothing to inject with.."); end--if end--function -- Add HealthPanelUI Syringe Button local ISHealthPanel_createChildren = ISHealthPanel.createChildren function ISHealthPanel:createChildren() ISHealthPanel_createChildren(self); self.fitness:setWidth(self.fitness:getWidth()/1.5); self.TOCButton = ISButton:new(self.fitness:getRight(), self.healthPanel.y, 20, 20, "", self, confirmPress); self.TOCButton:setImage(getTexture("media/ui/iconForMenu.png")); self.TOCButton.anchorTop = false self.TOCButton.anchorBottom = true self.TOCButton:initialise(); self.TOCButton:instantiate(); self:addChild(self.TOCButton); if getCore():getGameMode() == "Tutorial" then self.TOCButton:setVisible(false); end end local ISHealthPanel_render = ISHealthPanel.render function ISHealthPanel:render() ISHealthPanel_render(self); self.TOCButton:setY(self.fitness:getY()); end
  7. As the crafting system is being overhauled soon I'm hoping that items will be given traits to make Modding much easier to accomplish and maintain as well having an easier time adding new recipes and items for the developers. As a simple example: Hammer: 3 Hammering Quality 3 Nail Pulling Quality 2 Destruction Quality 1 Screw Driving Quality Metal Item These qualities allow the item to be used to pull nails out of furniture and boards with a reliable frequency. It can be used to construct advanced furniture and deconstruct them as well. It's destruction quality is high enough to hammer items to scrap them losing fine components, but not high enough to quickly destroy walls. Using the nail pulling part one *could* drive screws (Mostly Flat-heads and Phillips) but it would be slower and unsuitable for most advanced disassembly. Another: Screwdriver: 3 Screw driving Quality 1 Nail pulling Quality 1 Hammering Quality Metal Item The screwdriver is an excellent screwing tool. But as an aside it could be used to pry nails out of items, but would be likely to wreck the nails. The handle could be used to drive nails- though clearly it wouldn't work well. - These 'qualities' are used when determining the amount of time and likelihood of success during crafting and construction/mechanics. In crafting recipes there would be a recommended minimum quality. If under this quality there would be a higher chance of failure and the recipe would take much longer- some recipes would have a Minimum Quality required. As a benefit this would make adding new items much easier for both modders and staff. Once the qualities are in, adding a new tool would require no manual changes to recipes. At most a change to the math that factors in crafting, destruction, etc would be needed if the item changes the scale of the math. - Lets say we add a Jackhammer to the game as a higher tier of sledgehammer. In the game as is it would require a good amount of changing to the current destruction system to add the proper time reduction to the action and factor in fuel potency and amount. The sledgehammer: 3 Destruction Quality 2 Hammering Quality Metal Item It takes 10 Minutes to destroy a hole in a wall after math and skill is calculated (Example) The Jackhammer: 4 Destruction Quality 1 Hammering Quality It takes 1 Minute to punch a hole in a wall. - A very similar system is used in CDDA, PZ's sister from other misters. And through this system, modding would be much easier and FAR less likely to have compatibility issues. As a clear example most popular mods have their own crafting tree. Why? Because changing a vanilla recipe could easily break hundreds of players games due to a mod conflict that relies on that recipe. So to avoid it they make their own recipes from scratch. This means that two items with the same name from different mods CAN'T be used for their recipes because... they simply can't. The item Id's don't match what the recipe looks for and the mod creator can't make a patch for everything. However with recipes only looking for Qualities then the tools from any mod could be used with any other mod as long as they share the correct Quality.. Even vanilla tools could be used without fear of conflict due to the recipes ignoring any uneeded trait. So if I give a cooking pot a Chemical Synthesis Trait it won't suddenly be unable to be used to make a soup because the recipe only looks for the 'Soup Making' Quality. - As well once the math is in place the system will be easy to understand and use. Most of what needs to be done is defining the timescale and how each level of quality affects that equation. Then it is very similar to determining time in normal crafting with it's base time scale modified by tool qualities and skill. Lets say I want to make something that requires Screw-driving 3 but I only have a Screw-driving 1 tool. Now the recipe is 3 times more likely to fail and takes 3 times as long. But if I have something with Quality 5 it will be more likely to succeed and faster. (This example disregards skill to make it easier to understand/read) Now the developers have talked about item qualities- but it seems they are more talking about base materials (poor, Common, uncommon, rare, superior) rather than tools individual traits. I believe that this system would make both development and modding go forward easier and smoother- which would help with multiplayer server compatibility greatly. Edit: This may be able to apply both to medical and Cooking as well with Qualities such as: Food: Savory, Sweet, Hot, Cold, Spicy, Mellow, etc Medicine: Anesthetic, Pain Relief, Clotting, Calming, Depressive, Stimulant etc along with interactions when mixing certain qualities like certain calming medications could interact poorly with Anesthetic medications
  8. Please add a hook to WeaponHit in IsoThumpable.java. Something like this: public void WeaponHit(IsoGameCharacter var1, HandWeapon var2) { IsoPlayer var3 = (IsoPlayer)Type.tryCastTo(var1, IsoPlayer.class); Thumpable var4 = this.getThumpableFor(var1); if (LuaHookManager.TriggerHook("WeaponHitObject", var1, var2, var4)) { if (GameClient.bClient) { if (var3 != null) { GameClient.instance.sendWeaponHit(var3, var2, this); } if (this.isDoor()) { this.setRenderEffect(RenderEffectType.Hit_Door, true); } } else { //Thumpable var4 = this.getThumpableFor(var1); if (var4 != null) { ... This will allow modders to determine if a specific thumpable can be attacked. Perhaps you want players to only be able to attack particular objects with particular weapons. Perhaps you want a specific skill requirement before a player can attack a particular thumpable.
  9. Would be great to have an option in the `mod.info` to prevent my mod of loading if an other mod ID is found to be enabled. This way we can have multiple mods into a single workshop project that offer different flavor without overwriting each other when people auto-enable them all. Example: disableIf=OtherModID name=FlavourRed id=FlavourRed disableIf=FlavourBlue disableIf=FalvourYellow
  10. So, this one is a bit tough to explain, please bear with me. I discovered this issue (painfully) while I was working on one of my mods. I wanted to add a new item, so I simply created the file media/scripts/items.txt in my mod folder and added the following content: module Base { item GrassCuttings { DisplayCategory = Material, Weight = 0.1, Type = Normal, DisplayName = Grass Cuttings, Icon = GrassCuttings, WorldStaticModel = GrassCuttings, } } At that point, I had not created the Icon and the WorldStaticModel yet. In the meantime, I discovered my mod name was invalid in mod.info, due to a mistake in my previous release. So I switched to fixing that issue first, because it seemed important enough (the mod was still working, but it was hard to find in mod list due to the invalid name). I updated my mod.info, published a new release to Steam workshop, and went back to working on my new item. That's where the pain started... Unfortunately I wasn't careful enough and my new release included the new items.txt file mentioned before. In the next few hours, I received a multitude of messages on my workshop page about my mod being responsible for breaking saved games, for both single and multiplayer. In particular, my subscribers where complaining about the following issues: - The mod triggers errors when starting a new game - The mod breaks vanilla items (objects disappearing, not available, or not working when interacted with) - The mod breaks vanilla recipes (not possible to use some recipes) - The mod breaks ripping cloth (trigger a red square error when right-clicking any cloth item that prevents users from interacting with cloth) So of course at first I was a bit skeptical because I couldn't imagine how my mod could be responsible for all these problems, especially since it doesn't do anything related to items or recipes or ripping cloth. But then I couldn't deny the facts when I discovered in horror it was all true after I tried it myself. When I realized the issue was related to this new items.txt file, I simply deleted it from my repository and published a new release, fixing the problem for my subscribers. I can't deny I have my fair share of responsibility for this whole issue. I'm aware I've been sloppy and that I really f*cked up at multiple stages. But I also strongly believe a game (or any software in general) shouldn't fail in such dramatic ways for a simple mistake like the one I made, which is to unwillingly ship a mod with an incomplete item. The consequences are way too heavy to wear on my single shoulders alone. The game engine should have failsafes to prevent this kind of issues and just ignore the bogus items when it can't find the corresponding Icon or WorldStaticModel (and of course show an error message in console.txt for easier troubleshooting). Anything that comes from a mod should be checked before use and ignored in case it's not valid, with a proper message sent to console.txt I've included the following files: - broken-items.txt (errors about broken items) - broken-recipes.txt (errors about broken recipes) - errors-on-start-new-game.txt (errors on starting a new game) - error-when-right-clicking-a-cloth-item.txt (error on right-clicking a cloth item) Please don't let sloppy modders like me break your beautiful game! Implement more failsafes to prevent this kind of issues in the future! I'm available if you need more info, or anything really. Just reach out to me on your discord. broken-items.txt broken-recipes.txt errors-on-start-new-game.txt error-when-right-clicking-a-cloth-item.txt
  11. When an IsoWindow is oriented either East or South, the property Facing of the window indicates a wrong value, respectively West and North. For example, given an IsoWindow that is oriented East, the following code would print W in the console instead of E: print(isoWindow:getProperties():Val("Facing")) When the IsoWindow objects are oriented either North or West, then we get the proper values, respectively N and W Here's the code I'm using to print the values in the console: function onFillWorldObjectContextMenu(player, context, worldobjects, test) for _, object in ipairs(worldobjects) do if instanceof(object, 'IsoWindow') then local orientation = object:getProperties():Val('Facing') print('DEBUG: Window facing ' .. orientation) end end end Events.OnFillWorldObjectContextMenu.Add(onFillWorldObjectContextMenu) Note: I had to crop the screenshots to fit the 4MB upload limit, but I can provide the full version if needed, just ask.
  12. Hello! I want to create mod that will add new skin colors in "Create character" tab, but can't find what method from SurvivorDesc class I should use. It is quite understandable with adding new hair or trouser colors: BaseGameCharacterDetails.DoHairColorNew = function() SurvivorDesc.addHairColor(ColorInfo.new(0.60000000000000000,0.33000000000000000,0.66000000000000000, 1)) SurvivorDesc.addTrouserColor(ColorInfo.new(0.60000000000000000,0.33000000000000000,0.66000000000000000, 1)) end Events.OnGameBoot.Add(BaseGameCharacterDetails.DoHairColorNew); But how can I add my own skin body colors? Please, help. Thank you in advance!
  13. Im making a mod , and when i try to load it into the game it crashes on reloading the lua , this is my first time making a mod and i cant figure what im doing wrong , i attached the mod zip so anyone can check and see what im doing wrong. Armored_contact.zip
  14. Hello everyone, So My wife bought me Project Zomboid a week ago and since I've been playing. Well Today I decided to try to mod in a feature which seams to be missing. What I want to do is be able to put dirty rags and bandages In a washer and dryer so you can wash them like you do dirty clothes. What I'm asking i guess is what files would be the ones to look out
  15. Automatically Click to start option in the settings I don't think I need to say more to describe this addition, this is more of a quality of life addition. Better for recurring players and especially modders when they would like to check if their mod is functional. The implementation would be simple. Settings screen Accessibility tab: Automatically click to start Checkbox = true/false When game is loaded: Automatically send click (or just start, however the game is coded after the loading screen of THIS IS HOW YOU DIED)
  16. Hello and welcome to my tutorial. It covers full workflow of vehicle creation for PZ. If you are a complete beginner in 3D modelling, you'll have to watch/read additional tutorials, I won't cover every aspect of model creation and 'where this button is located'. I divide vehicle creation in these stages: 1) Modelling 2) Wheels texture and modelling 3) Texturing 4) Packing files in folders 5) Editing scripts and .lua 6) In-game editing and tests 7) Workshop publish STAGE 1 - MODELLING Today I am creating a 1960 Ford Falcon I prefer using blender as it is my everyday 3d modelling software. Now, find references for your vehicle and ideally it will be a blueprint/outline scheme, like this one: There are some tips in modelling for PZ: 1) Do not care too much about topology and good shading. There is no actual shading in game, only windows have reflections. 2) Avoid n-gons or triangulate them before export 3) DO NOT make edges to outline body panels/parts. All dividing of parts will be done with texture mask. You can do it in UVs if there will be a point for that. 4) Place spindiel imitations in wheel wells to hide rear part of wheel models 5) In the UVs parts of body have to be straight-oriented without any non-90 degrees rotation, so pixels in texture will lay parallel with polygon flow. 6) To avoid physics artifacts in game import model of one of vanilla game cars models to your scene and model in consistent scale. Or import mine, that is available in the end of topic. This is what I consider a well done model There is nothing special in UV unwrapping process, just remember to place the least amount of seams possible and keep island aligned. Here are the UVs of my model: I've unwrapped the model without applied mirror modifier, so now we will have to texture just one half of the car. I'll fix mirroring later. STAGE 2 - WHEELS There are many ways to make a wheel and texture it, but I'll show the most efficient one. Make the wheel's face with simple materials, but unwrap the 'road touching part' to flat surface, like this: Then place an orthographic camera facing the wheel, scale it to fit the whole wheel-dish. Place a ring with emission material to light the wheel. Switch your renderer to Cycles and go to camera view, now use a rendered shading mode to adjust materials and lights to your taste. Set rendering resolution to something like 120x120-175-175 for best results Check the 'transparent' box in film settings to have alpha backround in texture: Now increase the sample count to something like 512-1024 and hit render. You will end up with a result of a ready-to-go wheel texture: The example file with scene for rendering and the model of this wheel you can download here: *google drive .blend file* Now make a lowpoly model of the wheel to use this texture on. I prefer using 18-24 edge circles for wheels. The unwrapping will be later, but eventually you'll end up with this: This method takes 10-15 minutes when you get used to it and gives a stunning and clear result. STAGE 3 - TEXTURING NOTE: I use a pretty complicated way of texturing and adding light to model. All rules of using textures the default way are covered in "HOW TO CREATE NEW VEHICLE MODS" topic by RingoD123, one of PZ devs. You can access it here: *boop* I'll show you my way, using Substance Painter to apply lighting and fake chrome parts to model. But first comes the base color and details of the car, so let's dive into it. Create a texture with 0 alpha and resolution 256x256. You can go for 512x512, but personally I like pixelated look of lo-res texture. Here are the settings for initial image: To preview the texture you are painting with different car colors, use this node setup. But switch filtering mode from "Linear" to "Closest", I forgot to do it on screenshot. There are two types of texture details: somewhat transparent and absolutely opaque. Half-transparent parts will be affected by car color, so they are mostly shadow/highlight details. Headlights, fixtures and things like that have to be opaque and painted with 100% brush hardness. It is easier to keep 3d view just to see what are you doing and paint texture in image editing mode, right there: First, paint the outlines of doors and other opening parts. Here are some brush hardness values: 0.2 - Outline shadow 0.5 - Outline 1.0 - Fake chrome and rubber window sealing Some work in progress screenshots Now when you have windows frames, save the image you just painted and go to photoshop and mask out glass sections like that Well, time for Substance Painter. You can use photoshop gradients for windows and blender lighting for lighting of the body, but I'll use SP "Baked lighting" filter for that, and for chrome especially. I will briefly describe what I've done in SP: 1) Mask out windows, give them mirror metal material and add a filter to them 2) Mask out chrome parts, made them mirror metal and added the same filter with slightly different settings. 3) Apply the same filter to all body parts left. 4) Add a position gradient to the windows Now I have this result, it is not shaded model, just basecolor: Also export the AO map you baked in SP. You can download file with this scene to look through and get ideas using this link: *boop* Now paint additional details you want on the car and open Photoshop. This is your layers layout: Now save it as .psd for future color editing and as .png to see what the you've done. Plug .png direcly as BaseColor in shader settings. Set your shading setting like this: And check if everything looks ok. This is my result: And this is the vehicle's look with wheels that we made before Sweet, isn't it? Now, it is time to get rid of mirroring. You can make new UV, bake it and... get A LOT of offset artifacts resulting in jagged pixel edges. There is a lazy but effective method: 1) In the UV editor place cursor in the 0,0 coordinates. 2) Set Pivot to 2D cursor: 3) Scale all UV islands to 0.5 EXACTLY 4) Apply mirror modifier to your model. Now select FACES of any half of the model and move it in UVs on Y by value 0.5 EXACTLY or you'll eventually mess everything up. 5) In Photoshop expand canvas of your PSD file we made before 6) Duplicate everything and move to the upper left corner, like in UVs. You can merge color layer(s) to operate color on export more easily. Now you have half of the texture empty... You do not want to waste it, right? Then drop in the wheel texture here without scaling, and you won't need additional texture file for it! 7) Create a layer beneath all others and paint it black or grey to cover alpha-holes in the textures. 8 ) Now unwrap the wheel to this new texture and let it shine! We painted the car and fixed mirroring. DOWNLOAD THE .PSD FILE: *bloop* There are 3 more types of textures to make: 1) Rust 2) Damage (1 or 2 levels, I'm lazy, I prefer using single one) 3) ID Color Mask or just Mask It wasn't possible to make them right with mirroring. Everything about these textures are explained clearly in Ringo's guide, again: *boop* I'll just show results I ended up with. Now you have to use 512x512 clear images for these textures, do not forget it. RUST Painted it with jitter brush and 0.2 hardness. To see what I am doing used the same node setup, as for base texture. DAMAGE Painted gradients with black and white with 0.1 hardess with repetitive strokes. MASK Mask texture tells game where are separate parts of car: doors, windows, lights and others. Every part has it's own color in palette, you can find color table in Ringo's guide. Copy and paste color HEX to use it in blender brush or fill tools. I've missed some of the parts because they do not really matter. AEUGH Texturing is finished. Go to photoshop and make all color variations you want and save them as .png, name them Vehicles_[vehicle name]_ Vehicle name mustn't containt spaces These are color palettes of my car: Now you have to export your vehicle body and wheel models. Copy them to an empty scene and save as separate file. If you used blender default orientations (front, back, right, left, top), then rotate the car on Z axis by 180 degrees. Game rotates it for some reason, so you'll have to do it. Now position everything in scene like this and continue to export settings. Export body and wheel separately with these settings: STAGE 5 - Packing files in folders The folder hierarchy and naming the files you can find in Ringo's guide. The mod file and all of my project files you will be able to download in the end of this topic. make up an Id name for your car. It has to be short, but unique and do not contain spaces. For this car I use '60falcon'. _____________________________________________ workshop.txt properties of the mod for Steam Workshop _____________________________________________ mod.info properties of the mod for in-game mod menu _____________________________________________ models_X folder -> vehicles this folder contains 3d meshes of the vehicle - body and wheel _____________________________________________ textures -> vehicles easy to guess, all vehicle textures are placed here null.png - completely transparent image, used as placeholder later on _____________________________________________ scripts -> vehicles there shoud be a .txt file named with you vehicle's ID name. Open it up and follow these instructions: change invertX to 'TRUE' if vehicle appears to be mirrored by left and right in game. Do not care about scale, offset and other geometric parameters. Insert all your color variation textures as shown below: All vehicle driving parameters are self-explanatory. Remember to set seats count, I'm creating a car with 4 seats. If you want to make less seats or add new, delete passenger[Seat code] records or add new. Also remember Seat[position] records down below. Add or delete the templates, loaded from Game default files: _____________________________________________ LUA SCRIPTS lua -> server -> vehicles -> [car id name]dis.lua Vehicle trunk type distribution file. There is a file with all vehicle distribution types in game files, I'll put it in project folder in the end if the article. This is game files distibution types, select one of them in respect to the vehicle type you are creating. I'll use CarNormal type for Ford Falcon. This is what distribution lua file has to be: _____________________________________________ lua -> shared -> [car id name]SpawnList.lua This file describes spawn zones of your car in game world with certain chance. I've typed in all default zones of spawn, you just have to change the chance and set [Base.60falcon] to [Base.(your car id name)] _____________________________________________ lua -> shared -> Translate -> EN -> IG_UI_EN.txt This is the name of the car in UI - keys name, mechanics window name and such. STAGE 6 - In-game editing and tests Launch PZ and disable all mod exept the one you will be debugging. Now close the game and go to Steam. In application setting set startup parameter to -debug It enables many debug options in-game. Now launch the Game again and, if menu doesn't appear, you've done something wrong in lua scripts. Check them for probles, and I hope, you'll figure out what is wrong. Now start a new game in world with no zombies and big amount of cars. Leave the house and find any car vibing in the street. Right click, -> Vehicle -> Set Script -> [your car ID name]. Car will switch to yours. This is what I've got on first time in-game spawning: YEET, it is all coming along. But wheel positions are a bit off, and we have to place the entering areas of doors. Go to Right click on car -> [DEBUG] Vehicle -> Vehicle Editor. Chassis Place extents and physics shape to outline the car Areas These are access areas to different parts of the car. There is nothing to describe, really, just place them where you can explain it and continue to next section Right click in mechanics tab to enable cheat options for the car. Now right click in mechanics panel. Here you can get key for that car or repair it. Final result in different variations Make a suitable preview image for your mod and crop it in Photoshop to 256x256. Place it in mod folder as preview.png In game menu go WORKSHOP -> create or update mod -> Go to your profile workshop items and find the new mod. Add the description, more screenshots and set visibility to 'Public' ALL PROJECT FILES: *YEET* ZE END Congratulations if you followed my guide to this point. Comment any issues or mistakes I've made.
  17. Greetings! I'm trying to use for modding a cooking recipe similar to the "Disinfect Bandage" like the way of using an item while is hot to craft another, but I can't find the script or code related in the media file to the whole heat system. Is it controled by some Lua code or some item script? I think that the logical way that the heat value works is only because of the WaterSource items like FullKettle or WatterPot. I mean I´ve tried something like a stone for frying an egg for example: recipe Fry egg On Stone { Stone, Egg/WildEgg, Salt;1, Result:FriedEgg, Time:50.0, Heat:-0.22, Category:Cooking, } The recipe won't happen because there is no base item to be heated, also how does the scale of the heat value works, it's just setting Heat:-0.22? . Thanks!
  18. Hello survivors ! Since the last big update, the weather update, i was thinking about creating a mod that plays with the actual weather update. What i want to do, is create a mod that make the weather way more dangerous. There is a challenge that makes the weather in winter mode in July, which is a great idea. In 2018, with the climate change, weather is becoming way more extreme and this is exactly what i want to do. The thing is, im trying to read script and files about other mods but the weather files are kinda different. I want to locate how exactly the events in weather (suck as rains, snow, wind and temperature) act. So thats why i need a little help. Maybe pointing me a exact line in one of the file so i can learn and ask question as i go through my mod !? Thanks in advance !
  19. 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
  20. 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 "mod.info" 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: PZ_PLYtoPZconverter.zip 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: ZAZ968M.zip - 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!
  21. 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 mod.info 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: RingoCarSkinEdit.zip
  22. 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.
  23. This is very similar to adding foraging zones to your map, (step 6 of this tutorial: https://theindiestone.com/forums/index.php?/topic/21951-the-one-stop-tilezed-mapping-shop/ ) 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.
  24. 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.
  25. 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.
×
×
  • Create New...