Run it
Copy the script and paste it into your executor.
Camera = .CurrentCamera
Players = .Players
PlayerDrawings = {}
Functions = {}
Settings = {
Team1 = {
Box = {Enabled = , Filled = , Outline = , Color = .(, , ), OutlineColor = .(, , ), Thickness = , Transparency = },
Trace = {Enabled = , Outline = , Color = .(, , ), OutlineColor = .(, , ), Thickness = , Transparency = },
Weapon = {Enabled = , Size = , Center = , Outline = , Color = .(, , ), OutlineColor = .(, , )},
Distance = {Enabled = , Size = , Center = , Outline = , Color = .(, , ), OutlineColor = .(, , )}
},
Team2 = {
Box = {Enabled = , Filled = , Outline = , Color = .(, , ), OutlineColor = .(, , ), Thickness = , Transparency = },
Trace = {Enabled = , Outline = , Color = .(, , ), OutlineColor = .(, , ), Thickness = , Transparency = },
Weapon = {Enabled = , Size = , Center = , Outline = , Color = .(, , ), OutlineColor = .(, , )},
Distance = {Enabled = , Size = , Center = , Outline = , Color = .(, , ), OutlineColor = .(, , )}
}
}
Functions:(model)
POS = model:()
TL = Camera:(POS * .(-, , ).p)
TR = Camera:(POS * .(, , ).p)
BL = Camera:(POS * .(-, -, ).p)
BR = Camera:(POS * .(, -, ).p)
TL, TR, BL, BR
Functions:(model)
w = model:()
w
initial = .(w.Name, )
numParts = #initial
Weapon =
i = , numParts -
Weapon = Weapon .. initial[i]
i < numParts -
Weapon = Weapon ..
initial Weapon
Weapon
Functions:(playermodel)
i,v (PlayerDrawings)
v.Character == playermodel
.(PlayerDrawings, i)
Functions:()
i, v (PlayerDrawings)
Character = v.Character
Character
position = Character:().p
Teams = Players:()
screenpos, OnScreen = Camera:(position)
lchar = .Ignore:()
TeamSettings = (Character.Parent == Teams[]) Settings.Team1 (Character.Parent == Teams[]) Settings.Team2
OnScreen lchar TeamSettings
lposition = lchar:().p
Distance = .((lposition - position).Magnitude)
TL, TR, BL, BR = Functions:(Character)
TopTextX, TopTextY = (TL.X + TR.X) * , (TL.Y + TR.Y) *
TracerX, TracerY = (BL.X + BR.X) * , (BL.Y + BR.Y) *
TracerFrom = .(Camera.ViewportSize.X * , Camera.ViewportSize.Y)
TeamSettings.Box.Enabled
v.Drawing.BoxOutline.PointA = TR
v.Drawing.BoxOutline.PointB = TL
v.Drawing.BoxOutline.PointC = BL
v.Drawing.BoxOutline.PointD = BR
v.Drawing.BoxOutline.Thickness = TeamSettings.Box.Thickness +
v.Drawing.BoxOutline.Transparency = TeamSettings.Box.Transparency
v.Drawing.BoxOutline.Color = TeamSettings.Box.OutlineColor
v.Drawing.BoxOutline.Visible = TeamSettings.Box.Outline
v.Drawing.Box.PointA = TR
v.Drawing.Box.PointB = TL
v.Drawing.Box.PointC = BL
v.Drawing.Box.PointD = BR
v.Drawing.Box.Thickness = TeamSettings.Box.Thickness
v.Drawing.Box.Transparency = TeamSettings.Box.Transparency
v.Drawing.Box.Color = TeamSettings.Box.Color
v.Drawing.Box.Visible =
v.Drawing.BoxOutline.Visible =
v.Drawing.Box.Visible =
TeamSettings.Trace.Enabled
v.Drawing.TraceOutline.Color = TeamSettings.Trace.OutlineColor
v.Drawing.TraceOutline.Thickness = TeamSettings.Trace.Thickness +
v.Drawing.TraceOutline.Transparency = TeamSettings.Trace.Transparency
v.Drawing.TraceOutline.From = TracerFrom
v.Drawing.TraceOutline.To = .(TracerX, TracerY)
v.Drawing.TraceOutline.Visible = TeamSettings.Trace.Outline
v.Drawing.Trace.Color = TeamSettings.Trace.Color
v.Drawing.Trace.Thickness = TeamSettings.Trace.Thickness
v.Drawing.Trace.Transparency = TeamSettings.Trace.Transparency
v.Drawing.Trace.From = TracerFrom
v.Drawing.Trace.To = .(TracerX, TracerY)
v.Drawing.Trace.Visible =
v.Drawing.TraceOutline.Visible =
v.Drawing.Trace.Visible =
TeamSettings.Weapon.Enabled
v.Drawing.Weapon.Text = Functions:(Character)
v.Drawing.Weapon.Size = TeamSettings.Weapon.Size
v.Drawing.Weapon.Center =
v.Drawing.Weapon.Color = TeamSettings.Weapon.Color
v.Drawing.Weapon.Outline = TeamSettings.Weapon.Outline
v.Drawing.Weapon.OutlineColor = TeamSettings.Weapon.OutlineColor
v.Drawing.Weapon.Position = .(TopTextX, ((TopTextY - v.Drawing.Weapon.TextBounds.Y) - (v.Drawing.Distance.TextBounds.Y + )))
v.Drawing.Weapon.Visible =
v.Drawing.Weapon.Visible =
TeamSettings.Distance.Enabled
v.Drawing.Distance.Text = .. (Distance) .. ..
v.Drawing.Distance.Size = TeamSettings.Weapon.Size
v.Drawing.Distance.Center =
v.Drawing.Distance.Color = TeamSettings.Distance.Color
v.Drawing.Distance.Outline = TeamSettings.Distance.Outline
v.Drawing.Distance.OutlineColor = TeamSettings.Distance.OutlineColor
v.Drawing.Distance.Position = .(TopTextX, ((TopTextY - v.Drawing.Distance.TextBounds.Y) - ))
v.Drawing.Distance.Visible =
v.Drawing.Distance.Visible =
v.Drawing.BoxOutline.Visible =
v.Drawing.Box.Visible =
v.Drawing.TraceOutline.Visible =
v.Drawing.Trace.Visible =
v.Drawing.Weapon.Visible =
v.Drawing.Distance.Visible =
Functions:()
draw = {
BoxOutline = .(), {Thickness = , Filled = , Transparency = , Color = .(, , ), Visible = , ZIndex = },
Box = .(), {Thickness = , Filled = , Transparency = , Color = .(, , ), Visible = , ZIndex = },
TraceOutline = .(), {Thickness = , Transparency = , Color = .(, , ), Visible = },
Trace = .(), {Thickness = , Transparency = , Color = .(, , ), Visible = },
Weapon = .(), {Size = , Center = , Outline = , Color = .(, , ), OutlineColor = .(, , ), Font = },
Distance = .(), {Size = , Center = , Outline = , Color = .(, , ), OutlineColor = .(, , ), Font = }
}
draw
Functions:(model)
self = ({}, PlayerDrawings)
self.Drawing = Functions:()
self.Character = model
self
.Players.DescendantAdded:((descendant)
descendant:() descendant.Parent:()
.(PlayerDrawings, descendant)
.(PlayerDrawings, Functions:(descendant))
)
.Players.DescendantRemoving:((descendant)
descendant:() descendant.Parent:()
.(PlayerDrawings, descendant)
Functions:(descendant)
)
i,v (.Players:())
k,a (v:())
.(PlayerDrawings, Functions:(a))
:().RenderStepped:(() Functions:() )