복권 소스

2007.04.12 11:38

그리움 조회 수:207 추천:67

**복권 소스**
복권을 긁으면 당첨금이 3차에 걸쳐서 나온다.
※사용방법
1. OBJECT.C에 카피한다.
2. MEXTERN.H 로 이동해서 OBJECT.C 으로 간다.
int <-- bockwun();<--이렇게 적는다.
3. GLOBAL.C로 이동해서 { "긁어", 102, "bockwun" }, <--이렇게 적는다.
4. MTYPE.H로 이동해서 object flag로 이동
object flag의 맨아랫부분에 #define OBOCK 51 /* 복권 */<--이렇게 적는다.
5. make


/*************************************************/
/* bockwun (긁어) */
/*************************************************/
long ply_bockwun_time[PMAX];
int bockwun(ply_ptr, cmnd)
creature *ply_ptr;
cmd *cmnd;
{
   room *rom_ptr;
   object *obj_ptr, *cnt_ptr;
   int fd, n, match=0;
   long t;
   fd = ply_ptr->fd;
   if(cmnd->num < 2) {
       print(fd, "무엇을 긁으시려고요?");
       return(0);
   }
   t=time(0);
   if(ply_bockwun_time[fd]>t) {
       please_wait(fd,ply_bockwun_time[fd]-t);
       return 0;
   }
   rom_ptr = ply_ptr->parent_rom;
   F_CLR(ply_ptr, PHIDDN);
   obj_ptr = find_obj(ply_ptr, ply_ptr->first_obj,
              cmnd->str[1], cmnd->val[1]);
   if(!obj_ptr) {
       print(fd, "당신은 그런것을 갖고 있지 않습니다.");
       return(0);
   }
   if(!F_ISSET(obj_ptr, OBOCK)) {
    print(fd, "그것은 긁을 수 있는 아이템이 아닙니다.");
       return(0);
   }
   if(ply_ptr->gold < 100) {
    print(fd, "당신은 동전이 없어서 복권을 긁을 수 없습니다.");
       return(0);
   }
   del_obj_crt(obj_ptr, ply_ptr);
broadcast_rom(fd, rom_ptr->rom_num,
                "\n%M%j 동전으로 %1i%j 긁었습니다.", ply_ptr,"1",
obj_ptr,"1");
   free_obj(obj_ptr);
ANSI(fd, GREEN);
   print(fd, "\n\n[[ ");
ANSI(fd, MAGENTA);
   print(fd, "1차 기회");
ANSI(fd, GREEN);
   print(fd, " ]]");
ANSI(fd, YELLOW);
   print(fd, " : ");
ANSI(fd, WHITE);
   if(((time(0)+mrand(1,100))%2000)==9) { /*확률 */
       print(fd,"1000000냥");
broadcast("\n### %M께서 1등에 당첨되셨습니다. [1차: 1000000냥]",
ply_ptr->name);
       ply_ptr->gold+=1000000;
   }
   if(((time(0)+mrand(1,100))%1000)==9) {
       print(fd,"500000냥");
broadcast("\n### %M께서 2등에 당첨되셨습니다. [1차: 500000냥]",
ply_ptr->name);
       ply_ptr->gold+=500000;
   }
   if(((time(0)+mrand(1,100))%500)==9) {
       print(fd,"250000냥");
broadcast_rom(fd, "\n### %M께서 3등에 당첨되셨습니다. [1차: 250000냥]",
ply_ptr->name);
       ply_ptr->gold+=250000;
   }
   if(((time(0)+mrand(1,100))%250)==9) {
       print(fd,"100000냥");
broadcast_rom(fd, "\n### %M께서 4등에 당첨되셨습니. [1차: 100000냥]",
ply_ptr->name);
       ply_ptr->gold+=100000;
   }
   if(((time(0)+mrand(1,100))%100)==9) {
       print(fd,"50000냥");
broadcast_rom(fd, "\n### %M께서 5등에 당첨되셨습니다. [1차: 50000냥]",
ply_ptr->name);
       ply_ptr->gold+=50000;
   }
   if(((time(0)+mrand(1,10))%100)==9) {
       print(fd,"5000냥");
broadcast_rom(fd, "\n### %M께서 6등에 당첨되셨습니다. [1차: 5000냥]",
ply_ptr->name);
       ply_ptr->gold+=5000;
   }
   else print(fd, "꽝! 꽝! 꽝!");
ANSI(fd, GREEN);
   print(fd, "\n\n[[ ");
ANSI(fd, MAGENTA);
   print(fd, "2차 기회");
ANSI(fd, GREEN);
   print(fd, " ]]");
ANSI(fd, YELLOW);
   print(fd, " : ");
ANSI(fd, WHITE);
   if(((time(0)+mrand(1,100))%2000)==9) { /*확률 */
       print(fd,"1000000냥");
broadcast("\n### %M께서 1등에 당첨되셨습니다.[2차; 1000000냥]",
ply_ptr->name);
       ply_ptr->gold+=1000000;
   }
   if(((time(0)+mrand(1,100))%1000)==9) {
       print(fd,"500000냥");
broadcast("\n### %M께서 2등에 당첨되셨습니다. [2차: 500000냥]",
ply_ptr->name);
       ply_ptr->gold+=500000;
   }
   if(((time(0)+mrand(1,100))%500)==9) {
       print(fd,"250000냥");
broadcast_rom(fd, "\n### %M께서 3등에 당첨되셨습니다. [2차: 250000냥]",
ply_ptr->name);
       ply_ptr->gold+=250000;
   }
   if(((time(0)+mrand(1,100))%250)==9) {
       print(fd,"100000냥");
broadcast_rom(fd, "\n### %M께서 4등에 당첨되셨습니다. [2차: 100000냥]",
ply_ptr->name);
       ply_ptr->gold+=100000;
   }
   if(((time(0)+mrand(1,100))%100)==9) {
       print(fd,"50000냥");
broadcast_rom(fd, "\n###%M께서 5등에 당첨되셨습니다. [2차: 50000냥]",
ply_ptr->name);
       ply_ptr->gold+=50000;
   }
   if(((time(0)+mrand(1,10))%100)==9) {
       print(fd,"5000냥");
broadcast_rom(fd, "\n###%M께서 6등에 당첨되셨습니다. [2차: 5000냥]",
ply_ptr->name);
       ply_ptr->gold+=5000;
   }
   else print(fd, "꽝! 꽝! 꽝!");
ANSI(fd, GREEN);
   print(fd, "\n\n[[ ");
ANSI(fd, MAGENTA);
   print(fd, "3차 기회");
ANSI(fd, GREEN);
   print(fd, " ]]");
ANSI(fd, YELLOW);
   print(fd, " : ");
ANSI(fd, WHITE);
   if(((time(0)+mrand(1,100))%2000)==9) { /*확률 */
       print(fd,"1000000냥");
broadcast("\n###% M께서 1등에 당첨되셨습니다. [3차: 1000000냥]",
ply_ptr->name);
       ply_ptr->gold+=1000000;
   }
   if(((time(0)+mrand(1,100))%1000)==9) {
       print(fd,"500000냥");
broadcast("\n### %M께서 2등에 당첨되셨습니다. [3차: 500000냥]",
ply_ptr->name);
       ply_ptr->gold+=500000;
   }
   if(((time(0)+mrand(1,100))%500)==9) {
       print(fd,"250000냥");
broadcast("\n### %M께서 3등에 당첨되셨습니다. [3차: 250000냥]",
ply_ptr->name);
       ply_ptr->gold+=250000;
   }
   if(((time(0)+mrand(1,100))%250)==9) {
       print(fd,"100000냥");
broadcast("\n### %M께서 4등에 당첨되셨습니다. [3차: 100000냥]",
ply_ptr->name);
       ply_ptr->gold+=100000;
   }
   if(((time(0)+mrand(1,100))%100)==9) {
       print(fd,"50000냥");
broadcast("\n### %M께서 5등에 당첨되셨습니다. [3차: 50000냥]",
ply_ptr->name);
       ply_ptr->gold+=50000;
   }
   if(((time(0)+mrand(1,10))%100)==9) {
       print(fd,"5000냥");
broadcast("\n### %M께서 6등에 당첨되셨습니다. [3차: 5000냥]",
ply_ptr->name);
       ply_ptr->gold+=5000;
   }
   else print(fd, "꽝! 꽝! 꽝!");
   ply_bockwun_time[fd]=t+6; /* 긁어 딜레이 */
   return(0);
}
번호 제목 글쓴이 날짜 조회 수
57 도배방지 그리움 2007.04.12 222
56 그룹경험치 소스 그리움 2007.04.12 220
55 패거리전쟁중 "휴전" 그리움 2007.04.12 220
54 직업 추가하기 그리움 2007.04.12 218
53 자동으로 돈줍기 소스 그리움 2007.04.12 213
52 경매는 이렇게 그리움 2007.04.12 213
51 어디 그리움 2007.04.12 211
50 무한에서 안시 넣는 방법 그리움 2007.04.12 210
49 방설명 지우기 그리움 2007.04.12 209
48 특수 아이템 만들기 그리움 2007.04.12 209
» 복권 소스 그리움 2007.04.12 207
46 혼자 말하는 몹 그리움 2007.04.12 206
45 자동 이벤트 그리움 2007.04.12 204
44 낮과 밤이 되면 어둡고 환하게 그리움 2007.04.12 203
43 귀환장소 변경 소스 #1 그리움 2007.04.12 202
42 개량형 우체국 그리움 2007.04.12 202
41 주문추가 소스 그리움 2007.04.12 201
40 출구모양 개량 소스 그리움 2007.04.12 201
39 자동수련 소스 그리움 2007.04.12 201
38 잡담 안시 사용하기 그리움 2007.04.12 200


XE Login