DroidScript
DroidScript
скрипим понемногу

Загрузка внешних данных в проект Roblox по HTTP

20.11.2023

В прошлой статье была рассмотрена функция LivePreview в Roblox в запущенном на выполнении проекте. Конечно, это не тот предварительный просмотр, когда пишешь код и сразу видишь изменения, но, как говорится, и это уже неплохо. А можно ли программный код загружать из внешних источников? Можно, для чего используется сервис HttpService

Для работы HttpService нужно опубликовать проект и включить в настройках игры Game Settings на вкладке Seсurity опцию Allow HTTP Requests. В общем случае требуется протокол https, но при отладке можно работать и с протоколом http. В моём случае использовался Open Server и простой скрипт на PHP:

Для передачи данных используется формат JSON.

Серверный скрипт выглядит не намного сложнее. Создайте в ReplicatedStorage одностороннее сообщение RemoteEvent с именем MsrRe, а в контейнере ServerScriptService серверный скрипт:

В этом скрипта укажите url на свой серверный скрипт php. Добавьте в проект текстовое поле Text Label и присоедините к нему локальный скрипт:

HttpService и loadstring позволяют вносить изменения в игру "на лету" без использования Roblox Studio. Только для этого нужно ещё придумать механизм регулярного запроса данных или загрузки их при возникновении какого-нибудь события - обновления файла данных на сервере и т.п. Можно также использовать скрипт автоматизации AutoHotkey.

Использование незащищенного протокола HTTP и метода loadstring в рабочей игре - это большая дыра в безопасности. Но при индивидуальной разработке на этапе отладки возможность "иньекций" кода в выполняющийся проект может значительно упростить процесс разработки.

© 2016-2024 
actech