How to create new vehicle mods
2 2

78 posts in this topic

Recommended Posts

**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:

 

Spoiler

 

HWWyh0jWSXc-DEedybPR44xUnglFE1f8KdmGxskMmods

  HWWyh0jWSXc-DEedybPR44xUnglFE1f8KdmGxskMMOD_NAME

     kgdnFMB3ZIlQc4MwSbd1LYTkbXahd9bV3NhfR8MTmod.info

     Ds_VWsj2dL4DtnqUxc7WTBk3dUw4x4M7ffSZMTGRMOD_NAME.png

     HWWyh0jWSXc-DEedybPR44xUnglFE1f8KdmGxskMmedia

        HWWyh0jWSXc-DEedybPR44xUnglFE1f8KdmGxskMlua

           HWWyh0jWSXc-DEedybPR44xUnglFE1f8KdmGxskMclient

              2FhUSz1J9tlKkSLL9VnkUWtNjfIZD-NJHhaHgKNwMOD_NAME.lua

        HWWyh0jWSXc-DEedybPR44xUnglFE1f8KdmGxskMmodels

           kgdnFMB3ZIlQc4MwSbd1LYTkbXahd9bV3NhfR8MTVehicles_MOD_NAME.txt

        HWWyh0jWSXc-DEedybPR44xUnglFE1f8KdmGxskMscripts

           HWWyh0jWSXc-DEedybPR44xUnglFE1f8KdmGxskMvehicles

              kgdnFMB3ZIlQc4MwSbd1LYTkbXahd9bV3NhfR8MTMOD_NAME.txt

        HWWyh0jWSXc-DEedybPR44xUnglFE1f8KdmGxskMtextures

           HWWyh0jWSXc-DEedybPR44xUnglFE1f8KdmGxskMVehicles

              Ds_VWsj2dL4DtnqUxc7WTBk3dUw4x4M7ffSZMTGRVehicle_MOD_NAME_Shell.png

              Ds_VWsj2dL4DtnqUxc7WTBk3dUw4x4M7ffSZMTGRVehicle_MOD_NAME_Rust.png

              Ds_VWsj2dL4DtnqUxc7WTBk3dUw4x4M7ffSZMTGRVehicle_MOD_NAME_Mask.png

              Ds_VWsj2dL4DtnqUxc7WTBk3dUw4x4M7ffSZMTGRVehicle_MOD_NAME_Lights.png

              Ds_VWsj2dL4DtnqUxc7WTBk3dUw4x4M7ffSZMTGRVehicle_MOD_NAME_Shell_Damaged01.png

              Ds_VWsj2dL4DtnqUxc7WTBk3dUw4x4M7ffSZMTGRVehicle_MOD_NAME_Shell_Damaged02.png

              Ds_VWsj2dL4DtnqUxc7WTBk3dUw4x4M7ffSZMTGRVehicle_MOD_NAME_Overlays_Damaged01.png

              Ds_VWsj2dL4DtnqUxc7WTBk3dUw4x4M7ffSZMTGRVehicle_MOD_NAME_Overlays_Damaged02.png

 

 

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:

 

Spoiler

name=MOD_NAME
id=MOD_NAME
description=Some description
poster=MOD_NAME.png

 

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:

 

Spoiler

local function info()

    dir = getDir(MOD_ID);

    loadVehicleModel("Vehicles_MOD_NAME",

    dir.."/media/models/Vehicles_MOD_NAME.txt",

    dir.."/media/textures/Vehicles/Vehicle_MOD_NAME_Shell.png");

   

    VehicleDistributions[1].MOD_NAME =  {

        Normal = VehicleDistributions.Normal,

        Specific = { VehicleDistributions.Groceries, VehicleDistributions.Carpenter, VehicleDistributions.Farmer, VehicleDistributions.Electrician, VehicleDistributions.Survivalist, VehicleDistributions.Clothing, VehicleDistributions.ConstructionWorker, VehicleDistributions.Painter },

    }

    ISCarMechanicsOverlay.CarList["Base.MOD_NAME"] = {imgPrefix = "smallcar_", x=10,y=0};

    VehicleZoneDistribution.parkingstall.vehicles["Base.MOD_NAME"] = {index = -1, spawnChance = 30};

end


Events.OnInitWorld.Add(info);

 

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:

 

Spoiler

module Base

{

    vehicle MOD_NAME

