머드클럽
머드게임이란?
게임은 어떤 환경에서?
본격적으로 게임해 볼까?
배너교환
머드강좌
일반 머드강좌
성천사님의 머드강좌
혼님의 머드강좌
방울꽃님의 머드강좌
리트님의 머드강좌
2Soo님의 머드강좌
내머드소개하기
접속가능머드
내머드소개하기
자료실
접속 프로그램
머드소스
머드 유틸리티
기타
커뮤니티
공지사항
등업신청
머드클럽에바란다
자유 게시판
질문 AND 답변
머드클럽 갤러리
구인구직
머드게임소개
사신전(死神戰)
사신전 소개
사신전 맵
사신전 명령어 모음집
천명(天命)
천명 소개
천명 맵
천명 명령어 모음집
마이페이지
로그인
회원가입
계정찾기
로그인
회원가입
계정찾기
텍스트머드클럽
검색
[circle]Ascii Player files 패치된 써클머드 한글화 시키기!
미르
2
3,345
0
0
2004-07-06 11:17:56
/* Ascii player files 패치된 상태에서 한글아이디 저장시키기 <br /> Writen by Mirr */ <br /> <br /> <br />기타 한글 입출력과 파싱부분은 전부 전과 동일합니다. <br /> <br /> <br />간단합니다. 이름검색부분과, 기타 파싱, 스트링부분에서 isalpha 부분을 <br /> <br /> <br />ishanalp 로 바꿔버리시고, isspace 부분을 isnhspace 로 바꿔버리시면 됩니다. <br /> <br /> <br />일단 ascii패치가 되있는 상황에서 한글화를 하셨다면 한글아이디든, 영문아이디든 <br /> <br /> <br />전혀 먹히지 않는다는걸 알 수 있게 되실겁니다 ㅡ,.ㅡ::: <br /> <br /> <br />그것은 Valid_name함수때문입니다. <br /> <br /> <br />이 함수는 ban.c에 있으며 적합하지 않는 이름을 판명하여 거부하는 역할을 합니다. <br /> <br /> <br />ban.c를 여신뒤 Valid_name 함수에서 wovels부분을 전부 주석처리로 제거해 주시면 간단합니다. <br /> <br /> <br /> /* count wovels */ <br /> for (i = 0; newname[i]; i++) { <br /> if (strchr("aeiouyAEIOUY", newname[i])) <br /> wovels++; <br /> } <br /> <br /> <br /> /* return invalid if no wovels */ <br /> if (!wovels) <br /> return (0); <br /> <br /> <br />이 부분을 <br /> <br /> <br /> /* count wovels */ <br />/* for (i = 0; newname[i]; i++) { <br /> if (strchr("aeiouyAEIOUY", newname[i])) <br /> wovels++; <br /> }*/ <br /> <br /> <br /> /* return invalid if no wovels */ <br />/* if (!wovels) <br /> return (0); */ <br /> <br /> <br />이런식으로 제거해 주시면 된다는 겁니다. <br /> <br /> <br />물론 변수선언 되있는것도 제거해 주시면 됩니다. <br /> <br /> <br />그러면 일단은 한글아이디를 사용할 수 있게 됩니다. <br /> <br /> <br />이제 한가지 문제점은 Ascii패치되있는 상황에서 한글 케릭터의 저장문제입니다. <br /> <br /> <br />db.c를 여신뒤 "int load_char(const 어쩌구" 부분을 찾아가십니다. <br /> <br /> <br /> sprintf(filename, "%s%s%c%s%s%s", PLR_PREFIX, SLASH, *player_table[id].name, <br /> SLASH, player_table[id].name, PLR_SUFFIX); <br /> <br /> <br />이렇게 되있는 부분을 보시면 "pfile/이름첫자/케릭터이름" 이렇게 케릭터를 로딩해 온다는겁니다. <br /> <br /> <br />한글아이디의 경우 2바이트를 먹기때문에 저렇게 해버리면 찾아올 수 없게되거나, <br /> <br /> <br />저장할 수 없게 되는 것이지요... 그래서 한글 첫자를 읽어오는 함수를 사용했습니다. <br /> <br /> <br />char nam[PATH_MAX]; 라고 변수를 선언 해 준 후, <br /> <br /> strlcpy(nam, name, sizeof(nam)); <br /> sprintf(filename, "%s%s%s%s%s%s", PLR_PREFIX, SLASH, first_han(nam), <br /> SLASH, player_table[id].name, PLR_SUFFIX); <br /> <br /> <br />즉 케릭터를 불러오는 경로가 "pfile/가~마/케릭터이름" 이 되게 한것이지요.. <br /> <br /> <br />이제 케릭터 저장부분인 "void save_char( 어쩌구" 를 찾아가십니다. <br /> <br /> <br />잘 보시면 아까 로딩부분에 있었던 거랑 비슷한 형식이 있는걸 찾으실 수 있습니다. <br /> <br /> <br /> sprintf(outname, "%s%s%c%s%s%s", PLR_PREFIX, SLASH, *bits, <br /> SLASH, bits, PLR_SUFFIX); <br /> <br /> <br />이 부분을 <br /> <br /> <br /> sprintf(outname, "%s%s%s%s%s%s", PLR_PREFIX, SLASH, first_han(GET_NAME(ch)), <br /> SLASH, bits, PLR_SUFFIX); <br /> <br /> <br />이렇게 고쳐주시면 "pfile/가~마/케릭터명" 이렇게 저장이 되게 됩니다. <br /> <br /> <br />그리고 remove_player 함수부에 가셔서 <br /> <br /> snprintf(pfile_name, sizeof(pfile_name), "%s%s%s%s%s%s", PLR_PREFIX, SLASH, <br /> first_han(player_table[pfilepos].name), SLASH, player_table[pfilepos].name, PLR_SUFFIX); <br /> <br /> <br />이렇게 고쳐주시면 됩니다. <br /> <br /> <br />이상으로 Ascii_player_Files 패치가 되있을 때 한글화 및 저장부분 수정에 관해 적어보았습니다. <br /> <br /> <br />무작정 따라만 하셔도 되구, 한글입력 및 파싱에 관한 강좌들은 다른분들이 이미 쓰셨으니까 <br /> <br /> <br />따로 참조하시면 되겠습니다....그럼 이만^^ <br />
0
0
새글
답변
수정
삭제
최신목록
전체목록
vi 에디터의 안시에 관한 내용입니다.
[천명]노점상인.c 천명 삼일장에서 사용되고있는 노점상인 쏘스.
2
Comments
미르
2004.07.06(화) 오후 08:50:42
답변
참고로 아스키플레이어 파일패치란 기존 플레이어정보들이 players라는 파일 한곳에 바이너리로 알아 볼 수 없도록 저장되던 것을 케릭터 별로 따로따로 읽기도 쉽고, 편집하기도 쉬운 형태로 변형시켜서 저장시키는 패치입니다.
박찬영
2004.09.29(수) 오후 06:27:28
답변
오오...미르님 감사... 왜 한글 아이디 못받나 했었네..오. 감사..감사.
코멘트를 삭제할 비밀번호를 입력하세요.
비밀번호:
댓글에 답하기
입력
닫기
정회원 이상만 코멘트 쓰기가 가능합니다.
총 게시물 107개 / 검색된 게시물: 107개
누구든지 머드 강의를 올리수 있는 곳입니다...^^
[circle]
서클의 지도 공부..
0
3076
0
0
머드짱
2004-09-03
[천무혼]
은행 시스템 만들기!
2
2947
0
0
천무혼
2004-08-12
[흑염]
기술의 지속시간과 향상 능력치를 call_out 없이 구현.
1
3113
0
0
흑염기사
2004-08-12
[천무혼]
없는 명령어를 입력했을때 나오는 '^^;' 바꾸기
3
2777
0
0
천무혼
2004-08-09
[기타]
vi 에디터의 안시에 관한 내용입니다.
1
3045
0
0
머드사랑(1)
2004-07-26
[circle]
Ascii Player files 패치된 써클머드 한글화 시키기!
2
3346
0
0
미르
2004-07-06
[흑염]
[천명]노점상인.c 천명 삼일장에서 사용되고있는 노점상인 쏘스.
1
4368
0
0
흑염기사
2004-06-13
[흑염]
[천명] save_data.c - 특정 오브젝트의 플래그를 아이템 파일처럼 저장시켜준다.
0
2701
0
0
흑염기사
2004-06-13
[흑염]
[천명] req_string.c - mapping을 보기좋게 string으로.
0
2794
0
0
흑염기사
2004-06-13
[mordor]
상점개설
3
3039
0
0
GrayRese
2004-05-27
[mordor]
게시판의 기능 편하게..(위로 올라가고, 글쓰기기능 추가)
1
3228
0
0
달마
2004-05-19
[circle]
hanlp의 지도.c
0
3333
0
0
사천건
2004-05-18
[circle]
시간의문 경험치 못먹는거 먹게하는방법(허접이라두 잘봐주세영)
4
2809
0
0
손문
2004-05-07
[hanlp]
[천명] 완치 이벤트 ......
2
3153
0
0
어두운별
2004-04-30
[기타]
gdb 사용법!
3
4528
0
0
GrayRese
2004-04-23
[hanlp]
현재 습득한 기술 목록 보이기.
2
2924
0
0
박대성
2004-04-19
[circle]
새천사님의 수정 사항에 추가할점..
1
2800
0
0
푸른가람
2004-04-03
[hanlp]
10초간 데미지와 방어력 상승
2
2965
0
0
박대성
2004-03-14
[mordor]
*완치 기능?;; 허접해요^-^;;
1
2986
0
0
탈퇴
2004-02-28
[mordor]
순위 소스 입니다.
0
4293
0
0
달마
2004-02-28
이전
1
2
3
4
5
6
다음
검색
글쓰기
최신목록
전체목록
시작일
종료일
분류별 검색
전체보기
기타
circle
hanlp
mordor
소스분석
흑염
천무혼
검색어
이름
제목
내용
검색
닫기
로그인
회원가입
계정찾기
개인정보처리방침
이용약관
PC화면
Copyright (c) 텍스트머드클럽. All rights reserved.
쪽지를 전송하고 있습니다. 잠시 기다려주세요.
쪽지보내기
받는이(ID/닉네임)
닉네임으로 입력
내용
쪽지가 도착하였습니다.
쪽지함
쪽지 내용을 읽어오고 있습니다. 잠시 기다려주세요.
--