OpenTTD 매뉴얼/신호기 (고급)



OpenTTD 로고 OpenTTD 매뉴얼
시작하기 전에 시작하기 기반시설 & 튜토리얼 철도 기타 일반 철도 상식
OpenTTD 소개
설치하는 법
업데이트 하는 법
JGR 패치 팩
인터페이스
기후 소개
산업시설 연관 관계
멀티플레이
도시
지형 편집
NewGRF (모드)
도로 & 버스/트럭
전차
철도
선박
항공
신호기
신호기 (고급)
단선 철도
복선 철도
역 건설 예제
교차로 건설 예제
화물 분배
시간표와 배차 일정
단축키
높이맵
재앙
콘솔 사용법
게임 물리
치트
기본 차량 DB
경쟁사·인공지능
JGRPP 기능
선로와 승강장의 구조
선로 용량




1. 신호 관련 기능
2. 경로 제한
2.1. 동작
2.1.1. 진입 거부(Deny)
2.1.2. 우선 순위 낮춤(Penalty)
2.1.3. 경로 통과 예약(reserve through)
2.1.4. 추가 경로 예약(Long reserve)
2.1.5. 뉴스 제어(News control)
2.2. 제어 블록
2.2.1. 조건문: ~이라면 (If)
2.2.2. 아니라면, 조건문: ~이라면 (Else if)
2.2.3. 또는, 조건문: ~이라면 (Or if)
2.2.4. 아니라면: (Else)
2.2.5. 조건문 종료 (End if)
2.3. 조건
2.4. 고급 동작
2.5. 고급 조건
3. 프로그램 사전 신호기
4. 슬롯
5. 카운터

JGRPP 이 문서 또는 문단은 JGR의 패치 팩에서만 사용할 수 있는 기능에 대해 설명합니다.
정식 버전(eg. 14.0)에서는 사용할 수 없는 기능입니다.
JGR의 패치 팩은 TELKLAND > 오픈트타 > OpenTTD 다운로드 메뉴, 또는 JGRPP의 Github 릴리즈 페이지에서 다운로드 받을 수 있습니다.


1 신호 관련 기능

1.1 경로 제한

경로 제한은 모든 신호기에 달 수 있습니다.
이 프로그램은 열차에 의해 실행되고, 여러 열차 속성과 슬롯, 카운터 값 등을 확인할 수 있습니다.
이런 프로그램은 경로 탐색이나 경로 신호기, 슬롯, 카운터, 회차, 속력 제한 그리고 기타 잡다한 동작에 사용될 수 있습니다.

1.2 프로그램 사전 신호기

프로그램 가능한 사전 신호기(Programmable pre-signals), 줄여서 프로그램 신호기는 복합 사전 신호기로, 그 신호기가 빨간불과 초록불 중 어느 것을 표시할 지 프로그램할 수 있는 신호기입니다.
프로그램 신호기는 일반 폐색 신호기이므로 경로 신호기처럼 경로 탐색을 지원하지는 않습니다.

1.3 슬롯

슬롯은 실제 철도, 특히 단선 구간에서 사용하는 통표 시스템과 유사합니다.
슬롯에는 즉 슬롯에 담길 수 있는 열차 수인 수용량이 있습니다. (=통표를 들고 있을 수 있는 열차의 수)
한 열차는 여러 개의 다른 슬롯에 동시에 소속될 수도 있습니다. (=여러 개의 통표를 동시에 갖고 있을 수 있음)
열차는 신호기에서 슬롯을 획득하거나 해제할 수 있습니다. 아니면 조건부 경로를 이용할 수도 있습니다.
슬롯은 경로 탐색 제한이나 프로그램 사전 신호기 프로그램, 조건부 경로 등에서 사용할 수 있는 기능입니다.

1.4 카운터

카운터는 이름이 있는 일종의 변수로, 열차가 신호기를 통과할 때 그 값을 수정할 수 있습니다.
카운터는 경로 탐색이나 프로그램 사전 신호기, 조건부 경로에서 사용할 수 있는 기능입니다.
대부분의 경우에는 슬롯을 이용합니다.


2 경로 제한

경로 제한 프로그램은 모든 종류의 신호기에 붙일 수 있습니다.
경로 제한 프로그램은 열차에 의해 실행되고, 열차의 여러 속성, 슬롯 또는 카운터 값을 확인할 수 있습니다.
경로 탐색, 경로 신호기, 슬롯, 카운터, 회차, 속력 제한 및 기타 잡다한 동작에 이런 프로그램을 사용할 수 있습니다.
경로 제한은 설정에서 YAPF[1] 경로 탐색을 사용해야만 쓸 수 있습니다.

기본적으로, 경로 제한 프로그램이 있는 전등식 신호기는 파란색 기둥으로 표시됩니다.
설정에서 "경로 제한 신호기를 기본 그래픽으로 보이기" 설정을 켜둔 게 아니라면 신호기 NewGRF를 사용하고 있는 경우 파란색 기둥이 보이지 않을 수도 있습니다.

