본문 바로가기

쓰기

[플러그인, 소스] MultiPlugin

MultiPlugin 은 여러개의 플러그인을 동시에 사용할 수 있도록 고안된 플러그인입니다.



이런 식으로 플러그인을 여러개 등록하여..



이런 식으로 등록하면 번역이 ezTransXP 에서 한번 처리되고 ATPlugin 에서 재처리됩니다. 등록된 순서대로 불리게 되어 있습니다.

이 플러그인은 후킹 / 번역 겸용입니다. 같은 플러그인을 이렇게



후킹 플러그인에서도 사용 가능합니다. 단, 후킹 플러그인의 경우 같이 사용하면 서로 충돌하는 플러그인이 있을 수 있으므로 사용상 주의를 요합니다.

* 사용방법
1. 플러그인을 받아서 Algorithm 폴더 (후킹 플러그인으로 사용시) 혹은 Translator 폴더 (번역 플러그인으로 사용시)에 풉니다.
2. 후킹 플러그인이나 번역 플러그인으로 선택 후 옵션 버튼을 누릅니다.
3. 옵션창에서 원하는 플러그인을 추가해 사용하시면 됩니다. 순서대로 불리기 때문에 플러그인 순서를 위로/아래로 버튼을 눌러 조정해 주세요.
4. 각 플러그인들의 옵션을 조정하려면 이 옵션창에서 "설정" 버튼을 누르거나 플러그인 이름을 더블클릭하면 각 플러그인들의 옵션창으로 들어갈 수 있습니다.
5. 바로가기에서의 옵션은 다음과 같습니다. 단, 옵션사이에 빈칸은 허용되지 않으니 주의를 요합니다. 특히 콤마 (,) 뒤에 빈칸을 넣지 마세요.
MultiPlugin{플러그인1{옵션1},플러그인2{옵션2}...}
(예: 번역 플러그인에서 ezTransXP.dll 과 ATPlugin.dll 을 같이 사용할 때)
/t:MultiPlugin{ezTransXP{},ATPlugin{}}

* 알려진 문제점 -이 라기보다는 아랄트랜스 자체의 버그
아랄트랜스 0.2.20080518 버전의 버그로 인해 다음과 같은 문제가 있습니다. 아마 이후 버전에서는 제대로 동작할 것입니다.
1. 아랄트랜스 설정창의 번역 플러그인 선택시 Translator 폴더의 홀수번째 플러그인만 리스트에 나오며, 바로가기로 선택해도 사용이 불가능합니다. 이 문제는 Translator 폴더에서 임의의 플러그인을 하나 복사해서 MultiPlugin 을 홀수번째로 만들어 사용하면 선택 및 사용이 가능합니다.
2. 아랄트랜스 바로가기로 사용할 때 번역 플러그인의 옵션값을 제대로 플러그인에 넘겨주지 않아 5월18일자 를 사용하는 경우 수동으로 로딩을 시켜줘야 합니다.
3. 아마도 후킹 플러그인중 일부 (ATCode 등)가 LoadLibrary 함수를 후킹하기 때문이 아닌가 싶지만 후킹 플러그인을 바로가기로 로드시키면 에러가 나는 경우가 있습니다. 이런 경우 해당 후킹 플러그인을 맨 나중에 로드되도록 하시기 바랍니다.
예:
    /a:MultiPlugin{ATCode{...},APlugin{}}  - 에러 발생
    /a:MultiPlugin{APlugin{},ATCode{...}} - 에러 없음

* 플러그인 다운로드
   플러그인 본체 : MultiPlugin_20080703.rar
   플러그인 소스 : MultiPlugin_source_20080703.rar
     이 플러그인의 소스는 GPL 라이센스를 따라 개작, 재배포가 가능합니다.

* edit at 2008.07.03.11:25pm 
  버그 하나 발견해서 고쳐서 다시 올립니다. 11:25pm 이전에 받으신 분은 다시 받아주세요.

Hide_D

2008.07.03
22:33:51
전처리, 후처리의 개념이 포함된 건가요?
아니면 단지 다중 실행의 목적만 있는건가요?

whoami

2008.07.03
22:39:43

