목차 열기

티스토리 뷰

728x90
반응형

도로 저장과 업데이트 할 때의 필수 작업?

핀란드식 도로 저장에서의 필수 요소는 고가 도로(교량, 경사, 터널 등)의 이름을 마음대로 저장하는 것이다.

기본 도로의 이름이 A라면,
Elevated 도로: A E
Bridge 도로: A B
Slope 도로: A S
Tunnel 도로: A T

이렇게 이름을 지어야 하지만, 핀란드식으로 마음대로 뒤에 0 혹은 1(A E1 혹은 A E0 처럼)을 붙인다.

일관성이 없다.

이 네이밍은 게임 내에서 처리하기 때문에 에셋 제작자가 좋다고 에셋 업데이트를 한다면, 저장된 도시 내에서는 '엥 이거 없는데??????!!!'하며 에러 처리해버린다. 즉, 도시를 불러오는 과정에서 큰 문제가 생기는 것이다.

그래서 업데이트를 못 하는가?

주의!
이 스크립트를 적용하여 일관성 있는 업데이트를 위해, 에셋 배포 전이어야 한다.
이미 E1로 배포했는데 E로 바꾼다고 하여도, 어쨌든 구독자의 도시는 보장할 수 없다.

cslmodding.info/asset/network/#save-update

아니다. 우리의 갓 로닉스(ronyx69) 님이 이 문제를 발견하고, 편리하게 스크립트로 만들어 놓으셨다.

github.com/ronyx69/NetworkElevationRenamer.cs

하지만, 이 스크립트가 좋다고 막 붙여넣으면 오류가 날 것이다. TrainTrackAI에서 이름을 찾기 때문인데, 일단 나는 Train이 아니라 일반 도로(RoadAI)를 수정할 것이기 때문이다.

먼저, F7을 눌러 스크립트 창을 연다.

// Renames elevations, to fix the game adding 0 or 1 to the elevation names, so that they can be kept consistent when updating a network multiple times.
// Do not run on a newly created network, it must be saved with the final name it should have, loaded again, and only then run this script.
// 고도 이름을 변경하여 고도 이름에 0 또는 1을 추가하는 게임을 수정하여 네트워크를 여러 번 업데이트 할 때 일관성을 유지할 수 있도록 합니다.
// 새로 생성된 네트워크에서 실행하지 마십시오. 최종 이름으로 저장하고 다시 로드 한 다음이 스크립트를 실행해야 합니다.

var asset = ToolsModifierControl.toolController.m_editPrefabInfo as NetInfo; 
var ai = (asset.m_netAI as RoadAI); // change this to RoadAI or something else if necessary.
if(ai.m_elevatedInfo != null) ai.m_elevatedInfo.name = ai.m_info.name.Substring(0, ai.m_info.name.Length-5) + " E";
if(ai.m_bridgeInfo != null) ai.m_bridgeInfo.name = ai.m_info.name.Substring(0, ai.m_info.name.Length-5) + " B";
if(ai.m_slopeInfo != null) ai.m_slopeInfo.name = ai.m_info.name.Substring(0, ai.m_info.name.Length-5) + " S";
if(ai.m_tunnelInfo != null) ai.m_tunnelInfo.name = ai.m_info.name.Substring(0, ai.m_info.name.Length-5) + " T";
  • // ~~~~는 주석이므로 복사해도 스크립트 내에서 알아서 처리하지 않는다.

적용 전 / 후

스크립트 적용 전 (Before)

E 뒤에 1 따위가 붙은 핀란드식 네이밍

스크립트 적용

스크립트 붙여넣기 / Run 적용 후 오류가 없는 것을 확인한다.

스크립트 적용 후 (After)

스크립트로 인한 깔끔한 네이밍

그렇다면 한 번만 적용하면 끝나는가?

아니다.
에셋을 저장하고 불러올 때마다 핀란드식 네이밍을 적용하므로, 저장하고 불러올 때마다 스크립트를 적용해야 한다.

결론: 고가 도로를 만든다면 이따위 고생을 계속 해야 한다.

728x90
반응형
댓글
글 보관함
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Total
Today
Yesterday