복권 소스
2007.04.12 11:38
**복권 소스**
복권을 긁으면 당첨금이 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);
}
복권을 긁으면 당첨금이 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);
}
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
17 | 방설명 지우기 | 그리움 | 2007.04.12 | 252 |
16 | 그룹경험치 소스 | 그리움 | 2007.04.12 | 254 |
15 | 자동수련 소스 | 그리움 | 2007.04.12 | 234 |
14 | 귀환장소 변경소스 #2 | 그리움 | 2007.04.12 | 228 |
13 | 귀환장소 변경 소스 #1 | 그리움 | 2007.04.12 | 238 |
12 | 출구모양 개량 소스 | 그리움 | 2007.04.12 | 247 |
11 | 자기 아파트 자기가 방설명 넣기 | 그리움 | 2007.04.12 | 233 |
10 | 혼자 말하는 몹 | 그리움 | 2007.04.12 | 239 |
9 | 패거리 레벨 조정 소스 | 그리움 | 2007.04.12 | 234 |
8 | 방 전체공격 소스 | 그리움 | 2007.04.12 | 234 |
7 | 주문추가 소스 | 그리움 | 2007.04.12 | 234 |
6 | 패거리창고 소스 | 그리움 | 2007.04.12 | 229 |
5 | 자동으로 돈줍기 소스 | 그리움 | 2007.04.12 | 252 |
» | 복권 소스 | 그리움 | 2007.04.12 | 238 |
3 | 무한에서 안시 넣는 방법 | 그리움 | 2007.04.12 | 243 |
2 | 배경색 바꾸기 | 그리움 | 2007.04.12 | 234 |
1 | 어디 | 그리움 | 2007.04.12 | 252 |