삼국지 6 에디트 신 세력 만들기삼국지 6 에디트 신 세력 만들기

Posted at 2012. 1. 28. 21:26 | Posted in 게임/삼국지



삼국지 6의 세력 데이터는 주소 0007EFB4부터 시작한다.

0007ef90 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | b8 00
0007efa0 : 01 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007efb0 : 00 00 | e3 15 | c0 a7 | 00 00 | 00 00 | 00 00 | 00 00 | ee 00
0007efc0 : b4 50 | 00 00 | 3c 5a | 00 00 | 00 00 | 50 00 | 28 00 | 00 00
0007efd0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007efe0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007eff0 : 00 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 00 00
0007f000 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f010 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f020 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f030 : 00 00 | 00 00 | ff ff | ff ff | ff ff | 01 00 | 2d 00 | 0c 00
0007f040 : 01 00 | ff ff | ff ff | 00 00 | 00 00 | c0 00 | ff ff | ff ff
0007f050 : 00 00 | 00 00 | ff ff | ff ff | ff ff | 28 00 | 04 00 | 00 00
0007f060 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f070 : 00 00 | 1e 0e | c7 d1 | c1 df | 00 00 | 00 00 | 00 00 | c0 01
0007f080 : 5c 30 | 00 00 | 5e 38 | 00 00 | 4b 00 | 00 00 | 19 00 | 00 00
0007f090 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f0a0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f0b0 : 00 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 00 00
0007f0c0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f0d0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f0e0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f0f0 : 00 00 | 00 00 | ff ff | ff ff | ff ff | 01 00 | 3c 00 | 18 00
0007f100 : 00 00 | ff ff | ff ff | 00 00 | 00 00 | bf 00 | ff ff | ff ff
0007f110 : 00 00 | 00 00 | ff ff | ff ff | ff ff | 22 00 | 20 00 | 00 00
0007f120 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f130 : 00 00 | db e7 | bf c0 | 00 00 | 00 00 | 00 00 | 00 00 | fe 00
0007f140 : e0 33 | 00 00 | 5a 37 | 00 00 | 32 00 | 32 00 | 00 00 | 00 00
0007f150 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f160 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f170 : 00 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 00 00
0007f180 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
주소 0007EFB4, 5에 블럭 지정한 [C0 A7]이 국명 또는 세력명으로 [위]가 된다. 세력명은 게임 내에서 간단한 치트로 바꿀 수 있으며 체크 섬도 없다. 그러므로 이를 무시하면 세력 데이터의 실질적인 시작은 그 옆에 강조한 주소 0007EFBE, F가 된다. 이곳은 세력의 군주를 나타낸다. 따라서 [EE 00]은 조조의 장수 번호가 된다. 마찬가지로 주소 0007F074~7은 유비의 세력명인 [한중]을, 옆 끝의 [C0 01]은 군주인 유비의 장수 번호를 뜻한다.

이렇게 세력 데이터의 첫 번째 줄에 세력명과 군주가 나온다. 해당 세력 데이터의 체크 섬은 거기서부터 밑으로 열두 번째 줄의 주소 2, 3에 위치한다. 그러므로 조조 세력의 체크 섬은 주소 0007F072, 3에 위치한 [1E 0E]이고 유비 세력의 체크 섬은 주소 0007F132, 3의 [DB E7]이다. 이제 그 옆의 [BF C0]와 [FE 00]은 세력명 [오]와 군주인 손권의 장수 번호임을, 그리고 그 체크 섬은 어디쯤 위치할지 알 수 있다.

아무튼 세력명을 제외하고 군주의 장수 번호로부터 체크 섬까지를 블록 지정한 다음 이를 일종의 슬롯이라고 해보자. 즉 세력 데이터가 통째로 하나의 슬롯에 들어가는 것이다. 첫 번째 슬롯에 들어가는 세력의 번호는 [00 00]이고 다음 세력부터 [01 00], [02 00], ... 으로 이어진다. 이것이 장수 데이터와 도시 데이터에서 그 소속을 나타내게 된다. 여기서는 첫 슬롯에 조조 세력이 들어가 있으므로 [00 00]은 조조군 장수들의 소속이 되지만, 장각이 첫 번째 세력으로 등장하는 황건적의 난 시나리오에서는 장각군 장수들의 소속이 된다. 아래는 이 시나리오의 요화.