    {

        mechanicType = 1,

        offRoadEfficiency = 0.8,

        engineRepairLevel = 4,

        playerDamageProtection = 0.8,

      /* The first model is always used as the vehicle's model. */

        model

        {

            file = Vehicles_MOD_NAME,

            scale = 2.15,

            offset = 0 0.20 0,

        }


       /* List the different skins for this vehicle here.

          A random skin will be chosen when a vehicle is first created.*/

        skin

        {

            texture = Vehicles/Vehicle_MOD_NAME_Shell,

        }

 

        textureRust = Vehicles/Vehicle_MOD_NAME_Rust,

        textureMask = Vehicles/Vehicle_MOD_NAME_Mask,

        textureLights = Vehicles/Vehicle_MOD_NAME_Lights,

         textureDamage1Overlay = Vehicles/Vehicle_MOD_NAME_Overlays_Damaged01,

        textureDamage1Shell = Vehicles/Vehicle_MOD_NAME_Shell_Damaged01,

        textureDamage2Overlay = Vehicles/Vehicle_MOD_NAME_Overlays_Damaged02,

        textureDamage2Shell = Vehicles/Vehicle_MOD_NAME_Shell_Damaged02,

       


        sound

        {

            horn = vehicle_horn1,

        }


       /* The size (in physics coordinates, not affected by model scale)

          of the collision body. */

        extents = 1.75 1 4.7,

       /* shadowOffset - Shadow boundaries shift:

          (right), (left),  (front), (rear) */

        shadowOffset = 0.0 0.0 0.0 0.0,

        mass = 650,

        physicsChassisShape = 1.75 0.85 4.7,


       /* Center of mass relative to the chassis origin.  The lower it

          is, the less likely the vehicle is to flip.

          Setting y too low will cause the vehicle to lean the wrong way

          in turns and when accelerating/braking. */

        centerOfMassOffset = 0.0 0.30 0.0,

      /* Amount of torque applied to each wheel.

           This provides the vehicle's acceleration */

        engineForce = 3600,

        engineQuality = 60,

        engineLoudness = 55,

        maxSpeed = 70f,

      /* Amount of braking torque applied to each wheel. */

        brakingForce = 60,


       gearRatioCount = 4,

       gearRatioR = 4.7,

       gearRatio1 = 3.6,

       gearRatio2 = 2.2,

       gearRatio3 = 1.3,

       gearRatio4 = 1.0,


       extentsOffset = 0.5 0.5,


        stoppingMovementForce = 2.0f,


       /* Reduces the rolling torque applied from the wheels that

         cause the vehicle to roll over.

          This is a bit of a hack, but it's quite effective.

          0.0 = no roll, 1.0 = physical behaviour.

          If m_frictionSlip is too high, you'll need to reduce this to

         stop the vehicle rolling over.

          You should also try lowering the vehicle's centre of mass */

        rollInfluence = 1.0f,


       /* How quickly the front wheels change facing direction. */

       steeringIncrement = 0.02,


       /* Maximum steering angle. */

       steeringClamp = 0.3,


       /* The stiffness constant for the suspension.

          10.0 - Offroad buggy,

          50.0 - Sports car,

          200.0 - F1 Car */

        suspensionStiffness = 30,


       /* The damping coefficient for when the suspension is compressed.

          Set to k * 2.0 * btSqrt(m_suspensionStiffness) so k is

          proportional to critical damping.

          k = 0.0 undamped & bouncy, k = 1.0 critical damping

          0.1 to 0.3 are good values */

        suspensionCompression = 2.83 /*0.88*/ /*4.4*/, /* aka wheelsDampingCompression */


        /* The damping coefficient for when the suspension is expanding.

         See the comments for m_wheelsDampingCompression for how to

         set k.

         m_wheelsDampingRelaxation should be slightly larger than

         wheelsDampingCompression, eg 0.2 to 0.5 */

        suspensionDamping = 2.88 /*1.76*/ /*2.3*/, /* aka wheelsDampingRelaxation */


       /* The maximum distance the suspension can be compressed

          (centimetres) */

        /*    float minSuspensionLength = wheel.getSuspensionRestLength() - wheel.maxSuspensionTravelCm * 0.01f;

            float maxSuspensionLength = wheel.getSuspensionRestLength() + wheel.maxSuspensionTravelCm * 0.01f; */

        maxSuspensionTravelCm = 100,


       /* The maximum length of the suspension (metres) */

        suspensionRestLength = 0.3f,


       /* The coefficient of friction between the tyre and the ground.

          Should be about 0.8 for realistic cars, but can be increased

          for better handling.

          Set large (10000.0) for kart racers */

        wheelFriction = 1.6f /*1000*/, /* aka frictionSlip */


       /* The amount of collision damage the vehicle can sustain while

          still being driveable. */

        frontEndHealth = 150,

        rearEndHealth = 150,

        seats = 4,


        wheel FrontLeft

        {

            front = true,

            /* offset of wheel-model origin from chassis origin, in unscaled model coordinate space */

            offset = 0.32f 0.14f 0.60f,

            radius = 0.3f,

            width = 0.2f,

        }


        wheel FrontRight

        {

            front = true,

            offset = -0.32f 0.14f 0.60f,

            radius = 0.3f,

            width = 0.2f,

        }


        wheel RearLeft

        {

            front = false,

            offset = 0.32f 0.14f -0.67f,

            radius = 0.3f,

            width = 0.2f,

        }


        wheel RearRight

        {

            front = false,

            offset = -0.32f 0.14f -0.67f,

            radius = 0.3f,

            width = 0.2f,

        }


        template = PassengerSeat4,


        passenger FrontLeft

        {

            position inside

            {

                offset = 0.2 0 -0.0121,

                rotate = 0.0 0.0 0.0,

            }

            position outside

            {

                offset = 0.5698 0 -0.0121,

                rotate = 0.0 0.0 0.0,

            }

        }

        passenger FrontRight

        {

            position inside

            {

                offset = -0.2 0 -0.0121,

                rotate = 0.0 0.0 0.0,

            }

            position outside

            {

                offset = -0.5698 0 -0.0121,

                rotate = 0.0 0.0 0.0,

            }

        }

        passenger RearLeft

        {

            position inside

            {

                offset = 0.2 0 -0.4,

                rotate = 0.0 0.0 0.0,

            }

            position outside

            {

            }

        }

        passenger RearRight

        {

            position inside

            {

                offset = -0.2 0 -0.4,

                rotate = 0.0 0.0 0.0,

            }

            position outside

            {

            }

        }

       

        area Engine

        {

            xywh = 0 1.3256 0.814 0.4651,

        }

        area TruckBed

        {

            xywh = 0 -1.3256 0.814 0.4651,

        }

        area SeatFrontLeft

        {

            xywh = 0.6395 -0.0121 0.4651 0.6512,

        }

        area SeatFrontRight

        {

            xywh = -0.6395 -0.0121 0.4651 0.6512,

        }

        area GasTank

        {

            xywh = 0.6395 -0.668 0.4651 0.4651,

        }

        area TireFrontLeft

        {

            xywh = 0.6395 0.6 0.4651 0.4651,

        }

        area TireFrontRight

        {

            xywh = -0.6395 0.6 0.4651 0.4651,

        }

        area TireRearLeft

        {

            xywh = 0.6395 -0.67 0.4651 0.4651,

        }

        area TireRearRight

        {

            xywh = -0.6395 -0.67 0.4651 0.4651,

        }


        template = TrunkDoor,


        template = Trunk/part/TruckBed,


        part TruckBed

        {

            itemType = Base.SmallTrunk,

            container

            {

                capacity = 40,

            }

        }


        template = Seat/part/SeatFrontLeft,

        template = Seat/part/SeatFrontRight,

        template = Seat/part/SeatRearLeft,

        template = Seat/part/SeatRearRight,


        part SeatRearLeft

        {

            table install

            {

                area = SeatFrontLeft,

            }

            table uninstall

            {

                area = SeatFrontLeft,

            }

        }


        part SeatRearRight

        {

            table install

            {

                area = SeatFrontRight,

            }

            table uninstall

            {

                area = SeatFrontRight,

            }

        }


        part Seat*

        {

            container

            {

                capacity = 20,

            }

            table install

            {

                skills = Mechanics:2,

            }

            table uninstall

            {

                skills = Mechanics:2,

            }

        }


        part GloveBox

        {

            area = SeatFrontRight,

            itemType = Base.GloveBox,

            container

            {

                capacity = 3,

                test = Vehicles.ContainerAccess.GloveBox,

            }

            lua

            {

                create = Vehicles.Create.Default,

            }

        }


        template = GasTank,


        template = Battery,


        template = Engine,


        template = Muffler,


        template = EngineDoor,


        part EngineDoor

        {

            mechanicRequireKey = false,

        }


        part Heater

        {

            category = engine,

            lua

            {

                update = Vehicles.Update.Heater,

            }

        }


        part PassengerCompartment

        {

            category = nodisplay,

            lua

            {

                update = Vehicles.Update.PassengerCompartment,

            }

        }


        template = Windshield/part/Windshield,

        template = Windshield/part/WindshieldRear,


        template = Window/part/WindowFrontLeft,

        template = Window/part/WindowFrontRight,

        template = Window/part/WindowRearLeft,

        template = Window/part/WindowRearRight,


        part WindowRearLeft

        {

            area = TireRearLeft,

            parent = ,

            table install

            {

                requireInstalled = ,

            }

        }


        part WindowRearRight

        {

            area = TireRearRight,

            parent = ,

            table install

            {

                requireInstalled = ,

            }

        }


        template = Door/part/DoorFrontLeft,

        template = Door/part/DoorFrontRight,


        template = Tire,


        template = Brake,


        template = Suspension,


        template = Radio,


        template = Headlight,

    }

}

 

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:

 

