본문 바로가기

쓰기

제가 새벽에 내내 엘리스사의 게임인 아가씨를 내마음대로 하는 게임(お??をいいなりにするゲ?ム)을

만져보다가 결국에는 지지 쳤습니다. 이유는

너무나 많은 명령줄 때문인데요.  함수처리 예외문 기능을 하는 EL.DAT가

DENY기능이 아닌 EXACT밖에 기능을 안가지고 있기 때문입니다.

아래는 게임의 명령처리 예문 들 입니다.

エミリ106
エミリ103
梢104
梢102
理?子101_2M
エミリ咸_??
エミリ譬?_??
エミリ???_??
エミリ竅拜_??
エミリ膾聽_??
エミリ膾聽 2_??
エミリ?鵝凡 路螟脩_??
エミリ69_??
梢SEX_??
梢?嶼 2_??
梢W膾聽_??
梢SEX2_??
梢卷 褒拿_?

보시는 것처럼 앨리스 게임은 이벤트 처리 함수 이름을 일본어로 써서 그게 해석 되버리는 바람에 에러를 리턴하기 때문에 

이 처리 함수들을 정확히 입력 해야합니다. 

때문에 클립보드 모니터를 키고 씬이 넘어 갈때마다 명령줄을 전부 하나하나 확인해요. 정말 노가다죠.. (초얌섬인하루카도.. 으..)

플러그인을 제작하신 my님께서도 이문제 때문에 란스 코드를 공개하는데 한달이 걸리셨다고 합니다.

하지만 Denyword 필터를 사용한다면 deny에 10 과 _ 을 넣기만 한다면 해결 되는 문제이죠.

그렇다면 왜 Denyword필터를 사용안하는지 궁금 하실텐데요.

아래 스샷은 엘리스사 게임에 denyword필터를 넣었을 경우와 뺄경우의 스샷과 헥스 입니다.



denyword 필터를 넣었을 경우 ( AT플러그인의 폰트로드와 포인터번역이외 옵션없음 , 멀티플러그인 코필터 포함)


?尾
90A3 94F6

817A

??尾押
899E 90A3 94F6 899F
和也…?
9861 96E7 8163 8148
카즈야…?


denyword 필터를 뺄 경우  ( AT플러그인의 폰트로드와 포인터번역이외 옵션없음 , 멀티플러그인 코필터 포함)

?尾
90A3 94F6
세노오

8179


817A

和也…?
9861 96E7 8163 8148
카즈야…?


데이니필터 포함 시켜을때


데이니필터를 뺄경우

위처럼 이름이나 메뉴창. 그리고 루비문자가 포함된 글이

데이니필터를쓰면 번역이 안되는 증상이 일어나는데 이 증상은

엘리스사 뿐만아니라 이외로 많은 게임에서 증상이 일어 납니다.

제가 이쪽에는 까막눈이라 확신이 안서지만..

예상되는 문제는  데이니워드의 기본기능인 1바이트 문자 죽이기

텍스트를 처리하는 명령줄 중에 1바이트문자가 포함되어 먹히는 경우인듯 해요.

그래서 데이니필터의 기능중에서 DENY의 기능만 빼온 필터가 제작이 가능한지

문의 합니다.

Hide_D

2008.09.21
09:16:08
우선... 현재 사용중인 DenyWord 버전이 어떻게 되나요?
?尾가 공백처리되는 걸로 봐서는 최신 테스트버전은 아닌것 같은데 ^^:;

혹시 모르니까 현재 버그 수정된 최신 DenyWord를 사용해 주시면 감사하겠습니다.

1. 우선 ?尾 -> (6)? 처리되는 것은
대체로 문자열이 번역되지 않거나, 길이가 0이 되어버리기 때문인데,
제가보기엔 이 버그는 DenyWord 080910버그거든요 =ㅅ=;;;
뒷부분의 것도 마찬가지입니다.
분명 '한자만 들어간' 문장만 잘리는 것으로 봐선, 이전 버전 문제인것 같은데[...]
으음...

2. DenyWord에서 1바이트 검출 기능이 뭐냐면(지금은 좀 바뀌었습니다만)
1바이트문자들은 ASCII + 반각가타카나(요샌 쓰이지도 않는)인데
ABCDEFGHI을 번역한다고 해서
ABCDEFGHI가 AJFSLEFIJ가 되진 않겠죠?
그래서 번역해도 문제가 안되는 텍스트는 그냥 번역하지 않고 되돌려보낸다..가 기본 취지입니다.

뭐 현재 문제가 되는 쪽은 새로 바뀐 저 기능에서 진화(?)한 '비일본어 검출 기능'인데,
구버전의 경우 '히라가나,가타카나,대화기호''한글자도 없는 경우' 번역하지 않도록합니다.
그런데 한자만 들어간 경우(대체로 이름) 쪽도 번역하지 않아 텍스트가 왕창 깨지는 문제가 발생했기 때문에
현재는 '히라가나,가타카나,한자,대화기호'를 검사해서 체크하도록 하고 있습니다.

최신버전으로 테스트해보신뒤 그래도 문제가 발생한다면 말씀해주세요.
옵션으로 저 검출기능을 사용하지 않도록 해볼께요.