전처리 후처리 가능합니다.. 예를 들어,
preFilter -> ezTransXP -> postFilter 순으로 등록하면 preFilter 의 출력값이 ezTransXP의 입력값이 되고 그 출력값이 postFilter의 입력값이 됩니다. 여기서의 출력값이 MultiPlugin의 출력값이 되고요. 후킹 플러그인의 경우 특성상 순서대로 처리될 필요는 없으므로 순서에 큰 의미는 없습니다. 후킹 플러그인의 MultiPlugin 사용용도는 아마도 게임 런타임 패치 혹은 치트기능 같은 것이 될 것 같습니다.

MILD

2008.07.03
22:56:54
멋지네요!! 감사합니다.

Hide_D

2008.07.03
22:56:58
흐음....
그러면 말이죠?

단순씨의 후커사전을 베이스로 깔고나서
사용자사전을 추가해서 쓰는 방법도 가능하겠네요?

방법을 들어보자면...

준비??
1. 이지트랜스에서 언제나 한가지 경우로 번역되는 경우를 찾아둔다.
또는, 사용자 사전에 예비 풀을 깔아둔다(특수 단어1 느낌으로)
2. 추가할 사용자 단어를 찾아둡니다

실례.
'杏さん'는 '쿄우상', '안즈상' 두가지가 가능한데,
이 게임에서는 '안즈상'으로만 하고 싶다면,
1. 전처리로 '杏さん'->'山下'로 몽땅 처리
2. '山下'가 '야마시타'로 번역된다. (정말 그렇게 되는지는 확인 안해봤습니다)
3. 번역된 '야마시타'를 '안즈상'으로 변경

whoami

2008.07.03
23:03:58

Hide_D군님// 역시 가능할겁니다. 아예 해당 단어를 번역 안되는 [1] 같은걸로 정의해서
1. 전처리로 '杏さん'->'[1]'로 몽땅 처리
2. 번역기를 거쳐서
3.  '[1]' -> '안즈상'으로 몽땅 처리

.. 식으로 해도 될듯.

관리자

2008.07.04
00:23:34
이긍.. 버그는 일주일전에 잡았지만
깜빡하고 업데이트를 시켜놓지 않았네요..
정말 죄송합니다.
열악한 환경에서 개발하시느라 힘드셨죠;;
버그 수정해서 업데이트 시켜 놨으니 확인해보시길

그런데 후킹 플러그인은 멀티로 돌리면
예상치 못한 오류가 속출할 것 같은데요...
후킹 플러그인은 후킹하는 함수들이 다 비슷비슷해서
중복 후킹의 경우 후킹체인이 형성된다든지 하는
멋진 처리는 아랄에 없답니다... ㅜㅜ

파쿤

2008.07.05
01:11:25

에..멀티플러그인 하고 옵션을 누르면
플러그인 이름 옵션 그런게 일본어로 나오네요..
어떻게하죠?

whoami

2008.07.05
16:29:24
혹시 어플로케일 같은걸로 돌리시지 않으시나요?

플러그인 이름이나 옵션 같은 글자가 중요한건 아니니까 위의 스크린샷을 참조해서 맞는 버튼을 눌러 사용하세요.
프로그램 작동만 잘 되면 별 무리는 없을듯.

Hide_D

2008.07.06
11:41:18
whoami님 유니코드를 사용해 주세요;;
여유 있으시면 VS2008로 옮겨오시는것도;

whoami

2008.07.06
20:53:24
음; 반드시 유니코드로 작성하라는 말도 없었을 뿐더러 플러그인 스펙 자체가 MBCS 라서 저도 MBCS베이스로 작성했었습니다;;

.. 그리고, VS2008을 제가 안쓰는 이유가 있습니다. 공유 라이브러리로 컴파일시키면 2005/2008 전용 런타임 라이브러리를 설치해야 하고, 그렇다고 정적 라이브러리를 쓰면 프로그램 사이즈가 엄청나게 커지기 때문이죠. VC6의 경우 공유로 해도 well-known 이기 때문에 특별히 무언가 설치할 필요가 없거든요. MFC를 써도 대부분의 컴퓨터에는 MFC42 는 설치가 되어 있고 말이죠.

