Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Lime Ученик (92), открыт 5 часов назад
local function onInteract(player)
local playerData = player.leaderstats.EXP.Value

game.Players.PlayerAdded:connect(function(plr)
local f = Instance.fromExisting("Folder", plr)
f.Name = "leaderstats"
local coins = Instance.fromExisting("IntValue", f)
coins.Name = "Money"
coins.Value = 0
if coins.Value = 10 then
player.leaderstats.coins.Value -= 10

local ToolName = {"Classic Sword"}
local Storage = game.ServerStorage


local Part = script.Parent.Parent
local ProximityPrompt = script.Parent

ProximityPrompt.Triggered:connect(function(Player)
if Player and Player.Character then
local Backpack = Player:WaitForChild("Backpack")
for i = 1, #ToolName do
local Tool = Storage:FindFirstChild(ToolName[i])
if Tool then
Tool:clone().Parent = Backpack
end)

Скрипт на LUA Roblox studio,помогите откорректировать что бы работал
По идеи он должен отнимать валюту и выдавать предмет если ее достаточно
2 ответа
S.H.I. Оракул (68441) 5 часов назад
 local Storage = game.ServerStorage 
local ToolName = {"Classic Sword"}
local Part = script.Parent.Parent
local ProximityPrompt = script.Parent
local Cost = 10 -- Задаем стоимость инструмента

-- Функция для создания leaderstats при добавлении нового игрока
game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player

local coins = Instance.new("IntValue")
coins.Name = "Money"
coins.Value = 0
coins.Parent = leaderstats
end)

-- Обработчик события Triggered для ProximityPrompt
ProximityPrompt.Triggered:Connect(function(player)
-- Проверяем, есть ли у игрока leaderstats и coins
if player and player.leaderstats and player.leaderstats:FindFirstChild("Money") then
local coins = player.leaderstats.Money

-- Проверяем, достаточно ли монет
if coins.Value >= Cost then
-- Отнимаем монеты
coins.Value -= Cost

-- Выдаем инструменты
local Backpack = player:WaitForChild("Backpack")
for i = 1, #ToolName do
local Tool = Storage:FindFirstChild(ToolName[i])
if Tool then
Tool:Clone().Parent = Backpack
end
end
print(player.Name .. " купил предмет.") -- Сообщение в консоль сервера
else
print(player.Name .. " не хватает монет.") -- Сообщение в консоль сервера
-- Можно добавить визуальное уведомление для игрока, если нужно
end
else
print("Ошибка: leaderstats или Money не найдены у " .. player.Name)
end
end)

-- Функция onInteract вам здесь не нужна, так как ProximityPrompt имеет встроенное событие Triggered
LimeУченик (92) 5 часов назад
пасиб,выручил
МСпох Ученик (177) 4 часа назад
local function onInteract(player)
local playerData = player.leaderstats.EXP.Value

if not player:FindFirstChild("leaderstats") then
local folder = Instance.new("Folder")
folder.Name = "leaderstats"
folder.Parent = player

local coins = Instance.new("IntValue")
coins.Name = "Money"
coins.Value = 0
coins.Parent = folder
end

local coins = player.leaderstats.Money

if coins.Value >= 10 then
coins.Value -= 10

local ToolName = {"Classic Sword"}
local Storage = game.ServerStorage

local Part = script.Parent.Parent
local ProximityPrompt = script.Parent

ProximityPrompt.Triggered:Connect(function(Player)
if Player and Player.Character then
local Backpack = Player:WaitForChild("Backpack")
for i = 1, #ToolName do
local Tool = Storage:FindFirstChild(ToolName[i])
if Tool then
Tool:Clone().Parent = Backpack
end
end
end
end)
else
player:Kick("Недостаточно средств для покупки предмета.")
end
end

local ProximityPrompt = script.Parent:WaitForChild("ProximityPrompt")
ProximityPrompt.Triggered:Connect(onInteract)

Можно и так
Похожие вопросы