Avangs

  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입
Avangs
  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입

NOTICE

공지사항
더보기
  • 서버 안정성 및 보안 강화 조치 04.20

Recently Added Games

최근 등록 게임
  • 어드벤쳐 고철에 파묻힌 데모나 (屑鉄まとうデモナ) newfile 08.19
  • 어드벤쳐 비올레 저택의 시온 : 꽃눈의 저택|RPG Maker MZ 단편 심리공포 어드벤처 file 08.17
  • 기타 (똥 주의)그저 똥을 누러 가는 게임 Re:Boot updatefile 08.16
  • 롤플레잉 SACCHARINE SYNC (DEMO) 배포 file 08.12
  • 기타 (완성작) 야구장에 가자4 file 2 07.07
기타
2010.09.10 03:23

이벤트 제작용 소품 모음 스크립트

시트르산
조회 수 2269 추천 수 0 댓글 12
크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제

#출처 : http://daiambition.web.fc2.com/materialrgss2.html

 #- 이 스크립트는 한글 번역기를 통해 번역한 결과로서, 출처를 명확히 표기했습니다.

 #

#사용법 : 스크립트 복/붙 후

# 이벤트 커맨드의 스크립트에 기술함으로서 사용가능합니다.

# 아래 스크립트 예시 상 인수들은 모두 사용자의 의도에 따라 커스터마이징하여 사용 가능합니다.

# (사용 방법에 대한 예시일 뿐이니 개의치 마십시오.)

# 재정의한 부분이 없어 다른 스크립트와 충돌할 여지가 거의 없습니다.

#

# 유용한 점 :

# 1) 스위치, 변수의 일괄적인 변화, 초기화.

# 2) 맵의 좌표상에 데이터베이스상의 애니메이션 표시

# 3) 셀프 스위치의 초기화 가능

# 4) 특정 접두사 혹은 접미사가 포함된 이벤트 전원 소거 가능.

# 아래 주석이 상당히 상세히 설명되어있으므로 딱히 설명이 필요없이도 쉽게 사용가능하실것이라고 보고

# 바로 이 아래부터 스크립트입니다. 드래그를 하셔서 붙여넣으시면 됩니다.

 

 

=begin
■이벤트 제작용 소품 메소드힐맞댐 RGSS2 DAIpage■ v1.4

●기능●
 스크립트없이는 귀찮기도 하고 할 수 없거나 하는 이벤트 커멘드의 힐맞댐입니다.
 메소드 설명과 같이 이벤트 커멘드:스크립트나 조건 분기:스크립트에 기술,
 필요에 따라서 인수를 바꾸어 사용해 주세요.

●재정의하고 있는 개소●
 없음

●갱신 이력●
09/01/29:좌표 지정 애니메이션의 불편 수정.페이지 지정 이벤트 기동을 추가.
09/01/26:특수 선택사항에 기능 추가.지정 좌표에 애니메이션 표시를 추가.
08/10/05:맵외로부터의 셀프 스윗치 조작이 정상적으로 기능하지 않는 불편을 수정.
08/09/21:특수 선택사항 3종, 좌표 판정 1종 추가.

=end

if false
 
#==============================================================================
# ■ 추가 메소드의 설명·사용 예의 같은 것 ■
#==============================================================================
 #============================================================================
 # ◆ 이벤트 커멘드:스크립트로 사용 ◆
 #============================================================================

timer_up(10)
  # 타이머를 10초 늘린다.
 
timer_up(-10)
  # 타이머를 10초 줄인다.

pos_event_start(1, 5)
  # X좌표가 1 , Y좌표가 5 의 이벤트를 기동.

id_event_start(7)
  # 이벤트 ID 7 을 기동.

event_page_start(7, 4)
  # 이벤트 ID 7 의 4 페이지눈을 기동.

batch_events_erase([1,2,5,10])
  # 이벤트 ID 1, 2, 5, 10 을 일제히 소거.
 
batch_events_balloon([1,2,5,10], 1)
  # 이벤트 ID 1, 2, 5, 10 에 일제히 말풍선「깜짝」을 표시.

name_events_balloon("", 1)
  # 이벤트명에 「」를 포함한 이벤트 모두에 일제히 말풍선 「깜짝」을 표시.
 
