조회 수 4994 추천 수 7 댓글 4
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
acoc_2_1194197981_01.jpg

스크립트 Main 에서 오른쪽 클릭 새로운 섹션을 만듭니다.


이름은 아무거나 정하시고.


아래 내용을 붙여넣습니다.


 


 


#==============================================================================
# ■ Sprite_Reflection
# Based on Sprite_Mirror, Modified By: JmsPlDnl, rewritten entirely by Rataime
#==============================================================================
CATERPILLAR_COMPATIBLE = true


class Game_Party
 attr_reader :characters
end


class Sprite_Reflection < RPG::Sprite


attr_accessor :character


def initialize(viewport=nil, character=nil,self_angle = 180)
  super(viewport)
  @character = character
  @self_angle=self_angle
  self.opacity=0
  @reflected=false
  @former=false
  @moving=false
  if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)==7
    @reflected=true
    @former=true
  end
  update
end


def update
  super
  if @tile_id != @character.tile_id or
     @character_name != @character.character_name or
     @character_hue != @character.character_hue
    @tile_id = @character.tile_id
    @character_name = @character.character_name
    @character_hue = @character.character_hue
    if @tile_id >= 384
      self.bitmap = RPG::Cache.tile($game_map.tileset_name,
        @tile_id, @character.character_hue)
      self.src_rect.set(0, 0, 32, 32)
      self.ox = 16
      self.oy = 32
    else
      self.bitmap = RPG::Cache.character(@character.character_name,
        @character.character_hue)
      @cw = bitmap.width / 4
      @ch = bitmap.height / 4
      self.ox = @cw / 2
      self.oy = @ch
    end
  end
 
  self.visible = (not @character.transparent)
  if @tile_id == 0
    sx = (@character.pattern) * @cw
    sy = (@character.direction - 2) / 2 * @ch
    if @character.direction== 6
          sy = ( 4- 2) / 2 * @ch
    end
    if @character.direction== 4
          sy = ( 6- 2) / 2 * @ch
   end
   if @character.direction != 4 and @character.direction != 6
         sy = (@character.direction - 2) / 2 * @ch
   end
  end
 
  self.x = @character.screen_x
  self.y = @character.screen_y-5
  @moving=!(@character.real_x%128==0 and @character.real_y%128==0)
  @d=@character.direction
  @rect=[sx, sy, @cw, @ch]
  if !(@moving)
    if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)==7
      @reflected=true
      @former=true
    else
      @reflected=false 
      @former=false
    end
   
  else
      case @d
     
      when 2
      if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+2)==7
        @reflected=true
        if @former==false
          @offset = (@character.screen_y%32)*@ch/32
          @rect=[sx, sy, @cw, @offset]
         
self.y=@character.screen_y-5
        end
      else
        @reflected=false 
      end
     
      when 4
      if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)!=7
        @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
        @rect=[sx, sy, @offset, @ch]
       
self.x=@character.screen_x
      else
        @reflected=true
        if @former==false
          @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
          @rect=[sx+@offset, sy, @cw-@offset, @ch]
         
self.x=@character.screen_x-@offset
        end
      end
     
      when 6
      if $game_map.terrain_tag(@character.real_x/128+1,@character.real_y/128+1)!=7
        @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
        @rect=[sx+@offset, sy, @cw-@offset, @ch]
       
self.x=@character.screen_x-@offset
      else
        @reflected=true
        if @former==false
          @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
          @rect=[sx, sy, @offset, @ch]
         
self.x=@character.screen_x
        end
      end
     
      when 8
      if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+2)==7
        @reflected=true
        if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)!=7
          @offset = (@character.screen_y%32)*@ch/32
          @rect=[sx, sy, @cw, @offset]
         
self.y=@character.screen_y-5
        end
      else
        @reflected=false 
      end
     
      end


  end
  if @reflected
    self.opacity=128
  else
   @rect=[sx, sy, @cw, @ch]
   self.opacity=0
  end
 
  if $game_map.terrain_tag((@character.real_x+64)/128,@character.real_y/128+2)!=7
    if $game_map.terrain_tag((@character.real_x+64)/128,@character.real_y/128+2)!=7
      @rect[1]= @rect[1]+@ch/2
      @rect[3]= @rect[3]/2
      self.y = self.y - @ch/2
    else
      @reflected=false
    end
  end
   
  self.src_rect.set(@rect[0],@rect[1],@rect[2],@rect[3])
 
  @character.is_a?(Game_Player) ? self.z = 9 : self.z = 5
  self.blend_type = @character.blend_type
  self.bush_depth = @character.bush_depth
  if @character.animation_id != 0
    animation = $data_animations[@character.animation_id]
    animation(animation, true)
    @character.animation_id = 0
  end


  self.angle = @self_angle
end
end


#===================================================
# ▼ CLASS Sprite_Character edit
#===================================================


