즐겨찾기 추가
머드클럽이 새롭게 오픈하였습니다!
로그인
회원가입
계정찾기
머드클럽
머드게임이란?
게임은 어떤 환경에서?
본격적으로 게임해 볼까?
배너교환
머드강좌
일반 머드강좌
성천사님의 머드강좌
혼님의 머드강좌
방울꽃님의 머드강좌
리트님의 머드강좌
2Soo님의 머드강좌
내머드소개하기
접속가능머드
내머드소개하기
자료실
접속 프로그램
머드소스
머드 유틸리티
기타
커뮤니티
공지사항
등업신청
머드클럽에바란다
자유 게시판
질문 AND 답변
머드클럽 갤러리
구인구직
머드게임소개
사신전(死神戰)
사신전 소개
사신전 맵
사신전 명령어 모음집
천명(天命)
천명 소개
천명 맵
천명 명령어 모음집
마이페이지
로그인
회원가입
계정찾기
일반 머드강좌 - 글수정
제목
비밀글
작성자
분류
분류는 필수로 선택하시기 바랍니다.
기타
circle
hanlp
mordor
소스분석
흑염
천무혼
/**********************/ <br />/* makeitem */ <br />/**********************/ <br /> <br />void make_item(); <br />int makeitem(ply_ptr, cmnd) <br />creature *ply_ptr; <br />cmd *cmnd; <br />{ <br /> room *rom_ptr; <br /> object *obj_ptr; <br /> int fd; <br /> fd = ply_ptr->fd; <br /> rom_ptr = ply_ptr->parent_rom; <br /> <br /> if(!F_ISSET(rom_ptr, RFORGE)) { <br /> print(fd, "여기는 대장간이 아닙니다."); <br /> return(0); <br /> } <br /> <br /> <br /> F_SET(ply_ptr, PNOBRD); <br /> make_item(fd, 1, NULL); <br /> F_CLR(ply_ptr, PNOBRD); <br /> <br /> return(DOPROMPT); <br />} <br /> <br />char forge1[PMAX][16]; <br />char forge2[PMAX][16]; <br />void make_item(fd, param, str) <br />int fd; <br />int param; <br />char *str; <br />{ <br /> int i; <br /> long sum=0; <br /> int num[5]; <br /> creature *ply_ptr; <br /> object *obj_ptr; <br /> ply_ptr=Ply[fd].ply; <br /> <br /> switch(param) { <br /> case 1: <br /> print(fd,"\n\n"); <br /> print(fd, "1.머리 2.얼굴 3.목 4.몸\n"); <br /> print(fd, "5.팔 6.손 7.손가락 8.다리\n"); <br /> print(fd, "9.발 @.방패 *.쥐는것\n\n"); <br /> print(fd, "어디에 입을 장비를 원하세요: " ); <br /> F_SET(Ply[fd].ply,PREADI); <br /> output_buf(); <br /> Ply[fd].io->intrpt &= ~1; <br /> RETURN(fd, make_item, 2); <br /> case 2: <br /> F_CLR(Ply[fd].ply,PREADI); <br /> <br /> if(str[0] == '@' || str[0] == '1' || str[0] == '2'|| <br /> str[0] == '3' || str[0] == '4' || str[0] == '5' || <br /> str[0] == '6' || str[0] == '7' || str[0] == '8' || <br /> str[0] == '9' || str[0] == '*' ) { <br /> <br /> if(str[0] == '1') { <br /> if(load_obj(50, &obj_ptr) < 0) { <br /> print(ply_ptr->fd, "에러!\n"); <br /> return; <br /> } <br /> } <br /> if(str[0] == '2') { <br /> if(load_obj(51, &obj_ptr) < 0) { <br /> print(ply_ptr->fd, "에러!\n"); <br /> return; <br /> } <br /> } <br /> if(str[0] == '3') { <br /> if(load_obj(52, &obj_ptr) < 0) { <br /> print(ply_ptr->fd, "에러!\n"); <br /> return; <br /> } <br /> } <br /> if(str[0] == '4') { <br /> if(load_obj(53, &obj_ptr) < 0) { <br /> print(ply_ptr->fd, "에러!\n"); <br /> return; <br /> } <br /> } <br /> if(str[0] == '5') { <br /> if(load_obj(54, &obj_ptr) < 0) { <br /> print(ply_ptr->fd, "에러!\n"); <br /> return; <br /> } <br /> } <br /> if(str[0] == '6') { <br /> if(load_obj(55, &obj_ptr) < 0) { <br /> print(ply_ptr->fd, "에러!\n"); <br /> return; <br /> } <br /> } <br /> if(str[0] == '7') { <br /> if(load_obj(56, &obj_ptr) < 0) { <br /> print(ply_ptr->fd, "에러!\n"); <br /> return; <br /> } <br /> } <br /> if(str[0] == '8') { <br /> if(load_obj(57, &obj_ptr) < 0) { <br /> print(ply_ptr->fd, "에러!\n"); <br /> return; <br /> } <br /> } <br /> if(str[0] == '9') { <br /> if(load_obj(58, &obj_ptr) < 0) { <br /> print(ply_ptr->fd, "에러!\n"); <br /> return; <br /> } <br /> } <br /> <br /> if(str[0] == '@') { <br /> if(load_obj(59, &obj_ptr) < 0) { <br /> print(fd, "에러!\n"); <br /> return; <br /> } <br /> } <br /> <br /> if(str[0] == '*') { <br /> if(load_obj(60, &obj_ptr) < 0) { <br /> print(fd, "에러!\n"); <br /> return; <br /> } <br /> } <br /> } <br /> <br /> else { <br /> print(fd, "잘못 입력 하셨습니다.\n선택: "); <br /> F_SET(Ply[fd].ply,PREADI); <br /> RETURN(fd, make_item, 2); <br /> } <br /> <br /> /* 포인터 obj_ptr을 long형으로 바꿔 저장. */ <br /> sprintf(forge1[fd],"%lu",(long)obj_ptr); <br /> <br /> print(fd, "\n\n"); <br />print(fd, "======================================================\n"); <br />print(fd, " 재료 방어력 특성치 회복치 레벨 가격\n"); <br />print(fd, " ------------------------------------------------------\n"); <br />print(fd, " 1.강 철 방어+3 파괴+1 5 100000냥\n"); <br />print(fd, " 2.금강석 방어+5 파괴+3 10 300000냥\n"); <br />print(fd, " 3.귀금속 방어+7 파괴+5 15 500000냥\n"); <br />print(fd, " 4.세라믹 방어+11 파괴+8 회복+3 40 1000000냥\n"); <br />print(fd, " 5.티타늄 방어+20 파괴+15 회복+5 100 5000000냥\n\n"); <br />print(fd, "선택해주세요: "); <br /> <br /> F_SET(Ply[fd].ply,PREADI); <br /> RETURN(fd, make_item, 3); <br /> case 3: <br /> F_CLR(Ply[fd].ply,PREADI); <br /> obj_ptr=(object *)atol(forge1[fd]); <br /> switch(low(str[0])) { <br /> case '1': <br /> obj_ptr->armor = 3; <br /> obj_ptr->odestructive = 1; <br /> obj_ptr->limit = 5; <br /> sum = 100000; <br /> break; <br /> case '2': <br /> obj_ptr->armor = 5; <br /> obj_ptr->odestructive = 3; <br /> sum = 300000; <br /> obj_ptr->limit = 10; <br /> break; <br /> case '3': <br /> obj_ptr->armor = 7; <br /> obj_ptr->odestructive = 5; <br /> obj_ptr->limit = 15; <br /> sum = 500000; <br /> break; <br /> case '4': <br /> obj_ptr->armor = 11; <br /> obj_ptr->odestructive = 8; <br /> obj_ptr->repower =3; <br /> obj_ptr->limit = 40; <br /> sum = 1000000; <br /> break; <br /> case '5': <br /> obj_ptr->armor = 20; <br /> obj_ptr->odestructive = 15; <br /> obj_ptr->repower = 5; <br /> obj_ptr->limit = 100; <br /> sum = 5000000; <br /> break; <br /> default: print(fd, "잘못 입력 하셨습니다. 선택: "); <br /> F_SET(Ply[fd].ply,PREADI); <br /> RETURN(fd, make_item, 3); <br /> } <br /> sprintf(forge2[fd],"%lu",sum); <br /> print(fd, "\n담금질을 많이 할수록 수명이 늘어납니다."); <br /> print(fd, "\n몇번의 담금질을 원하십니까?\n"); <br /> print(fd, "\n1. 100번 가격: 50000"); <br /> print(fd, "\n2. 200번 가격: 200000"); <br /> print(fd, "\n3. 300번 가격: 500000"); <br /> print(fd, "\n4. 400번 가격: 1000000"); <br /> print(fd, "\n5. 500번 가격: 2000000"); <br /> print(fd, "\n선택: "); <br /> F_SET(Ply[fd].ply,PREADI); <br /> RETURN(fd, make_item, 4); <br /> case 4: <br /> F_CLR(Ply[fd].ply,PREADI); <br /> obj_ptr=(object *)atol(forge1[fd]); <br /> sum=atol(forge2[fd]); <br /> switch(low(str[0])) { <br /> case '1': <br /> obj_ptr->shotsmax = 100; <br /> obj_ptr->shotscur = 100; <br /> sum += 50000; <br /> break; <br /> case '2': <br /> obj_ptr->shotsmax = 200; <br /> obj_ptr->shotscur = 200; <br /> sum += 200000; <br /> break; <br /> case '3': <br /> obj_ptr->shotsmax = 300; <br /> obj_ptr->shotscur = 300; <br /> sum += 500000; <br /> break; <br /> case '4': <br /> obj_ptr->shotsmax = 400; <br /> obj_ptr->shotscur = 400; <br /> sum += 1000000; <br /> break; <br /> case '5': <br /> obj_ptr->shotsmax = 500; <br /> obj_ptr->shotscur = 500; <br /> sum += 2000000; <br /> break; <br /> default: print(fd, "선택: "); <br /> F_SET(Ply[fd].ply,PREADI); <br /> RETURN(fd, make_item, 4); <br /> } <br /> sprintf(forge2[fd],"%lu",sum); <br /> print(fd, "\n물건의 이름을 결정해 주세요."); <br /> print(fd, "\n다시 바꿀수 없으니 신중히 결정 하십시요.\n"); <br /> print(fd, ": "); <br /> F_SET(Ply[fd].ply,PREADI); <br /> RETURN(fd, make_item, 5); <br /> case 5: <br /> F_CLR(Ply[fd].ply,PREADI); <br /> obj_ptr=(object *)atol(forge1[fd]); <br /> if(strchr(str,'(') || strchr(str,')')) { <br /> print(fd,"이름에는 괄호가 들어갈수 없습니다.\n이름을 다시 넣으십시요:"); <br /> RETURN(fd, make_item, 5); <br /> } <br /> if(strlen(str) > 20) { <br /> print(fd, "입력된 이름이 너무 깁니다.\n이름을 다시 넣으십시요(3자이상 20자이하): "); <br /> RETURN(fd, make_item, 5); <br /> } <br /> if(strlen(str) < 3) { <br /> print(fd, "입력된 이름이 너무 짧습니다.\n이름을 다시 넣으십시요(3자이상 20자이하): "); <br /> F_SET(Ply[fd].ply,PREADI); <br /> RETURN(fd, make_item, 5); <br /> } <br /> strncpy(obj_ptr->name, str, 20); <br /> print(fd, "\n모든것에 만족하십니까? (예/아니오)\n"); <br /> print(fd, ": "); <br /> F_SET(Ply[fd].ply,PREADI); <br /> RETURN(fd, make_item, 6); <br /> case 6: <br /> F_CLR(Ply[fd].ply,PREADI); <br /> obj_ptr=(object *)atol(forge1[fd]); <br /> sum=atol(forge2[fd]); <br /> if(!strncmp(str,"예",2)) { <br /> if (ply_ptr->gold < sum) { <br /> print(fd, "\n주인이 인상을 찡그립니다. '돈도 없으면서! 쳇~!'"); <br /> free(obj_ptr); <br /> break; <br /> } <br /> add_obj_crt(obj_ptr,ply_ptr); <br /> print(fd, "\n주인이 당신에게 방금 제작한 장비를 넘겨줍니다."); <br /> broadcast_rom(fd, ply_ptr->rom_num, <br /> "\n%M이 주인에게 새로제작된 장비를 넘겨받습니다.",ply_ptr); <br /> ply_ptr->gold -= sum; <br /> } <br /> else { <br /> print(fd,"취소 하였습니다."); <br /> free(obj_ptr); <br /> } <br /> break; <br /> } <br /> RETURN(fd, command, 1); <br />} <br />
Upload
비밀번호
비밀번호 변경
미리보기
저장
취소
개인정보처리방침
이용약관
사업자등록정보
모바일화면
주소
[48051] 부산시 해운대구 해운대로61번길 102 2층
사업자등록번호
617-81-48005
통신판매사업자등록번호
부산 해운대구 2010-11호
상호명
(주)소프트게임
대표
왕균
개인정보관리자
김민영
전화번호
070-7777-5511
팩스번호
0504-983-0077
이메일
v5959@naver.com
Copyright 2018. 텍스트머드클럽. All right reserved.
DESIGN BY
www.softgame.kr
쪽지를 전송하고 있습니다. 잠시 기다려주세요.
쪽지보내기
받는이(ID/닉네임)
닉네임으로 입력
내용
쪽지가 도착하였습니다.
쪽지함
쪽지 내용을 읽어오고 있습니다. 잠시 기다려주세요.
--