Advertisement
ColdSpecs

test

Aug 31st, 2023
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.21 KB | None | 0 0
  1. local RunService = game:GetService("RunService")
  2. local Camera = workspace.CurrentCamera
  3. local DrawingAPI = {}
  4.  
  5. local function CreateTextLabel(Model)
  6.  
  7. DrawingAPI[Model] = Drawing.new("Text")
  8. DrawingAPI[Model].Visible = false
  9. DrawingAPI[Model].Size = 20
  10. DrawingAPI[Model].Color = Color3.new(1, 1, 1)
  11. DrawingAPI[Model].Center = true
  12. DrawingAPI[Model].Outline = true
  13. end
  14.  
  15. local Heads = {}
  16. local function UpdateHeads()
  17. for _, Model in pairs(workspace:GetChildren()) do
  18. if Model:IsA("Model") and Model.Name == "Model" then
  19.  
  20. local Head = Model:FindFirstChild("Head")
  21. if Head then
  22. Heads[Model] = Head
  23.  
  24. CreateTextLabel(Model)
  25. end
  26. end
  27. end
  28. end
  29.  
  30. UpdateHeads()
  31.  
  32. workspace.ChildAdded:Connect(function(Model)
  33. if Model:IsA("Model") and Model.Name == "Model" then
  34.  
  35. local Head = Model:FindFirstChild("Head")
  36. if Head then
  37. Heads[Model] = Head
  38.  
  39. CreateTextLabel(Model)
  40. end
  41. end
  42. end)
  43.  
  44. workspace.ChildRemoved:Connect(function(Model)
  45. if Heads[Model] then
  46. Heads[Model] = nil
  47.  
  48. DrawingAPI[Model]:Destroy()
  49. DrawingAPI[Model] = nil
  50. end
  51. end)
  52.  
  53. local function CheckSteelHelmet(Model)
  54. local Armor = Model:FindFirstChild("Armor")
  55. local HasSteelHelmet = false
  56. if Armor then
  57. local SteelHelmet = Armor:FindFirstChild("SteelHelmet")
  58. if SteelHelmet then
  59. HasSteelHelmet = true
  60. end
  61. end
  62. return HasSteelHelmet
  63. end
  64.  
  65. RunService.RenderStepped:Connect(function()
  66. for Model, Head in pairs(Heads) do
  67.  
  68. local ScreenPosition, OnScreen = Camera:WorldToScreenPoint(Head.Position)
  69. if OnScreen then
  70.  
  71. DrawingAPI[Model].Visible = true
  72.  
  73. DrawingAPI[Model].Position = Vector2.new(ScreenPosition.X, ScreenPosition.Y)
  74.  
  75. DrawingAPI[Model].Text = " (" .. math.floor((Head.Position - Camera.CFrame.p).Magnitude) .. ")"
  76.  
  77. DrawingAPI[Model].Color = CheckSteelHelmet(Model) and Color3.new(1, 0, 0) or Color3.new(1, 1, 1)
  78.  
  79. else
  80.  
  81. DrawingAPI[Model].Visible = false
  82.  
  83. end
  84.  
  85. end
  86.  
  87. end)
  88.  
  89. local modelTable = {}
  90.  
  91. local models = workspace:GetChildren()
  92.  
  93. for i, model in ipairs(models) do
  94.  
  95. if model:FindFirstChild("Head") and model:FindFirstChild("Humanoid") then
  96.  
  97. local textLabel = Instance.new("TextLabel")
  98. textLabel.Parent = model.Head
  99. textLabel.Size = UDim2.new(0, 100, 0, 50)
  100. textLabel.BackgroundTransparency = 1
  101. textLabel.TextColor3 = Color3.new(1, 1, 1)
  102. textLabel.TextStrokeTransparency = 0
  103. textLabel.Font = Enum.Font.SourceSansBold
  104. textLabel.TextScaled = true
  105.  
  106. local hasSteelHelmet = model:FindFirstChild("SteelHelmet") ~= nil
  107.  
  108. modelTable[model] = {textLabel = textLabel, hasSteelHelmet = hasSteelHelmet}
  109. end
  110. end
  111.  
  112. workspace.ChildAdded:Connect(function(child)
  113.  
  114. if child:FindFirstChild("Head") and child:FindFirstChild("Humanoid") then
  115.  
  116. local textLabel = Instance.new("TextLabel")
  117. textLabel.Parent = child.Head
  118. textLabel.Size = UDim2.new(0, 100, 0, 50)
  119. textLabel.BackgroundTransparency = 1
  120. textLabel.TextColor3 = Color3.new(1, 1, 1)
  121. textLabel.TextStrokeTransparency = 0
  122. textLabel.Font = Enum.Font.SourceSansBold
  123. textLabel.TextScaled = true
  124.  
  125. local hasSteelHelmet = child:FindFirstChild("SteelHelmet") ~= nil
  126.  
  127. modelTable[child] = {textLabel = textLabel, hasSteelHelmet = hasSteelHelmet}
  128. end
  129. end)
  130.  
  131. workspace.ChildRemoved:Connect(function(child)
  132.  
  133. if modelTable[child] then
  134.  
  135. modelTable[child] = nil
  136. end
  137. end)
  138.  
  139. local camera = workspace.CurrentCamera
  140.  
  141. game:GetService("RunService").RenderStepped:Connect(function()
  142.  
  143. for model, data in pairs(modelTable) do
  144.  
  145. local distance = (camera.CFrame.p - model.Head.Position).Magnitude
  146.  
  147. if distance < 20 then
  148. data.textLabel.Text = "Hello"
  149. data.textLabel.Visible = true
  150.  
  151. if data.hasSteelHelmet then
  152. data.textLabel.TextColor3 = Color3.new(0, 1, 0)
  153. else
  154. data.textLabel.TextColor3 = Color3.new(1, 0, 0)
  155. end
  156.  
  157. else
  158. data.textLabel.Visible = false
  159. end
  160.  
  161. end
  162.  
  163. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement