Leaderstats не работает? или просто не обнаруживает щелчка? - PullRequest
0 голосов
/ 21 июня 2020
• 1000 так что я понятия не имею. Это мой сценарий Remotes, в котором написано: print («ЭТО РАБОТАЕТ»), чтобы выяснить, в чем проблема. В основном это не работает, или есть другая проблема, которая мешает этому, по крайней мере, я думаю. У меня есть другие скрипты, и я добавлю некоторые из них, которые, по моему мнению, могут быть необходимы, но если вам нужно больше, не стесняйтесь спрашивать меня.
local replicatedStorage = game:GetService("ReplicatedStorage")
local remoteData = game:GetService("ServerStorage"):WaitForChild("RemoteData")

local cooldown = 1
print("IS THIS WORKING")

replicatedStorage.Remotes.Lift.OnServerEvent:Connect(function(player)
    
    
    if not remoteData:FindFirstChild(player.Name) then return "NoFolder" end
    
    
    local debounce = remoteData[player.Name].Debounce
    
    if not debounce then
        
        debounce.Value = true
        
        player.leaderstats.Stealth.Value = player.leaderstats.Stealth.Value + 25 *(player.leaderstats.Rebirths.Value + 1)
        wait(cooldown)
        
        debounce.Value = false
        
    end

Статистика

local serverStorage = game:GetService("ServerStorage")

game.Players.PlayerAdded:Connect(function(player)

    
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    
    local stealth = Instance.new("NumberValue")
    stealth.Name = "Stealth"
    stealth.Parent = leaderstats
    
    local rebirths = Instance.new("IntValue")
    rebirths.Name = "Rebirths"
    rebirths.Parent = leaderstats
    
    local Folder = Instance.new("Folder")
    Folder.Name = player.Name
    Folder.Parent = serverStorage.RemoteData

    local debounce = Instance.new("BoolValue")
    debounce.Name = "Debounce"
    debounce.Parent = Folder
    
    
    end)

ModuleScript

local module = {}

local replicatedStorage = game:GetService("ReplicatedStorage")
function module.Lift()
    
    replicatedStorage.Remotes.Lift:FireServer()
    
end
return module

LocalScript

local module = require(script.Parent:WaitForChild("ModuleScript"))
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()

script.Parent.Activated:Connect(function()
    module.Lift()
end)

Для моей структуры проводника щелкните здесь

1 Ответ

0 голосов
/ 21 июня 2020
local remoteData = game:GetService("ServerStorage"):WaitForChild("RemoteData")

ваша проблема в том, что когда он ждет ребенка, он выдает скрипт, пока RemoteData не будет найден

позже в скрипте, он проверяет, равно ли RemoteData нулю или нет

 if not remoteData:FindFirstChild(player.Name) then return "NoFolder" end

два решения: во-первых, добавить максимальное время ожидания доходности, чтобы он в конечном итоге остановился, если не может найти RemoteData (полезно только, если RemoteData добавляется после запуска скрипта)

второй - это ожидание замены с FindFirstChild, который проверит немедленно, не дожидаясь его

решение, которое я рекомендую

local remoteData = game:GetService("ServerStorage"):FindFirstChild("RemoteData")

вторичное решение, если у вас добавлены RemoteData после запуска скрипта и вы хотите дважды проверить

local remoteData = game:GetService("ServerStorage"):WaitForChild("RemoteData",20)

обязательно скажите мне, работает ли это, поскольку я потратил некоторое время на то, чтобы понять это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...