map_name_events_erase("사라져 주세요")
  # 이벤트명에 「사라져 주세요」를 포함한 이벤트 모두를 일제히 소거.
 
push_direction
  # 플레이어를 「이 이벤트」의 방향으로 향하게 한다.(접촉하고 있지 않으면 안됩니다)

allvariables_reset
  # 게임내의 전변수를 초기화합니다.
 
allswitches_reset
  # 게임내의 전스윗치를 초기화합니다.

allself_reset
  # 게임내의 전셀프 스윗치를 초기화합니다.
 
map_allself_true(1, "A")
  # 맵 ID 1 안에 있는 모든 셀프 스윗치 「A」를 일괄 온.
 
map_allself_false(1, "A")
  # 맵 ID 1 안에 있는 모든 셀프 스윗치 「A」를 일괄 오프.
 
map_allself_name_true(3, "C", "무")
  # 맵 ID 3 안에 있어,"무"를 포함한 이벤트명의 셀프 스윗치 「C」를 일괄 온.
 
map_allself_name_false(5, "A", "보상")
  # 맵 ID 5 안에 있어,"보상"을 포함한 이벤트명의 셀프 스윗치 「A」를 일괄 오프.
 
pos_event_self_true(5, 10 ,"C")
  # X좌표가 5 , Y좌표가 10 의 이벤트의 셀프 스윗치 「C」를 온.
 
pos_event_self_false(5, 10 ,"C")
  # X좌표가 5 , Y좌표가 10 의 이벤트의 셀프 스윗치 「C」를 오프.
 
pos_event_self_rev(5, 10 ,"C")
  # X좌표가 5 , Y좌표가 10 의 이벤트의 셀프 스윗치 「C」를 역전.
 
party_choice(20)
  # 파티 멤버를 선택사항으로 표시.결과를 변수 20 에 격납.
  # ※결과(0:선두 멤버  3:4번째의 멤버 , 4:캔슬)

party_choice_existing(20)
  # 생존하고 있는 파티 멤버를 선택사항으로 표시.결과를 변수 20 에 격납.
  # ※결과(0:선두 멤버  3:4번째의 멤버 , 4:캔슬)

party_choice_dead(20)
  # 전투 불능의 파티 멤버를 선택사항으로 표시.결과를 변수 20 에 격납.
  # ※결과(0:선두 멤버  3:4번째의 멤버 , 4:캔슬)

party_choice_id(20)
  # 파티 멤버를 선택사항으로 표시.결과를 변수 20 에 격납.
  # ※결과(선택된 캐릭터의 ID , 캔슬시는 0)

party_choice_existing_id(20)
  # 생존하고 있는 파티 멤버를 선택사항으로 표시.결과를 변수 20 에 격납.
  # ※결과(선택된 캐릭터의 ID , 캔슬시는 0)

party_choice_dead_id(20)
  # 전투 불능의 파티 멤버를 선택사항으로 표시.결과를 변수 20 에 격납.
  # ※결과(선택된 캐릭터의 ID , 캔슬시는 0)

anime(100, 200, 5)
  # 화면 좌표의 x100,y200에 5번의 애니메이션을 표시.

#============================================================================
 # ◆ 조건 분기:스크립트로 사용 ◆
 #============================================================================

pos?(1, 2)
  # 이벤트 ID 1 으로 이벤트 ID 2 의 좌표가 동일한가?
 
name_pos?("매직 스퀘어")
  # 플레이어와 「매직 스퀘어」가 포함되는 이름의 이벤트의 좌표가 동일한가?

player_front_pos?("문")
  # 플레이어의 정면 좌표에 「문」이 포함되는 이름의 이벤트가 존재할까?

pos_xy?(10, 11 ,20)
  # 이벤트 ID 20 이 X좌표 10 , Y좌표 11에 존재할까?
end

