♡$ⴎG@r₱u₷sყ♡
Искусственный Интеллект
(207032)
1 месяц назад
Ошибка появляется потому что скрипт не может найти папку "Characters".
Нужно:
1. Создать папку Characters внутри скрипта ServerAttackHandler
2. В этой папке создать папки для каждого персонажа
3. В папках персонажей разместить ModuleScripts с номерами атак ("1", "2" и т.д.)
Или проще говоря - проверь, существует ли папка Characters там, где должна быть, и правильно ли названы все папки и скрипты внутри неё.
БебаЗнаток (258)
1 месяц назад
спасибо изменения появились, только теперь вылезла другая ошибка XD
Виктор Ю
Ученик
(128)
1 месяц назад
Бро, ты выбрал тяжёлую но офигенную идею, я не программист, но у меня брат 9 лет учился, и у него до сих пор не получается файтинги... Я бы хотел помочь, ну если брат бессилен, я вообще инвалид колясочник
Characters is not a valid member of Script "ServerScriptService.ServerAttackHandler" - Server - ServerAttackHandler:110
Characters is not a valid member of Script "ServerScriptService.ServerAttackHandler" - Client - SpecialAttacksInputHandler:30
сколько не пытался найти решение, так и не нашел, что мне нужно исправить в этих двух скриптах
-------------SpecialAttacksInputHandler
local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local Events = ReplicatedStorage:WaitForChild("Events")
local Character = script.Parent.Parent
local Player = Players.LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui")
local MainGui = PlayerGui:WaitForChild("MainGui")
local Attacks = MainGui.Attacks
local AttackTemplate = script.AttackTemplate
local SharedModules = ReplicatedStorage:WaitForChild("SharedModules")
local Configuration = SharedModules.Configurations
local CharacterConfigurations = require(Configuration.CharacterConfigurations)
local EquippedCharacterName = nil
local function UseSpecialAttack(AttackNumber)
if EquippedCharacterName == nil then
return
end
local Result = Events.SpecialAttack:InvokeServer(AttackNumber)
if Result == true then
local AttackData = nil
for _, v in CharacterConfigurations do
if v.CharacterName == EquippedCharacterName then
AttackData = v.Attacks[AttackNumber]
end
end
local AttackTemplate = Attacks[tostring(AttackNumber)]
AttackTemplate.DebounceFrame.Size = UDim2.fromScale(1, 1)
TweenService:Create(AttackTemplate.DebounceFrame, TweenInfo.new (AttackData.AttackDebounce), {Size = UDim2.fromScale(1, 0)}):Play()
end
end
UserInputService.InputBegan:Connect(function(Input, GameProcessedEvent)
if GameProcessedEvent or EquippedCharacterName == nil then
return
end
if Input.KeyCode == Enum.KeyCode.One then
UseSpecialAttack(1)
end
if Input.KeyCode == Enum.KeyCode.Two then
UseSpecialAttack(2)
end
if Input.KeyCode == Enum.KeyCode.Three then
UseSpecialAttack(3)
end
if Input.KeyCode == Enum.KeyCode.Four then
UseSpecialAttack(4)
end
end)
Events.EquipCharacterClient.OnClientEvent:Connect(function(CharcterData)
EquippedCharacterName = CharcterData.CharacterName
for i, v in CharcterData.Attacks do
local NewTemplate = AttackTemplate:Clone()
NewTemplate.Name = tostring(i)
NewTemplate.Number.Text = tostring(i)
NewTemplate.AttackName.Text = v.AttackName
NewTemplate.Visible = true
NewTemplate.DebounceFrame.Size = UDim2.fromScale(1, 0)
NewTemplate.Parent = Attacks
end
end)