Spoiler

Example:

Vehicle_CarRangerShell.png

 

Unless you are using the advanced technique demonstrated in the included example mod at the bottom of this post, there should NOT be any part of this texture that is left transparent/white/black.

 

Next there are 6 different overlay/detail png's to create, the first is for the vehicle lights ("Vehicles_MOD_NAME_Lights.png"):

 

Spoiler

Example:

Vehicle_CarLightsRanger_Lights.png

 

Then the vehicle rust ("Vehicles_MOD_NAME_Rust.png"):

 

Spoiler

Example:

Vehicle_CarRanger_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:

 

Spoiler

Examples:

Vehicle_CarNormalShell_DAMAGED_01.png

 

Vehicle_CarNormalShell_DAMAGED_02.png

 

 

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:

 

Spoiler

Examples:

Vehicle_CarRangerOverlays_DAMAGED_01.png

 

Vehicle_CarRangerOverlays_DAMAGED_02.png

 

 

 

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:

 

Spoiler

Example:

Vehicle_CarNormal_Mask.png

 

Here the colour values to be used:

 

Spoiler

 

The zone

The color

Head

#FF0000

Tail

#00FF00

Front right door

#00FFFF

Rear right door

#FFFF00

Front left door

#FF00FF

Rear left door

#0000FF