정 글자 깨지는 것이 눈에 거슬리신다면.. 유니코드 변환을 해서 다시 올려드리든지 아니면 옵션 대화상자를 영문으로 바꿔서(...) 올려드리겠습니다 -_-;

관리자

2008.07.07
23:30:49
음.. 저도 처음에 0.2 설계할 때
멀티바이트 문자로 프로젝트를 진행했다가..
어플로케일 등 다양한 문제와 부닥치면서;;;
현재 모든 아랄 프로젝트들이 유니코드로 빌드되고 있습니다.
다만 모듈간의 인터페이스는 멀티바이트죠 ㅡ,.ㅡ;;
내부적으로 변환을 다 거치고 있다는...

그리고 말씀하신대로 vs6 환경에서 빌드하는게 호환성 문제가 없고 좋죠
다만 저같은 경우 stl포트나 비주얼어시스트를 깔기 귀찮아서..
2005/2008 환경에 적응해 버렸답니다.
디자인도 쬐금 예뻐서.. ㅎㅎ
List of Articles
번호 제목 글쓴이 조회 수 추천 수sort 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155440   2008-08-03 2008-12-16 00:03
69 Talk 퓩퓩... 퓩퓩... oTL whoami 7557   2008-08-02 2009-01-06 01:35
원인을 알아냈습니다. 하지만 이건.. 참 난감하군요. 이 문제는 RLCmd의 문제가 아닙니다. 이 문제는 SOW방식의 문제도 아닙니다. 이 문제는 한글 완성형 코드의 문제입니다... oTL 예전에 KoFilter 를 한참 만들고 있을 때... 이 이야기가 나온 적이 있었습니...  
68 Talk DumpText를 만들고 있는데... [2] Hide_D 7892   2008-08-02 2008-08-02 12:04
밖에서 모달리스 다이얼로그 안으로 데이터를 넣어주는 간단한 방법 없나요 =ㅅ=; 저 방법이 생각안나서 지금 해보려고 하는게, 실시간으로 바깥의 isTextFilled 를 체크해서 true인 경우만 밖의 텍스트를 가져온 다음에 isTextFilled를 false로 만드는 방법밖...  
67 Talk 리얼라이브 세이브에 대해서... [4] 나는누구인감? 7894   2008-08-01 2009-01-06 01:00
오늘 학교에서 하라는 공부는 안하고 곰곰히 생각을 해봤습니다. 세이브 할 경우 현재 위치의 이미지 정보 읽어들임 → 현재 위치의 대사 정보 읽어들임 → 세이브 파일에 저장 로드 할 경우 세이브 파일의 이미지 정보 읽어들임 → 세이브 파일의 대사 정보 읽어...  
66 Talk 전에 쓸모 있는 기능의 2번 관련 Hide_D 8860   2008-07-31 2009-01-06 01:00
whoami님이 생각하시는 것 처럼 정규식도 생각은 해봤는데, 이건 저로서는 무리고 =ㅅ=; 저거 비스무~리 하게 와일드 카드만 사용 할 수 있는 모델을 게획해 봤는데, '이걸 만들어야 할지 말아야 할지' Hide_D는 연습장에 적힌 내용을 소환했다. > 문장의 시작...  
65 Talk 쓸모가 있을것 같은 기능들 [4] Hide_D 18225   2008-07-30 2010-08-04 16:58
1. 줄 재배치 (기능) 사용자 입력으로 개행 기호 (r, n, <br> 등등)를 입력 받고 일본어 부분에서 일단 저것들을 제거했다가 번역후 다시 넣는 기능. (효과) (1) 번역률 향상 개행문자가 사이에 있으면 심오한 번역문이 나옵니다. (2) 벽뚫기 완화 개행문자를 ...  
64 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080730 [2] file whoami 10233   2008-07-30 2009-01-06 01:26
 
