GetPrintName() returns "Scripted Weapon"

Sooo… I need a way to get the SWEP.PrintName from weapon class
but if I try


print(ply:GetActiveWeapon():GetPrintName())

or


print(ply:GetActiveWeapon().PrintName)

it always (doesnt matter which weapon you are holding), returns:


Scripted Weapon

No idea why and Google does not seem to know why either (except im bad in searching ^^)

https://wiki.garrysmod.com/page/Weapon/GetPrintName

Greetings, Santifocus

PS.: Used gamemode: TTT

[editline]29th October 2017[/editline]

Okay I found out why… Apparently GetPrintName() only returns the SWEP PrintName when it is a built in weapon so if it is a Scripted one (I think every TTT weapon is scripted) then it returns the string above…

Does anyone know a different way of returning the weapon PrintName? :’(

Your weapons are not setting SWEP.PrintName in the real you are trying to get them from.

Okay I found the problem


if CLIENT then
   SWEP.PrintName          = "M16"
end

should be changed to


SWEP.PrintName          = "M16"

Probably because the server “asks” for the PrintName therefore cant read that part (just a vague guess)

https://wiki.garrysmod.com/page/Structures/SWEP