지금 다루고 있는 것은 한중왕 유비 시나리오이므로 조조, 유비, 손권을 제외한 다른 한족 세력은 등장하지 않는다. 실제로 스크롤을 내려보면 손권 세력의 체크 섬 다음부터는 계속하여 공백이다. 그러다가 주소 0007FF7E에 가서야 의미있는 수가 보이기 시작하는데 바로 남만 세력의 데이터이다. 즉 한족 세력들이 모두 나열된 다음 이민족 세력이 시작됨을 알 수 있다. 이민족 세력은 남만 - 흉노 - 오환 - 산월 - 강 - 저의 순으로 이어진다.

그런데 이 공백 슬롯들을 가만히 들여다보면 체크 섬이 1씩 차이나는 것을 알 수 있다.



그림을 보면 손권 세력 바로 다음인, 즉 네 번째 슬롯의 체크 섬이 [CB 00]이고 밑으로 내려가면서 1씩 증가한다. 그렇다면 만약 이 시나리오에서 조조와 유비 두 세력만 등장했었더라면 공백이었을 세 번째 슬롯의 체크 섬은? 당연히 [CA 00]이 됐었을 것이다. 실제로 네 번째 슬롯의 데이터를 통째로 복사하여 세 번째 슬롯에 덮어씌운 다음 체크 섬만 [CA 00]으로 바꾸면 아래 그림과 같은 결과가 나온다.



신규 세력은 이와 반대의 방법으로 만들어 낼 수 있다. 즉 '가'라는 현존 세력의 데이터를 통째 복사하여 '나'공백 슬롯에 덮어 씌운 다음 '가'를 기준으로 '나'가 몇 번째 슬롯인지를 헤아려 그만큼을 체크 섬에 더하거나 빼면 되는 것이다. 예를 들어 네 번째 슬롯에 손권(세 번째 세력)을 복사했다면 체크 섬에 1을, 유비(두 번째 세력)를 복사했다면 2를 더하여 주면 된다.[각주:1][각주:2]

아쉽게도 이것으로 끝이 아니다. 이제 신 세력에 속하게 할 도시들의 도시 데이터를 찾아야 한다. 그리고 그 도시의 소속을 신 세력으로 바꾸어야 지도상에 신 세력이 모습을 드러낸다. 글쓴이는 첫 짤처럼 한중왕 유비 시나리오에서 관우를 독립 세력으로 만들 생각이므로 강릉과 무릉의 도시 데이터를 찾는다.

도시 데이터는 저의 세력 데이터가 끝나는 주소 000803F2, 3(저 세력의 체크 섬)의 다음 줄부터 양평의 데이터로 시작된다. 그러므로 주소 00080400으로 이동(Ctrl + G)한 다음 찾으려는 도시의 인구로 검색(Ctrl + F)하면 해당 도시 데이터를 발견할 수 있다. 현재 강릉의 인구는 2520이고 16진수로는 9d8이므로 d8 09를 입력하여 검색하면 된다.


00081080 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | e6 af | 00 00 | 00 00
00081090 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 01 00 | 00 00 | d8 09
000810a0 : 2a 00 | 08 00 | 38 00 | 06 00 | 58 00 | d8 00 | 00 00 | 00 00
000810b0 : 00 00 | 00 00 | 00 00 | 00 00 | ff ff | 03 00 | 02 00 | 02 00
000810c0 : 00 00 | 02 00 | 02 00 | 02 00 | 02 00 | 00 00 | 02 00 | 00 20
000810d0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 43 00 | 1b 00 | 00 00
000810e0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
000810f0 : 00 00 | 97 2b | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
00081100 : 00 00 | 02 00 | 00 00 | f8 0c | 2d 00 | 07 00 | 38 00 | 05 00
00081110 : 51 00 | 38 00 | 00 00 | 00 00 | 6e 00 | 00 00 | 00 00 | 00 00
00081120 : ff ff | 02 00 | 03 00 | 1a 00 | 00 00 | 00 00 | 02 00 | 02 00
00081130 : 02 00 | 02 00 | 02 00 | 00 20 | 00 00 | 00 00 | 03 00 | 00 00
00081140 : 00 00 | 50 00 | ff ff | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
00081150 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 85 2e | 00 00 | 00 00
00081160 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | ff ff | 00 00 | 1e 0a
00081170 : 30 00 | 03 00 | 27 00 | 02 00 | 3c 00 | 00 00 | 00 00 | 00 00
[d8 09]왼편의 [01 00]이 바로 강릉의 소속이다. 그 위에 볼드체로 강조한 [e6 af]는 강릉 앞 도시의 체크 섬이다. 이렇듯 이전 도시의 체크 섬 바로 밑줄 같은 위치에 다음 도시의 소속이 나타나며 그것으로 도시 데이터가 시작된다. 강릉의 체크 섬은 주소 000810F2, 3에 역시 볼드 처리한 [97 2b]인데 따라서 바로 밑의 [02 00]은 강릉 다음 도시(장사)의 소속을 뜻함을 알 수 있다.

