jojo
Ученик
(125)
2 года назад
у rbs есть защита которая не позволяет клиенту напрямую взаимодействовать как-то с серверными данными включая серверные скрипты и их переменные, также и сервер не может получать полную информацию о клиенте а только ее часть передаваемую через мосты:
создавая или используя уже созданные мосты вы можете отправлять серверу данные. В данном случае было бы корректно использовать "RemoteEvent" , также есть "RemoteFunction" - он выполняет те же действия что и RemoteEvent но может возвращать return от сервера обратно к клиенту.
мост можно создать в любой локальной области доступной серверу, по стандарту его размещают в ReplicatedStorage.
создадим скрипт в game.StarterPlayer.StarterPlayerScripts
в нём же обозначим локальную переменную var и переменную event в которой будет храниться путь к ивенту. Далее мы вызываем метод :FireServer(здесь указываем переменную или переменные которые мы хотим отправить на сервер). Локальный скрипт готов.
local var = 228
local event = game.ReplicatedStorage:WaitForChild("RemoteEvent")
event:FireServer(var)
далее мы создадим серверный скрипт (я создам его в game.ServerScriptService) в котором будем принимать сигнал от RemoteEvent если он на него поступает. прописываем еще раз путь к RemoteEvent в локальную переменную event. После мы ждём сигнал и конектимся к локальной функции (она не обязательно должна быть локальной). Когда сигнал приходит функция получает данные в виде аргументов, первый аргумент всегда идёт имя игрока который отправил сигнал, остальные же приходят в том же порядке что и значения переданные методу :FireServer(). Так как сигнал передаёт функции только два аргумента (имя игрока и переменную) , то мы сохраняем их в plr и getvar. Чтобы убедится что функция работает я написал print(getvar) который печатает переданную переменную в output. Серверный скрипт готов.
local event = game.ReplicatedStorage:WaitForChild("RemoteEvent")
event.OnServerEvent:Connect(function(plr, getvar)
print(getvar)
end)
теперь осталось только протестировать
Output:
228 - Server - Script:3