Front right window

#007F7F

Rear right window

#7F7F00

Front left window

#7F007F

Rear left window

#00007F

Windshield

#7F0000

Rear Glass

#007F00

Front right guard

#C000C0

Rear right guard

#0000C0

Front left guard

#00C0C0

Rear left guard

#C0C000

Roof

#000000

Right headlight

#400000

Left headlight

#C00000

Right tail light

#00C000

Left tail light

#004000

Right brake light

#7F4000

Left brake light

#7FC000

Right flashing beacon(The lightbar)

#C0C0C0

Left flashing beacon(The lightbar)

#404040

Hoot

#FF007F

Boot / Trunk door

#00FF7F

 

 

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!

Edited by CaptainBinky
Updated converter tool to add support for countries which use a decimal comma rather than decimal point for floats

Share this post


Link to post
Share on other sites
11 minutes ago, Harra said:

The converter isn't outputting a txt file... Help?

So you have unzipped the convertor .exe from the zip file?

Are you exporting your model as a .ply file?

Are the faces of your model triangulated?

have you checked the folder the .ply is stored in for the converted .txt file? That's where it should spit it out but you might also want to also check the folder the convertor exe is in.

Share this post


Link to post
Share on other sites
Just now, RingoD123 said:

So you have unzipped the convertor .exe from the zip file?

Are you exporting your model as a .ply file?

Are the faces of your model triangulated?

have you checked the folder the .ply is stored in for the converted .txt file? That's where it should spit it out (but you might also want to also check the folder the convertor exe is in).

The converter is unzipped, yes.

The model is a .ply file from blender.

Triangulated, yes.

The .ply file is stored on a desktop folder, away from everything. it's stored with the converter.

Share this post


Link to post
Share on other sites
3 minutes ago, Harra said:

The converter is unzipped, yes.

The model is a .ply file from blender.

Triangulated, yes.

The .ply file is stored on a desktop folder, away from everything. it's stored with the converter.

Ok, does the included test .ply file create a converted .txt file for you?

If not then my guess is your antivirus might be blocking it.

Share this post


Link to post
Share on other sites
10 minutes ago, RingoD123 said:

Ok, does the included test .ply file create a converted .txt file for you?

If not then my guess is your antivirus might be blocking it.

The test file doesn't work either. I think Norton may be blocking it, but then again, i disabled it for 15 mins and it didn't work. Maybe there's a way of fully disabling it for a bit.

 

