본문 바로가기

쓰기

마찬가지로 아야카시를 몰모트로 설명해볼까 합니다.

004.JPG 

004355DA지점의 [ESP]+4 지점을 가리키고 있습니다.
게임에서는 이제 막 선택지를 출력하려고 하고 있습니다.
그 스크립트 명령어가 <MenuAdd>란 것을 알 수 있었죠
여기서 004355DA에 다시 브포를 걸고 무엇이 오는지를 확인해 보겠습니다.

005.JPG 
1 이군요[...]
다시 ㄱㄱㄱ

006.JPG 
아래에서 언급했던 대사와 동일한 구조의 포인터입니다.
011781A8이 문장 포인터고 12가 문장 길이, 1F가 최대 출력 길이가 되겠군요.
혹시 몰라 확인해 보자면

007.JPG 
일본어 문장이 확실한 것을 볼 수 있습니다.

008.JPG 
그리고 다시 진행하니 또한번 MenuAdd가 오는군요.

009.JPG 
2 군요.
2번째 선택지란 거겠죠.

010.JPG 
이번에도 문장 포인터가 나타남을 알 수 있습니다.
계속 실행해보면

011.JPG 
또다시 MenuAdd군요

012.JPG 
예측대로 3번째.
다시 실행 ㄱㄱ

013.JPG 
이번에도 문장이 오는데 이번엔 포인터가 아니라 문장이 통채로 왔군요 -_-;
귀찮아서 언급 안하려 했지만 그 이유는 최대 길이에 있습니다.
최대길이가 0F이하일 경우엔 대사포인터가 오는게 아닌 대사 그 자체가 와버리는 연산을 하더군요.
아야카시란 녀석은
여하튼 계속 진행해 보겠습니다.

014.JPG 
3개의 선택지를 내놓고 비로소 MenuEnd
그 이후엔 곧바로 선택지 출력을 확인 할 수 있었습니다.

여기서 말하고 싶은 것은 선택지를 출력하는 단계
즉 004355DA라는 함수를 거칠때마다 불러오는 데이터의 수순입니다.
종합해보면

<MenuAdd> -> 1 or 2 or 3(선택지 번호) -> 대사 포인터(혹은 대사) -><MenuAdd>->.........-><MenuEnd>

인 것을 알 수 있습니다.
만약 이것을 알고리즘화 해 패턴을 잡을 수 있다면 그러니까

<MenuAdd>가 오고 번호가 온뒤에 오는 대사 포인터 혹은 대사를 번역한다는 알고리즘을
아랄에 적용할 수 있지 않을까 해서 올려봤습니다.

문장 길이 지정만큼 많은 게임에서 쓰이는 방식은 아니지만 히데씨에게 설명해보니
여기에 직접 올려달라는군요 ㅡㅡㅋ

물론 이렇게 더러운 연산만 있는건 아닙니다.016.JPG 
어째선지 15번 이미지가 안올라오는군요 -_-;;;;;;;

이름 출력 부분입니다.
이미지가 안올라온지라 설명을 하자면 우선 처음으로

<Name>이 [ESP]+4에 오고
두번째로 바로 저기 드래그 되어있는 이름이 온 형상입니다.


<Name> -> 이름

이라는 간단한 구조도 존재하니 활용할 수 있지 않을까 싶습니다. 




List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 2008-08-03 155439
164 Talk whoami님 Util.h의 옵션 파서가 [4] Hide_D 2008-08-10 7908
163 Talk 플러그인을 만들다가 '또다시' 엄청난 실수를 저질렀다는걸 깨달았습니다. [2] Hide_D 2008-08-12 7929
162 Talk cmd로 리버ex 테스트 [2] file 앙마vv 2008-07-25 8011
161 Talk DumpText는 아직 개선이 좀 필요한듯; [3] Hide_D 2008-08-03 8111
160 Talk 개행 처리 관련해서 일단 제 구상입니다 Hide_D 2008-08-21 8149
159 Talk 어? ezTransXP 플러그인을 분석하다 생각난건데 [1] Hide_D 2008-07-22 8162
158 Talk VS 2005로 갈아탔습니다 [1] Hide_D 2008-08-03 8272
157 Talk 컨텍스트 구조 제안(핸들러 구조) [4] Hide_D 2011-04-21 8336
156 Talk 플러그인을 다시 Multi2용으로 만들면서 생긴 궁금증 [4] Hide_D 2008-08-09 8374
155 Talk 아... 괴물한자의 정체가 Hide_D 2008-08-23 8458
154 Talk 어휴.. [2] file whoami 2008-08-11 8573
153 Talk 루비문자 처리 스샷 입니다. file 라파에 2008-08-17 8595
152 Talk 맵을 이렇게 사용해도 되나요? [2] Hide_D 2008-08-09 8705
151 Talk 라파에님 한번 테스트해보세요. [2] file Hide_D 2008-08-17 8759
150 Talk 사용자 사전 플러그인에 대해서 설문 [5] Hide_D 2008-07-30 8785
149 Talk SOW 방식 지원 ATCode 플러그인 소스 커밋하였습니다.. [2] whoami 2008-07-27 8829
148 Talk 전에 쓸모 있는 기능의 2번 관련 Hide_D 2008-07-31 8860
147 Talk http svn을 운용하는건 어떨까요? [3] 아랄 2008-07-20 8950
146 Talk 비주얼베이직에서의 Hash값 생성 코드 작업 file HaruKaze 2009-01-05 9022
145 Talk whoami님 [3] Hide_D 2008-07-18 9072