RPGXP 스크립트

죽었을경우 마을로이동 스크립트

by 청담 posted Sep 24, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

6b1649e9a449d7aff6073b5ae6814a74-.png


#============================================================================== 
# ** 게임오버 업데이트 
#------------------------------------------------------------------------------ 
#  이스크립트는 게임오버 화면을 바꿔주는 스크립트입니다 
#  수정자: 키스코 
#============================================================================== 

class Scene_Gameover 
  # 죽엇니? 
  $losegold = true # TRUE = yes // FALSE = no 
  $loseexp = true # TRUE = yes // FALSE = no 
  
  #-------------------------------------------------------------------------- 
  # * 메인 프로세스 
  #-------------------------------------------------------------------------- 
  def main 
    @spriteset = Spriteset_Map.new 
    # PK 갱신 
    # 도표에 게임을 만드십시오 
    # 옵션 목록을 만드십시오 
    @options = Window_Command.new(160, ["마을로 이동.."]) 
    @options.x = 480 
    @options.y = 384 
    @Gameover = Window_GameOver.new 
    #  BGM와 BGS 정지합니다. 
    $game_system.bgm_play(nil) 
    $game_system.bgs_play(nil) 
    # 저에 놀이 게임 
    $game_system.me_play($data_system.gameover_me) 
    # 과도를 수행하세요 
    Graphics.transition(120) 
    # 메인 루프 
    loop do 
      # 게임 스크린 갱신 
      Graphics.update 
      # 갱신은 정보를 입력 
      Input.update 
      # 프레임 갱신 
      update 
      # 스크린이 바꾸어지는 경우에 비행 루프를 중지한다. 
      if $scene != self 
        break 
      end 
    end 
    # 과도를 위해 준비 
    Graphics.freeze 
    # 도표에 게임을 처분 
    @spriteset.dispose 
    @Gameover.dispose 
    # 선택권을 처분 
    @options.dispose 
    # 과도를 수행 
    Graphics.transition(40) 
    # 과도를 위해 준비 
    Graphics.freeze 
    # 만약에 전투인 경우에 테스트 한다. 
    if $BTEST 
      $scene = nil 
    end 
  end 
  #-------------------------------------------------------------------------- 
  # * 프레임 업데이트 
  #-------------------------------------------------------------------------- 
  def update 
    @options.update 
    @Gameover.update 
    @spriteset.update 
    # C 버튼이 눌러진 경우 
    if Input.trigger?(Input::C) 
      case @options.index 
      when 0 
        $game_player.refresh 
        $game_temp.player_new_map_id = $game_variables[1] # 아이디 
        $game_temp.player_new_x = $game_variables[2] # 맵 x 좌표 
        $game_temp.player_new_y = $game_variables[3] # 맵 y 좌표 
        $game_map.setup($game_temp.player_new_map_id) 
        $game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y) 
        $game_map.update 
        $game_actors[1].hp = $game_actors[1].maxhp 
        $game_actors[1].sp = $game_actors[1].maxsp 
        $game_temp.gameover = false 
        $game_temp.player_transferring = false 
        $game_temp.transition_processing = false 
        $scene = Scene_Map.new 
        
        if $losegold == true 
        $gameover_gold = (($game_party.gold.to_i * 10) / 100 / 2) # 돈을 5%를 잃는다. 
        $game_party.lose_gold($gameover_gold) 
        end 
        else 
      end                                                                              
      
      if $loseexp == true 
        $game_actors[1].exp -= (($game_actors[1].level.to_i * 10) / 2) #경험치 잃는다 
      end                                                                                        
      else                                                                                        #(:: so 플레이어  30 경험치 잃는다.) 
      end 
  end 
end 

#============================================================================== 
# ** window_help 
#------------------------------------------------------------------------------ 
# 이 창은 배우 상태와 함께 기술과 품목 설명을 보여준다 . 
#============================================================================== 

class Window_GameOver < Window_Base 
  #-------------------------------------------------------------------------- 
  # * 목표 초기 설정 
  #-------------------------------------------------------------------------- 
  def initialize 
    super(0, 0, 640, 64) 
    self.contents = Bitmap.new(width - 32, height - 32) 
    refresh 
  end 
  def refresh 
      self.contents.clear 
      self.contents.font.color = normal_color 
      self.contents.draw_text(20,-35,1000,100, "당신은" + "사망하였습니다...") 
    end 
  end 





========================================================================================== 



죽엇을때 게임오버 화면이 나오지않고 마을로 이동할수잇는 스크립트입니다. 

골드는 5%정도 잃게햇구요.  경험치는 10정도 깎이게해놧습니다. 

스샷첨부해드립니다.


출처: 게임공작소