프로그램은 위에서부터 아래 순서로 실행됩니다.
한 명령이 다른 명령에 의해 취소된 경우, 마지막에 실행된 명령이 적용됩니다.




경로 제한 신호기를 사용하면 위와 같이 통과/중간 역과 종착 역을 결합한 역을 쉽게 구현할 수 있습니다.
위 사진에서 A 역의 우측 2선은 두단식 종착역으로, 좌측 2선은 좌측 상단의 B 역으로 가는 중간 역의 역할을 합니다.
A 역 앞에 있는 파란 색 기둥의 신호기에는 경로 제한 프로그램이 들어있습니다.
각 신호기에 들어있는 프로그램은 빨간 선으로 연결하여 표시해두었습니다.

우측 2선 앞에 있는 신호기는 다음 경로가 B 역인 열차의 진입을 거부하여 열차가 엉뚱한 플랫폼(=여기서는 우측 2선)으로 들어가지 않도록 막습니다.
조건문: 열차의 진입 방향 = 신호기의 뒤쪽 명령은 역에서 나가려는 열차가 경로 제한 프로그램을 적용받지 않도록 하기 위해 필요한 명령입니다.
두 신호기는 같은 프로그램을 사용하므로, 경로 제한 공유를 이용하여 서로 프로그램을 공유하고 있습니다.

좌측 2선 앞에 있는 신호기 중 파란 색 기둥으로 된 신호기 한 개는 다음 경로가 B 역이 아닌 경우, 즉 A 역에서 회차하는 열차가
A 역을 통과할 수 있는 좌측 2선을 되도록 막지 않게 하기 위해 경로 탐색 패널티를 준 프로그램입니다.



2.1 동작

2.1.1 진입 거부(Deny)

경로 탐색 기능이 이 신호기를 선로의 끝으로 보고, 목적지로 가는 길을 찾기 위해 이 신호기 뒤편을 바라보지 않게 만듭니다.
열차가 특정 경로를 이용하는 것을 막기 위해서 사용할 수 있습니다.

2.1.2 우선 순위 낮춤(Penalty)

이 신호기를 지나는 경로 탐색에 패널티 값을 줍니다.
열차의 경로를 세밀하게 조정하고 싶을 때 사용합니다.
현재 드롭 다운 메뉴에서 제안하는 값은 다음과 같습니다:

2.1.3 경로 통과 예약(reserve through)

이 경로 신호기에서 경로 예약을 끝내지 않습니다. 마치 앞쪽 방향에 신호기가 전혀 없는 것과 동일합니다.
이 동작은 신호기가 설치된 터널/다리 입구 또는 출구에는 효과가 없습니다.

2.1.4 추가 경로 예약(Long reserve)

만약 한 열차가 경로 예약을 이 경로 신호기에서 끝낸다면, 이 신호기에서 별도로 두 번째 경로 예약을 시도합니다.
두 번째 경로 예약이 실패하더라도 첫 번째 경로 예약은 취소되지 않습니다.
이 동작은 신호기가 설치된 터널/다리 입구 또는 출구에는 효과가 없습니다.

2.1.5 뉴스 제어(News control)

열차가 이 특정 신호기에서 기다리고 있는 동안 움직이지 못 하거나 길을 잃었다는 뉴스 메시지를 보내지 않도록 끌 수 있습니다.


2.2 제어 블록

제어 블록은 프로그래밍 언어의 if, else if, or 등의 역할을 합니다.
제어 블록 안에 제어 블록을 계속 넣을 수 있습니다.[2]

2.2.1 조건문: ~이라면 (If)

이 구문은 새 제어 블록을 시작합니다. 이 블록 안에 있는 내용은 조건이 참일 때에만 실행됩니다.

2.2.2 아니라면, 조건문: ~이라면 (Else if)

이 구문 안의 내용은 이전 조건이 모두 참이 아니었고, 이 조건이 참일 때에만 실행됩니다.

2.2.3 또는, 조건문: ~이라면 (Or if)

이 구문 안의 내용은 이 조건이 참이고 이전 조건이 모두 참이 아니었을때, 또는 이전 조건이 참이었을 대 실행됩니다.
쉽게 말해 이전 조건 또는 현재 조건을 만족하면 실행됩니다.[3]

2.2.4 아니라면: (Else)

이 구문 안의 내용은 이전 조건이 모두 참이 아니었을 때 실행됩니다.

2.2.5 조건문 종료 (End if)

이 구문은 제어 블록을 종료합니다.


2.3 조건

