운영자명령 "보고"

2007.04.12 13:10

그리움 조회 수:280 추천:60

자료출처 : GAME BBS (Telnet gamebbs.co.kr)

───────────────────────────────────────
제 목 : [소스] *보고(관리명령) 찬성 : 0 반대 : 0
올린이 : 작대기 (석봉운 ) 읽음 : 3 날짜 : 2000/07/08 09:43
------------------------------------------------------------------------------
사용자의 데이타정보를 감시나 강제를 통하여 보지 않고
따로 명령어를 만들었습니다.




int sangt(ply_ptr, cmnd)
   creature *ply_ptr;
   cmd *cmnd;
{

   struct stat f_stat;
   creature *player;
   object *bnk_ptr;
   char tmp[80];
   int fd, n;
   FILE *fp;
   char file[80];
   char str[15];
   char bstr[2048];
   struct tm *login_tt;
   fd = ply_ptr->fd;

   if(cmnd->num < 2) {
       print(fd, "누구의 정보를 보고 싶으세요?\n");
       return(0);
   }

   cmnd->str[1][0] = up(cmnd->str[1][0]);
   player = find_who(cmnd->str[1]);

   if (!player){
       if(load_ply(cmnd->str[1], &player) < 0){
               print(fd,"그런 사용자는 없습니다.\n");
               return (0);
       }
       sprintf(tmp,"%s/%s/%s",PLAYERPATH,first_han(cmnd->str[1]), cmnd->str[1])

           n = load_bank(player->name, &bnk_ptr);
           if(n < 0) {
               bnk_ptr = (object *)malloc(sizeof(object));
               zero(bnk_ptr, sizeof(object));
               bnk_ptr->shotsmax = 200;
               F_ISSET(bnk_ptr, OCONTN);
           }

       if (stat(tmp,&f_stat)){
           print(fd,"그런 사용자는 없습니다.\n");
           return (0);
       }
       print(fd, "\n===========================================");
       print(fd, "\n %s의 생활 보고서", player->name);
       print(fd, "\n===========================================\n");
       print(fd, " 성 별: %s성 ", F_ISSET(player, PMALES) ? "남":"여"

       print(fd, " 나 이: %d살\n", 18+player->lasttime[LT_HOURS].interval/

       print(fd, " 직 업: %-6s ", class_str[player->class]);
       print(fd, " 종 족: %s\n", race_str[player->race]);
       if(!F_ISSET(player , PMARRI))
       print(fd, " 배우자: %s", "업슴");
       else {
       print(fd, " 배우자: %s", &player->key[2][1]);
       }
       print(fd, "\n 저축금액: %ld냥", bnk_ptr->value);
       print(fd, "\n 소지금액: %ld냥", player->gold);
       print(fd, "\n 마지막접속: %s", ctime(&f_stat.st_ctime));
       print(fd, "\n===========================================");
       print(fd, "\n %s의 생활 보관품", player->name);
       print(fd, "\n===========================================\n");
       if(n < 0) {
           print(fd, "보관품 업슴");
       }
       else {
           strcpy(bstr, "");
           n = list_obj(&bstr[0], player, bnk_ptr->first_obj);
           if(n) print(fd, "%s.\n", bstr);
           else print(fd, "보관품 내용 업슴");
       }
       free_crt(player);
   }
   else{

       n = load_bank(player->name, &bnk_ptr);

       if(n < 0) {
           bnk_ptr = (object *)malloc(sizeof(object));
           zero(bnk_ptr, sizeof(object));
           bnk_ptr->shotsmax = 200;
           F_ISSET(bnk_ptr, OCONTN);
       }
       print(fd, "\n===========================================");
       print(fd, "\n %s의 생활 보고서", player->name);
       print(fd, "\n===========================================\n");
       print(fd, " 성 별: %s성 ", F_ISSET(player, PMALES) ? "남":"여"

       print(fd, " 나 이: %d살\n", 18+player->lasttime[LT_HOURS].interval/

       print(fd, " 직 업: %-6s ", class_str[player->class]);
       print(fd, " 종 족: %s\n", race_str[player->race]);
       if(!F_ISSET(player , PMARRI))
       print(fd, " 배우자: %s", "업슴");
       else {
       print(fd, " 배우자: %s", &player->key[2][1]);
       }
       print(fd, "\n 저축금액: %ld냥", bnk_ptr->value);
       print(fd, "\n 소지금액: %ld냥", player->gold);
       print(fd, "\n 마지막접속: %s", ctime(&f_stat.st_ctime));
       print(fd, "\n===========================================");
       print(fd, "\n %s의 생활 보관품", player->name);
       print(fd, "\n===========================================\n");

       if(n < 0) {
           print(fd, "보관품 업슴");
       }
       else {
           strcpy(bstr, "");
           n = list_obj(&bstr[0], player, bnk_ptr->first_obj);
           if(n) print(fd, "%s.\n", bstr);
           else print(fd, "보관품 내용 업슴");
       }
       return(0);
   }
}

홈지기 "그륨"


XE Login