머드클럽
머드게임이란?
게임은 어떤 환경에서?
본격적으로 게임해 볼까?
배너교환
머드강좌
일반 머드강좌
성천사님의 머드강좌
혼님의 머드강좌
방울꽃님의 머드강좌
리트님의 머드강좌
2Soo님의 머드강좌
내머드소개하기
접속가능머드
내머드소개하기
자료실
접속 프로그램
머드소스
머드 유틸리티
기타
커뮤니티
공지사항
등업신청
머드클럽에바란다
자유 게시판
질문 AND 답변
머드클럽 갤러리
구인구직
머드게임소개
사신전(死神戰)
사신전 소개
사신전 맵
사신전 명령어 모음집
천명(天命)
천명 소개
천명 맵
천명 명령어 모음집
마이페이지
로그인
회원가입
계정찾기
로그인
회원가입
계정찾기
텍스트머드클럽
검색
[mordor]사전딜레이.
GrayRese
1
2,820
0
0
2004-09-06 11:23:42
/* 주문을 사용할때 기존 무한대전에서는 주문 후의 <br /> * 딜레이만 있던것에 추가해서 사전딜레이도 <br /> * 넣을수 있게 만들었습니다. <br /> * 사전딜레이를 하려면 해당 기술을 수정해야 합니다. <br /> * <br /> * 이 소스는 mordor계열이라면 약간만 수정하시면 <br /> * 적용하실수 있습니다. <br /> * <br /> * 이 소스는 prototype인 관계로 많은 버그가 <br /> * 있으니 참고용으로 쓰시기 바랍니다. <br /> * <br /> * 기타 문의는 msn의 tkeo@grayrese.com 로 부탁드립니다. <br /> * <br /> * <br /> * <br /> * http://www.grayrese.com <br /> * tkeo@dreamwiz.com <br /> * GrayRese <br /> */ <br /> <br /> <br />mstruct.h의 creature부분에 <br />저장공간으로 쓸 <br /> <br />char attacktarget[72]; <br /> <br />와 스킬 번호를 기억할 <br /> <br />char castskillnum; <br /> <br />를 선언합니다. <br /> <br /> <br /> <br />update.c부분에서 <br /> <br />if(t - last_user_update >= 1) <br /> update_users(t); <br /> <br />이렇게 고치도록 합니다. <br />이부분은 플레이어 함수를 호출하는 시간을 지정하는것입니다. <br /> <br /> <br /> <br />mtype.h부분에 플레이어 부분에 <br /> <br />#define PCASTING 67 <br />#define PCASTED 68 <br /> <br />를, 역시 mtype.h의 lastime부분에다가 <br /> <br />#define LT_TEST 44 <br /> <br />를 선언해줍니다. <br /> <br /> <br /> <br />player.c에 update_ply함수에서 <br /> <br /> if(F_ISSET(ply_ptr, PCASTING)) <br /> { <br /> if(t > LT(ply_ptr, LT_TEST)) <br /> count_down(ply_ptr, LT_TEST); <br /> } <br /> <br />를 추가해줍니다. <br /> <br /> <br /> <br />마지막으로 밑에 부분을 아무곳에 넣어둡니다. <br /> <br /> <br />/*기술 설정부분. 이부분 하나가 기술이다.*/ <br />int casting_magic( creature *ply_ptr, cmd *cmnd ) <br />{ <br /> creature *crt_ptr; <br /> room *rom_ptr; <br /> int i, j, t, fd, tmp; <br /> <br /> tmp = LT_TEST; <br /> fd = ply_ptr->fd; <br /> rom_ptr = ply_ptr->parent_rom; <br /> <br /> if(!F_ISSET(ply_ptr, PCASTED)) //캐스팅이 완료되지 않닸다면 <br /> { <br /> if(cmnd->num < 2) <br /> { <br /> print(fd, "누구한테 마법을 거실려고요?\n"); <br /> return(0); <br /> } <br /> crt_ptr = find_crt(ply_ptr, rom_ptr->first_mon, cmnd->str[1], <br /> cmnd->val[1]); <br /> i = LT(ply_ptr, LT_TEST); <br /> t = time(0); <br /> <br /> if(!F_ISSET(ply_ptr, PCASTING)) //PCASTING라는 플레그가 걸려있지 않다면 <br /> { <br /> ply_ptr->lasttime[LT_TEST].ltime = t; <br /> ply_ptr->lasttime[LT_TEST].interval = 3; <br /> ply_ptr->castskillnum = 1; <br /> strcpy(ply_ptr->attacktarget, crt_ptr->name); <br /> F_SET(ply_ptr, PCASTING); <br /> count_down(ply_ptr, tmp); <br /> //딜레이 설정 및 주술번호 설정. <br /> } <br /> else //PCASTING가 걸려있다면 <br /> { <br /> print(fd, "이미 캐스팅중입니다"); <br /> } <br /> } <br /> else //캐스팅이 다 되어있다면 <br /> { <br /> crt_ptr = find_crt(ply_ptr, rom_ptr->first_mon, <br /> ply_ptr->attacktarget,1); <br /> <br /> if(!is_enm_crt(ply_ptr->name, crt_ptr)) <br /> add_enm_crt(ply_ptr->name, crt_ptr); <br /> <br /> print(fd, "공격부분 넣으면 완료!"); <br /> <br /> F_CLR(ply_ptr, PCASTED); <br /> ply_ptr->castskillnum = 0; <br /> for(j=0 ; j<72 ; j++) <br /> ply_ptr->attacktarget[j] = 0; <br /> <br /> } <br /> <br /> <br /> <br /> return(0); <br />} <br /> <br /> <br />/*카운트다운 후에 다시 호출한 함수를 호출한다.*/ <br />int count_down( creature *ply_ptr, int tmp ) <br />{ <br /> creature *crt_ptr; <br /> room *rom_ptr; <br /> int i, t, fd; <br /> <br /> rom_ptr = ply_ptr->parent_rom; <br /> fd = ply_ptr->fd; <br /> t = time(0); <br /> i = ply_ptr->lasttime[tmp].ltime + ply_ptr->lasttime[tmp].interval; <br /> crt_ptr = find_crt(ply_ptr, rom_ptr->first_mon,ply_ptr->attacktarget,1); <br /> <br /> if(i > t) <br /> { <br /> print(fd, "딜레이 %d\n", i-t); <br /> } <br /> else <br /> { <br /> F_CLR(ply_ptr, PCASTING); <br /> F_SET(ply_ptr, PCASTED); <br /> <br /> if(ply_ptr->castskillnum == 1) <br /> casting_magic(ply_ptr, NULL); <br /> if(ply_ptr->castskillnum == 2) <br /> print(fd, "스킬2"); <br /> /*밑에부분에 위와 같은식으로 더해간다.*/ <br /> <br /> } <br /> <br /> return(0); <br />} <br /> <br />이렇게 추가해 주고 mextern.h에도 선언해줍니다.
0
0
새글
답변
수정
삭제
최신목록
전체목록
윈도우에서 리눅스버전 머드 돌려보기.
서클의 지도 공부..
1
Comments
달마
2004.09.08(수) 오후 08:45:10
답변
사전딜레이 하는법을 여기에 올렸구만. ~ ~ ㅋㅋ
코멘트를 삭제할 비밀번호를 입력하세요.
비밀번호:
댓글에 답하기
입력
닫기
정회원 이상만 코멘트 쓰기가 가능합니다.
총 게시물 107개 / 검색된 게시물: 107개
누구든지 머드 강의를 올리수 있는 곳입니다...^^
[circle]
전투시스템 기초와 실전테크
0
3651
0
0
사비
2004-11-24
[기타]
HanLP 지도명령 mudos 버젼으로 바꾸기.
0
3051
0
0
천유
2004-11-21
[circle]
단땅 프로젝트 ^^*
4
3724
0
0
사비
2004-11-19
[circle]
단땅 공지 3 .(사비님 미르님...~~)
2
3270
0
0
머드짱
2004-11-17
[circle]
단땅 21
6
3285
0
0
머드짱
2004-11-15
[hanlp]
input_to 사용에 대한 제 생각.
0
2966
0
0
추리소설
2004-11-13
[circle]
단땅 공지 2
7
2846
0
0
머드짱
2004-11-05
[circle]
단땅 21
1
3243
0
0
머드짱
2004-11-05
[circle]
단땅 20(존 제작)
0
3343
0
0
머드짱
2004-11-04
[circle]
단땅 19
0
2930
0
0
머드짱
2004-10-30
[circle]
단땅 18 / 몹 변환된 모습
0
3323
0
0
머드짱
2004-10-30
[circle]
단땅 17 / 아이템 변환모습
0
2905
0
0
머드짱
2004-10-27
[circle]
단땅 아래소스 설명 16-1
0
3118
0
0
머드짱
2004-10-27
[circle]
단땅 16
0
2951
0
0
머드짱
2004-10-27
[circle]
단땅 15
1
3225
0
0
머드짱
2004-10-26
[circle]
단땅 강좌 공지
1
3111
0
0
머드짱
2004-10-25
[circle]
suntzu 9월 30일버젼 한글아이디 저장시키기
0
2965
0
0
미르
2004-10-24
[기타]
패치파일 제작하기
1
2867
0
0
미르
2004-09-27
[기타]
윈도우에서 리눅스버전 머드 돌려보기.
1
3544
0
0
손문
2004-09-25
[mordor]
사전딜레이.
1
2821
0
0
GrayRese
2004-09-06
이전
1
2
3
4
5
6
다음
검색
글쓰기
최신목록
전체목록
시작일
종료일
분류별 검색
전체보기
기타
circle
hanlp
mordor
소스분석
흑염
천무혼
검색어
이름
제목
내용
검색
닫기
로그인
회원가입
계정찾기
개인정보처리방침
이용약관
PC화면
Copyright (c) 텍스트머드클럽. All rights reserved.
쪽지를 전송하고 있습니다. 잠시 기다려주세요.
쪽지보내기
받는이(ID/닉네임)
닉네임으로 입력
내용
쪽지가 도착하였습니다.
쪽지함
쪽지 내용을 읽어오고 있습니다. 잠시 기다려주세요.
--