#==============================================================================
# ■ Game_Interpreter
#==============================================================================
class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 지정 좌표에 애니메이션 표시
  #--------------------------------------------------------------------------
  def anime(x, y, id)
    s = Sprite_Base.new
    s.bitmap = Bitmap.new(1, 1)
    s.x, s.y = x, y
    s.start_animation($data_animations[id])
    while s.animation?
      s.update
      Graphics.update
    end
    s.dispose
    s.bitmap.dispose
  end
 #============================================================================
 # ★ 타이머의 특수 조작
 #============================================================================
  #--------------------------------------------------------------------------
  # ● 타이머잔초수의 증감
  #     min   : 초수(마이너스 지정으로 감소)
  #--------------------------------------------------------------------------
  def timer_up(min)
    $game_system.timer += min * Graphics.frame_rate
  end
 #============================================================================
 # ★ 특수 선택사항
 #============================================================================
  #--------------------------------------------------------------------------
  # ● 파티 멤버를 선택사항으로 표시
  #     variables: 결과 격납 변수
  #--------------------------------------------------------------------------
  def party_choice(variables)
    $game_party.members.each { |actor|$game_message.texts.push(actor.name)}
    $game_message.choice_start = 0
    $game_message.choice_max = $game_party.members.size
    $game_message.choice_cancel_type = 4
    $game_message.choice_proc = Proc.new { |n|$game_variables[variables] = n }
    set_message_waiting
  end
  #--------------------------------------------------------------------------
  # ● 생존하고 있는 파티 멤버를 선택사항으로 표시
  #     variables: 결과 격납 변수
  #--------------------------------------------------------------------------
  def party_choice_existing(variables)
    return if $game_party.existing_members.size == 0
    $game_party.existing_members.each { |actor|$game_message.texts.push(actor.name)}
    $game_message.choice_start = 0
    $game_message.choice_max = $game_party.existing_members.size
    $game_message.choice_cancel_type = 4
    $game_message.choice_proc = Proc.new { |n|$game_variables[variables] = n }
    set_message_waiting
  end
  #--------------------------------------------------------------------------
  # ● 사망해 있는 파티 멤버를 선택사항으로 표시
  #     variables: 결과 격납 변수
  #--------------------------------------------------------------------------
  def party_choice_dead(variables)
    return if $game_party.dead_members.size == 0
    $game_party.dead_members.each { |actor|$game_message.texts.push(actor.name)}
    $game_message.choice_start = 0
    $game_message.choice_max = $game_party.dead_members.size
    $game_message.choice_cancel_type = 4
    $game_message.choice_proc = Proc.new { |n|$game_variables[variables] = n }
    set_message_waiting
  end
#--------------------------------------------------------------------------
  # ● 파티 멤버를 선택사항으로 표시, 결과를 ID로 격납
  #     variables: 결과 격납 변수
  #--------------------------------------------------------------------------
  def party_choice_id(variables)
    $game_party.members.each { |actor|$game_message.texts.push(actor.name)}
    $game_message.choice_start = 0
    $game_message.choice_max = $game_party.members.size
    $game_message.choice_cancel_type = 0
    $game_message.choice_proc = Proc.new {
    |n|$game_variables[variables] = $game_party.members[n].id
    }
    set_message_waiting
  end
  #--------------------------------------------------------------------------
  # ● 생존하고 있는 파티 멤버를 선택사항으로 표시, 결과를 ID로 격납
  #     variables: 결과 격납 변수
  #--------------------------------------------------------------------------
  def party_choice_existing_id(variables)
    return if $game_party.existing_members.size == 0
    $game_party.existing_members.each { |actor|$game_message.texts.push(actor.name)}
    $game_message.choice_start = 0
    $game_message.choice_max = $game_party.existing_members.size
    $game_message.choice_cancel_type = 0
    $game_message.choice_proc = Proc.new {
    |n|$game_variables[variables] = $game_party.existing_members[n].id
    }
    set_message_waiting
  end
  #--------------------------------------------------------------------------
  # ● 사망해 있는 파티 멤버를 선택사항으로 표시, 결과를 ID로 격납
  #     variables: 결과 격납 변수
  #--------------------------------------------------------------------------
  def party_choice_dead_id(variables)
    return if $game_party.dead_members.size == 0
    $game_party.dead_members.each { |actor|$game_message.texts.push(actor.name)}
    $game_message.choice_start = 0
    $game_message.choice_max = $game_party.dead_members.size
    $game_message.choice_cancel_type = 0
    $game_message.choice_proc = Proc.new {
    |n|$game_variables[variables] = $game_party.dead_members[n].id
    }
    set_message_waiting
  end
 #============================================================================
 # ★ 좌표 관리 관련
 #============================================================================
  #--------------------------------------------------------------------------
  # ● 캐릭터끼리의 좌표 일치 판정
  #     id_1 : 판정하는 이벤트의 ID
  #     id_2 : 판정하는 이벤트의 ID
  #--------------------------------------------------------------------------
  def pos?(id_1, id_2)
    c_1 = get_character(id_1)
    c_2 = get_character(id_2)
    return [c_1.x, c_1.y] == [c_2.x, c_2.y]
  end
  #--------------------------------------------------------------------------
  # ● 플레이어와 지정명을 포함한 이벤트의 좌표 일치 판정
  #     name    :   이벤트명에 포함되는 문자열
  #--------------------------------------------------------------------------
  def name_pos?(name)
    for event in $game_map.events.values
      if event.name.include?(name)
        return true if [$game_player.x, $game_player.y] == [event.x, event.y]
      end
    end
    return false
  end
  #--------------------------------------------------------------------------
  # ● 플레이어의 정면으로 지정명을 포함한 이벤트가 존재할까 판정
  #     name    :   이벤트명에 포함되는 문자열
  #--------------------------------------------------------------------------
  def player_front_pos?(name)
    front_x = $game_map.x_with_direction($game_player.x, $game_player.direction)
    front_y = $game_map.y_with_direction($game_player.y, $game_player.direction)
    for event in $game_map.events_xy(front_x, front_y)
      return true if event.name.include?(name)
    end
    return false
  end
