조사처리용 tjs 함수와 이름 입력을 'f.이름' 변수에 받았을때의 매크로(ks)를 모아둔 파일입니다.
게임 first.ks 파일 등에 [call storage=namek.ks] 라고 적어주시면 아랫줄부터 사용할 수 있습니다.
주석은 언젠가 달지도 모르지만 안 달지도 모릅니다.
어려운 수준은 아니니 자유롭게 수정해서 쓰세요.
발생하는 오류, 문제점, 의문 등은 스스로 해결해주세요.
*start
[iscript]
function 조사처리(str1,str2){
return 조사선택(str1,str2);
}
function 조사만처리(str1,str2){
return 조사만선택(str1,str2);
}
function 조사만선택(str1,str2){
var rstr = str1;
if(KR_NAME(str1) == 2){
//받침 없음. ㄴ/ㄹ
switch(str2)
{
case "는":
case "은":
rstr = '는';
break;
case "가":
case "이":
rstr = '가';
break;
case "를":
case "을":
rstr = '를';
break;
case "와":
case "과":
rstr = '와';
break;
case "로":
case "으로":
rstr = '로';
break;
case "랑":
case "이랑":
rstr = '랑';
break;
case "라":
case "이라":
rstr = '라';
break;
case "며":
case "이며":
rstr = '며';
break;
case "고":
case "이고":
rstr = '고';
break;
case "다":
case "이다":
rstr = '다';
break;
case "였":
case "이었":
rstr = '였';
break;
case "여":
case "이여":
rstr = '여';
break;
case "야":
case "이야":
rstr = '야';
break;
case "나":
case "이나":
rstr = '나';
break;
case "면":
case "이면":
rstr = '면';
break;
case "지만":
case "이지만":
rstr = '지만';
break;
default:
rstr = 'error';
break;
}
}else{
//받침 있음. ㅇ
switch(str2)
{
case "는":
case "은":
rstr = '은';
break;
case "가":
case "이":
rstr = '이';
break;
case "를":
case "을":
rstr = '을';
break;
case "와":
case "과":
rstr = '과';
break;
case "로":
case "으로":
rstr = '으로';
break;
case "랑":
case "이랑":
rstr = '이랑';
break;
case "라":
case "이라":
rstr = '이라';
break;
case "며":
case "이며":
rstr = '이며';
break;
case "고":
case "이고":
rstr = '이고';
break;
case "다":
case "이다":
rstr = '이다';
break;
case "였":
case "이었":
rstr = '이었';
break;
case "여":
case "이여":
rstr = '이여';
break;
case "야":
case "이야":
rstr = '이야';
break;
case "나":
case "이나":
rstr = '이나';
break;
case "면":
case "이면":
rstr = '이면';
break;
case "지만":
case "이지만":
rstr = '이지만';
break;
default:
rstr = 'error';
break;
}
}
return rstr;
}
function 조사선택(str1,str2){
var rstr = str1;
if(KR_NAME(str1) == 2){
//받침 없음. ㄴ/ㄹ
switch(str2)
{
case "는":
case "은":
rstr += '는';
break;
case "가":
case "이":
rstr += '가';
break;
case "를":
case "을":
rstr += '를';
break;
case "와":
case "과":
rstr += '와';
break;
case "로":
case "으로":
rstr += '로';
break;
case "랑":
case "이랑":
rstr += '랑';
break;
case "라":
case "이라":
rstr += '라';
break;
case "며":
case "이며":
rstr += '며';
break;
case "고":
case "이고":
rstr += '고';
break;
case "다":
case "이다":
rstr += '다';
break;
case "였":
case "이었":
rstr += '였';
break;
case "여":
case "이여":
rstr += '여';
break;
case "야":
case "이야":
rstr += '야';
break;
case "나":
case "이나":
rstr += '나';
break;
case "면":
case "이면":
rstr += '면';
break;
case "지만":
case "이지만":
rstr += '지만';
break;
default:
rstr = 'error';
break;
}
}else{
//받침 있음. ㅇ
switch(str2)
{
case "는":
case "은":
rstr += '은';
break;
case "가":
case "이":
rstr += '이';
break;
case "를":
case "을":
rstr += '을';
break;
case "와":
case "과":
rstr += '과';
break;
case "로":
case "으로":
rstr += '으로';
break;
case "랑":
case "이랑":
rstr += '이랑';
break;
case "라":
case "이라":
rstr += '이라';
break;
case "며":
case "이며":
rstr += '이며';
break;
case "고":
case "이고":
rstr += '이고';
break;
case "다":
case "이다":
rstr += '이다';
break;
case "였":
case "이었":
rstr += '이었';
break;
case "여":
case "이여":
rstr += '이여';
break;
case "야":
case "이야":
rstr += '이야';
break;
case "나":
case "이나":
rstr += '이나';
break;
case "면":
case "이면":
rstr += '이면';
break;
case "지만":
case "이지만":
rstr += '이지만';
break;
default:
rstr = 'error';
break;
}
}
rstr = 후치환(rstr);
return rstr;
}
function 후치환(input){
switch(input)
{
case "나가":
input = '내가';
break;
case "저가":
input = '제가';
break;
default:
//rstr = 'none';
break;
}
return input;
}
function KR_NAME(input){
input = string(input);
var length = input.length;
var laststr = input.charAt(length-1);
switch(laststr)
{
case "가":
case "나":
case "다":
case "라":
case "마":
case "바":
case "사":
case "아":
case "자":
case "차":
case "카":
case "타":
case "파":
case "하":
case "까":
case "따":
case "빠":
case "싸":
case "짜":
case "갸":
case "냐":
case "댜":
case "랴":
case "먀":
case "뱌":
case "샤":
case "야":
case "쟈":
case "챠":
case "캬":
case "탸":
case "퍄":
case "햐":
case "꺄":
case "땨":
case "뺘":
case "쌰":
case "쨔":
case "거":
case "너":
case "더":
case "러":
case "머":
case "버":
case "서":
case "어":
case "저":
case "처":
case "커":
case "터":
case "퍼":
case "허":
case "꺼":
case "떠":
case "뻐":
case "써":
case "쩌":
case "겨":
case "녀":
case "뎌":
case "려":
case "며":
case "벼":
case "셔":
case "여":
case "져":
case "쳐":
case "켜":
case "텨":
case "펴":
case "혀":
case "껴":
case "뗘":
case "뼈":
case "쎠":
case "쪄":
case "고":
case "노":
case "도":
case "로":
case "모":
case "보":
case "소":
case "오":
case "조":
case "초":
case "코":
case "토":
case "포":
case "호":
case "꼬":
case "또":
case "뽀":
case "쏘":
case "쯔":
case "교":
case "뇨":
case "됴":
case "료":
case "묘":
case "뵤":
case "쇼":
case "요":
case "죠":
case "쵸":
case "쿄":
case "툐":
case "표":
case "효":
case "꾜":
case "뚀":
case "뾰":
case "쑈":
case "쬬":
case "구":
case "누":
case "두":
case "루":
case "무":
case "부":
case "수":
case "우":
case "주":
case "추":
case "쿠":
case "투":
case "푸":
case "후":
case "꾸":
case "뚜":
case "뿌":
case "쑤":
case "쭈":
case "규":
case "뉴":
case "듀":
case "류":
case "뮤":
case "뷰":
case "슈":
case "유":
case "쥬":
case "츄":
case "큐":
case "튜":
case "퓨":
case "휴":
case "뀨":
case "뜌":
case "쀼":
case "쓔":
case "쮸":
case "그":
case "느":
case "드":
case "르":
case "므":
case "브":
case "스":
case "으":
case "즈":
case "츠":
case "크":
case "트":
case "프":
case "흐":
case "끄":
case "뜨":
case "쁘":
case "쓰":
case "쯔":
case "기":
case "니":
case "디":
case "리":
case "미":
case "비":
case "시":
case "이":
case "지":
case "치":
case "키":
case "티":
case "피":
case "히":
case "끼":
case "띠":
case "삐":
case "씨":
case "찌":
case "개":
case "내":
case "대":
case "래":
case "매":
case "배":
case "새":
case "애":
case "재":
case "채":
case "캐":
case "태":
case "패":
case "해":
case "깨":
case "때":
case "빼":
case "쌔":
case "째":
case "걔":
case "냬":
case "댸":
case "럐":
case "먜":
case "뱨":
case "섀":
case "얘":
case "쟤":
case "챼":
case "컈":
case "턔":
case "퍠":
case "햬":
case "꺠":
case "떄":
case "뺴":
case "썌":
case "쨰":
case "게":
case "네":
case "데":
case "레":
case "메":
case "베":
case "세":
case "에":
case "제":
case "체":
case "케":
case "테":
case "페":
case "헤":
case "께":
case "떼":
case "뻬":
case "쎄":
case "쩨":
case "계":
case "녜":
case "뎨":
case "례":
case "몌":
case "볘":
case "셰":
case "예":
case "졔":
case "쳬":
case "켸":
case "톄":
case "폐":
case "혜":
case "꼐":
case "뗴":
case "뼤":
case "쎼":
case "쪠":
case "과":
case "놔":
case "돠":
case "롸":
case "뫄":
case "봐":
case "솨":
case "와":
case "좌":
case "촤":
case "콰":
case "톼":
case "퐈":
case "화":
case "꽈":
case "똬":
case "뽜":
case "쏴":
case "쫘":
case "괘":
case "놰":
case "돼":
case "뢔":
case "뫠":
case "봬":
case "쇄":
case "왜":
case "좨":
case "쵀":
case "쾌":
case "퇘":
case "퐤":
case "홰":
case "꽤":
case "뙈":
case "뽸":
case "쐐":
case "쫴":
case "괴":
case "뇌":
case "되":
case "뢰":
case "뫼":
case "뵈":
case "쇠":
case "외":
case "죄":
case "최":
case "쾨":
case "퇴":
case "푀":
case "회":
case "꾀":
case "뙤":
case "뾔":
case "쐬":
case "쬐":
case "궈":
case "눠":
case "둬":
case "뤄":
case "뭐":
case "붜":
case "숴":
case "워":
case "줘":
case "춰":
case "쿼":
case "퉈":
case "풔":
case "훠":
case "꿔":
case "뚸":
case "뿨":
case "쒀":
case "쭤":
case "궤":
case "눼":
case "뒈":
case "뤠":
case "뭬":
case "붸":
case "쉐":
case "웨":
case "줴":
case "췌":
case "퀘":
case "퉤":
case "풰":
case "훼":
case "꿰":
case "뛔":
case "쀄":
case "쒜":
case "쮀":
case "귀":
case "늬":
case "뒤":
case "뤼":
case "뮈":
case "뷔":
case "쉬":
case "위":
case "쥐":
case "취":
case "퀴":
case "튀":
case "퓌":
case "휘":
case "뀌":
case "뛰":
case "쀠":
case "쒸":
case "쮜":
case "긔":
case "늬":
case "듸":
case "릐":
case "믜":
case "븨":
case "싀":
case "의":
case "즤":
case "츼":
case "킈":
case "틔":
case "픠":
case "희":
case "끠":
case "띄":
case "쁴":
case "씌":
case "쯰":
case "2":
case "4":
case "5":
case "9":
return 2;
break;
default:
return 1;
}
}
[endscript]
[macro name="조사처리"]
[eval exp="mp.값 = mp.변수" cond="mp.변수"]
[eval exp="mp.값 = mp.val" cond="mp.val"]
[eval exp="f.return = 조사처리(mp.값,mp.조사)"]
[emb exp="f.return"]
[eval exp="delete f.return"]
[endmacro]
[macro name="조사만처리"]
[eval exp="mp.값 = mp.변수" cond="mp.변수"]
[eval exp="mp.값 = mp.val" cond="mp.val"]
[eval exp="f.return = 조사만처리(mp.값,mp.조사)"]
[emb exp="f.return"]
[eval exp="delete f.return"]
[endmacro]
[macro name=플레이어]
[emb exp=&f.이름]
[endmacro]
[macro name=플레이어에게]
[emb exp=&f.이름]에게
[endmacro]
[macro name=플레이어는]
[조사처리 값="&f.이름" 조사="는"]
[endmacro]
[macro name=플레이어가]
[조사처리 값="&f.이름" 조사="가"]
[endmacro]
[macro name=플레이어를]
[조사처리 값="&f.이름" 조사="를"]
[endmacro]
[macro name=플레이어와]
[조사처리 값="&f.이름" 조사="와"]
[endmacro]
[macro name=플레이어로]
[조사처리 값="&f.이름" 조사="로"]
[endmacro]
[macro name=플레이어라]
[조사처리 값="&f.이름" 조사="라"]
[endmacro]
[macro name=플레이어랑]
[조사처리 값="&f.이름" 조사="랑"]
[endmacro]
[macro name=플레이어며]
[조사처리 값="&f.이름" 조사="며"]
[endmacro]
[macro name=플레이어고]
[조사처리 값="&f.이름" 조사="고"]
[endmacro]
[macro name=플레이어야]
[조사처리 값="&f.이름" 조사="야"]
[endmacro]
[macro name=플레이어여]
[조사처리 값="&f.이름" 조사="여"]
[endmacro]
[return]
그 외, 제네레이터 typeC 등에 들어있는 매크로 (선택지, 변수 설정 등)도 자유롭게 사용하셔도 됩니다.
시간이 나는대로 출처, 주석, 사용법 등을 정리해서 공개하고 싶은데 좀처럼 여유가 안 나네요.
선택지는 http://www.geocities.jp/keep_creating/DojinDOC/kirikiriSmallTips.html 페이지의 내용을 조금 수정해 history에 선택한 것이 무엇인지 등을 표시하는 처리를 넣었습니다.
카모카테 2차 창작 키트용에 맞추어 선택지 소거 등의 처리가 들어있으니 다른 게임에 사용하시려면 해당 부분은 수정하셔야합니다. label도 특정 플러그인을 불러와 사용하고 있으므로 주의하세요.
'제작 > 키리키리' 카테고리의 다른 글
키리키리 기반 엔진 (0) | 2012.11.09 |
---|---|
키리키리를 시작하시는 분들께 드리는 팁 (1) | 2012.04.05 |