• Help with DarkRP money printers
    0 replies, posted
I made my own money printers recently and they work great, Except for one major issue that i need help solving and im certain its most likely just a few lines of code to fix. You can spawn in the cap of my printers but when you destroy them it still says you have too many to buy more and i need to fix this seeming as my server is going dedicated soon. Any help would be great- Binary Heres the code for one of my printers [SUB][/SUB] -- RRPX Money Printer reworked for DarkRP by philxyz AddCSLuaFile("cl_init.lua") AddCSLuaFile("shared.lua") include("shared.lua") ENT.SeizeReward = 1250 local PrintMore function ENT:Initialize() self:SetModel("models/props_c17/consolebox01a.mdl") self:PhysicsInit(SOLID_VPHYSICS) self:SetMoveType(MOVETYPE_VPHYSICS) self:SetSolid(SOLID_VPHYSICS) self:SetColor(Color(0,255,237,255)) local phys = self:GetPhysicsObject() phys:Wake() self.sparking = false self.damage = 250 self.IsMoneyPrinter = true timer.Simple(1, function() PrintMore(self) end) self:SetNWInt("MoneyInP",0) end function ENT:OnTakeDamage(dmg) if self.burningup then return end self.damage = (self.damage or 100) - 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) end function ENT:BurstIntoFlames() self.burningup = true local burntime = math.random(8, 18) self:Ignite(burntime, 0) timer.Simple(burntime, function() self:Fireball() end) end function ENT:Fireball() if not self:IsOnFire() then self.burningup = false return end local dist = math.random(20, 280) -- Explosion radius self:Destruct() for k, v in pairs(ents.FindInSphere(self:GetPos(), dist)) do if not v:IsPlayer() and not v:IsWeapon() and v:GetClass() ~= "predicted_viewmodel" and not v.IsMoneyPrinter then v:Ignite(math.random(5, 22), 0) elseif v:IsPlayer() then local distance = v:GetPos():Distance(self:GetPos()) v:TakeDamage(distance / dist * 100, self, self) end end self:Remove() end PrintMore = function(ent) if not IsValid(ent) then return end ent.sparking = true timer.Simple(3, function() if not IsValid(ent) then return end ent:CreateMoneybag() end) end function ENT:Use(activator) if(activator:IsPlayer()) and self:GetNWInt("MoneyInP") >= 1 then activator:AddMoney(self:GetNWInt("MoneyInP")); GAMEMODE:Notify(activator, 1, 4, "You have collected $"..self:GetNWInt("MoneyInP").." From an Isotope Printer.") self:SetNWInt("MoneyInP",0) end end function ENT:CreateMoneybag() if not IsValid(self) or self:IsOnFire() then return end local MoneyPos = self:GetPos() if math.random(1000, 6000) == 3 then self:BurstIntoFlames() end local PrintMoney = 7 local amount = self:GetNWInt("MoneyInP") + PrintMoney self:SetNWInt("MoneyInP",amount) --DarkRPCreateMoneyBag(Vector(MoneyPos.x + 15, MoneyPos.y, MoneyPos.z + 15), PrintMoney) self.sparking = false timer.Simple(1, function() PrintMore(self) end) end function ENT:Think() if self:WaterLevel() > 0 then self:Destruct() self:Remove() return end if not self.sparking then return end local effectdata = EffectData() effectdata:SetOrigin(self:GetPos()) effectdata:SetMagnitude(1) effectdata:SetScale(1) effectdata:SetRadius(2) end Michael Melchiondo
Sorry, you need to Log In to post a reply to this thread.