#--------------------------------------------------------------------------
  # ● 지정 위치로 지정 ID의 이벤트가 존재하는지를 판정
  #     x   :   X좌표
  #     y   :   Y좌표
  #     id  :   이벤트 ID
  #--------------------------------------------------------------------------
  def pos_xy?(x, y ,id)
    event = get_character(id)
    return [event.x, event.y] == [x, y]
  end
 #============================================================================
 # ★ 이벤트의 특수 조작
 #============================================================================
  #--------------------------------------------------------------------------
  # ● 지정 위치의 이벤트를 기동
  #     x   : 지정 위치의 x 좌표
  #     y   : 지정 위치의 y 좌표
  #--------------------------------------------------------------------------
  def pos_event_start(x, y)
    for event in $game_map.events_xy(x, y)
      event.start
    end
  end
  #--------------------------------------------------------------------------
  # ● ID로부터 이벤트를 기동
  #     id   : 기동하는 이벤트의 ID
  #--------------------------------------------------------------------------
  def id_event_start(id)
    event = $game_map.events[id]
    @child_interpreter = Game_Interpreter.new(@depth + 1)
    @child_interpreter.setup(event.list, @event_id)
  end
  #--------------------------------------------------------------------------
  # ● 페이지 지정 이벤트 기동
  #     id    : 이벤트 ID (0:정수)
  #     page  : 이벤트 페이지
  #--------------------------------------------------------------------------
  def event_page_start(id, page)
    event = id == 0 ? get_character(0) : $game_map.events[id]
    list = event.instance_variable_get(:@event).pages[page-1].list
    return if list == nil
    @child_interpreter = Game_Interpreter.new(@depth + 1)
    @child_interpreter.setup(list, id)
  end
