[circle]신세계 방수정 명령어
방의 플래그를 수정하는 명령어 입니다. 이 소스에 나오는 몇몇의 플래그명은 기존 신세계 머드에 없는것들이 있습니다. 그것들은 지우시고 자신의 머드에 맞게 수정해 주시면 되겠습니다.
ACMD(do_roomedit)
{
struct descriptor_data *d;
void redit_save_to_disk(struct descriptor_data *d);
char arg1[MAX_INPUT_LENGTH];
extern char *roomedit_const[];
int i;
struct roomedit_struct {
char *name;
int minlev;
int flags;
} fields[] = {
{"암흑", LVL_GOD , ROOM_DARK },
{"함정", LVL_GOD , ROOM_DEATH },
{"맙금지", LVL_GOD , ROOM_NOMOB },
{"실내", LVL_GOD , ROOM_INDOORS },
{"평화", LVL_GOD , ROOM_PEACEFUL },
{"방음", LVL_GOD , ROOM_SOUNDPROOF },
{"추적불가", LVL_GOD , ROOM_NOTRACK },
{"마법불가", LVL_GOD , ROOM_NOMAGIC },
{"터널", LVL_GOD , ROOM_TUNNEL },
{"신금지", LVL_IMPL , ROOM_GODROOM },
{"휴게실", LVL_GOD , ROOM_GROOM },
{"대련장", LVL_GOD , ROOM_PAROOM },
{"트렙", LVL_GOD , ROOM_TRAPS },
{"사용자금지", LVL_GOD , ROOM_NOMORT },
{"텔레불가", LVL_GOD , ROOM_NOTELE },
{"가져불가", LVL_GOD , ROOM_NOTAKE },
{"소환불가", LVL_GOD , ROOM_NOSUMMON },
{"피케방", LVL_GOD , ROOM_PKROOM },
{"지도불가", LVL_GOD , ROOM_NOMAP },
{"귀환불가", LVL_GOD , ROOM_NORECALL },
{"귀가불가", LVL_GOD , ROOM_NOHOME },
{"제련소", LVL_GOD , ROOM_SMELT },
{"장비이동", LVL_GOD , ROOM_MOVEITEM },
{" ", 0 , 0 }
};
if(IS_NPC(ch))
return;
two_arguments(argument, arg, arg1);
if (!*arg) {
for (i = 0; *(fields[i].name) != ' '; i++) {
sprintf(buf, "%s : %s ",
roomedit_const[i],
(IS_SET(world[ch->in_room].room_flags, fields[i].flags) ? "&c09켜짐&c07" : "&c01꺼짐&c07"));
send_to_char(buf, ch);
}
send_to_char("&c14사용법: <옵션> <인자> 방수정&c07 ", ch);
return;
}
if((world[ch->in_room].number >= 4000 && world[ch->in_room].number <= 4199) ||
(world[ch->in_room].number >= 5400 && world[ch->in_room].number <= 5699) ||
(world[ch->in_room].number >= 7200 && world[ch->in_room].number <= 7399)) {
send_to_char("이 지역은 방수정으로 수정할 수 없는 지역입니다. "
"수정불가번호:4000-4199, 5400-5699, 7200-7399 ", ch);
return;
}
for (i = 0; *(fields[i].name) != ' '; i++)
if (!strcmp(fields[i].name, arg))
break;
if (GET_LEVEL(ch) < fields[i].minlev) {
send_to_char("당신의 능력으로는 불가능 합니다. ", ch);
return;
}
if (!strcmp(arg, fields[i].name)) {
if (!*arg1) {
if (IS_SET(world[ch->in_room].room_flags, fields[i].flags)) {
strcpy(arg1, "꺼짐");
} else {
strcpy(arg1, "켜짐");
}
}
if (!strcmp(arg1, "켜짐")) {
if (!IS_SET(world[ch->in_room].room_flags, fields[i].flags))
SET_BIT(world[ch->in_room].room_flags, fields[i].flags);
} else if (!strcmp(arg1, "꺼짐")) {
if (IS_SET(world[ch->in_room].room_flags, fields[i].flags))
REMOVE_BIT(world[ch->in_room].room_flags, fields[i].flags);
} else {
send_to_char(ERRONOFF, ch);
return;
}
} else {
send_to_char("존재하지 않는 옵션입니다. ", ch);
return;
}
d = ch->desc;
CREATE(d->olc, struct olc_data, 1);
redit_save_to_disk(d);
sprintf(buf, "%s기능을 %s으로 설정했습니다. ", fields[i].name, arg1);
send_to_char(buf, ch);
sprintf(buf, "이제 이 방은 %s의 영향을 %s ",
fields[i].name,
(!strcmp(arg1, "꺼짐") ? "받지 않습니다." : "받습니다."));
send_to_room(buf, ch->in_room);
sprintf(buf, "(GC) %s, %s기능 %s으로 설정 (%d)",
GET_NAME(ch),
fields[i].name,
arg1,
world[ch->in_room].number);
mudlog(buf, NRM, LVL_GOD, TRUE);
return;
}
ACMD(do_roomedit)
{
struct descriptor_data *d;
void redit_save_to_disk(struct descriptor_data *d);
char arg1[MAX_INPUT_LENGTH];
extern char *roomedit_const[];
int i;
struct roomedit_struct {
char *name;
int minlev;
int flags;
} fields[] = {
{"암흑", LVL_GOD , ROOM_DARK },
{"함정", LVL_GOD , ROOM_DEATH },
{"맙금지", LVL_GOD , ROOM_NOMOB },
{"실내", LVL_GOD , ROOM_INDOORS },
{"평화", LVL_GOD , ROOM_PEACEFUL },
{"방음", LVL_GOD , ROOM_SOUNDPROOF },
{"추적불가", LVL_GOD , ROOM_NOTRACK },
{"마법불가", LVL_GOD , ROOM_NOMAGIC },
{"터널", LVL_GOD , ROOM_TUNNEL },
{"신금지", LVL_IMPL , ROOM_GODROOM },
{"휴게실", LVL_GOD , ROOM_GROOM },
{"대련장", LVL_GOD , ROOM_PAROOM },
{"트렙", LVL_GOD , ROOM_TRAPS },
{"사용자금지", LVL_GOD , ROOM_NOMORT },
{"텔레불가", LVL_GOD , ROOM_NOTELE },
{"가져불가", LVL_GOD , ROOM_NOTAKE },
{"소환불가", LVL_GOD , ROOM_NOSUMMON },
{"피케방", LVL_GOD , ROOM_PKROOM },
{"지도불가", LVL_GOD , ROOM_NOMAP },
{"귀환불가", LVL_GOD , ROOM_NORECALL },
{"귀가불가", LVL_GOD , ROOM_NOHOME },
{"제련소", LVL_GOD , ROOM_SMELT },
{"장비이동", LVL_GOD , ROOM_MOVEITEM },
{" ", 0 , 0 }
};
if(IS_NPC(ch))
return;
two_arguments(argument, arg, arg1);
if (!*arg) {
for (i = 0; *(fields[i].name) != ' '; i++) {
sprintf(buf, "%s : %s ",
roomedit_const[i],
(IS_SET(world[ch->in_room].room_flags, fields[i].flags) ? "&c09켜짐&c07" : "&c01꺼짐&c07"));
send_to_char(buf, ch);
}
send_to_char("&c14사용법: <옵션> <인자> 방수정&c07 ", ch);
return;
}
if((world[ch->in_room].number >= 4000 && world[ch->in_room].number <= 4199) ||
(world[ch->in_room].number >= 5400 && world[ch->in_room].number <= 5699) ||
(world[ch->in_room].number >= 7200 && world[ch->in_room].number <= 7399)) {
send_to_char("이 지역은 방수정으로 수정할 수 없는 지역입니다. "
"수정불가번호:4000-4199, 5400-5699, 7200-7399 ", ch);
return;
}
for (i = 0; *(fields[i].name) != ' '; i++)
if (!strcmp(fields[i].name, arg))
break;
if (GET_LEVEL(ch) < fields[i].minlev) {
send_to_char("당신의 능력으로는 불가능 합니다. ", ch);
return;
}
if (!strcmp(arg, fields[i].name)) {
if (!*arg1) {
if (IS_SET(world[ch->in_room].room_flags, fields[i].flags)) {
strcpy(arg1, "꺼짐");
} else {
strcpy(arg1, "켜짐");
}
}
if (!strcmp(arg1, "켜짐")) {
if (!IS_SET(world[ch->in_room].room_flags, fields[i].flags))
SET_BIT(world[ch->in_room].room_flags, fields[i].flags);
} else if (!strcmp(arg1, "꺼짐")) {
if (IS_SET(world[ch->in_room].room_flags, fields[i].flags))
REMOVE_BIT(world[ch->in_room].room_flags, fields[i].flags);
} else {
send_to_char(ERRONOFF, ch);
return;
}
} else {
send_to_char("존재하지 않는 옵션입니다. ", ch);
return;
}
d = ch->desc;
CREATE(d->olc, struct olc_data, 1);
redit_save_to_disk(d);
sprintf(buf, "%s기능을 %s으로 설정했습니다. ", fields[i].name, arg1);
send_to_char(buf, ch);
sprintf(buf, "이제 이 방은 %s의 영향을 %s ",
fields[i].name,
(!strcmp(arg1, "꺼짐") ? "받지 않습니다." : "받습니다."));
send_to_room(buf, ch->in_room);
sprintf(buf, "(GC) %s, %s기능 %s으로 설정 (%d)",
GET_NAME(ch),
fields[i].name,
arg1,
world[ch->in_room].number);
mudlog(buf, NRM, LVL_GOD, TRUE);
return;
}
정회원 이상만 코멘트 사용이 가능합니다.
총 게시물 32개 / 검색된 게시물: 32개
글번호 | 제목 | 작성자 | 조회수 | 좋아요 | 싫어요 | 작성일 | |
---|---|---|---|---|---|---|---|
12 | [circle] 신세계 공격대상 | 성천사 | 578 | 0 | 0 | 2022-08-19 | |
11 | [circle] 미확인장소 물건 수거 | 성천사 | 1060 | 0 | 0 | 2019-09-23 | |
10 | [circle] 신세계 포탈과 이동 명령어 [1] | 성천사 | 1484 | 0 | 0 | 2018-09-05 | |
9 | [circle] 신세계 귀환소스 | 성천사 | 8197 | 0 | 0 | 2009-09-15 | |
8 | [circle] 신세계 do_display | 성천사 | 6858 | 0 | 0 | 2009-09-15 | |
7 | [circle] 신세계 do_set 옵션 리스트 | 성천사 | 6943 | 0 | 0 | 2009-09-15 | |
6 | [circle] 신세계 수표출금, 수표입금, 수표확인 | 성천사 | 7902 | 0 | 0 | 2009-09-15 | |
5 | [circle] 신세계 스킬셋 명령어(운영자명령어) [1] | 성천사 | 8627 | 0 | 0 | 2008-07-06 | |
4 | [circle] 신세계 방청소 명령어 | 성천사 | 5269 | 0 | 0 | 2008-01-07 | |
3 | [circle] 신세계 방수정 명령어 [1] | 성천사 | 5653 | 0 | 0 | 2008-01-05 | |
2 | [circle] 신세계 수거 명령어 | 성천사 | 5318 | 0 | 0 | 2008-01-05 | |
1 | [circle] 신세계 의원소스 | 성천사 | 7242 | 0 | 0 | 2008-01-05 |