63 Talk 사용자 사전 플러그인에 대해서 설문 [5] Hide_D 8785   2008-07-30 2008-07-30 22:47
으음 기본적으로 모든 게임에 사용되는 사용자 사전 을 목표로 진행중이기 때문에 ezTransXPwithCustomDic이 아니라 ezTransXP가 되고 싶습니다만... 0.2에서는 특별한 다이얼로그가 없기 때문에 이걸 그냥 ezTransXP.dll로 만들어 달라기도 애매한 상황입니다...  
62 Archive [플러그인, 소스] RLCmd 20080728_2 file whoami 8784   2008-07-28 2009-01-06 01:26
 
61 Talk RLCmd, KoFilter 의 디버그 로그 기능에 대해 - 2 whoami 10308   2008-07-28 2009-01-06 01:26
현재 정식버전에 디버그 로그기능은 살아있습니다. 단, 일반 사용자가 건드릴 수 없도록 옵션창에는 빠져 있습니다. 사용하시려면.. 멀티플러그인의 옵션 직접입력 창에서 집어넣거나 바로가기 편집에서 직접 넣어주시기 바랍니다.  
60 Archive [플러그인, 소스] RLCmd 20080728 file whoami 8913   2008-07-28 2009-01-06 01:26
 
59 Talk SOW 방식 지원 ATCode 플러그인 소스 커밋하였습니다.. [2] whoami 8829   2008-07-27 2008-07-27 21:12
빠진 파일은 없을겁니다; 버전 정보는 손대지 않았습니다. 버전 정보 업데이트 해주시고.. 혹시라도 문제가 있으면 알려주시기 바랍니다. (개인적으로는 아랄님 자주 보고 싶은데 덧글 하나 없이 대화방에도 없이 스리슬쩍 사라져 버리셔서 아쉽.. ㅡ.ㅡ)  
58 Talk ATCode 버전업에 대해 - 관리자님 봐주세요.. [1] whoami 9241   2008-07-26 2008-07-27 02:35
오랫동안의 (.. 그리 오랫동안은 아닌 것 같은 기분도 들지만) ATCode 테스트 버전의 테스트로 SOW 모드가 어느정도 안정이 되었다고 생각됩니다. 그래서 기존 ATCode 에 융합해서 버전업을 하고 싶은데 어떻게 했으면 좋겠습니까? 그냥 SVN 내에서 커밋만 하...  
57 Talk RLCmd, KoFilter 의 디버그 로그 기능에 대해.. whoami 9246   2008-07-26 2009-01-06 01:26
슬슬 RLCmd와 KoFilter 의 테스트버전 딱지를 떼어줘야겠는데요, 디버그 로그 기능을 뺄까 그냥 놔둘까 생각중입니다. 어떻게 하면 좋을까요? 1. 필요하므로 그냥 놔둔다. 2. 없애고 로그기능만 넣은 디버그용 로그 필터를 하나 새로 만든다.. (단 디버그용 로...  
56 Archive [플러그인, 소스] RLCmd 테스트 버전 20080726 file whoami 8745   2008-07-26 2008-07-26 19:05
 
55 Archive [플러그인, 소스] KoFilter 테스트 버전 20080726 [5] file whoami 10977   2008-07-26 2009-01-06 01:26
 
54 Talk cmd로 리버ex 테스트 [2] file 앙마vv 8011   2008-07-25 2009-01-06 01:27
 
53 Archive [플러그인, 소스] ATCode 테스트 버전 20080724_2 [1] file whoami 8960   2008-07-24 2009-01-06 01:27
 
52 Archive [플러그인, 소스] ATCode 테스트 버전 20080724 whoami 9393   2008-07-24 2009-01-06 01:27
... 이제 안올라오면 뭔가 빠진 것 같지 않으세요? 해결.. 된 것 같습니다. (되었다! 라고 단정적으로 말 할 수 없는 아픔이... ㅜ.ㅜ) * 심각한 버그 버전이므로 삭제되었습니다. http://aralgood.com/zbxe/42858 를 참조해 주세요.  
51 Archive [플러그인] ATCode 테스트 버전 20080723_2 file whoami 8787   2008-07-23 2009-01-06 01:27
 
50 Archive [플러그인, 소스] ATCode 테스트 버전 20080723 [2] file whoami 8470   2008-07-23 2009-01-06 01:27