#--------------------------------------------------------------------------
  # ● 지정 이벤트를 일제히 일시 소거
  #     id   : 일제 소거하는 이벤트의 ID를 배열로 지정
  #--------------------------------------------------------------------------
  def batch_events_erase(id)
    for i in id
      $game_map.events[i].erase
    end
  end
  #--------------------------------------------------------------------------
  # ● 맵내의 지정명을 포함한 이벤트를 일제히 일시 소거
  #     name    : 이벤트명에 포함되는 문자열
  #--------------------------------------------------------------------------
  def name_events_erase(name)
    for event in $game_map.events.values
      id = event.id
      if event.name.include?(name)
        $game_map.events[id].erase
      end
    end
    $game_map.refresh
  end
  #--------------------------------------------------------------------------
  # ● 지정 이벤트에 일제히 머위 국물 아이콘 표시
  #     id      : 일제히 머위 국물 표시하는 이벤트의 ID를 배열로 지정
  #     balloon : 머위 국물의 ID
  #--------------------------------------------------------------------------
  def batch_events_balloon(id, balloon)
    for i in id
      $game_map.events[i].balloon_id = balloon
    end
  end
  #--------------------------------------------------------------------------
  # ● 지정명을 포함한 이벤트에 일제히 머위 국물 아이콘 표시
  #     name    : 이벤트명에 포함되는 문자열
  #     balloon : 머위 국물의 ID
  #--------------------------------------------------------------------------
  def name_events_balloon(name, balloon)
    for event in $game_map.events.values
      id = event.id
      if event.name.include?(name)
        $game_map.events[id].balloon_id = balloon
      end
    end
    $game_map.refresh
  end
  #--------------------------------------------------------------------------
  # ● 맵내의 지정명을 포함한 이벤트를 일제히 일시 소거
  #     name    : 이벤트명에 포함되는 문자열
  #--------------------------------------------------------------------------
  def map_name_events_erase(name)
    for event in $game_map.events.values
      id = event.id
      if event.name.include?(name)
        $game_map.events[id].erase
      end
    end
    $game_map.refresh
  end
  #--------------------------------------------------------------------------
  # ● 지정 이벤트의 방향으로 플레이어의 방향을 변경
  #     id      : 이벤트의 ID
  #--------------------------------------------------------------------------
  def push_direction
    character = get_character(0)
    cx = character.x
    cy = character.y
    player = get_character(-1)
    px = player.x
    py = player.y
    direction = 0
    if cx == px
      direction = 2 if cy >= py
      direction = 8 if cy <= py
    end
    if cy == py
      direction = 6 if cx >= px
      direction = 4 if cx <= px
    end
    player.set_direction(direction )
    @stop_count = 0
  end
 
#============================================================================
 # ★ 변수·스윗치·셀프 스윗치의 특수 조작
 #============================================================================
  #--------------------------------------------------------------------------
  # ● 게임내의 전변수의 초기화
  #--------------------------------------------------------------------------
  def allvariables_reset
    $game_variables = Game_Variables.new
    $game_map.refresh
  end
  #--------------------------------------------------------------------------
  # ● 게임내의 전스윗치의 초기화
  #--------------------------------------------------------------------------
  def allswitches_reset
    $game_switches = Game_Switches.new
    $game_map.refresh
  end
  #--------------------------------------------------------------------------
  # ● 게임내의 전셀프 스윗치의 초기화
  #--------------------------------------------------------------------------
  def allself_reset
    $game_self_switches = Game_SelfSwitches.new
    $game_map.refresh
  end
  #--------------------------------------------------------------------------
  # ● 지정 MAP의 전셀프 스윗치 일괄 온
  #     map_id : 맵의 ID
  #     key    : 셀프 스윗치("A"와 같이 지정)
  #--------------------------------------------------------------------------
  def map_allself_true(map_id, key="A")
    map = load_data(sprintf("Data/Map%03d.rvdata", map_id))
    events = []
    for i in map.events.keys
      events[i] = Game_Event.new(map_id, map.events[i])
    end
    for event in events
      next if event == nil
      id = event.id
      if !$game_self_switches[[map_id, id, key]]
        $game_self_switches[[map_id, id, key]] = true
      end
    end
    $game_map.refresh if map_id == $game_map.map_id
  end
