로블록스 게임제작

RESTAPI 통신 및 모듈스크립트 호출

Dean83 2024. 2. 13. 13:15

로블록스는 RESTAPI 통신을 통해 외부 서버와 연결이 가능하다. 

모든 가능성을 열어 둔것이.... 정말 좋은 서비스 인듯 하다. 보통은 본인들 플랫폼에서 무언가를 구현할 때 제약사항이 많다.

해당 스크립트는 모듈 스크립트로 생성 해야 한다. 

 

RESTAPI 예제 코드)

local RESTAPI = {}

local httpService = game:GetService("HttpService")

local baseUrl = "서버주소"

function RESTAPI.CommunicateTest()
	local url = baseUrl .. "api주소"
	local json = { 키값1 = "해당하는 value값"}
	local res = Post(url,httpService:JSONEncode(json))
	
	if res ~= nil and res["result"] ~= nil then
		print(res["result"])
	else
		print(res)
	end
end
	
function Post(url,json)
	local success, response = pcall(function()httpService:PostAsync(url,json,Enum.HttpContentType.ApplicationJson)end) --pcall to catch errors

if success then
    if response.StatusCode == 400 then
        print("Bad request")
    else
        print("Request was successful")
    end
else
    print("Request failed with error:", response)
end

return RESTAPI

 

 

예를들어 버튼 클릭 -> LocalScript 에서 이벤트 수신 -> 서버 스크립트로 내용 전달 -> 모듈 스크립트 호출 의 동작이 필요할 경우
일전에 설명했던 모듈 스크립트 호출 방식을 이용한다. 

 

1. 등록 (이벤트를 수신받을 서버 스크립트에서)

local 클래스명 = {}

function 클래스명.함수명()
...
end

return 클래스명

 

2. 호출

local moduleClass명 = require(game.ServerScriptService.모듈클래스명)

...

//인자값은 다양하게 입력 가능하다. 
local result = moduleClass명.함수명(인자값)

'로블록스 게임제작' 카테고리의 다른 글

pcall  (0) 2024.02.14
코루틴  (0) 2024.02.14
UI 상호작용 및 커스텀 이벤트 전달 (local -> server)  (0) 2024.02.13
캐릭터에 악세서리 추가  (0) 2024.02.13
캐릭터 이동확인 이벤트  (0) 2024.02.13