Custom Models in Pointshop from Scratch

Hey,

So this is the problem:

I’ve made a model from scratch, just slapped a quick texture on it and exported via WallWorm Model Tools. I can load it perfectly find in sandbox single player but when I gave the same files to the server admin the model won’t show up in our pointshop, just gives us the error sign. I’m trying to find out some possible reasons (maybe I’m missing something on how it all works for paths etc?)

I just think it might be a pathing issue maybe in the mdl (I’m actually not 100% sure if gmod/source auto assumes paths or not such as if I export my model to “Hat” in my garrysmod/models folder if it auto assumes that the material will then be at garrysmod/materials/Hat/whatever.vmt as well)

We can see that its in the shop just an error so we’re trying to find the last step we’re missing.

  1. Confirm the file is on the server
  2. Confirm the files are on the clients
  3. Confirm that you didn’t type the path wrong under ITEM.Model

file is on the server and I can see someone running around with “it” but it’s just a big error symbol at the moment.

Where the ITEM.model do you mean the mdl file or?

Well it’s a pointshop hat is it not?

yeah it’s going to be a pointshop hat.
I’m looking at the pointshop documentation to see if we missed something but I’m sure it has to be something to do with a path of the model or vmt or something (unless we forgot something obvious such as a needed path somewhere specific)

How would I verify that I have it downloaded as a client?

Well you said it worked fine in sandbox so I guess we’ll worry about that later
But no, give us your script file for the Pointshop item itself

stalinhat.lua



ITEM.Name = 'Stalin Hat'
ITEM.Price = 300000
ITEM.Model = 'models/stalinhat/stalinhat.mdl'
ITEM.Attachment = 'eyes'

function ITEM:OnEquip(ply, modifications)
	ply:PS_AddClientsideModel(self.ID)
end

function ITEM:OnHolster(ply)
	ply:PS_RemoveClientsideModel(self.ID)
end

function ITEM:ModifyClientsideModel(ply, model, pos, ang)
	--model:SetModelScale(1.6, 0)
	pos = pos + (ang:Up() * 1.5)
	--ang:RotateAroundAxis(ang:Right(), 90)
	
	return model, pos, ang
end


stalinhat.vmt



"VertexLitGeneric"
{

	 $basetexture "models/stalinhat/UVTestPattern"
}


Vtf is in the same folder as the above vmt is

StalinHat.qc



// QC File generated by the Wall Worm Model Tools Version 2.14
// Get the latest version and notes at:
// http://dev.wallworm.com 

$scale 1.0
$modelname	"stalinhat/StalinHat.mdl"
$staticprop
$body StalinHat "StalinHat.smd"
$collisionmodel "StalinHat_hull.smd" {
$inertia 0.0
$damping 0.0
$rotdamping 0.0
$drag 0.0
$mass 0.0

}
$surfaceprop "carpet" 
$contents "solid" 
$cdmaterials "models/stalinhat"
$sequence idle "StalinHat" activity ACT_IDLE -1.0 fps 1

$include	"StalinHat_wwmt_custom.qci"


And that was single player sandbox just to double check.

Now give us the path to your model.

Updated with the other files just incase.

In the Pointshop-master folder is
garrysmod/addons/pointshop-extras-master/models/stalinhat

and the vmt is in
garrysmod/addons/pointshop-extras-master/materials/models/stalinhat

Materials don’t seem to be your issue here but by all accounts this should be working… Download the point shop files and try it in singleplayer?

If I download the folders of pointshop for local, I can see the model in the shop, texture isn’t on it (just the black and pink checkers)

So I guess that means it’s not getting dl’d on the client side? I’ve seen some videos and such about resources.lua, do you need to add the paths in there for customs related to pointshop?

Wait, i thought you said the textures worked fine in Sandbox

When I have my own model yes (I put the model in models, material in material etc. I can then spawn it no problem), with the pointshop (when I downloaded the same files we use on the server) the model showed but the texture didn’t.

Then your file structure is wrong. Replicate the folder structure for your models present on your computer and put that on the server.

Ok, So I did the exact same as what I had on my local copy and when I run in the server I can see it, but then everyone else still can’t now, so it has to be a client download issue right? Any ideas on how to fix it?

Make sure the files are set up correctly on your fast DL

Yeah waiting for the server guy to get up now to see if we can figure it out. We did get it once to Download the stuff (he said he saw it say downloading it) but it was probably one of the other versions that wasn’t path’d correct cause it didn’t work in game

Just want to say, thanks for the help you’ve given so far man, appreciate it. Hope we can get this thing figured out…

Well I just can’t for the life of me figure out why this isn’t getting downloaded to the clients…It’s now def in fastDl folders cause I just added myself but still no one is getting it.

Are you resource.AddFile()'ing it?

Yup, had that before I added the files to the fastDL files.