질문과 답변

Extra Form

장비 확장 스크립트를 작성했습니다.ㅇㅅㅇ(정확히 말하면 그냥 배꼇습니다..ㄷㄷㄷ)

제가 신발부분을 하고 싶어서 신발을 했는데.
슬롯을 추가를 해도 신발 슬롯에 신발 목록이 들어가 있지 않고 그냥 장신구에 들어가 있더군요.

뭐 스크립트를 만져서 해결해야하는 건 알겠는데....

아직 스크립트를 하나도 모르는지라 어딜 건드려야 하는지도 모르겠습니다.

알려주세요.ㅜ

줘도 떠먹지 못하는 저에 대해 자료 가져와주셧던 아방스님과 댓글로 설명해주셧던 아이미르님께 죄송합니다..ㄷㄷ

(추신. 사진을 넣고 싶었는데.... 안되네요.. 왜지...)

Comment '6'
  • ?
    아이미르 2012.04.14 23:16

    음 본문 위주로 설명하자면
    module Extra_Slots Slots = []

      # Edit here to add new slot types

      # Slots[armour_type_id] = "name"

      # I know it is named in the database but I don't believe you can access

      # that name through Vocab

      Slots[7] = "Spell Tomes"

    end
    여기서 Slots[n]="장비이름" 이라고 할때 n이 추가될 슬롯id이고 실은 이게 방어구종류 id입니다. ( 용어에서 방어구 타입란에 타입 앞에 써있는 숫자.) 신발을 추가하고 싶으시다니까 장비이름 대신 신발 이라고 쓰시면 될겁니다. 아, 그리고 0부터 4까지는 이미 정해져있으니까 n은 5이상이어야 됩니다. 그러므로 방어구 종류가 1~4는 장비확장 스크립트에서 써먹을 수 없겠죠.

    def equip_slots

      return [0,0,2,3,4,4,4,7] if dual_wield?

      return [0,1,2,3,4,4,4,7]

    end
    이 부분에 7대신 n이 들어가는 겁니다. 4가 세개인건 스샷 보시면 아시겠지만 장신구를 3칸으로 만들기 위함이에요. 장신구가 하나면 된다... 이러시면 하나만 남기고 둘은 지워버리면 됩니다.

  • profile
    아방스 2012.04.14 23:29
    사진은 jpg , gif, png 확장자만 허용하고있습니다
  • ?
    아이미르 2012.04.14 23:30
    이 스크립트에 약간 한계가 있는 게 추가슬롯id를 방어구타입에 의존하다보니 같은 슬롯에 다른 방어구타입을 구현할 수 없는 문제가 있습니다. 예를 들어 설명하면 방패에 소형방패, 대형방패를 착용할 수 있는 데 이는 캐릭터나 직업란에서 방어구타입이 체크된 것만 가능합니다. 즉, 방패라는 슬롯에 방어구 타입 소형방패와 방어구 타입 대형방패를 ( 액터나 직업란에서 특징에 추가되어 있다면 ) 골라서 착용할 수 있는 거죠.

    그래서 약간 수정한 것이 댓글에 제가 올려둔 스크립트 입니다. 대신 조금 귀찮은 사용법을 가지고 있지요. 그 스크립트에서 추가된 디폴트 슬롯이 신발이니까 그게 맞춰서 설명해보면

    module Extra_Slots

    Slots = []
    # Edit here to add new slot types
    # Slots[armour_type_id] = "name"
    # I know it is named in the database but I don't believe you can access
    # that name through Vocab

    Slots[7] = "신발"

    end
    원본과 같은 거 같지만 제가 귀찮아서 주석에 손을 대지 않았을 뿐입니다. 주석 그냥 지워버려도 되요;;
    여기서 Slots[n] ="장비이름"에서 n은 역시 추가슬롯id입니다만 방어구타입 id와상관없는 위치id입니다. 장비품에서 위치를 설정하려면 메모란에 <위치=n>이라고 기입하면 위치id가 n이됩니다. 실제로는 숫자를 적절히 넣어주세요. 위에 있는 것처럼 디폴트는 7입니다.

    def equip_slots
    return [0,0,2,3,4,7] if dual_wield?
    return [0,1,2,3,4,7]
    end
    이 부분은 원본과 같습니다. 단지 설정해줘야 되는 부분이니까 써놨을 뿐입니다.

    def slot_name(index)
    if @actor.equip_slots[index] >= 5
    sprintf("%s%d",Extra_Slots::Slots[@actor.equip_slots[index]], index-4)
    else
    @actor ? Vocab::etype(@actor.equip_slots[index]) : ""
    end
    end

    이 부분은 제가 다른 스크립트 ( 좀더 위에 있는 장비장착시 스킬습득/해제 스크립트 ) 랑 연동할때 추가 슬롯이 여러개일 경우 이름에 번호를 붙이기 위해 약간 수정한 부분입니다. 하지만 신발의 경우는 2개를 장착하지 않으니까 신발1, 신발2 이럴필요는 없겠죠. 그 경우 sprintf("%s%d",Extra_Slots::Slots[@actor.equip_slots[index]], index-4) 를 sprintf("%s",Extra_Slots::Slots[@actor.equip_slots[index]]) 로 수정하면 숫자가 없어집니다.

    다시한번 강조하면 아방스님이 올리신 본문 스크립트와의 차이는 아방스님이 올리신 본문스크립트는 방어구타입 id에 의존해서 슬롯에 장착할 수 있는 아이템리스트를 고릅니다. 댓글에 제가 올린 수정판은 메모란에 <위치=n>이라고 기입한 장비품에 한해서 위치id를 n으로 가지고 그에 따라서 추가슬롯에 장착할 아이템리스트를 고릅니다. 위치id를 기입하지 않으면 0으로 취급해서 기존 장비슬롯에만 착용 가능합니다.
  • ?
    에구궁 2012.04.15 12:37
    아... 이제 보니 제 문제가. 슬롯을 추가해도 아이템이 인식을 못하는 거였는데, 알고보니 타입이 7번부터 인식을 하더군요. 그래서 위치를 넣는 부분 이전에 슬롯에서 문제가 되서 안됫던거였습니다. 어쨋든 자세한 설명 감사하고요. 가능하면 수정판으로 만들어 보려고 합니다. 근데 위치ID는 어디서 찾는 건가요?
  • ?
    아이미르 2012.04.15 14:50
    원래 없는 부분입니다 방어구 메모란에 <위치=n>라고 기입하면 n을 위치id로 인식합니다 안쓰면 0으로 인식합니다
  • ?
    에구궁 2012.04.15 17:28

    오오...잘 알겠습니다 한번해봐야지~~ 그리고 감사합니다.