#--------------------------------------------------------------------------
  # ● 지정 MAP의 전셀프 스윗치 일괄 오프
  #     map_id : 맵의 ID
  #     key    : 셀프 스윗치("A"와 같이 지정)
  #--------------------------------------------------------------------------
  def map_allself_false(map_id, key="A")
    map = load_data(sprintf("Data/Map%03d.rvdata", map_id))
    events = []
    for i in map.events.keys
      events[i] = Game_Event.new(map_id, map.events[i])
    end
    for event in events
      next if event == nil
      id = event.id
      if $game_self_switches[[map_id, id, key]]
        $game_self_switches[[map_id, id, key]] = false
      end
    end
    $game_map.refresh if map_id == $game_map.map_id
  end
  #--------------------------------------------------------------------------
  # ● 맵내의 지정명을 포함한 이벤트의 전셀프 스윗치 일괄 온
  #     map_id  : 맵의 ID
  #     key     : 셀프 스윗치("A"와 같이 지정)
  #     name    : 이벤트명에 포함되는 문자열
  #--------------------------------------------------------------------------
  def map_allself_name_true(map_id, key, name)
    map = load_data(sprintf("Data/Map%03d.rvdata", map_id))
    events = []
    for i in map.events.keys
      events[i] = Game_Event.new(map_id, map.events[i])
    end
    for event in events
      next if event == nil
      id = event.id
      if event.name.include?(name) && !$game_self_switches[[map_id, id, key]]
        $game_self_switches[[map_id, id, key]] = true
      end
    end
    $game_map.refresh if map_id == $game_map.map_id
  end
  #--------------------------------------------------------------------------
  # ● 맵내의 지정명을 포함한 이벤트의 전셀프 스윗치 일괄 오프
  #     map_id  : 맵의 ID
  #     key     : 셀프 스윗치("A"와 같이 지정)
  #     name    : 이벤트명에 포함되는 문자열
  #--------------------------------------------------------------------------
  def map_allself_name_false(map_id, key, name)
    map = load_data(sprintf("Data/Map%03d.rvdata", map_id))
    events = []
    for i in map.events.keys
      events[i] = Game_Event.new(map_id, map.events[i])
    end
    for event in events
      next if event == nil
      id = event.id
      if event.name.include?(name) && $game_self_switches[[map_id, id, key]]
        $game_self_switches[[map_id, id, key]] = false
      end
    end
    $game_map.refresh if map_id == $game_map.map_id
  end
#--------------------------------------------------------------------------
  # ● 지정 위치의 이벤트의 셀프 스윗치를 온
  #     x   : 지정 위치의 x 좌표
  #     y   : 지정 위치의 y 좌표
  #     key : 셀프 스윗치("A"와 같이 지정)
  #--------------------------------------------------------------------------
  def pos_event_self_true(x, y ,key)
    for event in $game_map.events_xy(x, y)
      $game_self_switches[[$game_map.map_id, event.id, key]] = true
    end
    $game_map.refresh
  end
  #--------------------------------------------------------------------------
  # ● 지정 위치의 이벤트의 셀프 스윗치를 오프
  #     x   : 지정 위치의 x 좌표
  #     y   : 지정 위치의 y 좌표
  #     key : 셀프 스윗치("A"와 같이 지정)
  #--------------------------------------------------------------------------
  def pos_event_self_false(x, y ,key)
    for event in $game_map.events_xy(x, y)
      $game_self_switches[[$game_map.map_id, event.id, key]] = false
    end
    $game_map.refresh
  end
  #--------------------------------------------------------------------------
  # ● 지정 위치의 이벤트의 셀프 스윗치를 역전
  #     x   : 지정 위치의 x 좌표
  #     y   : 지정 위치의 y 좌표
  #     key : 셀프 스윗치("A"와 같이 지정)
  #--------------------------------------------------------------------------
  def pos_event_self_rev(x, y ,key)
    for event in $game_map.events_xy(x, y)
      $game_self_switches[[$game_map.map_id, event.id, key]] ^= true
    end
    $game_map.refresh
  end
end
#==============================================================================
# ■ Game_Event
#==============================================================================
class Game_Event < Game_Character
  #--------------------------------------------------------------------------
  # ■ 이벤트명의 취득
  #--------------------------------------------------------------------------
  def name
    return @event.name
  end
end

0 추천 0 비추천
Facebook Twitter Google Pinterest KakaoStory Band
위로 아래로 댓글로 가기 인쇄 수정 삭제
에디터 선택하기
✔ 텍스트 모드 ✔ 에디터 모드
?
댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
Comment '12'
  • ?
    포인트팡팡 2010.09.10 03:23
    축하합니다. 시트르산님은 15포인트에 당첨되셨습니다
    수정 삭제 댓글
  • ?
    크라상 2010.09.12 13:53

    뭔가 좋을것같지만...

    댓글
  • ?
    엘 티그레 2010.09.18 19:56

    emoticon오 이거 편하네요. 제작기간이 절반 이상으로 줄어들겠군요.

    댓글
  • ?
    만능태도 2010.10.17 01:20

    이거 엄청 좋은;;; 왜 이제야 발견한거지 ㅋㅋ

    댓글
  • ?
    만능태도 2010.10.17 01:21

    이게 있으면 액알도 이벤트 엑알도 순식간;;

    댓글
  • ?
    타케찌 2011.01.17 16:49

    고맙습니다.

     

    댓글
  • ?
    네네네duyd 2011.09.15 17:57

    감사

    댓글
  • ?
    액셀 2011.09.21 14:06

    우와 ...대단한 스크립트 입니다

    댓글
  • ?
    Maxim_Cool 2012.01.25 12:25

    감사합니다~

    댓글
  • ?
    훈군 2012.02.06 02:01

    스크립트에

    timer_up(10) 이라고 기술하고 그 이벤트를 실행하니까 신택스 에러가 발생하네요.

    흠...뭐가 문제일지...

    댓글
  • profile
    FNS키리토 2012.04.20 09:48

    액알 만들기 쉬워지는 스크립트네요 ㅇㅅㅇ

    진짜 감사!

    댓글
  • ?
    아무개 2016.07.08 20:35
    감사합니다
    댓글