I've excluded the .exe from norton but nothing works.

Edited by Harra
grammar

Share this post


Link to post
Share on other sites
10 minutes ago, Harra said:

The test file doesn't work either. I think Norton may be blocking it, but then again, i disabled it for 15 mins and it didn't work. Maybe there's a way of fully disabling it for a bit.

 

I've excluded the .exe from norton but nothing works.

 

Are you running Windows or something else?

It should pop up a dos-like window asking you to press any key to continue once you drag and drop the .ply onto it, it'll then spit out your .txt file and pop up a second dos-like window asking you to press any key to exit.

If you're on Windows it should work fine if your AV definitely isn't interfering, I've just double checked and tried it myself on my Windows 7 machine and it works.

Share this post


Link to post
Share on other sites
Just now, RingoD123 said:

 

Are you running Windows or something else?

It should pop up a dos-like window asking you to press any key to continue once you drag and drop the .ply onto it, it'll then spit out your .txt file and pop up a second dos-like window asking you to press any key to exit.

If you're on Windows it should work fine if your AV definitely isn't interfering, I've just double checked and tried it myself on my Windows 7 machine and it works.

Windows 10, i dragged it and dropped, it then skips the next box and doesn't show anything or spit out a file.

Share this post


Link to post
Share on other sites
2 minutes ago, Harra said:

Windows 10, i dragged it and dropped, it then skips the next box and doesn't show anything or spit out a file.

Hmm, have you tried right clicking on the .exe and enabling "run in administrator mode" under properties?

Share this post


Link to post
Share on other sites
1 minute ago, RingoD123 said:

Hmm, have you tried right clicking on the .exe and enabling "run in administrator mode" under properties?

now it doesn't let me drop the file into the .exe...

 

I wish this wasn't broken for me :(.

Share this post


Link to post
Share on other sites
33 minutes ago, Harra said:

now it doesn't let me drop the file into the .exe...

 

I wish this wasn't broken for me :(.

 

The only reason I can think of for it not running at all on a Windows machine is Anti-Virus related.

For sanity sake you might want to re-download it, re-unzip it, possibly to a different location (root of your C drive for example) and then re-add it to your AV exceptions, might even be worth restarting the pc after adding it to norton.

Share this post


Link to post
Share on other sites
4 minutes ago, RingoD123 said:

 

The only reason I can think of for it not running at all on a Windows machine is Anti-Virus related.

For sanity sake you might want to re-download it, re-unzip it, possibly to a different location (root of your C drive for example) and then re-add it to your AV exceptions, might even be worth restarting the pc after adding it to norton.

Done every step again + what you said, didn't work :(

Share this post


Link to post
Share on other sites
43 minutes ago, Harra said:

Done every step again + what you said, didn't work :(

Just checked with a team member who uses Windows 10, working fine for him too so no compatability issue there.

Did you try extracting the zip to a different folder instead? ideally it would be best to try in a simple-named folder (e.g. converter) on the root of your C:\ .

If that doesnt work for you then im stuck, my best guess would be it still has something to do with your AV or admin rights.

Share this post


Link to post
Share on other sites
12 minutes ago, RingoD123 said:

Just checked with a team member who uses Windows 10, working fine for him too so no compatability issue there.

Did you try extracting the zip to a different folder instead? ideally it would be best to try in a simple-named folder (e.g. converter) on the root of your C:\ .

If that doesnt work for you then im stuck, my best guess would be it still has something to do with your AV or admin rights.

