본문 바로가기
카테고리 없음

삼국지4pk의 수명과 신분 그리고 나이 HEX 코드

by 월반장 2017. 8. 6.

삼국지4와 같은 경우 최신작과 다르게 수명연장이나 전사외 사망이 없게 만드는 옵션이 없기 때문에 


에디터를 통해서 수명을 최대치인 7을 주고 플레이를 하는 경우가 있습니다. 최대한 장수들을 오래 살게 해두고 재미나게 즐겨보자는 것인데 (삼국지4가 3보다 장수 수가 적은 탓도 있습니다.)


이런 것은 파워업키트를 사용하면 되지만 문제가 한 명씩 불러와야 하다보니 참 번거롭다는 부분이 있습니다.


그래서 HEX코드를 알아본 결과 


특이하게 펼쳐놓았더군요.


세이브파일인 SAVEDAT.S4 를 HxD등의 프로그램으로 열면 나오는 화면에서 


확실치 않으나 오프셋 1C5C 부분부터가(시나리오1의 첫번째 장수의 통솔치/ 통무지정매 순서) 세이브1의 장수들로 추정됩니다.(능력치 와 수명등)  그리고 HxD에서 너비를 20으로 하면 


아래 처럼 화면이 나옵니다. (확대해서 보세요.)


20칸씩 나오게 한 이유는 저 음영처리된 부분이 장수 1명의 정보로 추측되는 곳입니다.(세이브1에 저장해놓은 시나리오1의 첫번째 장수가 윤묵)


*오프셋 범위가 확실치는 않습니다 수명과 신분에 해당하는 65 뒤의 3블럭은 어떤 수치인지 조사하지 않았습니다. 다음 장수의 것일 수 도 있습니다. 단 그 3블럭 뒤의 숫자는 다음 장수의 통솔능력치입니다. 





