Другие языки программирования и технологии

Помогите со скриптом

Я делаю свой режим в roblox studio и хочу сделать что-бы когда игрок брал предмет в руки и нажимал на экран ему добавляли монеты в leaderstats.
AK
Alex Kross
112
на роблокс студио можно было закончить
Kenan Abdullayev
Kenan Abdullayev
162
Лучший ответ
Для начала ты должен в папке "Explorer" создать некоторые объекты. Я в своём примере называть их не буду, а оставлю название по умолчанию
1) в "ReplicatedStorage" создаешь RemoteEvent;
2) в "ServerScriptService" создаешь Script;
3) В "StarterPlayer>>StarterCharacterScripts" создаешь LocalScript


В LocalScript пишешь следующий код:{

game.Players.LocalPlayer:GetMouse().Button1Down:Connect(function()
game.ReplicatedStorage.RemoteEvent:FireServer()
end)

}

в Script пишешь это:{

local ToolName = "Test" -- Имя твоего предмета
local add_score = 1 -- Сколько очков будет добавляться при клике

game.Players.PlayerAdded:Connect(function(plr)
local folder_stats = Instance.new ("Folder", plr)
folder_ stats.Name = "leaderstats"
local money = Instance.new ("IntValue", folder_stats)
money.Name = "Money"
end)

game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(plr)
if plr.Character.Humanoid.Health > 0 and plr.Character:FindFirstChild(ToolName) then
plr.leaderstats.Money .Value += add_score
end
end)

}

Ты должен скопировать то, что до фигурных скобок(я их сделал визуально для границы).

Когда локальный скрипт детектит, что игрок нажимает по экрану, вызывается удалённый эвент, который считывает серверный скрипт. Этот скрипт проверяет живой ли игрок и есть ли у этого игрока нужный предмет. Если да, то ему добавляются очки. Благодаря "RemoteEvent" это действие происходит со стороны сервера, чтобы все игроки и сервер видел твой результат.

А до этого, создавалась папка с названием "leaderstats" и в ней создавалась числовое значение с именем Money. Именно этот Money будет прибавляться на фиксированное количество очков, заданное переменной add_score.
Молодец
мне нужен путь на деньги которые прибавлять, типа такого:
-- Представим что player это путь на игрока
player.leaderstats.Money

Если путь я угадал, то вот скрипт: (Создаёшь script в ServerScriptService)

game.Players.PlayerAdded:Connect(function(player) -- Эта функция срабатывает тогда, когда игрок зашёл в игру
while game.Players:FindFirstChild(player.Name) do -- Бесконечный цикл который работает пока игрок находится в игре
wait(1) -- Ждём секунду
player.leaderstats.Money.Value += 1 -- Добавляем 1 доллар
end
end)

Если не работает, то скинь скрипт на добавление leaderstats и Money у игрока
SD
S D
739