class Sprite_Character < RPG::Sprite
 alias reflect_initialize initialize
 
 def initialize(viewport, character = nil)
   @character = character
   @reflection = []
   super(viewport)
   if (character.is_a?(Game_Event) and character.list!=nil and character.list[0].code == 108 and character.list[0].parameters == ["r"])
    @reflection.push(Sprite_Reflection.new(viewport,@character))
   end
   if (character.is_a?(Game_Event) and character.list!=nil and character.list[0].code == 108 and character.list[0].parameters == ["hero_r"])
    @reflection.push(Sprite_Reflection.new(viewport,$game_player))
#===================================================
# ● Compatibility with fukuyama's caterpillar script-x
#===================================================
if CATERPILLAR_COMPATIBLE and $game_party.characters!=nil


 for member in $game_party.characters
   @reflection.push(Sprite_Reflection.new(viewport,member))
 end


end
#===================================================
# ● End of the compatibility
#===================================================
   end
   reflect_initialize(viewport, @character)
 end
 
 alias reflect_update update
 
 def update
  reflect_update
  if @reflection!=nil
    for reflect in @reflection
      reflect.update
    end
  end
 end
 
end


 


 


이후 데이타베이스 > 타일 세트 > 지형 태그 > 원하는 오토타일의 번호를 7번으로 설정.


 


그리고 이벤트를 하나 만드신후..


시작조건 > 병렬처리 > 삽입 > 주석 > hero_r > 끝



Who's 창조도시

profile

도움이 필요하면 메일이나 민원실 이용해주세요.

chunmu1@naver.com

 

 

?

  1. 물가에가면 캐릭터를 반사시켜주는 스크립트

    Date2007.12.02 CategoryRPGXP 스크립트 By창조도시 Views4994 Votes7
    Read More
  2. 8방향 이동스크립트

    Date2014.02.22 CategoryRPGXP 스크립트 By천둥번들 Views1723 Votes6
    Read More
  3. 물가에가면 캐릭터를 반사시켜주는 스크립트

    Date2007.12.02 CategoryRPGXP 스크립트 By창조도시 Views4490 Votes6
    Read More
  4. 최초 시작화면에 제작자 정보를 띄워보자.

    Date2008.04.04 CategoryRPGXP 스크립트 By창조도시 Views2530 Votes5
    Read More
  5. 최초 시작화면에 제작자 정보를 띄워보자.

    Date2008.04.04 CategoryRPGXP 스크립트 By창조도시 Views1961 Votes5
    Read More
  6. 스텟찍기스크립트

    Date2014.02.22 CategoryRPGXP 스크립트 By천둥번들 Views1761 Votes3
    Read More
  7. 타이틀 로고 띄우기 + 로고 SE 가능(예제있음)

    Date2013.12.13 CategoryRPGXP 스크립트 By데노제 Views2391 Votes3
    Read More
  8. 모바일 패드 플러그인입니다! MBS - Mobile DirPad & Action Button

    Date2015.11.07 CategoryRPGMV 플러그인 Bywillmv Views2005 Votes3
    Read More
  9. 이벤트 자동 추적 플러그인

    Date2016.04.27 CategoryRPGMV 플러그인 By러닝은빛 Views2706 Votes3
    Read More
  10. RPG Maker MV 한글 데이타베이스 입니다.

    Date2015.10.25 CategoryRPGMV 플러그인 By천무 Views1903 Votes3
    Read More
  11. 대화창에 이름&얼굴 띄우기 새로운방식.

    Date2007.11.06 CategoryRPGXP 스크립트 By창조도시 Views3594 Votes3
    Read More
  12. 창고 시스템

    Date2008.01.18 CategoryRPGXP 스크립트 By창조도시 Views2168 Votes3
    Read More
  13. 한글이름입력기 v1.76

    Date2008.07.24 CategoryRPGXP 스크립트 By창조도시 Views2208 Votes3
    Read More
  14. 액터선택지이벤트제작 간편화 스크립트

    Date2009.04.30 CategoryRPGVX 스크립트 ByEvangelista Views2537 Votes3
    Read More
  15. 이벤트커맨드 스크립트 관련 설명

    Date2009.01.29 CategoryRPGVX 스크립트 ByEvangelista Views2655 Votes3
    Read More
  16. 이벤트커맨드 스크립트 관련 설명

    Date2009.01.29 CategoryRPGVX 스크립트 ByEvangelista Views2163 Votes3
    Read More
  17. 액터선택지이벤트제작 간편화 스크립트

    Date2009.04.30 CategoryRPGVX 스크립트 ByEvangelista Views2078 Votes3
    Read More
  18. 창고 시스템

    Date2008.01.18 CategoryRPGXP 스크립트 By창조도시 Views1737 Votes3
    Read More
  19. 대화창에 이름&얼굴 띄우기 새로운방식.

    Date2007.11.06 CategoryRPGXP 스크립트 By창조도시 Views3473 Votes3
    Read More
  20. RPG Maker VX Lite Maze(미로) 만들기 (DFS 사용)

    Date2014.10.06 CategoryRPGVX Ace 스크립트 ByJunkMan Views967 Votes2
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)