darkrp moneyprinters

hey all,

i know a BIT of lua so i can edit lua scipts and scipt weapons and shipments :stuck_out_tongue:
i now copyd the original money printer and i did edit it a bit it is now as you see in screenshot 1 thats the printer now well i was in an other darkrp server and the moneyprinter was gold and the money kept in the printer (see screenshot 2) untill you pressed E on it and you gained the money in your wallet then that was verry awesome how could i do that? :smiley:

I hope you guys can help me :slight_smile:

Screenshot 1:

Screenshot 2:

my init.lua


-- RRPX Orginal Money Printer by philxyz
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include("shared.lua")

function ENT:Initialize()
        self:SetModel("models/props_lab/reciever01a.mdl")
        self:PhysicsInit(SOLID_VPHYSICS)
        self:SetMoveType(MOVETYPE_VPHYSICS)
        self:SetSolid(SOLID_VPHYSICS)
        local phys = self:GetPhysicsObject()
        if phys:IsValid() then phys:Wake() end
        self.sparking = false
        self.damage = 200
        self.IsMoneyPrinter = true
        timer.Simple(5, self.CreateMoneybag, self)
end

function ENT:OnTakeDamage(dmg)
        if self.burningup then return end

        self.damage = self.damage - dmg:GetDamage()
        if self.damage <= 0 then
                local rnd = math.random(1, 10)
                if rnd < 3 then
                        self:BurstIntoFlames()
                else
                        self:Destruct()
                        self:Remove()
                end
        end
end

function ENT:Destruct()
        local vPoint = self:GetPos()
        local effectdata = EffectData()
        effectdata:SetStart(vPoint)
        effectdata:SetOrigin(vPoint)
        effectdata:SetScale(1)
        util.Effect("Explosion", effectdata)
        Notify(self.dt.owning_ent, 1, 4, "Your Golden Money Printer has exploded!")
end

function ENT:Fireball()
        if not self:IsOnFire() then return end
        local dist = math.random(30, 300) -- Explosion radius
        self:Destruct()
        for k, v in pairs(ents.FindInSphere(self:GetPos(), dist)) do
                if not v:IsPlayer() and not v.IsMoneyPrinter then v:Ignite(math.random(5, 22), 0) end
        end
        self:Remove()
end

local function PrintMore(ent)
        if ValidEntity(ent) then
                ent.sparking = true
                timer.Simple(1, ent.CreateMoneybag, ent)
        end
end

function ENT:CreateMoneybag()
        if not ValidEntity(self) then return end
        if self:IsOnFire() then return end
        local MoneyPos = self:GetPos()
        
        local amount = 1000
        if amount == 0 then
                amount = 1000
        end

        DarkRPCreateMoneyBag(Vector(MoneyPos.x + 15, MoneyPos.y, MoneyPos.z + 15), amount)
        self.sparking = false
        timer.Simple(math.random(100, 150), PrintMore, self)
end

function ENT:Think()
        if not self.sparking then return end

        local effectdata = EffectData()
        effectdata:SetOrigin(self:GetPos())
        effectdata:SetMagnitude(1)
        effectdata:SetScale(1)
        effectdata:SetRadius(2)
        util.Effect("Sparks", effectdata)
end

my cl_init.lua


include("shared.lua")

function ENT:Draw()
        self:DrawModel()
        
        local Pos = self:GetPos()
        local Ang = self:GetAngles()
        
        local owner = self.dt.owning_ent
        owner = (ValidEntity(owner) and owner:Nick()) or "unknown"
        
        surface.SetFont("HUDNumber6")
        local TextWidth = surface.GetTextSize("Golden Money printer")
        local TextWidth2 = surface.GetTextSize(owner)
        
        Ang:RotateAroundAxis(Ang:Up(), 90)
        
        cam.Start3D2D(Pos + Ang:Up() * 11.5, Ang, 0.11)
                draw.WordBox(2, -TextWidth*0.5, -30, "Golden Money printer", "HUDNumber6", Color(140, 0, 0, 100), Color(212, 175, 55,255))
                draw.WordBox(2, -TextWidth2*0.5, 18, owner, "HUDNumber6", Color(140, 0, 0, 100), Color(212, 175, 55,255))
        cam.End3D2D()
end

my shared.lua


ENT.Type = "anim"
ENT.Base = "base_gmodentity"
ENT.PrintName = "Golden Money printer"
ENT.Author = ""
ENT.Spawnable = false
ENT.AdminSpawnable = false

function ENT:SetupDataTables()
        self:DTVar("Int",0,"price")
        self:DTVar("Entity",1,"owning_ent")
end