List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 13184
RMVXA 최강장비 장착시. 에구궁 2012.04.15 2453
RMXP 암호화프로젝트 대신용 2 러쉬 2012.04.15 2512
RMXP 이벤트가 이벤트를 통과하는법 2 네도 2012.04.15 2268
RMVXA ACE 거대몬스터, 거대물품 이용 2 에구궁 2012.04.14 2347
RMVX 게임 시작전 부터 특정 스위치를 on시켜놓는 전제하에 시작하게 만들기 3 라이루 2012.04.14 2561
RMVXA ACE 장비 확장이요... 6 에구궁 2012.04.14 2115
RMXP 갑자기 RPG만들기XP랑 만든게임이 실행이안돼요 ㅠㅠㅠㅠ 1 file 네도 2012.04.14 3121
RMXP 문을 열었다가 닫았다가 하는것 5 네도 2012.04.14 2496
RMVXA 조작키가 안먹히는 버그 3 돼지부라퀴 2012.04.13 2705
RMXP 일정시야에 들어오면 쫓아오는것.. 3 네도 2012.04.13 2637
RMXP 그림의 표시 후 맵에 연동(고정)시켜놓을 수는 없나요? 4 하진 2012.04.13 2555
RMXP RTAB 스크립트 오류 6 file Gora 2012.04.13 2264
RMVX RPG VX 5 윤파카 2012.04.12 2399
RMVX SBS 3.4 사이드뷰 적 기본공격 2 잭무기 2012.04.12 2646
RMXP 인터넷관연결하여.... 4 한한 2012.04.12 2631
RMVX 응??? 타일셋 늘리는 스크립트 나와있던것 같던데... 2 난현이라는 2012.04.04 2774
RMVX 몬스터 리스폰 시키는방법 1 춰억헐릿 2012.04.03 2785
RMVXA VX ACE 전투에서 적 체력 표시하려면 어떻게 하죠? 2 압둘라마바드 2012.04.03 3232
RMVX Srpg의 턴 종료 시키기(재 작성) 1 file minibalrog 2012.04.03 3035
RMXP 애니메이션을 불러와서 새로 만들때.. 2 오디넬 2012.04.02 2641
Board Pagination Prev 1 ... 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 ... 517 Next
/ 517