[스마슈님 제공] 부활스크립트

by 아방스 posted Nov 09, 2007
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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



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

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[6] # 아이디
        $game_temp.player_new_x = $game_variables[24] # 맵 x 좌표
        $game_temp.player_new_y = $game_variables[25] # 맵 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 / 4) # 돈을 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