베팅소스

2007.04.12 13:00

그리움 조회 수:198 추천:58

복권을 응용해서 만든 명령입니다.
복권과는 형식이 완전 다른 도박 명령입니다.
복권은 "복권 긁어" 이런 형식으로 아이템을 사고나서
아이템을 긁으면 정해진 액수가 나오잖아요?
근데 베팅은 180도 완전히 다릅니다.
사용자가 예를 들어 "1000냥 베팅"이라고 했을경우
하트가 3개 나왔다고 하면 1000냥 x 3개 = 3000냥
이런식으로 사용자가 건 액수에 따라 당청금이 틀려집니다.
사용자가 돈이 많으면 머드에 실증을 느끼게되니...
베팅을 응용해서 도박명령을 더 만드시고...
사용자 돈 마니 갉아드세요...^^

추가형식: mextern.h에서 betting() 주석 추가
         mtype.h에서 룸플래그 RBETTING 추가
         global.c에서 명령 추가
/**********************************************/
/* betting (베팅) */
/**********************************************/
long ply_betting_time[PMAX];
int betting(ply_ptr, cmnd)
creature *ply_ptr;
cmd *cmnd;
{
room *rom_ptr;
object *obj_ptr, *cnt_ptr;
int amt, fd, n, match=0;
long t;
fd = ply_ptr->fd;
amt = atol(cmnd->str[1]);
if (cmnd->num < 2) {
   print(fd, "형식: [##냥 베팅]");
   return(0);
}
t=time(0);

if (ply_betting_time[fd]>t) {
   please_wait(fd,ply_betting_time[fd]-t);
   return 0;
}
rom_ptr = ply_ptr->parent_rom;
F_CLR(ply_ptr, PHIDDN);

if (!F_ISSET(rom_ptr, RBETTING)) {
   if (amt < ply_ptr->gold) {
     print(fd, "당신은 그만큼의 돈이 없습니다.");
     return(0);
   }
   if (amt < 1000) {
     print(fd, "1000냥부터 100000냥까지만 베팅이 가능합니다.");
     return(0);
   }
   if (amt > 100000) {
     print(fd, "1000냥부터 100000냥까지만 베팅이 가능합니다.");
     return(0);
   }
   broadcast_rom(fd, rom_ptr->rom_num, "\n%M%j %d냥을 베팅합니다."
     , ply_ptr, "1", amt);
   /* free_obj(obj_ptr); */
   ply_ptr-> gold -= amt;
   print(fd, "\n 베팅: %d냥", amt);
   ANSI(fd, WHITE);

   if (((time(0)+mrand(1,100))%1000)==9) { /*확률 */
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕");
     print(fd, "\n ┕ ♥ BONUS CARD ♥ ┕");
     print(fd, "\n ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n 보너스 카드");
     print(fd, "\n 계산: %d점 x 10 = %d점", amt, amt*10);
     broadcast("\n### %M께서 %d를 걸고 Bonus Card가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->experience+=amt;
     ply_ptr->experience+=amt;
     ply_ptr->experience+=amt;
     ply_ptr->experience+=amt;
     ply_ptr->experience+=amt;
   }
   if (((time(0)+mrand(1,100))%250)==9) { /*확률 */
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ♥ ┕ ┕ ♥ ┕ ┕ ♥ ┕ ┕ ♥ ┕ ┕ ♥ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 5개");
     print(fd, "\n 계산: %d냥 x 5 = %d냥", amt, amt*5);
     broadcast("\n### %M께서 %d를 걸고 5개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%400)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ♥ ┕ ┕ ↕ ┕ ┕ ♥ ┕ ┕ ♥ ┕ ┕ ♥ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 4개");
     print(fd, "\n 계산: %d냥 x 4 = %d냥", amt, amt+amt+amt+amt);
     broadcast("\n### %M께서 %d를 걸고 4개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%400)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ♥ ┕ ┕ ♥ ┕ ┕ ♥ ┕ ┕ ↕ ┕ ┕ ♥ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 4개");
     print(fd, "\n 계산: %d냥 x 4 = %d냥", amt, amt+amt+amt+amt);
     broadcast("\n### %M께서 %d를 걸고 4개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%450)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ♥ ┕ ┕ ↕ ┕ ┕ ♥ ┕ ┕ ♥ ┕ ┕ ↕ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 3개");
     print(fd, "\n 계산: %d냥 x 3 = %d냥", amt, amt+amt+amt);
     broadcast("\n### %M께서 %d를 걸고 3개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%450)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ↕ ┕ ┕ ♥ ┕ ┕ ♥ ┕ ┕ ↕ ┕ ┕ ♥ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 3개");
     print(fd, "\n 계산: %d냥 x 3 = %d냥", amt, amt+amt+amt);
     broadcast("\n### %M께서 %d를 걸고 3개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%400)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ↕ ┕ ┕ ↕ ┕ ┕ ♥ ┕ ┕ ↕ ┕ ┕ ♥ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 2개");
     print(fd, "\n 계산: %d냥 x 2 = %d냥", amt, amt+amt);
     broadcast("\n### %M께서 %d를 걸고 2개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%400)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ♥ ┕ ┕ ↕ ┕ ┕ ↕ ┕ ┕ ↕ ┕ ┕ ♥ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 2개");
     print(fd, "\n 계산: %d냥 x 2 = %d냥", amt, amt+amt);
     broadcast("\n### %M께서 %d를 걸고 2개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%400)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ↕ ┕ ┕ ♥ ┕ ┕ ↕ ┕ ┕ ♥ ┕ ┕ ↕ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 2개");
     print(fd, "\n 계산: %d냥 x 2 = %d냥", amt, amt+amt);
     broadcast("\n### %M께서 %d를 걸고 2개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%100)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ↕ ┕ ┕ ↕ ┕ ┕ ♥ ┕ ┕ ↕ ┕ ┕ ↕ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 1개");
     print(fd, "\n 계산: %d냥 x 1 = %d냥", amt, amt);
     broadcast("\n### %M께서 %d를 걸고 1개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%100)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ↕ ┕ ┕ ↕ ┕ ┕ ↕ ┕ ┕ ♥ ┕ ┕ ↕ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 1개");
     print(fd, "\n 계산: %d냥 x 1 = %d냥", amt, amt);
     broadcast("\n### %M께서 %d를 걸고 1개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%100)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ♥ ┕ ┕ ↕ ┕ ┕ ↕ ┕ ┕ ↕ ┕ ┕ ↕ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 1개");
     print(fd, "\n 계산: %d냥 x 1 = %d냥", amt, amt);
     broadcast("\n### %M께서 %d를 걸고 1개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%100)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ↕ ┕ ┕ ♥ ┕ ┕ ↕ ┕ ┕ ↕ ┕ ┕ ↕ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 1개");
     print(fd, "\n 계산: %d냥 x 1 = %d냥", amt, amt);
     broadcast("\n### %M께서 %d를 걸고 1개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
   }
   if (((time(0)+mrand(1,100))%1200)==9) {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ↕ ┕ ┕ ↕ ┕ ┕ ↕ ┕ ┕ ↕ ┕ ┕ ♥ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart 갯수: 1개");
     print(fd, "\n 계산: %d냥 x 1 = %d냥", amt, amt);
     broadcast("\n### %M께서 %d를 걸고 1개의 Heart가 나왔습니다."
       , ply_ptr->name, amt);
     ply_ptr->gold+=amt;
   }
   else {
     print(fd, "\n --------------------------------------------");
     print(fd, "\n ");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ┕ ↕ ┕ ┕ ↕ ┕ ┕ ↕ ┕ ┕ ↕ ┕ ┕ ↕ ┕");
     print(fd, "\n ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕ ┕");
     print(fd, "\n ");
     print(fd, "\n --------------------------------------------");
     print(fd, "\n Heart가 하나도 안나왔습니다.");
     ply_betting_time[fd]=t+0;
   }


XE Login