질문과 답변

Extra Form



방어구를 아무것도 착용하지 않았을 경우의 조건분기를 작성하고 싶습니다.


관련된 스크립트를 질문게시판에서 찾았는데,  VX에서만 적용이 되는 것 같습니다.


$game_variables[1] = 0

$game_variables[1] += $game_actors[1].armor1_id    

$game_variables[1] += $game_actors[1].armor2_id    

$game_variables[1] += $game_actors[1].armor3_id    

$game_variables[1] += $game_actors[1].armor4_id


이것이 그에 해당하는 스크립트인데, ace에 적용되게 하려면 어떻게 변경해야 하나요?

Comment '7'
  • profile
    습작 2012.05.15 20:43
    VX에서의 $game_actors[1].armor1_id 는 VXA에서 $game_actors[1].equips[1].id 라고 적을 수 있습니다.
  • ?
    FreeRose 2012.05.15 21:01
    Script 'Game_Interpreter' line 1409: NoMethodError occured.

    undefined method 'id' for nil:NillClass

    이런 에러메세지가 뜨는군요. 무슨 에러죠?
  • profile
    습작 2012.05.15 21:12
    id가 없다는 뜻입니다. 아마도 장비하지 않은 슬롯에서 id를 구할 수 없다고 산출하는 것 같습니다. 변수로의 대입 이전에 id 값이 nil인지 판정해주면 될 것 같습니다.
  • ?
    FreeRose 2012.05.15 21:17

    제가 막 입문해서 스크립트 용어에 대해 전혀 몰라요 데헷;...

    불쌍한 원숭이를 위해 예시하나 던져주시면 감사하겠습니다. (굽신굽신)

    그리고 스크립트 용어에 대한 강의를 어디에서 볼 수 있을까요?

  • ?
    허걱 2012.05.15 21:58

    조건분기의 스크립트부분에 아래와 같이 적어주시면...
    $game_party.members[0].armors.any?

    첫번째 파티원의 장비상태를 확인할 수 있습니다. (파티원 세는걸 0부터 시작합니다.)
    위와 같이 했을 경우는 방어구를 하나라도 착용하고 있다면 이 되고
    방어구를 하나도 착용하지 않을경우는 거짓이 됩니다.

     

    참고로 무기와 방어구 악세사리까지 모두 갖춰졌는지 판단할 때..
    $game_party.members[0].equips.all?
    이렇게 .all? 을 사용할 경우 모두 갖추면 참이 되고 하나라도 없으면 거짓이 됩니다.

  • profile
    습작 2012.05.15 22:05
    역시 허걱님 명쾌하시군요! 저는 그냥 루비 예외처리나 추가로 적어드릴려고 햇는데... ㅎㅎ
  • ?
    FreeRose 2012.05.15 22:06

    그렇군요.... 저런 간단한 명령어가 있다니. 그렇다면 본문에 적어놓은 스크립트는 아무런 쓸모가 없는거같네요 ;;

    친절한 답변 감사합니다.


List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12393
Board Pagination Prev 1 ... 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 Next
/ 83