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

Впервые решил попробовать себя в разработке и решил с легкого в Roblox Studio и не понимаю что и как делать с скриптом

алекс ABR Ученик (89), открыт 1 неделю назад
нейросеть подсказала и помогла написать скрипт, чтобы игроки в роли Милиция могли выдавать штрафы другим игрокам через команду. кто знает подскажите. вот текст скрипта -- Количество монет, которое можно выписать на штраф
local maxFineAmount = 300

-- Функция, которая применяет штраф
local function applyFine(recipient, fineAmount)
if recipient.Money then
local currentMoney = recipient.Money .Value
local newMoney = currentMoney - fineAmount
if newMoney >= 0 then
recipient.Money .Value = newMoney
local fineMessage = "Вы нарушили правила и получили штраф в сумме " .. fineAmount .. " монет."
local messagePart = Instance.new ("TextLabel")
messagePart.Parent = game.CoreGui
messagePart.Text = fineMessage
messagePart.TextSize = 14
messagePart.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
messagePart.Position = UDim2.new (0, 0, 1, 0)
wait(2) -- Ожидание 2 секунд перед удалением сообщения
messagePart:Destroy()
else
print("Штраф слишком большой!")
end
else
print("Игрок не имеет монет")
end
end

-- Функция для выполнения штрафов
local function applyFines()
if game.Players.LocalPlayer and game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("Humanoid") then
local humanoid = game.Players.LocalPlayer.Character:FindFirstChild("Humanoid")
for i, child in pairs(humanoid:GetPlayingAnimationTracks()) do
if child:IsA("AnimationTrack") then
local track = child
local animation = track.Animation
if animation:IsA("Animation") and animation.Name == "Attack" then -- Изменить название анимации "Attack" на название анимации, которая используется для атак
local animationInfo = animation:GetInfo()
local target = animationInfo.Target
if target and target.Parent and target.Parent:FindFirstChild("Humanoid") then
local targetHumanoid = target.Parent:FindFirstChild("Humanoid")
if targetHumanoid then
local fineAmount = math.random(100, maxFineAmount) -- Установить случайную сумму штрафа в диапазоне от 100 до 300 монет
applyFine(targetHumanoid, fineAmount)
end
end
end
end
end
end
end

--
1 ответ
Rivvender Профи (680) 1 неделю назад
Lua и компоненты Roblox не такие простые, имхо Unity/Godot всяко проще и имеют в разы больше обучающих ресурсов, чем Roblox
Похожие вопросы