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

Я создаю игру в Roblox Studio, при нажатии на нужную кнопку вылазит ошибка в консоли

Беба Знаток (258), закрыт 1 месяц назад
Я делаю файтинг, написал скрипты для того чтобы при нажатии на нужный кейбинд активировался скилл (нажимаешь 1 активируется скилл 1 и т.д) в итоге при нажатии нету анимации что скилл использован и перезаряжается, а в консоли выдает такую ошибку:

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)
Дополнен 1 месяц назад
------ServerAttackHandler (пишет что где-то в этой строке (110) ошибка)
Events.SpecialAttack.OnServerInvoke = function(Player, AttackNumber)
local PlayerCharacter = Player.Values.Character.Value
local Result = require(script.Characters[PlayerCharacter][tostring(AttackNumber)]).AttackFunction(Player)
return Result
end

-----------SpecialAttackInputHandler (пишет что тут ошибка где-то тут (30) )
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
Лучший ответ
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (207032) 1 месяц назад
Ошибка появляется потому что скрипт не может найти папку "Characters".

Нужно:
1. Создать папку Characters внутри скрипта ServerAttackHandler
2. В этой папке создать папки для каждого персонажа
3. В папках персонажей разместить ModuleScripts с номерами атак ("1", "2" и т.д.)

Или проще говоря - проверь, существует ли папка Characters там, где должна быть, и правильно ли названы все папки и скрипты внутри неё.
БебаЗнаток (258) 1 месяц назад
спасибо изменения появились, только теперь вылезла другая ошибка XD
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (207032) Беба, кидай
Остальные ответы
игорь крутой Мастер (1261) 1 месяц назад
Код фиговый значет
БебаЗнаток (258) 1 месяц назад
фиговый то, но вроде ошибка максимально тупая и легко решаемая, да на столько, что нигде не могу найти как это решить
Виктор Ю Ученик (128) 1 месяц назад
Бро, ты выбрал тяжёлую но офигенную идею, я не программист, но у меня брат 9 лет учился, и у него до сих пор не получается файтинги... Я бы хотел помочь, ну если брат бессилен, я вообще инвалид колясочник
Понос ПоносовичЗнаток (266) 1 месяц назад
Наверное не в ту группу засунул перса
Санёк Эльпримов Ученик (181) 1 месяц назад
Когда увидел заголовок думал смогу помочь, но я не дорос до этого уровня. Я могу разобрать этот код, но ошибки не вижу
Ростислав Маркевич Ученик (217) 3 недели назад
удали роблокс студио, а юнити лучше
Похожие вопросы