열차의 길이를 칸 수 기준으로 확인합니다. (반올림)
열차의 최대 속력을 확인합니다.
열차가 현재 향하고 있는 목적지를 확인합니다.
열차가 현재 향하고 있는 목적지의 다음 목적지를 확인합니다.
열차가 마지막으로 방문[4]한 역을 확인합니다.
열차가 특정 화물을 실을 수 있는지 없는지를 확인합니다.
현재 열차의 적재율을 확인합니다.(수송량이 0인 열차는 가득 찬 것으로 간주합니다)
열차가 신호기의 어느 방향(앞, 뒤, 8방향)에서 진입하는지, 또는 터널/다리를 진입하거나 빠져나오는지를 확인합니다.
열차가 특정 그룹에 속해있는지를 확인합니다.하위 그룹에도 작동합니다.
열차를 소유한 회사를 확인합니다.
열차의 현재 무게를 확인합니다.
열차의 출력을 확인합니다.
열차의 최대 견인력을 확인합니다.
열차의 무게 분의 힘 비율을 확인합니다.
열차의 무게 분의 최고 견인력 비율을 확인합니다.
이 신호기가 있는 칸에 대하여, 열차의 현재 또는 다음 경로가 속한 칸의 방향을 확인합니다.


2.4 고급 동작

2.5 고급 조건

고급 조건은 설정에서 인터페이스신호기 (고급) → 고급 경로 제한 기능 표시 설정을 "예"로 바꿔야 나타납니다.

열차가 특정 슬롯에 속해 있는지를 확인합니다.
특정 슬롯에 몇 대의 열차가 있는지를 확인합니다.
특정 슬롯에 남아있는 사용량이 얼마나 있는지를 확인합니다. 남은 슬롯 사용량은 슬롯 전체 사용량 - 슬롯 사용량입니다.
특정 카운터 값을 확인합니다.
열차가 전방에 경로 예약한 칸이 몇 칸이나 있는지 확인합니다. (버림하여 계산) 현실적 감속 모델 설정을 켜야 합니다.이 조건은 주로 추가 경로 예약을 제어하는데 유용합니다.
열차의 경로 예약이 길이를 따라 어느 지점에서든 특정 칸을 통과하는지를 확인합니다.
경로 예약이 시작된 경로 신호기가 있는 칸을 확인합니다.참고: 경로 예약이 "경로 통과 예약"이나 "추가 경로 예약" 동작을 이용해서 신호기를 통과하여 이뤄지는 경우, 통과된 신호기는 경로 예약이 시작된 신호기로 간주되지 않습니다.이 조건은 "추가 경로 예약"이나 "경로 통과 예약"을 제어하는 데 주로 사용되고, 여기에서 경로 예약이 종료될 수 있도록 경로 신호기에서 대기하게 하는 것이 가능합니다.이 조건은 신호기 모드 조절 동작과 함께 사용할 수 없습니다.
현재 경로 예약의 끝에 있는 경로 신호기가 있는 칸을 확인합니다. 현실적 감속 모델 설정을 켜야 합니다.참고: 경로 예약이 "경로 통과 예약"이나 "추가 경로 예약" 동작을 이용해서 신호기를 통과하여 이뤄지는 경우, 통과된 신호기는 경로 예약이 끝나는 신호기로 간주되지 않습니다.참고: "추가 경로 예약" 동작을 이용해서 두 번째 경로 예약이 이루어진 경우 또는 열차가 전방 경로를 예약했을 때에는, 신호기는 새 경로 예약의 끝 신호기로 간주됩니다.이 조건은 현실적 감속 설정을 사용할 때 어느 신호기가 폐색 진입에 사용되는지 확인할 때 사용됩니다. 열차에 가까이 있는 진입 경로 신호기를 확인할 때 사용하는 것은 아닙니다.이 조건은 "경로 통과 예약"을 제어하는 데 주로 사용되고, 여기에서 경로 예약이 종료될 수 있도록 경로 신호기에서 대기하게 하는 것이 가능합니다. "추가 경로 예약" 동작을 제어하는 데에는 유용하지 않습니다.이 조건은 신호기 모드 조절 동작과 함께 사용할 수 없습니다.
이 조건은 오직 신호기 모드 제어 동작에만 사용할 수 있습니다.이 조건은 이 신호기에서 경로 예약이 이루어진 경우 그 경로 예약의 끝에 있는 칸, 즉 마지막 경로 예약 칸을 확인합니다.현실적 감속 설정을 켜야 합니다.

경로 예약 시작/끝 신호기 조건은 사용하기에는 다소 까다로우며, 경로 탐색/패널티 동작과 함께 사용하는 경우 직관적이지 않게 동작할 수도 있습니다.
경로 찾기는 예약이 이루어지는 현재 신호기 폐색 너머에서도 일어나기 때문입니다. 이 경우 경로 신호기가 어떻게 될지에 대한 예측이 이루어집니다.

3 프로그램 사전 신호기

여기는 작성 중인 부분입니다


4 슬롯

여기는 작성 중인 부분입니다


5 카운터

여기는 작성 중인 부분입니다



* 원문: https://github.com/JGRennison/OpenTTD-patches/wiki/Signalling

  1. [1] Yet Another Path Finding의 줄임말로, YAPF가 기본값이며 설정에서 변경 가능합니다.
  2. [2] AND의 기능을 합니다.
  3. [3] OR의 기능을 합니다.
  4. [4] 정차, 경유 모두 포함


TELKwiki에 기여함은 TELKLAND의 이용 약관에 동의함을 뜻합니다.


↑TOP

신고하기 ×

신고 종류
작성자
내용

신고 사유