Table of Contents

,

Using MDL files in PAC

Introduction

The Model part in PAC lets you load any Source models or models you made yourself using a ZIP archive. The models need to be valid MDL files. That includes playermodels, NPCs, ragdolls, props etc.

Getting models

To get models from Garry's Mod, other Source games or workshop addons follow Extracting game content.

If you would like to know how to create these models look for a Garry's Mod Playermodel Tutorial.

For a very basic guide about compiling models into MDL format see Simple .MDL: Converting Models.

Preparing files

Every model is made out of multiple files and all of them are required for the model to work. Materials can be added as well but are not required, you can add them later in the PAC editor.

In many cases you can simply use the model and material folders, but often you'll have to manually select the needed files.

Required Files (Model)

The main .MDL file as well as all the additional data files such as .VTX, .VVD, .PHY. Some models might not include .PHY files or have only one .VTX file, that is fine.

The additional files are always named the same as the main file (e.g. alyx.mdl, alyx.vvd, etc) and can be found in the same location.

You should only include one .MDL file in the ZIP with the exception of external animations.

Optional Files (Materials)

For the materials to work both .VMT and .VTF files are needed.

If you aren't sure which materials are used by the model see Finding material names

Each .VMT (material) is made out of multiple .VTF (textures) files, and all of them need to be present. .VTF files usually have names similar to the .VMT but this is not a rule. If you don't know which .VTFs and needed open the .VMT (it's just a text file) and look at the file paths.

Do NOT include any files or folder other than the ones specified above.

Creating .ZIP archives

In order to use your files in PAC you need to add them into an uncompressed .ZIP archive. This can be done with either 7-Zip (Recommended) or WinRar, both methods are pretty much the same so pick the one you want.

Using 7-Zip

  • Select the files you want to use (usually models and materials folders)
  • Right click on them and go to 7-Zip > Add to archive
  • Set the archive format to zip
  • Set the compression level to Store
  • Click OK

Click to show image.

Using WinRar

  • Select the files you want to use (usually models and materials folders)
  • Right click on them and select Add to archive
  • Set the archive format to zip
  • Set the compression level to Store
  • Click OK

Click to show image.

Once the archive is created, do NOT add any more files to it. If you forgot to include something, make a new archive.

Using .ZIP files in PAC

Now you can finally use your model in PAC.

  1. Upload your .ZIP archive → Hosting custom content online
  2. Add the Model1) part to your outfit
  3. Paste the link to your ZIP into the model field

Example outfits

A few example links that you can try in PAC.

Entity

  1. Playermodel
    — Outfit: animegirl.txt — Archive: animegirl.zip
  2. Non-human playermodel
    — Outfit: pony.txt — Archive: pony.zip

Model

  1. Simple prop
    — Outfit: gift.txt — Archive: gift.zip

Additional Information

Addons with multiple models

For addons that include multiple models or multiple versions of the same model you usually want to pick the one with a base name such as model.mdl or the one marked as a playermodel (model_p.mdl).


Do NOT use (unless you know that this is what you want):

  • models marked as _npc, _f, _e these are usually NPC models
  • models from the c_arms folder

Since you won't be able to just include all the materials you'll need to find out which materials and textures are used by the model. → Finding material names

External Animations

It is possible to use models that require external animations from a separate .MDL model. There are two types of these:

.MDL + .ANI

These should work without any problems, simply include them in your .ZIP archive.

.MDL only

Some models only use .MDL files for animations, that might cause PAC to select the animation file as the main model file while ignoring the model files (meaning your model will be invisible). You can work around that by including a dummy .ANI file in your .ZIP archive. Download this file2), give it the same name as the animation .MDL and include it in your archive.

Folder structure

Doesn't seem to matter at all, you can just throw all the files into a single folder.

Common errors

Check your console (~ key) for errors, then look for a solution below.

Model gets stuck on ''downloading...'' or model doesn't show up and no errors pop up.

Make sure you're using the Model part and not the Legacy > :model: Model.

Failed to mount GMA mdl

Doesn't mean anything specific. It's pretty much just an information that something went wrong. Please open your console and look for other errors.

Not loading addon - File not on whitelist

PAC only accepts model files (MDL, VTX, VVD, PHY), material files (VMT, VTF) and animation files (ANI). If you include ANY OTHER file in your ZIP it won't load.

File X is compressed! (use compression method 0 / store, or maybe you drag dropped files into the archive)

Pretty much what the error says, you most likely set the wrong compression level, also do not drag and drop additional files into the archive once it is created. If you need to add something create it again. → Creating .ZIP archives.

bad zip signature (file is not a zip?)

Could happen for multiple reasons:

  • The file link no longer works
  • The file link is not a direct link
  • The file is actually not a zip → Creating .ZIP archives
  • You are out of disc space → Delete all the games that you're not playing anyway.

[PAC3] invalid url / HTTP Request Failed / unsuccessful

— Update: They should work fine in recent PAC versions.

Case 1) Links with numbers in domain names do not work. For example pac3.pot.ato/example.zip is not going to work.

Case 2) Links to files that have numbers in their names do not work. For example pac.links/example0.zip is not going to work.

[PAC3] lua/pac3/core/shared/util.lua:476: attempt to perform arithmetic on local 'activity_name_offset' (a nil value)

Your model seems to be corrupted, if it was extracted from an add-on try Extracting again.

[ERROR] addons/pac3/lua/pac3/core/shared/util.lua:563: attempt to compare number with nil

Your model seems to be corrupted, if it was extracted from an add-on try Extracting again.

[pac3] addons/pac3/lua/pac3/libraries/string_stream.lua:356: attempt to perform arithmetic on local 'd' (a nil value)

Your model seems to be corrupted, if it was extracted from an add-on try Extracting again.

Entity2 appears as an error despite using a working ZIP

BUG? It seems that if you load a model that doesn't work, PAC will reject all other models as well? Try clearing your GarrysMod\garrysmod\data\pac3_cache folder and try again.

Other players see missing textures on my model but it works fine for me

The model actually has missing textures but you are subscribed to the workshop addon that has them, or have the files somewhere in your GMOD folder, which causes PAC to load the local version for you. If you want to know what other players see, unsubscribe from the addon (the one that has your model). You can then follow missing textures to fix the actual problem.

Missing textures

Case 1) You probably missed some of the materials/textures. Check the materials again and make sure that you included all required .VMT / .VTF files in your ZIP. Check the console for errors such as [PAC3] <link>.zip the model wants to find X.vmt but it was not found in the zip archive.


Case 2) Sometimes materials on models that have multiple material paths don't load properly. — Update: They should work fine in recent PAC versions.

Possible fix:

  1. Decompile the model
  2. Edit the .QC file with a text editor
  3. Remove all but one $cdmaterials line, it doesn't matter which one is left.
  4. Compile the model

Case 3) .VMT files that have unquoted texture paths do not load properly. For example $basetexture pac/test is not going to work, you need to change it to $basetexture “pac/test”.

Could not find .mdl or dx90.vtx in archive.

Case 1) You forgot to include these files.

Case 2) You included way too many files in your ZIP, most likely materials. If you are trying to use a single model from a multi-model pack, check the materials list and make sure you are only using the required ones.


If you're having any problems feel free to ask in the #help channel of the Official PAC Discord
Tutorial partially stolen from Techbot. 8-)

1)
If your model is a playermodel you can use the Entity part as well.
2)
Right Click → Save Link As…