본문 바로가기

마인크래프트(Minecraft)/Computer Craft

[Computer Craft] 10. Web DataBase - 소스를 편하게 불러오자.

이전 강좌에서는 소스를 편하게 붙여 넣는 방법을 소개했었는데요.

타인의 서버에서는 저 방법이 안되므로 다른 방법이 필요 했었죠.

그렇다고 서버 어드민에게 파일을 주면서 '이것좀 넣어주세요'라고 부탁하기도 좀 부담스럽잖아요.



1. CONFIG 파일을 수정하자.


우선 이 소스를 쓰기 위해서는 서버 설정옵션을 건들여줄 필요가 있는데요.

경로 : %appdata%\.minecraft\config\


이번 강좌에서는 http api 함수를 써야하므로 ComputerCraft.cfg 파일을 메모장으로 열어서

B:enableAPI_http=false
이것을

B:enableAPI_http=true

이렇게 바꾸셔야합니다.



2. 시연영상




3. 소스코드


-- save file name 메시지 를 화면에 보여준다.
print("save file name")

-- 키 입력을 받아 그 값을 file 라는 이름을 가진 변수로 저장
local file = read()

-- url source code 메시지 를 화면에 보여준다
print("url source code")

-- 키 입력을 받아 그 값을 url 라는 이름을 가진 변수로 저장
local url = read()

-- url 변수로 지정된 웹에서 get 방식으로 소스주소를 가져온다. 이 값을 geturl 라는 이름을 가진 변수로 저장
local geturl = http.get(url)

-- file 이름을 가진 변수의 이름으로 파일을 생성한후 쓰기가 가능한 상태로 만들어준다. hWrite 에는 결과 주소값이 전달된다.
hWrite = fs.open(file,"w")

-- geturl 에 있는 소스코드를 모두 읽어오면서 그 값을 hWrite 가 가리키는 곳에 파일을 쓰기 시작한다.
hWrite.write(geturl.readAll())

-- hWrite 라는 이름으로 사용한 파일을 닫아준다. ( 이거 꼭 넣어야됨.. 필수 !!!)
hWrite.close()



4. computer.cfg 간단한 설명



ComputerCraft.cfg 파일을 메모장으로 열어보면 아래와 같은 목록들이 나오는데

일단 간단하게만 설명 할게요


block, item : 블럭 및 아이템의 id 값을 결정하는 공간입니다. 다른 모드와 id값이 겹치면 충돌 나는 부분이죠. 충돌 되지 않는 값으로 재 조정이 필요합니다.


general : 게임의 옵션 환경에 영향을 끼치는 부분입니다.


# The disk space limit for computers and turtles, in bytes (0 is unlimited)

컴퓨터나 터틀이 가질수 있는 소스의 최대 크기 입니다. 0으로 할시에는 파일크기 제한을 받지 않습니다.

기본값은 2MB 입니다.
I:computerSpaceLimit=2097152


# Enable the "http" API on Computers

http api 함수를 사용이 가능하게 하는 요인입니다. 기본은 false 로 사용이 불가능 하게 되어있습니다.
B:enableAPI_http=false


# Enable Command Block support

커맨드 블럭을 지원하는가 유무를 결정하는 부분입니다. 기본값은 false 입니다.
B:enableCommandBlock=false

# The disk space limit for floppy disks, in bytes (0 is unlimited)

플로피 디스크가 가지는 최대크기입니다. 0으로 할시에는 파일크기 제한을 받지 않습니다.

기본값은 512KB 입니다.
I:floppySpaceLimit=524288

# The range of Wireless Modems at maximum altitude in clear weather, in meters

맑은 날씨에 최대 고도에서 모뎀이 영향 받는 최대 거리입니다. 기본값은 384 블럭입니다.

I:modem_highAltitudeRange=384

# The range of Wireless Modems at maximum altitude in stormy weather, in meters

비오거나 천둥칠때 최대 고도에서 모뎀이 영향 받는 최대 거리입니다. 기본값은 64 블럭입니다.
I:modem_highAltitudeRangeDuringStorm=64

# The range of Wireless Modems at low altitude in clear weather, in meters

맑은 날씨에 최저 고도에서 모뎀이 영향 받는 최대 거리입니다. 기본값은 64 블럭입니다.
I:modem_range=64

# The range of Wireless Modems at low altitude in stormy weather, in meters

비오거나 천둥칠때 최대 고도에서 모뎀이 영향 받는 최대 거리입니다. 기본값은 16 블럭입니다.
I:modem_rangeDuringStorm=16

# The height of Computer screens, in characters

컴퓨터 실행시 나오는 스크린의 세로 크기입니다. 기본값은 19입니다.
I:terminal_height=19

# The width of Computer screens, in characters

컴퓨터 실행시 나오는 스크린의 가로 크기입니다. 기본값은 51입니다.
I:terminal_width=51



5. 마지막으로 구시렁구시렁


이 글이나 소스는 당시 컴크를 배우고 익히기 시작한 시점에서 만들어낸 강좌글이라 상당히 엉성합니다. 대게 컴크쪽 api를 보면서 흉내 내던 시절이거든요.

타이핑을 어떻게 하면 줄일까 하는 과정에서 얻어낸 결과 소스입니다.

네이버 블로그에서 포스팅한 글을 그대로 가져왔을뿐 그 이상은 없습니다.