바닐라에서는 물품마다 한 개의 하차역을 할당해도 그 수가 많지 않기 때문에 별로 상관이 없지만
각종 모드 플레이에서 한 종류의 생산품을 만들기 위해 수많은 물품을 요구하는 경우 (일례로 파이는 파랑칩에 11종의 아이템이 들어간다)
공간활용을 위해 필요한 것이 바로 이것이다.
이 글에서는 기본적인 LTN사용법과 회로를 설명하고 있지 않으므로 필요하다면 사전지식을 알고 오도록 하자
물론 작성자가 뉴비라서 더 효율적으로 만드는 방법은 많을 것이라 생각한다. 보다 나은 방법이 있다면 댓글 부탁한다.
위와 같은 하차역 하나를 잘라왔다.
상자에 물품이 얼마나 있는지 읽어야 하므로 회로를 이어줬다.
아래 사진부터는 중간에 있는 빨간전선이 안보일 텐데, 있다고 생각하자
작성자가 실수로 잘라먹었다.
상자에는 현재 철판 1만개, 구리판 5천개가 있다
상자 내의 물품이 특정 숫자 이하로 떨어지는 것을 체크하기 위해 비교조합기를 이용했다.
비교조합기는 철판용, 구리용 각각 한 개씩 배정해준다.
나는 물품의 갯수가 7500개 미만으로 떨어지면 요청신호를 보내고 싶어서 위와 같이 설정했다
철판이 7500개 미만이 될 경우 [1]신호 1개를 출력하게 된다.
구리판의 경우에도 동일하게 설정한다.
이제는 LTN역에 직접 넣을 신호인 요청하는 물품의 갯수를 설정한다.
일정신호 조합기를 이용하여 만든다.
나는 15000개의 철판을 요청하도록 만들었다.
구리판의 경우에도 동일하게 설정한다.
마지막으로 위에서 만든 둘을 이어주는 부분이다.
비교조합기에서 [1]신호 1개가 출력되면 일정신호조합기의 출력을 LTN에 입력되도록 만든다.
이는 비교조합기를 이용해 위와 같이 만든다.
이처럼 전선을 이어 마무리 해주면 정상적으로 LTN에 의도하고자 한 바 대로 입력되는 모습을 볼 수 있다.
하지만 이렇게 쓸 경우 위와 같은 경우 문제가 발생한다.
두가지 물품 모두 부족하게 되면, 아래와 같이 역에서 두가지 물품을 동시에 요청하게 된다.
이렇게 되면 대기열이 필요하게 되고, LTN의 장점인 대기열을 만들지 않아도 된다는 것에 상충되며, 공간활용을 위해 쓴다는 본래의 목적에도 걸맞지 않다.
그렇다면 어떻게 이를 해결해야 할까?
두 요청 중 우선순위를 정하여 한 가지씩 요청하는 방법으로 이를 해결할 수 있다.
우선순위 설정을 위해 중간에 산술연산조합기를 하나 끼워 넣었다.
나는 철판을 우선으로 하기 위하여 철판이 부족할 때 나오는 신호[1] 1개에 *2를 하여 2개가 출력되도록 하였다.
그 다음 철판 담당 비교조합기의 조건을 [1]이 2 이상일 때로 설정한다.
구리판은 이전에 설정한 그대로 둔다. ([1]=1)
전선의 색에 유의하여 신호가 혼합되지 않도록 위와 같이 마무리한다.
사진에서 볼 수 있듯, 철판 요청 신호만 입력되는것을 알 수 있다.
이로써 2가지 물품을 한 역에서 요청하는 방법 설명을 마쳤다.
3가지 이상의 물품을 요청하는 경우도 이와 크게 다르지 않다.
초등학교 수학시간에 배운1, 2, 4, 8, 16, ... 와 같은 2의 제곱수는
1+2
회로를 구성해 원하는 물품을 한 역에서 요청해 보자.
작성자인데 글 마지막 부분이 계속 잘려서 덧붙인다 1+2<4, 1+2+4<8, 1+2+4+8<16 이라는 특징을 갖는다는걸 이용해서 회로를 짜면 n가지 물품을 쉽게 요청할 수 있다.
부등호 입력이 안된다;;
< > 디시가 멍청해서 ㄷ 한자 눌러서 나오는거 써야함
ㄱㅅㄱㅅ
신호 2비트로 바꿔서 저장하는게 좋긴 한데, 해놓고 나중에 보면 맨날 이걸 왜 이렇게 했나가 헷갈리더라... 회로 컴팩트하게 쓰려면 잡다한 지식이 너무 많이 필요한데다 전선 연결때매 코드 수정하듯이 빠르게 못해서 시간 잡아먹는 괴물인듯
두 가지 물품을 동시에 요청하는 게 문제라고? LTN에서 “Limit Trans” 값을 1로 설정하면 해당 역으로 동시에 몰려오는 기차의 최대수를 1로 제한하게 된다. 만일 대기열이 10개 있으면 10으로 설정하면 되고, 대기열이 없으면 1로 설정하면 된다. 동시에 여러 개의 물품을 요청하더라도 “Limit Trans” 값으로 동시에 몰려오는 열차의 수를 제한할 수 있다.
Trans 가 아니고 Trains.
뭐야 ㅅㅂ 모드포털에 그딴건 없었는데