라파에

2008.09.21
16:07:15

문제는 한자옵션 때문이였군요.
디나이 최신 버젼으로 하니 해결 가능 했습니다. = =;
또 삽질 했군요.
하지만 문제가 되는 함수처리줄을 찾지를 못하겠네요. 이벤트씬이 무시되고 그냥 넘어가는 증상은 여전히.. 흠냐..
이쯤되니 짜증이 버럭 나네요. 그냥 코드 찾는거 포기 하고 양양이나 다녀와야 겠습니다.
두분다 즐거운 주말 되세요~

List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
149 Archive [플러그인, 소스] DenyWord 테스트 버전 20080907_2 file Hide_D 8802   2008-09-07 2009-01-06 01:01
 
148 Archive [플러그인] ATCode 테스트 버전 20080723_2 file whoami 8787   2008-07-23 2009-01-06 01:27
 
147 Talk 사용자 사전 플러그인에 대해서 설문 [5] Hide_D 8785   2008-07-30 2008-07-30 22:47
으음 기본적으로 모든 게임에 사용되는 사용자 사전 을 목표로 진행중이기 때문에 ezTransXPwithCustomDic이 아니라 ezTransXP가 되고 싶습니다만... 0.2에서는 특별한 다이얼로그가 없기 때문에 이걸 그냥 ezTransXP.dll로 만들어 달라기도 애매한 상황입니다...  
146 Archive [플러그인, 소스] RLCmd 20080728_2 file whoami 8784   2008-07-28 2009-01-06 01:26
 
145 Talk 라파에님 한번 테스트해보세요. [2] file Hide_D 8759   2008-08-17 2008-08-17 16:55
 
144 Archive [플러그인, 소스] DenyWord 테스트 버전 20080907 file Hide_D 8757   2008-09-07 2009-01-06 01:01
 
143 Archive [플러그인, 소스] RLCmd 테스트 버전 20080726 file whoami 8745   2008-07-26 2008-07-26 19:05
 
142 Archive [플러그인,소스] ezTransXP with CustomDic 0.3 20080806(테스트버전) [1] file Hide_D 8712   2008-08-06 2009-01-06 01:00
 
141 Talk 맵을 이렇게 사용해도 되나요? [2] Hide_D 8705   2008-08-09 2008-08-09 22:13
void CCustomDic2::SetKey(LPCSTR JpnWord, LPCSTR KorWord) { map<UINT,struct DicWord> EmptyMap; struct DicWord TempWord; map<size_t,UINT>::iterator iterBook; TempWord.WordLen = strlen(KorWord); TempWord.WordN = WordN++; UINT Hash=MakeStringHas...  
140 Archive [플러그인, 소스] D.C.2 Only 20080817_2(테스트버전) [5] file Hide_D 8703   2008-08-17 2008-08-28 22:53
 
139 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080807 whoami 8699   2008-08-07 2009-01-06 01:26
고급 옵션 설정시 중복되는 버그 고친 버전입니다. 이상한데.. 분명히 고친 것 같았는디... 버그가 또 발견되어 삭제합니다. http://aralgood.com/zbxe/56444 를 참조.  
138 Archive [플러그인, 소스] DenyWord 테스트 버전 20080810_2 [1] file whoami 8641   2008-08-10 2009-01-06 01:06
 
137 Talk 루비문자 처리 스샷 입니다. file 라파에 8595   2008-08-17 2008-08-17 17:43
 
136 Talk 어휴.. [2] file whoami 8573   2008-08-11 2009-01-06 01:06
 
135 Archive [플러그인, 소스] DenyWord 테스트 버전 20080908 file Hide_D 8530   2008-09-08 2009-01-06 01:01
 
134 Archive [플러그인, 소스] DenyWord 테스트 버전 20080811_2 file whoami 8479   2008-08-11 2009-01-06 01:05
 
133 Archive [플러그인, 소스] ATCode 테스트 버전 20080723 [2] file whoami 8470   2008-07-23 2009-01-06 01:27
 
132 Talk 아... 괴물한자의 정체가 Hide_D 8458   2008-08-23 2009-01-06 01:05
일반적인 과정 후킹시에 MS949 -> Shift-JIS(괴물 한자) 아랄이 인식한 텍스트 출력 함수에서 Shift-JIS(괴물 한자) -> MS949 인데, 괴물세트(?) 후킹시에 MS949 -> Shift-JIS(괴물 한자) 아랄이 인식 하지 못한 텍스트 출력 함수에서 Shift-JIS(괴물 한자) ->...  
131 Archive [플러그인, 소스] preKoFilter 테스트 버전 20080716_3...oTL file whoami 8454   2008-07-16 2009-01-06 01:00
 
130 Talk 플러그인을 다시 Multi2용으로 만들면서 생긴 궁금증 [4] Hide_D 8374   2008-08-09 2009-01-06 01:26
MFC를 그대로 써야하는지라 API용의 기본틀을 쓸순 없어서 새로 만들었는데, extern "C" __declspec(dllexport) BOOL __stdcall OnPluginInit(HWND hSettingWnd, LPSTR cszSettingStringBuffer); extern "C" __declspec(dllexport) BOOL __stdcall OnPluginOpt...