그리고 그 한줄에서 17번째의 숫자중 앞의 숫자가 수명 뒤의 글자가 신분입니다. 아래 파란색 음영에서
8번째 숫자는 65인데 앞의 6이 수명이고 뒤의 5가 신분인 것이죠.
수명은 7이 최대치이고 이것을 넘어가면 사망처리됩니다. 뒤의 신분도 6이 넘어가면 장수가 사라지는데  이것이 사망인지 재야하기도 전의 백수? 상태인지 모르겠네요. 일단 사망 비슷하게 처리됩니다.(신분은 그리 관심이 없어서 숫자가 어떤 신분이 되는지는 확인해보지 않았습니다. 
0:군주, 1:장군, 2:군사, 3:시중, 4:일반, 5:재야, 6:미발견 혹은 사망 
6번의 미발견은 미등장과는 의미가 틀린데 재야로 바로 나올 수는 있지만 인재검색은 되지 않은 상태입니다. 미등장은 검색을 해도 재야로 등장하지 않은 상태로 삼국지4의 시나리오파일에 등록된 순서상 그 당해년도가 아니면 그 이전에는 나오지 않습니다.
6은 사망에도 해당하는데 이미 장수가 등장한 후에 전사나 나이가 들어 사망하는 등의 죽음에 이르게 되면 코드가 6으로 변하면서 이후에는 등장하지 않게 됩니다.   
*삼국지3나 4는 나이와 관련없이 미리 시나리오에 설정된 순서대로 장수가 등장합니다.(재야/자식 둘다 해당) 그래서 등장년도에 나이가 1살로 에디터를 해도 등장할 수 있습니다.
*또 한가지 향후 등장할 장수들은 (자식과 미등장 등/ 각 시나리오에 이미 나와 있는 경우 제외) 세이브파일에는 없고 시나리오와 TAIKI.S4 파일에 등록되어 있는데 수명/생년을 고칠 경우 TAIKI.S4와 시나리오 둘다 수정해 주어야 합니다. 





세이브2의 경우에도 같습니다. 다만 오프셋위치가 다르므로 같은 패턴을 잘보시고 찾으셔야 합니다. 역시 20칸으로 바꾸는 것이 편합니다.(이 부분은 아래 시나리오파일도 마찬가지입니다.)



단 세이브파일의 경우 향후 나올 재야 및 자식 들에 대한 정보가 없다보니 시나리오/TAIKI.S4 파일을 건들여야 그 시나리오 전체의 장수들을 편집할 수 있습니다. (해당 년도에 나올 재야나 자식이 있을 경우 시나리오/TAIKI.S4 파일에서 정보가 불러지는 구조입니다.)


시나리오 파일인 SNDATA.S4 를 편집해야 합니다. 

시나리오파일에서는 시나리오1의 경우 2205부터 장수들 정보가(능력치 와 수명등) 시작합니다.

*오프셋 범위가 확실치는 않습니다 수명과 신분에 해당하는 65 뒤의 3블럭은 어떤 수치인지 조사하지 않았습니다. 다른 장수의 것일 수 도 있습니다. 단 그 3블럭 뒤의 숫자는 다음 장수의 능력치입니다. 


역시 시나리오1이므로 윤묵이 첫번째

세이브파일과는 오프셋 위치가 틀립니다. 그래도 너비를 20으로 하시는게 편합니다.

아래 참조 역시 17번째가 수명과 신분입니다. 





배치파일을 만드시던지 수명 부분을 한칸씩 내려가며 7을 써주면 모두 수명이 길어지겠지요. 


*TAIKI.S4 의 수명은 뒤에서 언급합니다.



장수들의 수명은 나이가 별도로 정보가 있는 것이 아니고 생년일을 기준으로 한살씩 먹게 됩니다.

192년 생이라면 92에 해당하는 5C 로 hex 코드가 나오게 됩니다. 

이정보는 세이브와 SNDATA.S4(시나리오파일)과 TAIKI.S4 에 저장되어 있는데 해당 시나리오가 시작하자 마자 이미 나와 있는 장수들은 시나리오파일에만 정보가 있고 TAIKI.S4에는 없고, 각 시나리오에서 시간이 지나면 나오는 재야나 자식장수들은 TAIKI.S4와 시나리오 둘다 저장되어 있습니다. 


물론 세이브파일에는 그 세이브에 해당하는 년도에 나온 장수들의 정보만 있다보니 세이브파일만 수정해서는 향후 나올 재야/자식 (세이브 시점에는 없는 장수) 들의 정보는 없기 때문에 이들을 수정하려면 

시나리오와 TAIKI.S4 를 둘다 수정해주어야 합니다. 물론 현재 있는 장수만 수정한다면 PK편집기능이나 세이브파일만 편집하면 됩니다.


생년은 hxd에서 너비를 30으로 잡습니다. 세이브파일의 경우 세이브1에서 장수의 특수정보의(생년과 야망등) 시작이 3b91 입니다.(이름~ 생년 기준입니다. )  음영의 첫번째가 이름이고 16번째가 생년입니다. 192년 생이라면 92를 16진수로 변경하여 찾으면 됩니다.(아래 음영은 41로 65 즉 165년생입니다.)






시나리오 또한 같은 방법이지만 위치가 좀 틀립니다. 303b부터 시작합니다.(이름~생년 기준, 시나리오1) 







TAIKI.S4 도 방법은 같습니다.(너비는 50) 시작은 역시 이름~생년 기준으로 52입니다.  음영시작(장수명) 에서 26번째가 생년입니다. TAIKI.S4는 이적이 가장 먼저 나오는 장수이고 3E가 생년입니다.(162년)

hxd에서 너비를 50으로 하면 편집과 보기가 쉽습니다.


그리고 수명은 아래 음영처리된 부분의 두번째 앞의 60이 수명입니다. 그 바로 아래칸이 다음 장수의 수명입니다.








 단 생년은 미리 수정하는 것은 크게 의미는 없습니다.  192년도에 나오는 재야장수의 나이를  255 이런식으로 고쳐놓으면 삼국지4의 구조상 192년에 나오기는 합니다.

*생년 관계없이 시나리오파일에 등록된 순서대로 나옵니다. 손책의 순서가 빠른데 생년을 200으로 해놔도 190년 1월에 손견의 부하로 나타납니다.

  문제는 이런 경우 나오자마자 나이가 100~200살이 넘습니다. 바로 다음 년에 죽는거죠. 

 걍 다들 나이가 들어보인다 싶으면 세이브파일 열어서 죄다 당해년으로 고치는게 방법일 것 같습니다.





신장수나 수호전 장수도 거의 같습니다. NBDATA.S4, 수호전 장수는 NBDATA.SUI 를 편집하면 됩니다 .


신장수의 수명은 NBDATA.S4 를 HxD로 열어서 너비를 20으로 맞춥니다.

그럼 아래처럼 나오는데 


오프셋 00~13까지는 신군주1 그다음이 신군주2 입니다. 등록 신군주가 2명밖에 없어서 2명만 있습니다.

그다음 떨어진 곳에 있는 A0 부터의 장수는 신무장입니다.(삼국지4는 신군주와 신무장이 별도로 등록)

보시면 19번째 수치가 수명과 신분입니다. (첫번째 장수는 37로 수명이 3입니다.)





신장수의 생년은 역시  NBDATA.S4 를 HxD로 열어서 너비를 30으로 맞춥니다.

그럼 아래처럼 나오는데 가장 처음 장수인 신군주1이 870부터 시작합니다. 처음 수치는 이름이고 26번째 수치가 생년입니다. 음영에서 3A(삼국지4에서는 158년)


단 신장수는 처음 나이를 설정해두면 시나리오1의 년수를 기준으로 생년이 결정됩니다. 하지만 이건 어디까지나 가상으로 마지막 시나리오에 등장시켜도 나이는 처음 설정한 나이로 나옵니다.

예를 들어 나이를 30세로 설정했다면 생년은 158이나 159정도로 정해지는데 시나리오 1이나 4나 첫해의 나이는 30입니다. 





신군주는 189년 헥스코드로는 59로 생년을 맞추면 0살로 시작합니다. 다만 신장수의 경우 4A로 하면 15세로 시작하며 그 이하의 나이를 설정하면 선택할 수가 없게 됩니다. 이 부분은 수호전 장수고 동일 합니다. 군주로 해줄 장수는 59로 해두면 0살이라도 선택이 가능하지만 삼국지4의 출사 최소 나이인 15살이 아니면 부하장수로는 선택할 수가 없게 됩니다.



수호전 장수는 NBDATA.SUI 를 열어줍니다. 너비는 20으로 해주시고, 첫번째 장수는 00부터 이며 송강입니다.


구조가 신장수와 동일합니다. 역시 19번째 수치가 수명과 신분입니다. 





생년역시 신장수와 동일합니다. 너비를 30으로 한 다음 열어 줍니다. 924부터 첫번째 장수인 송강의 생년과 특수정보입니다. 역시 26번째수치가 생년입니다. 송강의 경우 3B로 되어 있군요. 159년생입니다. 물론 다른 시나리오에서도 나이는 동일하게 나옵니다.





예전에 올렸던 도시 생산력 편집과 장수들 수명연장을 편집하면 그래도 좀 치열하게 즐길 수 있지 않을까 생각해봅니다.


 


댓글