Entity Not Working Correctly

I am working on a cash register entity. All works fine except the following things:

When trying to call another function from the USE it does nothing and throws no errors
The drawing of the text is MUCH higher than 10 above Self:GetPos()
The placement of where it spawns the money ent does not update, it simply spawns out of the register as if it is not adding the two Vector values.


if (SERVER) then
AddCSLuaFile()
end
ENT.Type = "anim"
ENT.Base = "base_entity"

ENT.PrintName = "C&R Cash Register"
ENT.Author = "Legend"
ENT.Purpose = "Press e to open menu to give shit"
ENT.Instructions = "Fucking press e"

ENT.Spawnable = false
ENT.AdminSpawnable = true

function ENT:Initialize()
	self:SetModel("models/props_c17/cashregister01a.mdl")
		self:PhysicsInit( SOLID_VPHYSICS )
	self:SetMoveType(MOVETYPE_NONE)
self:SetUseType( SIMPLE_USE )
end

function ENT:Draw()
local Pos = self:GetPos()
	local Ang = self:GetAngles()

	surface.SetFont("Default")
	local text = "Cash Register"
	local TextWidth = surface.GetTextSize(text)
	local offset = Vector( 0, 0, 10 )
	Pos = self:GetPos() + offset
	Ang:RotateAroundAxis(Ang:Forward(), 90)
Ang:RotateAroundAxis( Ang:Right(), 270 )
	local TextAng = Ang
	
	cam.Start3D2D(Pos + Ang:Right() * -39, TextAng, 1)
		draw.WordBox(2, -TextWidth*0.5, -64, text, "Default", Color(140, 0, 0, 100), Color(255,255,255,255))
	cam.End3D2D()
	self:DrawModel()
end

function ENT:Use( activator, caller  )
RobTimer(caller) --Can this type of calling of another function not be used in entities???
end

function RobTimer(caller)
print("You're robbing that shiz.")
--umsg goes here for vgui
timer.Simple(2, MoneySpawn)
end

function MoneySpawn()
local pos = self:GetPos()
local addtopos = Vector( 0, 30 , 10 )
local positionVector = addtopos+pos 
//local numran = {1,2,3,4}
//local random = table.Random(numran)
	local money = ents.Create( "money" )
	money:SetPos( positionVector )
	money:Spawn()
end

I’ve been working with it for a while but as it is throwing no errors and won’t even print the line “You’re robbing shiz” I do not know where to start.

Thanks in advance!

Well for starters you should be using “self:SetUseType( SIMPLE_USE )” in the ENT:Intialize() function, not in ENT:Use(). Also if your planning on adding a vgui menu for this, you’ll want to pass the caller entity from ENT:Use() to your RobTimer function.