3Comments
제갈공자
2004.02.28(토) 오전 01:59:20
그런식으로;; 하면 ; 하나 빼먹었따는 소린데 잘 찾아보세요;; 소스를 보여주셔야 뭘;;;
탈퇴
2004.02.28(토) 오전 04:50:00(221.164.xxx.xx)
int cmd(string arg)
{
mixed *dir;
string rdfile, *lines, col, xx, yy, file_name, file;
string tx, ty, text, msg, time, str, zone;
int i, sz, x, y=0, si, max_si;
if (!arg || sscanf(arg,"%s %s",str,zone) != 2)
return notify_fail("\n사용법 : <화일명> <디렉토리명> 지도변환\n\n");
rdfile = read_file("/text/map/"+str);
if( !rdfile )
return notify_fail("\n * /text/map 디렉토리에서 [ "+str+" ] 화일을 찾을 수 없습니다.\n\n");
dir = get_dir("/d/"+zone);
if( sizeof(dir) )
return notify_fail("\n * 이미 /d/"+zone+" 디렉토리가 존재 합니다.\n\n");
lines = explode(rdfile,"\n");
sz = sizeof(lines);
if(!sz) return notify_fail("\n * 화일 내용 없음\n\n");
mkdirs( "/d/"+zone+"/" );
time = ctime(time());
for( i = 0; i < sz ; i++) {
col = lines[i];
si = sizeof(col);
while( si-- ) {
if( col[si] == 32 ) col = col[0..si-1];
else break;
}
si = sizeof(col);
for( x = 0; x < si ; x++ ) {
text = "";
if( col[x] != 161 ) {
continue;
}
else if( col[x..x+1] == "○" ||
col[x..x+1] == "■" ) {
if( (x/4+1)<10 ) xx = "0"+(x/4+1);
else xx = ""+(x/4+1);
if( (i/2+1)<10 ) yy = "0"+(i/2+1);
else yy = ""+(i/2+1);
file_name = xx+yy+".c";
file = xx+yy+"";
if( x+2 < si ) {
if( col[x+2..x+3] == "─" ) {
if( (x/4+2)<10 ) tx = "0"+(x/4+2);
else tx = ""+(x/4+2);
text += "\t\"동\" : \"/d/"+zone+"/"+tx+yy+"\",\n";
}
else if( col[x-2..x-1] == "↔" ) {
if( (x/4+2)<10 ) tx = "0"+(x/4+2);
else tx = ""+(x/4+2);
text += "\t\"계단\" : \"/d/"+zone+"/"+tx+yy+"\",\n";
}
}
if( (x/4+1) > 1 ) {
if( col[x-2..x-1] == "─" ) {
if( (x/4)<10 ) tx = "0"+(x/4);
else tx = ""+(x/4);
text += "\t\"서\" : \"/d/"+zone+"/"+tx+yy+"\",\n";
}
else if( col[x-2..x-1] == "↔" ) {
if( (x/4)<10 ) tx = "0"+(x/4);
else tx = ""+(x/4);
text += "\t\"계단\" : \"/d/"+zone+"/"+tx+yy+"\",\n";
}
}
if( i+1 < sz ) {
if( lines[i+1][x..x+1] == "│" ) {
if( (i/2+2)<10 ) ty = "0"+(i/2+2);
else ty = ""+(i/2+2);
text += "\t\"남\" : \"/d/"+zone+"/"+xx+ty+"\",\n";
}
else if( lines[i+1][x..x+1] == "↕" ) {
if( (i/2+2)<10 ) ty = "0"+(i/2+2);
else ty = ""+(i/2+2);
text += "\t\"계단\" : \"/d/"+zone+"/"+xx+ty+"\",\n";
}
if( lines[i+1][x-2..x-1] == "/" ) {
if( (i/2+2)<10 ) ty = "0"+(i/2+2);
else ty = ""+(i/2+2);
if( (x/4+2)<10 ) tx = "0"+(x/4);
else tx = ""+(x/4);
text += "\t\"남서\" : \"/d/"+zone+"/"+tx+ty+"\",\n";
}
if( lines[i+1][x+2..x+3] == "\" ) {
if( (i/2+2)<10 ) ty = "0"+(i/2+2);
else ty = ""+(i/2+2);
if( (x/4+2)<10 ) tx = "0"+(x/4+2);
else tx = ""+(x/4+2);
text += "\t\"남동\" : \"/d/"+zone+"/"+tx+ty+"\",\n";
}
}
if( (i/2+1) > 1 ) {
if( lines[i-1][x..x+1] == "│" ) {
if( (i/2)<10 ) ty = "0"+(i/2);
else ty = ""+(i/2);
text += "\t\"북\" : \"/d/"+zone+"/"+xx+ty+"\",\n";
}
else if( lines[i-1][x..x+1] == "↕" ) {
if( (i/2)<10 ) ty = "0"+(i/2);
else ty = ""+(i/2);
text += "\t\"계단\" : \"/d/"+zone+"/"+xx+ty+"\",\n";
}
if( x+2 < si ) {
if( lines[i-1][x+2..x+3] == "/" ) {
if( (i/2)<10 ) ty = "0"+(i/2);
else ty = ""+(i/2);
if( (x/4+2)<10 ) tx = "0"+(x/4+2);
else tx = ""+(x/4+2);
text += "\t\"북동\" : \"/d/"+zone+"/"+tx+ty+"\",\n";
}
}
if( lines[i-1][x-2..x-1] == "\" ) {
if( (i/2)<10 ) ty = "0"+(i/2);
else ty = ""+(i/2);
if( (x/4)<10 ) tx = "0"+(x/4);
else tx = ""+(x/4);
text += "\t\"북서\" : \"/d/"+zone+"/"+tx+ty+"\",\n";
}
}
y++;
if( col[x..x+1] == "■" )
msg = HEAD+PLAG+TEXT+text+"\t])) ;\n"+LAST+"\n";
else
msg = HEAD+TEXT+text+"\t])) ;\n"+LAST+"\n";
save_file("/d/"+zone+"/"+file_name,msg);
continue;
}
}
if( max_si < si ) max_si = si;
}
write("\n * 존 크기 : "+(max_si/4+1)+" × "+(sz/2+1)+", 총 "+y+"개의 룸이 완성되었습니다.\n\n");
return 1;
}
소스는 이거요~
{
mixed *dir;
string rdfile, *lines, col, xx, yy, file_name, file;
string tx, ty, text, msg, time, str, zone;
int i, sz, x, y=0, si, max_si;
if (!arg || sscanf(arg,"%s %s",str,zone) != 2)
return notify_fail("\n사용법 : <화일명> <디렉토리명> 지도변환\n\n");
rdfile = read_file("/text/map/"+str);
if( !rdfile )
return notify_fail("\n * /text/map 디렉토리에서 [ "+str+" ] 화일을 찾을 수 없습니다.\n\n");
dir = get_dir("/d/"+zone);
if( sizeof(dir) )
return notify_fail("\n * 이미 /d/"+zone+" 디렉토리가 존재 합니다.\n\n");
lines = explode(rdfile,"\n");
sz = sizeof(lines);
if(!sz) return notify_fail("\n * 화일 내용 없음\n\n");
mkdirs( "/d/"+zone+"/" );
time = ctime(time());
for( i = 0; i < sz ; i++) {
col = lines[i];
si = sizeof(col);
while( si-- ) {
if( col[si] == 32 ) col = col[0..si-1];
else break;
}
si = sizeof(col);
for( x = 0; x < si ; x++ ) {
text = "";
if( col[x] != 161 ) {
continue;
}
else if( col[x..x+1] == "○" ||
col[x..x+1] == "■" ) {
if( (x/4+1)<10 ) xx = "0"+(x/4+1);
else xx = ""+(x/4+1);
if( (i/2+1)<10 ) yy = "0"+(i/2+1);
else yy = ""+(i/2+1);
file_name = xx+yy+".c";
file = xx+yy+"";
if( x+2 < si ) {
if( col[x+2..x+3] == "─" ) {
if( (x/4+2)<10 ) tx = "0"+(x/4+2);
else tx = ""+(x/4+2);
text += "\t\"동\" : \"/d/"+zone+"/"+tx+yy+"\",\n";
}
else if( col[x-2..x-1] == "↔" ) {
if( (x/4+2)<10 ) tx = "0"+(x/4+2);
else tx = ""+(x/4+2);
text += "\t\"계단\" : \"/d/"+zone+"/"+tx+yy+"\",\n";
}
}
if( (x/4+1) > 1 ) {
if( col[x-2..x-1] == "─" ) {
if( (x/4)<10 ) tx = "0"+(x/4);
else tx = ""+(x/4);
text += "\t\"서\" : \"/d/"+zone+"/"+tx+yy+"\",\n";
}
else if( col[x-2..x-1] == "↔" ) {
if( (x/4)<10 ) tx = "0"+(x/4);
else tx = ""+(x/4);
text += "\t\"계단\" : \"/d/"+zone+"/"+tx+yy+"\",\n";
}
}
if( i+1 < sz ) {
if( lines[i+1][x..x+1] == "│" ) {
if( (i/2+2)<10 ) ty = "0"+(i/2+2);
else ty = ""+(i/2+2);
text += "\t\"남\" : \"/d/"+zone+"/"+xx+ty+"\",\n";
}
else if( lines[i+1][x..x+1] == "↕" ) {
if( (i/2+2)<10 ) ty = "0"+(i/2+2);
else ty = ""+(i/2+2);
text += "\t\"계단\" : \"/d/"+zone+"/"+xx+ty+"\",\n";
}
if( lines[i+1][x-2..x-1] == "/" ) {
if( (i/2+2)<10 ) ty = "0"+(i/2+2);
else ty = ""+(i/2+2);
if( (x/4+2)<10 ) tx = "0"+(x/4);
else tx = ""+(x/4);
text += "\t\"남서\" : \"/d/"+zone+"/"+tx+ty+"\",\n";
}
if( lines[i+1][x+2..x+3] == "\" ) {
if( (i/2+2)<10 ) ty = "0"+(i/2+2);
else ty = ""+(i/2+2);
if( (x/4+2)<10 ) tx = "0"+(x/4+2);
else tx = ""+(x/4+2);
text += "\t\"남동\" : \"/d/"+zone+"/"+tx+ty+"\",\n";
}
}
if( (i/2+1) > 1 ) {
if( lines[i-1][x..x+1] == "│" ) {
if( (i/2)<10 ) ty = "0"+(i/2);
else ty = ""+(i/2);
text += "\t\"북\" : \"/d/"+zone+"/"+xx+ty+"\",\n";
}
else if( lines[i-1][x..x+1] == "↕" ) {
if( (i/2)<10 ) ty = "0"+(i/2);
else ty = ""+(i/2);
text += "\t\"계단\" : \"/d/"+zone+"/"+xx+ty+"\",\n";
}
if( x+2 < si ) {
if( lines[i-1][x+2..x+3] == "/" ) {
if( (i/2)<10 ) ty = "0"+(i/2);
else ty = ""+(i/2);
if( (x/4+2)<10 ) tx = "0"+(x/4+2);
else tx = ""+(x/4+2);
text += "\t\"북동\" : \"/d/"+zone+"/"+tx+ty+"\",\n";
}
}
if( lines[i-1][x-2..x-1] == "\" ) {
if( (i/2)<10 ) ty = "0"+(i/2);
else ty = ""+(i/2);
if( (x/4)<10 ) tx = "0"+(x/4);
else tx = ""+(x/4);
text += "\t\"북서\" : \"/d/"+zone+"/"+tx+ty+"\",\n";
}
}
y++;
if( col[x..x+1] == "■" )
msg = HEAD+PLAG+TEXT+text+"\t])) ;\n"+LAST+"\n";
else
msg = HEAD+TEXT+text+"\t])) ;\n"+LAST+"\n";
save_file("/d/"+zone+"/"+file_name,msg);
continue;
}
}
if( max_si < si ) max_si = si;
}
write("\n * 존 크기 : "+(max_si/4+1)+" × "+(sz/2+1)+", 총 "+y+"개의 룸이 완성되었습니다.\n\n");
return 1;
}
소스는 이거요~
탈퇴
2004.02.28(토) 오전 04:50:30(221.164.xxx.xx)
리플이라 탭이 안 먹히는군요;; 새글로 다시 올릴게요;;
코멘트를 삭제할 비밀번호를 입력하세요.
정회원 이상만 코멘트 쓰기가 가능합니다.
총 게시물 954개 / 검색된 게시물: 954개
글번호 | 제목 | 작성자 | 조회수 | 좋아요 | 싫어요 | 작성일 | |
---|---|---|---|---|---|---|---|
[기타]질문 답변 외 글은 자유 게시판에 올려 주세요... | 머드클럽 | 4341 | 0 | 0 | 2004-01-01 | ||
294 | [hanlp] 음.. 에러가 안 날 것도 같은데 나는 부분^^;; [4] | 탈퇴 | 1611 | 0 | 0 | 2004-02-28 | |
293 | [hanlp] 시간 내에 제한적으로 명령이 실행되게 하려면.. [2] | 탈퇴 | 1687 | 0 | 0 | 2004-02-28 | |
292 | [hanlp] 바로 아래 글 소스에요.. | 탈퇴 | 1712 | 0 | 0 | 2004-02-28 | |
291 | [hanlp] 제작기에서 지도변환 빼낼때 update시 에러메세지 해결책 부탁! [3] | 탈퇴 | 1602 | 0 | 0 | 2004-02-28 | |
290 | [기타] 지연시키는게 나을까요? 아님 바로 처리하고 다른걸 받는게... [2] | 달 | 1668 | 0 | 0 | 2004-02-27 | |
289 | [hanlp] 강좌에 나왔있는 [그래프] 있잖아요. [1] | &미카엘& | 1683 | 0 | 0 | 2004-02-27 | |
288 | [hanlp] 변수 없이 쓸 때의 메모리 제한 [2] | 제갈명 | 1615 | 0 | 0 | 2004-02-27 | |
287 | [hanlp] 모두 착용 이라는 명령어를 만들고싶은데요 [4] | 천무혼 | 1889 | 0 | 0 | 2004-02-26 | |
286 | [hanlp] 한 파일에 지정해주는 Int 의 갯수가 정해져있는건가요? [7] | 천무혼 | 1805 | 0 | 0 | 2004-02-26 | |
285 | [hanlp] continue와 query_temp 의 용도... [4] | 제갈명 | 1671 | 0 | 0 | 2004-02-26 | |
284 | [circle] 써클 또 질문.. 레벨을 128을 맥스에서 32767 맥스로 바꾸려고 [7] | 달 | 1699 | 0 | 0 | 2004-02-26 | |
283 | [circle] sh_int의 범위가 어떻게 되나요? [1] | 달 | 1923 | 0 | 0 | 2004-02-26 | |
282 | [hanlp] string, int 의 전환 [7] | 제갈명 | 1885 | 0 | 0 | 2004-02-25 | |
281 | [hanlp] 펫 시스템 에 관해서.. [11] | &미카엘& | 1740 | 0 | 0 | 2004-02-25 | |
280 | [기타] c 언어 질문입니다. sprintf 구문내에 조건삽입법... [8] | 제갈명 | 1645 | 0 | 0 | 2004-02-25 | |
279 | [circle] 안에 소스 부분 문제 있나요? 왜 맨 아래 줄만 만들면 다운 돼는지.. [6] | 달 | 1782 | 0 | 0 | 2004-02-25 | |
278 | [circle] 써클 존에 관련된 질문... [2] | 달 | 1715 | 0 | 0 | 2004-02-24 | |
277 | [hanlp] 무기를 1개만 무장되게할수없나요? [2] | 천무혼 | 1798 | 0 | 0 | 2004-02-24 | |
276 | [hanlp] [아이템에 사용횟수를 달고 싶내요] [1] | &미카엘& | 1584 | 0 | 0 | 2004-02-24 | |
275 | [hanlp] 시체가 아니라 그냥 아이템이 떠러지게 하고싶은데 [2] | 천무혼 | 2060 | 0 | 0 | 2004-02-23 |