이와 같이 도시 데이터의 체크 섬은 주소 2, 3 또는 a, b에 나타나며 전자의 경우 체크 섬으로부터 위로 여섯 번째 줄의 주소 a, b에, 후자의 경우 다섯 번째 줄의 주소 2, 3에 해당 도시의 소속 데이터가 나타난다. 이것에 익숙해지면 도시 데이터를 쉬이 다룰 수 있다.

현재 강릉은 유비 소속이므로 [01 00]으로 나타난다. 글쓴이는 네 번째 슬롯에 신 세력을 만들었으므로 이를 [03 00]으로 바꾸고 이어서 무릉의 소속도 마찬가지로 바꾼다. 소속의 체크 섬은 1이다.

여기까지 하고 파일을 로드한 결과는 다음과 같다. 본부 도시가 성도인 탓에 깃발이 누웠으나 한 달 휴양하고 나면 알아서 본부가 강릉으로 정해진다.


이제 강릉과 무릉 소재의 장수들 소속을 마찬가지로 [03 00]으로 바꾼다. 그러지 않을 경우 휴양하고 나면 이곳 장수들 모두 재야 상태가 되어 버리기 때문이다. 이것으로 신 세력을 만드는 데 필수적인 것은 다 한 셈이다. 굉장히 많이 한 것 같지만 실은 빈 슬롯에 기존 세력을 덮어씌우고, 도시와 장수들의 소속을 바꾼 것이 전부다.

마저 군주와 본부 도시, 군사까지 손보아 첫 짤처럼 만들어보자. 아래에서 [c0 01]은 앞서 언급한 대로 군주의 장수 번호이며 [18 00]은 본부 도시의 번호, [bf 00]은 군사의 장수 번호가 된다. 체크 섬은 순서대로 10진수 2, 12, 3이다. 아래는 유비의 세력 데이터이므로 [18 00]이 성도, [bf 00]은 제갈양을 나타낸다. 강릉의 도시 번호는 강릉 소재 장수들의 장수 데이터로 쉽게 알아낼 수 있다. 장수 번호를 알아내는 방법은 이전 글을 참조하시면 된다. 이제 딱 한가지 남은 것은 관우의 신분인데 이미 표기장군이라 2만 명을 지휘할 수 있으므로 신분을 군주로 바꾸지 않고 그대로 두었다. 이 상태에서는 군주만이 가능한 일과 군주는 하지 못하는 일을 다 할 수 있다.

0007f070 : 00 00 | 1e 0e | c7 d1 | c1 df | 00 00 | 00 00 | 00 00 | c0 01
0007f080 : 5c 30 | 00 00 | 5e 38 | 00 00 | 4b 00 | 00 00 | 19 00 | 00 00
0007f090 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f0a0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f0b0 : 00 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 1e 00 | 00 00
0007f0c0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f0d0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f0e0 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f0f0 : 00 00 | 00 00 | ff ff | ff ff | ff ff | 01 00 | 3c 00 | 18 00
0007f100 : 00 00 | ff ff | ff ff | 00 00 | 00 00 | bf 00 | ff ff | ff ff
0007f110 : 00 00 | 00 00 | ff ff | ff ff | ff ff | 22 00 | 20 00 | 00 00
0007f120 : 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | 00 00
0007f130 : 00 00 | db e7 | bf c0 | 00 00 | 00 00 | 00 00 | 00 00 | fe 00

아래의 신 세력은 오환을 남만 바로 위의 공백 슬롯에 복사하여 만들었다. 이 신 세력의 소속은 남만의 소속이 [15 00]이므로 당연히 [14 00]이 된다. 그에 맞게 도시와 장수들의 소속을 바꾼 다음 군주의 직위를 이름에 걸맞게 왕으로 조정했다. 그리고 모사의 능력치는 통/무 대신 지/정을 80/80으로 하였다.[각주:3]


  1. 이런 방법 대신 공백 슬롯에 하나하나 데이터를 채워넣어 신 세력을 만들 수도 있으나 이렇게 하면 체크 섬 계산을 여러 번 하여야 하므로 상당히 복잡해진다. [본문으로]
  2. 이렇게 '복사'하여 신 세력을 만들면 외교 관계와 적대심까지 원본과 똑같아지므로 필요한 경우 수정해야 하지만 이것까지는 다루지 않는다. 글이 너무 길어지기 때문이다. [본문으로]
  3. 이민족 장수들의 능력치는 모두 80/80/50/50/50 (통/무/지/정/매)이다. [본문으로]
//