VX 스크립트

질답 게시판 (묻고 답하기 게시판) [레벨:0]이억팔천 님의 http://avangs.info/kin/904674 게시글에 대한 답변용 스크립트 입니다.

 

제목 그대로 엑터를 파티원의 첫번째 멤버로 추가시키는 스크립트 입니다.

 

사용법은 이벤트->스크립트 부분에

insert_actor(actor_id) 이라고 적어주면 됩니다.

actor_id 부분에 추가하고 싶은 엑터의 id를 적어주면 됩니다. (데이터베이스의 ID)

 

초기화 상태로 추가하려면

insert_actor(actor_id, init) 으로 적으면 됩니다.

actor_id 는 엑터의 id, init 은 초기화 여부를 결정합니다. init 부분에 true 를 적으면 초기화시키게 됩니다.

 

아래 스크립트를 복사해서 Main 위쪽으로 소재추가 부분에 새로이 추가해 주시면 됩니다.

 

 

class Game_Party
  #--------------------------------------------------------------------------
  # ● 액터를 가세한다
  #     actor_id : 액터 ID
  #     pos : 삽입할 위치
  #--------------------------------------------------------------------------
  def insert_actor(actor_id)
    if @actors.size < MAX_MEMBERS and not @actors.include?(actor_id)
      @actors.unshift(actor_id)
      $game_player.refresh
      return true
    end
    return false
  end
end

 

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 멤버의 추가
  #--------------------------------------------------------------------------
  def insert_actor(actor_id, init = false)
    return_result = false
    if $game_actors[actor_id] != nil
      $game_actors[@params[0]].setup(@params[0]) unless init == false
      return_result = $game_party.insert_actor(actor_id)
      $game_map.need_refresh = true
    end
    return return_result
  end
end

Who's 허걱

?

공개된 사이트에서 퍼온 자료를 제외한(이 경우는 글에 출처를 남깁니다.)

제가 올린 모든 글과 자작 자료에대해 무단으로 퍼가는것을 금지합니다.

Comment '5'
  • profile
    하늘바라KSND 2012.12.05 00:09
    이벤트->스크립트에 값을 넣으면 언제나 처음에 위치하게 되는 건가요?
  • ?
    허걱 2012.12.05 21:17
    # 아래의 스크립트를 사용하면 위치를 지정할 수 있습니다. index 부분에 위치를 지정해 주세요.

    class Game_Party
    #--------------------------------------------------------------------------
    # ● 액터를 가세한다
    # actor_id : 액터 ID
    # pos : 삽입할 위치
    #--------------------------------------------------------------------------
    def insert_actor(actor_id, index)
    if @actors.size < MAX_MEMBERS and not @actors.include?(actor_id)
    @actors.insert(index, actor_id)
    $game_player.refresh
    return true
    end
    return false
    end
    end



    class Game_Interpreter
    #--------------------------------------------------------------------------
    # ● 멤버의 추가
    #--------------------------------------------------------------------------
    def insert_actor(actor_id, index = 0, init = false)
    return_result = false
    if $game_actors[actor_id] != nil
    $game_actors[@params[0]].setup(@params[0]) unless init == false
    return_result = $game_party.insert_actor(actor_id, index)
    $game_map.need_refresh = true
    end
    return return_result
    end
    end
  • profile
    하늘바라KSND 2012.12.05 23:17
    오오

    이것이라면 시점변환이 더 용이해지겠군요!
  • ?
    이억팔천 2012.12.07 01:41
    저기.. 제가 멍청해서 그런지
    아무리 해봐도
    nameerror occurred while running script가 뜨면서 되지 않습니다
  • ?
    허걱 2012.12.09 07:34
    http://avangs.info/study_VX/187558
    참고해 보세요.