关于月份更改系统的脚本

问题描述 投票:0回答:1

我试图在月份更改时更改可见文本标签的数量,但它不会改变,它只保留在所述的第一个月,并且不会根据月份/月份的天数更改可见文本标签的数量

local player = game.Players.LocalPlayer
local PlayerGUI = player.PlayerGui
local Window = PlayerGUI.Computer.Window
local DateWindow = Window.CalenderWindow
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local DateNumbers = DateWindow.DaysHandler:GetChildren()

local DaysInMonth = {
    January = 31,
    February = 28,
    March = 31,
    April = 30,
    May = 31,
    June = 30,
    July = 31,
    August = 31,
    September = 30,
    October = 31,
    November = 30,
    December = 31
}

local Months = ReplicatedStorage.Months:GetChildren()
local CurrentMonth = ReplicatedStorage.CurrentMonth.Value
local monthSwitched = false

for _, DayLabel in pairs(DateNumbers) do
    local dayNumber = tonumber(DayLabel.Name)

    if not monthSwitched and dayNumber > DaysInMonth[CurrentMonth] then
        for _, month in pairs(Months) do
            local daysInCurrentMonth = DaysInMonth[month.Name]
            CurrentMonth = month.Name
            monthSwitched = true
            break
        end
    end

    if dayNumber <= DaysInMonth[CurrentMonth] then
        DayLabel.Visible = true
    else
        DayLabel.Visible = false
    end
end

我尝试使用另一个 forloop 来尝试获取月份文件夹并将其用作当前月份,但似乎没有成功。

lua roblox roblox-studio
1个回答
0
投票

local tab={
    January = 31,
    February = 28,
    March = 31,
    April = 30,
    May = 31,
    June = 30,
    July = 31,
    August = 31,
    September = 30,
    October = 31,
    November = 30,
    December = 31
}
local labels=player.PlayerGui.Computer.Window.CalenderWindow.DaysHandler:GetChildren()
game.ReplicatedStorage.CurrentMonth.Changed:Connect(function(i)
    for _,label in(labels)do 
        label.Visible=tonumber(label.Name)<=tab[i]
    end
end)
local i=game.ReplicatedStorage.CurrentMonth.Value
for _,label in(labels)do 
    label.Visible=tonumber(label.Name)<=tab[i]
end

© www.soinside.com 2019 - 2024. All rights reserved.