Category
  • 그래픽(10)
  • 맵/타일(20)
  • 메뉴(44)
  • 메시지(29)
  • 미니맵(6)
  • 버그픽스(3)
  • 변수/스위치(10)
  • 상점(12)
  • 상태/속성(7)
  • 스킬(26)
  • 아이템(16)
  • 액터(6)
  • 원경(1)
  • 영상(4)
  • 오디오(3)
  • 온라인(8)
  • 이동 및 탈것(25)
  • 이름입력(11)
  • 장비(23)
  • 저장(8)
  • 전투(81)
  • 제작도구(5)
  • 직업(3)
  • 퀘스트(7)
  • 키입력(8)
  • 타이틀/게임오버(27)
  • 파티(10)
  • HUD(16)
  • 기타(130)
List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 9258
637 아이템 현재있는 파티원 선택 레벨업 아이템 만들기 1 file 싸패 2016.06.06 897
636 저장 세이브 파일 개수 16개로 늘리기 (기본 세이브 엔진용) 1 file Bunny_Boy 2015.09.07 989
635 스킬 [RPG VX] 턴알 스킬 쿨타임 스크립트! (잘돌아감) 5 듀란테 2015.08.18 1831
634 메뉴 KGC - 커스텀 메뉴 커멘드 (번역) 1 듀란테 2015.07.27 1244
633 메뉴 Etude87's Menu Editor for VX 25 습작 2015.01.14 1646
632 기타 Gamepad Extender VX 습작 2015.01.02 781
631 버그픽스 DerVVulfman's Tileset Reader VX Bug Fix 습작 2014.11.16 811
630 장비 방어구 착용시 최대HP, MP증가 스크립트(턴알) 3 file 기관차 2014.11.06 1381
629 메뉴 Etude87_Ace_Style_Formation_Change ver.1.01 습작 2014.10.05 878
628 키입력 해외 제작자 He Who Jets님의 마우스 스크립트(mouse system) 1 file 보자기군 2014.09.30 1429
627 메시지 Etude87 Dialogue History Scene file 습작 2014.07.07 1183
626 메뉴 MOG - Scroll Bar for VX file 습작 2014.07.06 1251
625 이동 및 탈것 이동 기능 파워업 (장애물 등을 피하는 이동방식) 8 file 파노 2014.04.27 1867
624 타이틀/게임오버 Title Skip System : 타이틀 스킵 file 허걱 2014.03.19 1638
623 버그픽스 Graphical Object Global Reference VX by Mithran Alkaid 2014.03.03 1148
622 기타 장애물을 피하고 다가오게 하는 스크립트 5 file 박력남 2014.02.25 2055
621 버그픽스 애니메이션 표시 위치 수정 (Fix Animation Position) 2 file AltusZeon 2014.02.12 1435
620 전투 [RPG VX]기술에 쿨타임을 부여하는 스크립트 3 스리아씨 2013.12.05 2516
619 HUD 아방스님이 올린 HUD를 개조했습니다. 7 file 스리아씨 2013.09.30 2867
618 전투 SRPGコンバータ for VX by AD.Bank 습작 2013.05.13 3105
쓰기
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 32 Next
/ 32
AVANGS

게임 제작, 창작, 자료, 강좌를 연결하는 커뮤니티

  • 개인정보 취급방침

Copyright © 2026 Avangs