Nothing works :( I'm admin on my PC, AV exclude list has the exe on it.

 

This is very annoying. I'm afraid I can't do anything about it either, so I can't mod too.

 

USAGE: PZ_PLYtoPZconverter [filename]
Or drag and drop file to convert

Source must be an ASCII Stanford *.PLY file.

Press Any Key to Continue

 

It says this (above).

 

Is this normal to start with?

Edited by Harra

Share this post


Link to post
Share on other sites
11 minutes ago, Harra said:

Nothing works :( I'm admin on my PC, AV exclude list has the exe on it.

 

This is very annoying. I'm afraid I can't do anything about it either, so I can't mod too.

 

USAGE: PZ_PLYtoPZconverter [filename]
Or drag and drop file to convert

Source must be an ASCII Stanford *.PLY file.

Press Any Key to Continue

 

It says this (above).

 

Is this normal to start with?

That is normal if you are just double clicking on the exe yes, however what you should be doing is dragging and dropping your (or the test) .ply onto the .exe file.

Share this post


Link to post
Share on other sites
1 minute ago, RingoD123 said:

That is normal if you are just double clicking on the exe yes, however what you should be doing is dragging and dropping your .ply onto the .exe file.

Oh lord, omg, IM SO SORRY, I READ IT ALL WRONG, my issue was i was trying to drag it onto the cmd. I just read this now and dragged onto the exe itself and it worked. Thanks for the quick responses though! I'll make a nice mod for your excellent game!

Share this post


Link to post
Share on other sites
Just now, Harra said:

Oh lord, omg, IM SO SORRY, I READ IT ALL WRONG, my issue was i was trying to drag it onto the cmd. I just read this now and dragged onto the exe itself and it worked. Thanks for the quick responses though! I'll make a nice mod for your excellent game!

 

:D We live and learn, glad its working for you now.

Share this post


Link to post
Share on other sites
52 minutes ago, Harra said:

Any way to spawn said modded vehicle? I'm struggling to find it in game.

Try playing with the spawn chance values in the lua file from step 4, also the vehicle spawns are semi random, so sometimes its just down to luck of the draw, quitting and starting a new game re-rolls the dice on the spawns.

Share this post


Link to post
Share on other sites
9 hours ago, RingoD123 said:

Try playing with the spawn chance values in the lua file from step 4, also the vehicle spawns are semi random, so sometimes its just down to luck of the draw, quitting and starting a new game re-rolls the dice on the spawns.

How do I even know if i got it in game successfully and/or is active? I've searched with the chance on 50 and i cant find it in 2 parking lots

Share this post


Link to post
Share on other sites
51 minutes ago, Harra said:

How do I even know if i got it in game successfully and/or is active? I've searched with the chance on 50 and i cant find it in 2 parking lots

If the game is loading with your mod enabled then it is most likely working, incorrectly made vehicle mods tend to crash the game. Again, just keep upping the spawnchance and start new games after checking a few large vehicle spawns.

Only other way would be to create your own test map with a single spawn point right next to a bunch of vehicle spawns.

Share this post


Link to post
Share on other sites
1 hour ago, RingoD123 said:

If the game is loading with your mod enabled then it is most likely working, incorrectly made vehicle mods tend to crash the game. Again, just keep upping the spawnchance and start new games after checking a few large vehicle spawns.

Only other way would be to create your own test map with a single spawn point right next to a bunch of vehicle spawns.

It loads fine, so that's a good sign, maybe i'm just really unlucky. I should set the spawn chance to 100? It's 50 atm.

 

Could the mod be overwriting a preexisting vehicle, It's based of a van i think?

 

Edit; the valuline van has 85 trunk storage for me but it should be 70. I think i broke the mod and didn't apply it to a new vehicle? Help

 

Edit 2; the example mod doesn't even load either.

Edited by Harra

Share this post


Link to post
Share on other sites
2 hours ago, Harra said:

It loads fine, so that's a good sign, maybe i'm just really unlucky. I should set the spawn chance to 100? It's 50 atm.

 

Could the mod be overwriting a preexisting vehicle, It's based of a van i think?

 

Edit; the valuline van has 85 trunk storage for me but it should be 70. I think i broke the mod and didn't apply it to a new vehicle? Help

 

Edit 2; the example mod doesn't even load either.

 

That will be my fault for completely getting ahead of myself and forgetting to stipulate that this will only work on the new weather test branch (right click on zomboid in Steam, click on properties and then betas, type the password "weathertestbranch", without "" and then click on check code, you should now be able to select weather from the betas list) at the moment, sorry, i'll add this info to the start of the guide.

 

As long as you are using the .lua file in step 4 then you should be adding a brand new vehicle to the pool, not overwriting an existing one. Just make sure anything named "MOD_NAME" is given a unique name etc to guarantee no accidental overwrites etc

Share this post


Link to post
Share on other sites
13 minutes ago, RingoD123 said:

 

That will be my fault for completely getting ahead of myself and forgetting to stipulate that this will only work on the new weather test branch (right click on zomboid in Steam, click on properties and then betas, type the password "weathertestbranch", without "" and then click on check code, you should now be able to select weather from the betas list) at the moment, sorry, i'll add this info to the start of the guide.

 

As long as you are using the .lua file in step 4 then you should be adding a brand new vehicle to the pool, not overwriting an existing one. Just make sure anything named "MOD_NAME" is given a unique name etc to guarantee no accidental overwrites etc

I see! I will be using the beta now. Any idea when it's officially released?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
2 2