Top.Mail.Ru
Ответы
Аватар пользователя
11мес
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Здравствуйте , помогите сделать систему времени в игре (Lua , роблокс студио)

Здравствуйте , помогите сделать систему времени в игре
Тоесть не просто в лидерборде , а над головой
Систему времени в лидер борде я написал , хотелось бы еще над головой.

Дополнен
По дате
По рейтингу
Аватар пользователя
Просветленный
11мес

вот простенький скриптик, класть в ServerScriptService
в StarterGui создать BillboardGui, в котором Frame, в котором TextLabel

обрати внимание, что данная реализация отсчитывает время для каждого игрока независимо, из за чего цифры над головами сменяются несинхронно
чтобы это исправить, нужно отвязаться от события PlayerAdded и сделать нормальный менеджер данной фичи, который будет все делать для всех зашедших в матч игроков в одном цикле; но общее представление этот скрипт тоже дает

12345678910111213141516171819202122232425
 local playersSvc = game:GetService('Players') 
local starterGuiSvc = game:GetService('StarterGui') 

local ts_disp:BillboardGui = starterGuiSvc['timesystem-display'] 
local T_DELTA:number = -1
 
playersSvc.PlayerAdded:Connect(function(player) 
  local ch:Model = player.Character or player.CharacterAppearanceLoaded:Wait() 
  local new_disp:BillboardGui = ts_disp:Clone() 
  new_disp.Parent = ch.Head 
  new_disp.Enabled = true 
	 
  local t_value:number = Random.new():NextInteger(15, 90) 
  local co:thread = coroutine.create(function() 
    while true do 
      task.wait(math.abs(T_DELTA)) 
      t_value = t_value + T_DELTA 
      new_disp.Frame.value.Text = string.format('%02d:%02d', math.floor(t_value/60), t_value%60) 
      if t_value <= 0 then 
        return 
      end 
    end 
  end) 
  coroutine.resume(co) 
end)  
Аватар пользователя
11мес

Над какой головой? Причем тут лидерборд?
Объясни по человечески

Аватар пользователя
Знаток
11мес

На каком ЯП? Или на каком движке?