• 3D2D Button help
    0 replies, posted
Hey, I'm new to coding and I'm trying to put a button on a 3D prop, I've tried many methods and cannot get them to appear, can someone tell me what I'm doing wrong? P.S apologies if it's written a bit messy. include("shared.lua") surface.CreateFont( "vendingtitle", {      font = "Arial",      extended = false,     size = 55,     weight = 500,     blursize = 0,     scanlines = 0,     antialias = true,     underline = false,     italic = false,     strikeout = false,     symbol = false,     rotary = false,     shadow = false,     additive = false,     outline = false, } ) surface.CreateFont( "vendinginstru", {      font = "Fixedsys",      extended = false,     size = 20,     weight = 500,     blursize = 0,     scanlines = 0,     antialias = true,     underline = false,     italic = false,     strikeout = false,     symbol = false,     rotary = false,     shadow = false,     additive = false,     outline = false, } ) surface.CreateFont( "vendingfood", {      font = "Fixedsys",      extended = false,     size = 30,     weight = 500,     blursize = 0,     scanlines = 0,     antialias = true,     underline = false,     italic = false,     strikeout = false,     symbol = false,     rotary = false,     shadow = false,     additive = false,     outline = false, } ) surface.CreateFont( "vendingcost", {      font = "Fixedsys",      extended = false,     size = 20,     weight = 500,     blursize = 0,     scanlines = 0,     antialias = true,     underline = false,     italic = false,     strikeout = false,     symbol = false,     rotary = false,     shadow = false,     additive = false,     outline = false, } ) function ENT:Draw()     self:DrawModel() local player = LocalPlayer() local ang = (self.Entity:GetPos() - player:GetShootPos())     local tr = util.GetPlayerTrace(player, ang)     local tr = util.TraceLine(tr)     local pos = self.Entity:WorldToLocal(tr.HitPos) local entPos, entAng = self:GetPos(), self:GetAngles() // get the entity's currrent position local offsetPos, offsetAng = Vector(48,0,24), Angle(0,180) // set the offset position local finalPos, finalAng = LocalToWorld(offsetPos, offsetAng, entPos, entAng) local eye = LocalPlayer():GetEyeTrace() local cursorPos = eye.HitPos local localcursorPos = self:WorldToLocal(cursorPos) local ply = LocalPlayer() local HoverColor = Color(55,55,55,255) local hpicon = Material("vendingicons/health.png") local food1icon = Material("vendingicons/energy.png") local food2icon = Material("vendingicons/melon.png") local food3icon = Material("vendingicons/hotdog.png") local food4icon = Material("vendingicons/burger.png") cam.Start3D2D(finalPos, finalAng, 0.1)        --backgrounds         draw.RoundedBox(0,243,-358,475,715,Color(64,64,64,255))         draw.RoundedBox(0,265,-250,432,585,Color(32,32,32,120))         draw.RoundedBox(0,265,-340,432,80,Color(32,32,32,120))         draw.RoundedBox(0,280,-185,400,80,Color(32,32,32,120))         draw.RoundedBox(0,280,-100,400,80,Color(32,32,32,120))         draw.RoundedBox(0,280,-15,400,80,Color(32,32,32,120))         draw.RoundedBox(0,280,70,400,80,Color(32,32,32,120))         draw.RoundedBox(0,390,200,175,80,Color(32,32,32,255))      -- Text Info         draw.SimpleText("Vending Machine", "vendingtitle",479,-326,Color(255,255,255,255), TEXT_ALIGN_CENTER)                  draw.SimpleText("Cola Energy", "vendingfood",470,-175,Color(255,255,255,255), TEXT_ALIGN_CENTER)                  draw.SimpleText("Melon", "vendingfood",437,-90,Color(255,255,255,255), TEXT_ALIGN_CENTER)                  draw.SimpleText("Hotdog", "vendingfood",444,-5,Color(255,255,255,255), TEXT_ALIGN_CENTER)                  draw.SimpleText("Burger", "vendingfood",441,75,Color(255,255,255,255), TEXT_ALIGN_CENTER)         -- HP Info         draw.SimpleText("Press a button and wait for depense.", "vendinginstru",479,-227,Color(255,255,255,255), TEXT_ALIGN_CENTER)                  draw.SimpleText("25HP", "vendingfood",453,-139,Color(255,255,255,255), TEXT_ALIGN_CENTER)                  draw.SimpleText("50HP", "vendingfood",453,-53.5,Color(255,255,255,255), TEXT_ALIGN_CENTER)                  draw.SimpleText("75HP", "vendingfood",453,31.01,Color(255,255,255,255), TEXT_ALIGN_CENTER)                  draw.SimpleText("100HP", "vendingfood",460,116.5,Color(255,255,255,255), TEXT_ALIGN_CENTER)          -- food1HP icon     surface.SetMaterial(hpicon)     surface.SetDrawColor(255, 255, 255, 255)     surface.DrawTexturedRect(400,-135,20,20)     -- food2HP icon     surface.SetMaterial(hpicon)     surface.SetDrawColor(255, 255, 255, 255)     surface.DrawTexturedRect(400,-50,20,20)     -- food3HP icon     surface.SetMaterial(hpicon)     surface.SetDrawColor(255, 255, 255, 255)     surface.DrawTexturedRect(400,35,20,20)     -- food4HP icon     surface.SetMaterial(hpicon)     surface.SetDrawColor(255, 255, 255, 255)     surface.DrawTexturedRect(400,120,20,20) -- foodicon1     surface.SetMaterial(food1icon)     surface.SetDrawColor(255, 255, 255, 255)     surface.DrawTexturedRect(270,-198,120,105)     -- foodicon2     surface.SetMaterial(food2icon)     surface.SetDrawColor(255, 255, 255, 255)     surface.DrawTexturedRect(290,-97,85,75)     -- foodicon3     surface.SetMaterial(food3icon)     surface.SetDrawColor(255, 255, 255, 255)     surface.DrawTexturedRect(300,-10,65,65)     -- foodicon4     surface.SetMaterial(food4icon)     surface.SetDrawColor(255, 255, 255, 255)     surface.DrawTexturedRect(300,77,65,65)     //Buttons     --food1     --x = -9.9053945541382, y = -16.994911193848, z = -9.9053945541382         local tr = LocalPlayer():GetEyeTrace().HitPos         local pos = self:WorldToLocal(tr)         local backcolor = Color(0, 100, 160)         local invisback = Color(0, 0, 0, 0)         local pos = self:WorldToLocal(tr)         local isec = util.IntersectRayWithPlane( EyePos()( ply ), self:GetAngles():Forward() (EyeAngles( ply ) ), -9.9053945541382, -16.994911193848,-9.9053945541382, trace.HitNormal ) if isec then local ap = pos - isec     local ab = pos - tr     local ad = pos - bl     local ap_ab = Dot( -9.9053945541382, -16.994911193848 )     local ab_ab = Dot( -16.994911193848, -16.994911193848 )     local ap_ad = Dot( -9.9053945541382, -9.9053945541382 )     local ad_ad = Dot( -9.9053945541382, -9.9053945541382 )     if 0 < ap_ab and ap_ab < ab_ab and 0 < ap_ad and ap_ad < ad_ad      and IsLineOfSightClear( ply, isec ) then             HoverColor = Color(100, 100, 100, 250)         end     end     draw.RoundedBox(0,579,-171,82,52, Color( 255,255,255,120 ))     draw.RoundedBox(0,580,-170,80,50, Color(100, 100, 100, 250))     --food2     draw.RoundedBox(0,579,-86,82,52, Color( 255,255,255,120 ))     draw.RoundedBox(0,580,-85,80,50, Color( 55,55,55,255 ))     --food3     draw.RoundedBox(0,579,-1,82,52, Color( 255,255,255,120 ))     draw.RoundedBox(0,580,0,80,50, Color( 55,55,55,255 ))     --food4     draw.RoundedBox(0,579,84,82,52, Color( 255,255,255,120 ))     draw.RoundedBox(0,580,85,80,50, Color( 55,55,55,255 ))     //Buy text signs + cost    --food1     draw.SimpleText("$250","vendingcost",600,-165,Color(255,255,255,255))     draw.SimpleText("BUY","vendingcost",603,-142,Color(255,255,255,255))         --food2     draw.SimpleText("$500","vendingcost",600,-79,Color(255,255,255,255))     draw.SimpleText("BUY","vendingcost",603,-58,Color(255,255,255,255))    --food3     draw.SimpleText("$750","vendingcost",600,5,Color(255,255,255,255))     draw.SimpleText("BUY","vendingcost",603,26,Color(255,255,255,255))     --food4     draw.SimpleText("$1000","vendingcost",597,90,Color(255,255,255,255))     draw.SimpleText("BUY","vendingcost",603,110,Color(255,255,255,255))                        cam.End3D2D() end
Sorry, you need to Log In to post a reply to this thread.