머드클럽
머드게임이란?
게임은 어떤 환경에서?
본격적으로 게임해 볼까?
배너교환
머드강좌
일반 머드강좌
성천사님의 머드강좌
혼님의 머드강좌
방울꽃님의 머드강좌
리트님의 머드강좌
2Soo님의 머드강좌
내머드소개하기
접속가능머드
내머드소개하기
자료실
접속 프로그램
머드소스
머드 유틸리티
기타
커뮤니티
공지사항
등업신청
머드클럽에바란다
자유 게시판
질문 AND 답변
머드클럽 갤러리
구인구직
머드게임소개
사신전(死神戰)
사신전 소개
사신전 맵
사신전 명령어 모음집
천명(天命)
천명 소개
천명 맵
천명 명령어 모음집
마이페이지
로그인
회원가입
계정찾기
로그인
회원가입
계정찾기
텍스트머드클럽
검색
TBAMUD 한글 아이디 저장 함수
성천사
0
100
0
0
2025-03-29 21:31:25
<p>이 함수가 필요하다면 TBAMUD 2025 안의 hangul.c 안에 first_han을 대체하면 됩니다.</p> <p> </p> <p>기존 함수는 모음에 따라 저장 위치가 변하는 현상이 있습니다. 물론 저장 위치만 달라질 뿐 저장문제가 있지는 않습니다.</p> <p> </p> <p>캐릭을 저장할 때 모음ㅏ 는 저장될 위치에서 -1, ㅗ 는 저장될 위치에서 +1 이 되는 현상이 있어서 아이디 첫 이름이 '라' 라면 ㅏ 이기에 -1 되니까 ㄹ 에 저장되어야 할 것이 ㄸ에 저장이 되고, "로" 라면 ㅗ 이기에 +1 되기에 ㄹ에 저장될 것이 ㅁ 에 저장되는 현상이 있습니다. 캐릭 앞 자리가 "가" 일경우에 -1이 될 때는 아마 ZZZ 안에 들어 갈 듯 싶습니다.</p> <p> </p> <p>그래서 가-하 폴더에 저장될 수 있도록 새롭게 함수를 작성했습니다. 이 코드를 사용할 때에 해야할 일은 lib/plrfiles, lib/plrobjs, lib/plrvars 각각 안에 가 에서 하 까지의 폴더를 생성하면 됩니다. (자동생성되는지는 확인하지 못했으므로)</p> <p> </p> <p>const char* first_han(const char* str)<br /> {<br /> char* Result = "ZZZ"; // 초기값을 "ZZZ"로 설정<br /> unsigned char str_0, str_1;<br /> char buf[256] = { 0 };</p> <p> <br /> // str 의 내용을 buf에 복사<br /> strncpy(buf, str, 255);<br /> // 마지막 주소를 널문자로 채우기<br /> buf[255] = '0';</p> <p> // buf 내용이 한글이 아닐 경우 ZZZ 폴더에 사용자 파일 저장<br /> if (!is_han(buf))<br /> return strcpy(buf, Result);</p> <p> // 한글 코드 포인트 추출<br /> str_0 = (unsigned char)str[0];<br /> str_1 = (unsigned char)str[1];</p> <p> // euc-kr 한글 코드 포인트 계산 및 범위 추출 (CP949 아님, CP949 는 euc-kr 을 포함하며 더욱 확장된 코드)<br /> int code_point = (str_0 << 8) | str_1;<br /> if (code_point >= 0xB0A1 && code_point <= 0xC8FE) { // 가 - 힝<br /> if (code_point >= 0xB0A1 && code_point <= 0xB3A9) Result = "가"; // 가 - 낑<br /> else if (code_point >= 0xB3AA && code_point <= 0xB4D8) Result = "나"; // 나 - 닢<br /> else if (code_point >= 0xB4D9 && code_point <= 0xB6F2) Result = "다"; // 다 - 띵<br /> else if (code_point >= 0xB6F3 && code_point <= 0xB8B5) Result = "라"; // 라 - 링<br /> else if (code_point >= 0xB8B6 && code_point <= 0xB9D8) Result = "마"; // 마 - 밑<br /> else if (code_point >= 0xB9D9 && code_point <= 0xBBE6) Result = "바"; // 바 - 삥<br /> else if (code_point >= 0xBBE7 && code_point <= 0xBEC5) Result = "사"; // 사 - 씽<br /> else if (code_point >= 0xBEC6 && code_point <= 0xC0D9) Result = "아"; // 아 - 잎<br /> else if (code_point >= 0xC0DA && code_point <= 0xC2F6) Result = "자"; // 자 - 찧<br /> else if (code_point >= 0xC2F7 && code_point <= 0xC4AA) Result = "차"; // 차 - 칭<br /> else if (code_point >= 0xC4AB && code_point <= 0xC5B7) Result = "카"; // 카 - 킹<br /> else if (code_point >= 0xC5B8 && code_point <= 0xC6C3) Result = "타"; // 타 - 팅<br /> else if (code_point >= 0xC6C4 && code_point <= 0xC7CE) Result = "파"; // 파 - 핑<br /> else if (code_point >= 0xC7CF && code_point <= 0xC8FE) Result = "하"; // 하 - 힝<br /> else Result = "ZZZ";<br /> }<br /> return strcpy(buf, Result);<br /> }</p>
0
0
새글
답변
수정
삭제
최신목록
전체목록
이전 게시글이 없습니다.
신세계 64비트 난수 처리
정회원 이상만 코멘트 사용이 가능합니다.
총 게시물 29개 / 검색된 게시물: 29개
TBAMUD 한글 아이디 저장 함수
0
101
0
0
성천사
2025-03-29
신세계 64비트 난수 처리
0
158
0
0
성천사
2025-01-01
접속금지, 접속허용 편의성 수정
0
188
0
0
성천사
2024-10-27
신세계 텍스트 출력
1
216
0
0
성천사
2024-08-06
신세계 시체생성
0
187
0
0
성천사
2024-06-12
삭제된 게시물입니다.
0
127
0
0
성천사
2024-06-12
신세계 C to VC6.0
0
352
0
0
성천사
2024-03-07
신세계 장비위치 구하기
0
208
0
0
성천사
2024-03-04
신세계 파일 존재여부 확인
0
268
0
0
성천사
2024-02-18
신세계 맙타입 전투
0
300
0
0
성천사
2023-12-02
신세계 addlog()
0
251
0
0
성천사
2023-10-25
신세계 캐릭터, 맙 이동 코드
0
257
0
0
성천사
2023-10-25
신세계 지정번호의 물건 찾기및 제거하기
0
362
0
0
성천사
2023-05-07
신세계 이동물건
1
625
0
0
성천사
2022-12-30
신세계 날씨변경 명령어
0
425
0
0
성천사
2022-12-25
[circle]
신세계 운영자 명령어 방청소
0
480
0
0
성천사
2022-10-08
[circle]
신세계 물건이름
0
516
0
0
성천사
2022-08-26
[circle]
신세계 공격대상
0
539
0
0
성천사
2022-08-19
[circle]
미확인장소 물건 수거
0
1019
0
0
성천사
2019-09-23
[circle]
신세계 포탈과 이동 명령어
1
1456
0
0
성천사
2018-09-05
1
2
다음
검색
글쓰기
최신목록
전체목록
시작일
종료일
검색어
이름
제목
내용
검색
닫기
로그인
회원가입
계정찾기
개인정보처리방침
이용약관
PC화면
Copyright (c) 텍스트머드클럽. All rights reserved.
쪽지를 전송하고 있습니다. 잠시 기다려주세요.
쪽지보내기
받는이(ID/닉네임)
닉네임으로 입력
내용
쪽지가 도착하였습니다.
쪽지함
쪽지 내용을 읽어오고 있습니다. 잠시 기다려주세요.
--