기술추가
2007.04.12 12:59
기술추가하기 위한 작업단계.
1. 기술을 만든다. (^^;)
예를들어, 2연타를 하는 기술을 만든다고 가정을 해보도록
하죠.
2연타라면, 사용자가 지정한 몹을 공격할때마다, 무조건
두번을 때려야 하겠죠? 움. 우선 기술 함수 이름을 두번
때리니까 void double_attack(ply_pyr, cmnd)라고 하도록
하죠.
global.c의 cmdlist에다가 다음의 내용을 추가합니다.
(-_-; 기술 이름을 멀루할지 생각이...)
{"더블킥", 100, double_kick},
후훗! 기껏 생각해낸게 더블킥입니다여 -_-;;;
그다음, mextern.h에다가 저 함수의 prototype을 선언해
줘야 하겠죠?
double_kick을 command14.c에다 넣는다고 가정을 한다면
mextern.h의 command14.c화일을 선언하는 부분에다가
exern void double_kick(); <- 이 내용을 추가해줍니다.
mextern.h의 아무곳에나 저 내용을 기술해도 되지만,
통일성을 가하는게 보기가 편하거든요. ^^
이제부터 double_kick을 만드는 부분이군요.
이 내용은 간단하게 뼈대만 넣어 설명을 하도록 하겠습니다.
int double_kick(ply_ptr, cmnd)
creature ply_ptr;
cmd *cmnd;
{
int fd;
creature crt_ptr;
rom rom_ptr;
fd = ply_ptr->fd;
rom_ptr = ply_ptr->parent_rom; ; 사용자가 있는 방 체크
if(cmnd->num < 2) {
; 공격 대상을 기술하지 않았으므로, 메시지를
; 보여주고 리턴
}
; 이부분에서 더블킥을 특정 직업을 수련한 사용자만
; 사용할 수 있게 하려면, 해당 직업을 수련했는지
; 또는 특정렙에 도달 했는지 체크를 합니다.
; 무적이상만 사용할 수 있는 기술이라고 한다면.
if(ply_ptr->class < INVINCIBLE) {
print(fd,"무적이상만 사용 가능한 기술입니다.");
return(0);
}
이제 지정한 몹이, 플레이어가 있는 방안에 존재하는지
찾아야 겠죠? 방안의 지정한 몹을 찾는 함수가 바로
find_crt입니다.
crt_ptr = find_crt(ply_ptr, rom_ptr->first_mon, cmnd->str[1], cmnd->val[1]);
; crt_ptr값이 널일경우 그러한 것이 존재하지 않는것이므로
; 메시지를 보여주고 리턴합니다.
; 리턴이 되지 않았으면, 몹이 존재하는 것이므로 몹에
; 대한 공격 루틴을 만들어 주면 되죠.
; 단 여기서 필요한 여러가지를 검사해 주어야 하는데,
; 지정된 몹이, 공격 가능한 몹인지 체크해야 하구요
; 기술의 딜레이같은것도 설정해 주어야 합니다.
; 딜레이 없이 무한정 나가는 기술이라면, 엄청난 초
; 필살기가 되겠죠?
; 그리고, 기술의 확률부분, 타격치 부분도 계산을 하면
; 되죠, 일정 확률치가 나와야만 기술이 성공하게! ^^;
;이제 모든 내용을 체크하고 화면에 공격되는 루틴을 뿌려
;주면 됩니다.
return(0);
}
설명이, 조급 조잡해진듯한 느낌이 드는군요! 글을 정리해서
올려야 하는데, 그러질 못했습니다. 죄송스럽게 생각하구요.
부족하지만, 위의 내용을 토대로 멋진 기술을 만들어보시기 바랍니다.
홈지기 "그륨".
1. 기술을 만든다. (^^;)
예를들어, 2연타를 하는 기술을 만든다고 가정을 해보도록
하죠.
2연타라면, 사용자가 지정한 몹을 공격할때마다, 무조건
두번을 때려야 하겠죠? 움. 우선 기술 함수 이름을 두번
때리니까 void double_attack(ply_pyr, cmnd)라고 하도록
하죠.
global.c의 cmdlist에다가 다음의 내용을 추가합니다.
(-_-; 기술 이름을 멀루할지 생각이...)
{"더블킥", 100, double_kick},
후훗! 기껏 생각해낸게 더블킥입니다여 -_-;;;
그다음, mextern.h에다가 저 함수의 prototype을 선언해
줘야 하겠죠?
double_kick을 command14.c에다 넣는다고 가정을 한다면
mextern.h의 command14.c화일을 선언하는 부분에다가
exern void double_kick(); <- 이 내용을 추가해줍니다.
mextern.h의 아무곳에나 저 내용을 기술해도 되지만,
통일성을 가하는게 보기가 편하거든요. ^^
이제부터 double_kick을 만드는 부분이군요.
이 내용은 간단하게 뼈대만 넣어 설명을 하도록 하겠습니다.
int double_kick(ply_ptr, cmnd)
creature ply_ptr;
cmd *cmnd;
{
int fd;
creature crt_ptr;
rom rom_ptr;
fd = ply_ptr->fd;
rom_ptr = ply_ptr->parent_rom; ; 사용자가 있는 방 체크
if(cmnd->num < 2) {
; 공격 대상을 기술하지 않았으므로, 메시지를
; 보여주고 리턴
}
; 이부분에서 더블킥을 특정 직업을 수련한 사용자만
; 사용할 수 있게 하려면, 해당 직업을 수련했는지
; 또는 특정렙에 도달 했는지 체크를 합니다.
; 무적이상만 사용할 수 있는 기술이라고 한다면.
if(ply_ptr->class < INVINCIBLE) {
print(fd,"무적이상만 사용 가능한 기술입니다.");
return(0);
}
이제 지정한 몹이, 플레이어가 있는 방안에 존재하는지
찾아야 겠죠? 방안의 지정한 몹을 찾는 함수가 바로
find_crt입니다.
crt_ptr = find_crt(ply_ptr, rom_ptr->first_mon, cmnd->str[1], cmnd->val[1]);
; crt_ptr값이 널일경우 그러한 것이 존재하지 않는것이므로
; 메시지를 보여주고 리턴합니다.
; 리턴이 되지 않았으면, 몹이 존재하는 것이므로 몹에
; 대한 공격 루틴을 만들어 주면 되죠.
; 단 여기서 필요한 여러가지를 검사해 주어야 하는데,
; 지정된 몹이, 공격 가능한 몹인지 체크해야 하구요
; 기술의 딜레이같은것도 설정해 주어야 합니다.
; 딜레이 없이 무한정 나가는 기술이라면, 엄청난 초
; 필살기가 되겠죠?
; 그리고, 기술의 확률부분, 타격치 부분도 계산을 하면
; 되죠, 일정 확률치가 나와야만 기술이 성공하게! ^^;
;이제 모든 내용을 체크하고 화면에 공격되는 루틴을 뿌려
;주면 됩니다.
return(0);
}
설명이, 조급 조잡해진듯한 느낌이 드는군요! 글을 정리해서
올려야 하는데, 그러질 못했습니다. 죄송스럽게 생각하구요.
부족하지만, 위의 내용을 토대로 멋진 기술을 만들어보시기 바랍니다.
홈지기 "그륨".
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
37 | 개량형 우체국 | 그리움 | 2007.04.12 | 230 |
» | 기술추가 | 그리움 | 2007.04.12 | 246 |
35 | 안시 문자열로 인한 공백 #2 | 그리움 | 2007.04.12 | 242 |
34 | 지도 기능 | 그리움 | 2007.04.12 | 219 |
33 | 안시 사용하기 | 그리움 | 2007.04.12 | 209 |
32 | 분신을 만드는 기술 | 그리움 | 2007.04.12 | 221 |
31 | 방설명 안시 넣기 | 그리움 | 2007.04.12 | 212 |
30 | 패거리 전쟁 승패 기록 | 그리움 | 2007.04.12 | 210 |
29 | 접속화면을 멋있게 | 그리움 | 2007.04.12 | 197 |
28 | 패거리 직위 내리기 | 그리움 | 2007.04.12 | 200 |
27 | 이도류 | 그리움 | 2007.04.12 | 237 |
26 | 안시 문자열로 인한 공백 | 그리움 | 2007.04.12 | 230 |
25 | 자동으로 돈줍기 #2 | 그리움 | 2007.04.12 | 237 |
24 | 자동 이벤트 | 그리움 | 2007.04.12 | 242 |
23 | 낮과 밤이 되면 어둡고 환하게 | 그리움 | 2007.04.12 | 241 |
22 | 직업 추가하기 #2 | 그리움 | 2007.04.12 | 233 |
21 | 경매는 이렇게 | 그리움 | 2007.04.12 | 250 |
20 | 패거리전쟁중 "휴전" | 그리움 | 2007.04.12 | 257 |
19 | 도배방지 | 그리움 | 2007.04.12 | 266 |
18 | 직업 추가하기 | 그리움 | 2007.04.12 | 254 |