FF주인공소속 00리스본 01세빌리아 02이스탄불 03바로셀로나 04알제 05튀니스 06발렌시아 07마르세이유 08제노바 09피사 0A나폴리 0B시라쿠사 0C팔마 0D베네치아 0E라구사 0F간디아 10아테네 11알렉산드리아 12트리폴리 13캅파 ......
접기
네이버 카페 대항해시대 시리즈 의 kseokjung님 글 펌 (정말 헥사코드를 분석하셨습니다)
2. 공략 - 항해사 등 인물정보 분석
※ 이 공략은 대항2 상급자 이상, 대학생 이상을 대상으로 쓴 것입니다.
따라서 초보자 또는 초등학생이 이 글을 읽고 이해가 안된다고 하여 실망할 필요는 전혀 없습니다.
정확한 의미전달을 위하여 이하 공략은 문어체로 씁니다.
인물정보 50 byte:
koukai2.dat offset 6a9~ 이하 (조안페레로~)
名 姓 얼굴 통 항 지 직 용 검 매 운 항Lv 전Lv 항경 전경 나이 충성 함대 항구 직책 ??? 기능 국적 13 13 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 (바이트)
인물정보에 관하여 상세하게 설명하려면 A4용지 5장 분량은 써야하지만, 여기서는 그냥 생략함. 이 공략을 이해하기 위하여 굳이 읽어 보지 않아도 되지만, 인물정보에 관한 기본적인 설명은 http://cafe.naver.com/daehangs/2571 4.항해사(주인공 포함) DATA의 조작 부분을 참조할 것. 단, 위 2571은 "외전"에 관한 것으로서, "대2오리지날"과 미묘하게 다른 부분이 있음을 주의.
대항2 오리지날의 인물정보 50 byte 중 아직 의미파악이 제대로 되지 않은 것이 딱 하나 있는데 바로 위에서 ??? 로 표시한 것으로서, 이 code는 상성, 말투, 행동태도 등 인물의 속성 이 아닐까 추정한다. 따라서 잠정적으로 이 코드를 "속성"으로 명명하기로 한다.
이 code에 관한 포괄적인 분석은 일단 차후로 유보하기로 하고, 이 코드를 수차례 랜덤으로 조작해 본 결과,
일단 이 코드가 실업자 항해사가 여관에 있는지 아니면 술집에 있는지에 관련되어 있다는 것을 확인하였고, 이 코드를 집중적으로 분석해 보았다.
몇몇 실업자 항해사의 이 코드를 보면 아래와 같다.
91 조안카스트로 c0 미구엘레아르.............여관 31 디에고파군데스
d1 달테페레이라 31 페레스토레로 90 프란시스코 알바레스
f1 루이파레이로 60 환코사...................여관 70 마르틴 발보아
31 디에고 베라스케스 12 판피로 오리드 e1 아론소 멘도사............여관
c1 로렌스 에드워드..........여관 c0 알렉산드 밧조............여관 32 헨리 만스펠
이 코드를 16진수(hex) 상태로 분석하면, 규칙 발견이 잘 안된다.
따라서 2진수(bin)로 변환시켜 보았더니, 여관 항해사들은 아래와 같은 공통점이 발견되었다. ※ 이해의 편의를 위해 2진수 8자리중 4째자리는 그 앞 뒤에 스페이스를 넣어 표시함.
bin.........hex 110 1 0001 91 조안카스트로 110 0 0000 c0 미구엘레아르..................여관 001 1 0001 31 디에고파군데스
110 1 0001 d1 달테페레이라 001 1 0001 31 페레스토레로 100 1 0000 90 프란시스코 알바레스
111 1 0001 f1 루이파레이로 011 0 0000 60 환코사........................여관 011 1 0000 70 마르틴 발보아
001 1 0001 31 디에고 베라스케스 000 1 0010 12 판피로 오리드 111 0 0001 e1 아론소 멘도사.................여관
110 0 0001 c1 로렌스 에드워드...............여관 110 0 0000 c0 알렉산드 밧조.................여관 001 1 0010 32 헨리 만스펠
분석:
2진수 4번째 자리: 0 = 여관, 1 = 술집
이는 같은 뜻으로 16진수 code의 첫째자리: 짝수 = 여관, 홀수 = 술집 라는 의미가 된다.
※ 이 점이 이해가 잘 안되면 스스로 공학용 계산기를 두드리며 확인해 볼 것.
예컨데 미구엘레아르의 이 코드는 c0 인데, 이를 2진수로 바꾸면 1100 0000 이며 2진수의 4번째 숫자가 0 이므로 미구엘 레알은 실업자 상태일 때 여관에 머무르게 된다.
같은 의미로서, 16진수 c0의 첫번째 숫자인 c는 십진수로 12로서 짝수이다. 따라서 여관에 있다. c0 -> hex c = dec 12 -> 짝수 -> 여관
이상에서, 그냥 2진수로만 설명하면 될 것을, 굳이 16진수 설명까지 덧붙이는 이유는, 에디트 할 때에 일일이 2진수로 바꾸어 볼 필요 없이 이 code의 16진수 첫째 자리만 보면 이녀석이 여관에 있는지 술집에 있는지 금방 알아볼 수 있기 때문이다.
아래의 그림은 항해사들의 인물정보 50 byte 중 43~50번째 정보만을 추려 놓은 것이다.
※ hex editor로 초기셋팅 세이브 파일의 인물정보 부분을 띄운 후 그림으로 저장하여 재편집한 것임.
인물정보의 시작인 "이름"에서부터 47번째에 해당하는 2F행이 인물의 "속성" 코드로서 여관에 머무르는 11명의 실업자 항해사의 코드는 색반전으로 표시하였다.※ 앞에서도 이미 여러번 말했지만,
이 코드의 첫째자리 16진수 숫자가 0,2,4,6,8,a,c,e 등 짝수이면 그 항해사는 여관에 머문다.
※ 노란색으로 표시한 프란차 로로노아의 직책에 관해서는 나중에 설명함.
이상과 같은 분석을 바탕으로 "여관"에 있는 실업자 항해사를 "술집"으로 옮겨보자.
가장 기본적인 방법은 이 코드의 16진수를 2진수로 바꾸기 -> 2진수 4번째 숫자 0을 1로 바꾸기 -> 그 2진수를 다시 16진수로 바꾸기 와 같이 여러번의 (계산기) 작업을 거쳐야 한다.
bin.........hex 110 0 0000 c0 미구엘레아르 (여관) ↓ 110 1 0000 d0 미구엘레아르 (술집)
헌데, 이 작업은 가장 기본적인 방법이긴 하지만, 보다시피 약간 번거롭다.
따라서 다음과 같이 해 주면 쉽게 바꿀 수 있다.
이 코드의 16진수 첫째자리가 0,2,4,6,8,a,c,e 등 짝수일 때 여기서 1을 더하여 1,3,5,7,9,b,d,f 등 홀수로 바꾸어 주면 된다.
code 첫째 -> edit 자리 0 1 2 3 4 5 6 7 8 9 a b c d e f
이는 2진수와 16진수 사이의 관계 때문에 생기는 아주 "당연한" 원리로서 본인 스스로 계산기를 좀 만져보면 고개를 끄덕끄덕 하게 된다.
편법 으로, 예컨데 미구엘 레아르의 이 코드를, 조안카스트로(91) 또는 디에고파군데스(31) 등과 같이 술집에 머무르는 항해사의 코드로 막바로 바꾸어 줘도 된다.
그런데, 이 방법은 항해사의 "나머지 속성"까지 같이 바꾸어 버리는 문제점이 있다.
인물들의 속성 코드 중 밝혀진 것은 1개 뿐이다.
2진수 1,2,3번째자리와 5,6,7,8번째 자리의 의미는 아직 미확인 상태이며 이는 나중에 필요할 때 분석해보기로 유보하기로 한다고 이미 글 서두에 밝혔다.
따라서, "바꾸고 싶은 것만 바꾸고, 나머지는 그대로 둔다"는 에디트의 기본원칙에 따라 필자가 처음에 제시한 방법으로 해 보길 권한다.
이상의 방법은 koukai2.dat 세이브 파일 을 에디트 하는 방법이다.
참고로, 일반 항해사가 아니라 NPC제독까지 등용하고 싶은 고수들을 위하여 6명의 주인공과, NPC제독, 주인공의 초기동료에 관한 인물정보 그림자료를 덧붙인다.
3. 첨부파일 - 여관의 실업자를 술집으로 옮긴 패치
일일이 세이브 파일을 에디트 하기가 귀찮으면 첨부된 패치파일을 사용하면 된다.
첨부파일을 dh2 폴더에 덮어쓰기하여 "새로운게임시작"을 클릭하면 여관에 있는 실업자 항해사는 모두 술집에 머무르게 초기셋팅에 설정된다. 단, 궤멸 후 부활한 클론 등의 경우는 예외.
심화설명: 좀 어려운 내용이므로 굳이 안 읽어 봐도 됨.
이 패치파일은 대항2 데이터 파일인 data1.lzw 를 ls11 archiver를 이용하여 압축해제하여 data1.015를 추출한 후 인물정보를 수정해 준 것이다.
사실 data1.lzw파일만 있으면 충분히 패치의 효과를 낼 수 있지만,
아래와 같은 이용상의 약간의 주의가 필요하므로, 노파심에서 main.exe파일 까지 같이 만들어 올렸다.
main.exe :
게임 시작 직후 아무거나 세이브 파일을 로드하기 前에는 컴퓨터가 data1.lzw 등에 수록된 데이터 파일이 아니라 main.exe에 있는 각종의 정보를 읽어들이므로 main.exe파일까지 수정해 주어야 완벽한 패치가 된다.
만약, data1.lzw 파일만 수정한 채 게임 시작 직후 막바로 "새로운게임시작" 메뉴에 들어가서 시작하게 되면 여관/술집 등의 수정이 되지 않은 상태가 된다.
패치파일은 항해사의 이름으로 검색하여 이름으로부터 47번째 code를 수정해 준 것이다. TEXT 검색으로 접근한 것으로서 설명이고 자시고가 필요없는 기초적인 hex edit 방법이므로 offset등 별도의 추가설명은 생략함. (요령만 알면 난이도 d급)
참고:
이 패치를 만드는 과정에서, 기왕 고치는 김에 덤으로 수정한 것이 있다.
원본 플레이시 발생하는 소위 "프란차로로노아 오류 현상"을 수정하였다.
(프란차로로노아라는 해적을 등용하면 이놈이 주인공의 부하 항해사이면서 동시에 NPC해적함대의 제독이 되어버리는 현상.)
프란차로로노아......직책: 00 -> 01 실업자항해사 -> NPC제독 (참고: 세이브 파일 offset: 1d1b)
따라서 프란차로로노아는 초기셋팅에 등용할 수 없다.
끝.
뽀너스
국적코드의 비밀(?)
2012. 9. 21. 추가
국적code :
60,61,62,63,64,65,66 등이 일반적이지만 26,a4,e5 등과 같이 얼핏 의미를 알 수 없는 code도 있다.
그동안 대항2의 hex 분석공략에 관한 각종의 글들에서 국적code의 6x 에 관해서는 잘 알려졌으나, 기타 숫자의 의미를 파악하지 못한 채 유보한 공략이 대부분이어서 이번에 이 코드의 의미를 소개하기로 한다.
1
사실 우리가 흔히 "국적"으로 알고 있는
인물정보 제50번 코드는 16진수 두개 중에서 두번째 것만 국적에 관한 코드이다.
x0 포르투갈 x1 스페인 x2 오스만 x3 잉글랜드 x4 이탈리아 x5 네델란드 x6 해적
2
16진수 첫째자리에는 주로 6 또는 2 가 있는데
2x 철새(每月1日 항구이동을 하는 타입)6x 한곳에 계속 머무르는 타입 이다.
※ 비단 실업자 항해사 뿐만 아니라, NPC제독(해적포함)들도 2x형과 6x형이 있다.
※ 초기셋팅에 실업자항해사 중에서 2x형의 철새는 총16명이다. 아래 자료그림 참조. (반면 6x형의 텃새(?) 실업자항해사는 25명이다.)
3 2x라고해서 반드시 항구이동을 하는 것은 아니다.
月末月初 세이브/로드할 때마다 항구이동 "여부"가 달라지며 "어느" 항구로 이동하는 지도 달라진다.
항구이동 패턴은 일정하지 않다.옮긴 후의 도시번호 = 옮기기 전 도시번호 ±1~2 랜덤 으로 추정된다.
예:月末: A港 月初 :B港08 -> 09or06 조안카스트로 03 -> 01 판코사 1d -> 1b 라울피치 02 -> 00 알베로스키라치 21 -> 22 한스슈타텐
4
옮긴 後의 항구는 옮기기 前 항구의 도시번호에서 ±2 이내이기 때문에 아무리 철새들이라 할지라도 대륙간 이동은 거의 하지 않는다. (※주의: 정화편의 경우 극도로 에디트된 상황이므로 착각하면 안됨.)
알렉산드 밧조의 초기셋팅 항구는 19(트레비존드★)인데, 도시번호上 19는 00~18 등의 지중해항구 및 1b~29 등의 북해항구의 중간지점에 있기 때문에 알렉산드 밧조는 마치 지중해와 북해를 넘나드는 것처럼 보일 뿐이지 절대로 이놈의 활동반경이 넓은 것은 아니다.
※참고: 알렉산드 밧조가 자주 목격(?)되는 항구의 도시번호 14베이루트,15니코시아,16트리폴리,17캅파,18타나,19트레비존드★, 1a세우타,1b보르도,1c낭트,1d런던,1e브리스틀,1f더블린,
이 점에 관해서는 http://cafe.naver.com/daehangs/49794 도둑놈 님의 체감공략 및 그 댓글 참조할 것.
5
랜덤이 어느 정도는 있어야 게임의 숨은 재미가 있기 때문에 koei가 의도적으로 이렇게 설정한 것으로 추정된다. 지나치게 규칙적이면 게임이 획일적이라 쉽게 지루해져버린다.
6 항해사를 등용하여 선장,부선장,경리,수석,일반항해사 (직책번호: 02,03,04,05,06)로 임명했을 때
2x → Ax 6x → Ex
와 같이 국적code의 첫째자리가 +8 상태로 바뀐다.
※ 왜 바꿀까? 항해/전투 경험치 상승률 적용을 위한 컴퓨터의 인식 부호로 추정된다. 아니면 말고.
7
전투후 함대궤멸시 NPC제독의 국적코드가 0x 로 되기도 한다. 예: 잭라캄, 존데이비스 등을 궤멸시 26 → 06
고유얼굴이 없는 NPC의 경우 함대궤멸시 그놈이 철새가 되는 것이 아니라 다른 인물로 교체(소위 클론)되기 때문에 별도의 번호를 부여한 것으로 추정된다. (반면 하이레딘 등 고유얼굴이 있는 NPC의 경우 함대재편시까지 실업자 항해사 상태로 됨을 주의.)
쉽게말해 국적이 0x 상태이면 이녀석은 주인공에 의해 死亡했으며, 얼마후 인물정보가 다른 녀석으로 바뀔 예정이다.
8
이상의 정보를 활용하여 본인 스스로 hex editor를 이용하여
모든 철새실업자항해사를 "텃새"로 바꾸기가 가능하다.
그러면, 예컨데 알렉산드 밧조를 찾아 헤맬 필요가 없고,
트라비존드에 찾아가면 언제든지 있다.
1년이 지나건, 10년이 지나건...
단, 이는 초기셋팅 세이브 파일을 에디트 했을 경우를 말한다.
9
좀 엽기적인 플레이를 해 보고 싶다면,
모든 실업자 항해사를 "철새"로 만들어 보라.
그러면, 예컨데 안소니존슨(아테네), 개빈핏셔(함부르크) 와 같이
누구나 좋아하면서, 누구나 게임 초반부터 등용할 수 있는 항해사를 찾기 위해
삽질노가다를 하는 즐거움(?)을 맛볼 수 있을 것이다.
정화편3.0 에 이렇게 한번 고쳐 보려다가,
게이머가 스트레스 받을까봐, 그렇게 고치지는 않았다. 아직은...
10
철새들의 항구이동에 관해서는 블핑님의 아래 joke 를 읽어보시기를 권합니다.
http://cafe.naver.com/daehangs/40775
진짜 끝.
접기