contact 머드클럽 문의하기 카카오톡
즐겨찾기 추가plus 머드클럽이 새롭게 오픈하였습니다!
sub image
신세계 장비위치 구하기
member photo 성천사 0 202 0 2024-03-04 10:30:34

사용법: where(임의의 변수) = find_object_pos(ch, obj);

주로 장비 착용(equip_char(ch, obj, where);)을 사용할 때 사용함.

 

지정한 물건이 신체 어느부위에 착용이 가능한지 구하는 코드

 

// equip_char에서 중복장비는 착용이 불가능 하게 체크되어 있으므로

// 목걸이나, 손가락, 특수장비 같이 두개이상 착용 부위에서 마지막 장비의 착용가능 여부를 따로 코드로 작성하지 않음

 

int find_object_pos(struct char_data *ch, struct obj_data *obj)
{
    int where = -1;

    if (GET_OBJ_TYPE(obj) == ITEM_LIGHT) {
        where = WEAR_LIGHT;
    } else if (CAN_WEAR(obj, ITEM_WEAR_FINGER)) {
        if (GET_EQ(ch, WEAR_FINGER_R) == NULL) { // 오른손가락이 비어 있으면
            where = WEAR_FINGER_R;                    // 오른손가락에 착용가능
        } else {                                                 // 오른손가락에 장착중인장비가 있다면
            where = WEAR_FINGER_L;                    // 왼손가락에 착용가능
        }                                                        
    } else if (CAN_WEAR(obj, ITEM_WEAR_NECK)) {
        if (GET_EQ(ch, WEAR_NECK_1) == NULL) {
            where = WEAR_NECK_1;
        } else {
            where = WEAR_NECK_2;
        }
    } else if (CAN_WEAR(obj, ITEM_WEAR_BODY)) {
        where = WEAR_BODY;
    } else     if (CAN_WEAR(obj, ITEM_WEAR_HEAD)) {
        where = WEAR_HEAD;
    } else if (CAN_WEAR(obj, ITEM_WEAR_LEGS)) {
        where = WEAR_LEGS;
    } else if (CAN_WEAR(obj, ITEM_WEAR_FEET)) {
        where = WEAR_FEET;
    } else if (CAN_WEAR(obj, ITEM_WEAR_HANDS)) {
        where = WEAR_HANDS;
    } else if (CAN_WEAR(obj, ITEM_WEAR_ARMS)) {
        where = WEAR_ARMS;
    } else if (CAN_WEAR(obj, ITEM_WEAR_SHIELD)) {
        where = WEAR_SHIELD;
    } else if (CAN_WEAR(obj, ITEM_WEAR_ABOUT)) {
        where = WEAR_ABOUT;
    } else if (CAN_WEAR(obj, ITEM_WEAR_WAIST)) {
        where = WEAR_WAIST;
    } else if (CAN_WEAR(obj, ITEM_WEAR_WRIST)) {
        if (GET_EQ(ch, WEAR_WRIST_R) == NULL) {
            where = WEAR_WRIST_R;
        } else {
            where = WEAR_WRIST_L;
        }
    } else if (CAN_WEAR(obj, ITEM_WEAR_WIELD)) {
        where = WEAR_WIELD;
    } else if (CAN_WEAR(obj, ITEM_WEAR_HOLD)) {
        where = WEAR_HOLD;
    } else if (CAN_WEAR(obj, ITEM_WEAR_TRANS)) {
        where = WEAR_TRANS;
    } else if (CAN_WEAR(obj, ITEM_WEAR_AFF)) {
        if (GET_EQ(ch, WEAR_AFF1) == NULL) {
            where = WEAR_AFF1;
        } else if (GET_EQ(ch, WEAR_AFF2) == NULL) {
            where = WEAR_AFF2;
        } else if (GET_EQ(ch, WEAR_AFF3) == NULL) {
            where = WEAR_AFF3;
        } else if (GET_EQ(ch, WEAR_AFF4) == NULL) {
            where = WEAR_AFF4;
        } else if (GET_EQ(ch, WEAR_AFF5) == NULL) {
            where = WEAR_AFF5;
        }
    } else if (CAN_WEAR(obj, ITEM_WEAR_CONT)) {
        where = WEAR_CONT;
    } 

    return where;
}

0
정회원 이상만 코멘트 사용이 가능합니다.
총 게시물 29개 / 검색된 게시물: 29개
글번호   제목 작성자 조회수 싫어요 작성일
29 TBAMUD 한글 아이디 저장 함수 성천사 88 0 0 2025-03-29
28 신세계 64비트 난수 처리 성천사 151 0 0 2025-01-01
27 접속금지, 접속허용 편의성 수정 성천사 179 0 0 2024-10-27
26 신세계 텍스트 출력 [1] 성천사 208 0 0 2024-08-06
25 신세계 시체생성 성천사 179 0 0 2024-06-12
24 삭제된 게시물입니다. 성천사 124 0 0 2024-06-12
23 신세계 C to VC6.0 성천사 348 0 0 2024-03-07
22 신세계 장비위치 구하기 성천사 203 0 0 2024-03-04
21 신세계 파일 존재여부 확인 성천사 264 0 0 2024-02-18
20 신세계 맙타입 전투 성천사 295 0 0 2023-12-02
19 신세계 addlog() 성천사 247 0 0 2023-10-25
18 신세계 캐릭터, 맙 이동 코드 성천사 254 0 0 2023-10-25
17 신세계 지정번호의 물건 찾기및 제거하기 성천사 358 0 0 2023-05-07
16 신세계 이동물건 [1] 성천사 621 0 0 2022-12-30
15 신세계 날씨변경 명령어 성천사 421 0 0 2022-12-25
14 [circle] 신세계 운영자 명령어 방청소 성천사 476 0 0 2022-10-08
13 [circle] 신세계 물건이름 성천사 513 0 0 2022-08-26
12 [circle] 신세계 공격대상 성천사 535 0 0 2022-08-19
11 [circle] 미확인장소 물건 수거 성천사 1015 0 0 2019-09-23
10 [circle] 신세계 포탈과 이동 명령어 [1] 성천사 1452 0 0 2018-09-05
쪽지를 전송하고 있습니다. 잠시 기다려주세요.
쪽지보내기
받는이(ID/닉네임)
내용
쪽지가 도착하였습니다.
쪽지 내용을 읽어오고 있습니다. 잠시 기다려주세요.
--