RPGXP 스크립트
2013.09.24 08:12

간단한 여관 스크립트

조회 수 909 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

http://www.dubealex.com/asylum/index.php?showtopic=9362 
  간단한 여관스크립트입니다.  호출법은 이벤트 명령->스크립트에서: 
a = #여관 비용 
b = #주인의 인사말('어서 오세요~ 하룻밤에 $$$입니다.  쉬어가시겠습니까?') 
c = #작별인사('안녕히 가세요~') 
call_inn(a,b,c) 

호출 예: 
a = 300 
b = '어서 오십시오.  하룻밤 자는데 300G입니다.  자고 가시겠습니까?' 
c = '이용해 주셔서 감사합니다.' 
call_inn(a,b,c) 


#============================================================================== 
# ** Inn 
#------------------------------------------------------------------------------ 
# Tsunokiette 
# 2 
# 2006-06-12 

# Edited by Zeriab 
# 2006-06-13 
#============================================================================== 

# Quick Call 
def call_inn(a,b,c) 
  $scene = Inn.new(a,b,c) 
end 

#================================================================= 
# ** Scene Inn 
#================================================================= 
class Inn 
    
    #================================================================= 
    # * Initialization 
    #----------------------------------------------------------------- 
    # Cost = Ammount of Money to Charge. 
    # Message A = Message to say hello and ask if you want to stay. 
    # Message B = Message to say once you've stayed and are leaving. 
    #================================================================= 
    def initialize(cost,message_a,message_b) 
        @cost = cost 
        @hello = message_a 
        @goodbye = message_b 
    end 
  
    #================================================================= 
    # * Main Proccessing 
    #================================================================= 
    def main 
        @bitmap = Spriteset_Map.new 
        @gold = Window_Gold.new 
        @gold.x = (640 - @gold.width) 
        @gold.y = 0 
        @choice = Window_Command.new(200,['Yes','No']) 
        width = @choice.contents.text_size('Yes').width + 40 
        @choice.dispose 
        @choice = Window_Command.new(width,['Yes','No']) 
        @choice.width = width 
        @choice.y = 214 
        @choice.index = 0 
        @message = Window_Message.new  
        $game_temp.message_text = @hello.dup    
        @message.visible = true 
        # Execute transition 
        Graphics.transition 
        loop do 
            Graphics.update 
            Input.update 
            @choice.update 
            @bitmap.update 
            $game_temp.message_text = @hello.dup    
            @message.refresh 
            @message.update            
            if Input.trigger?(Input::C) 
                case @choice.index 
                when 0 
                    if $game_party.gold >= @cost 
                        for actor in $game_party.actors 
                          actor.hp = actor.maxhp 
                          actor.sp = actor.maxsp 
                        end 
                        @gold.visible = false 
                        @message.visible = false 
                        @choice.visible = false 
                        @choice.active = false 
                        $game_party.lose_gold(@cost) 
                        @gold.refresh 
                        tone1 = Tone.new(-255,-255,-255,255) 
                        tone2 = Tone.new(0,0,0,0) 
                        $game_screen.start_tone_change(tone1, 20) 
                        wait = 0 
                        max_wait = 165 
                        while wait < max_wait do 
                          if wait == 20 
                            $game_system.me_play(RPG::AudioFile.new('014-Inn01')) 
                          end 
                          if wait == max_wait - 20 
                            $game_screen.start_tone_change(tone2, 20) 
                          end 
                          wait += 1 
                          $game_screen.update 
                          Graphics.update 
                          @bitmap.update 
                        end 
                        @gold.visible = true 
                        @message.visible = true 
                    else          
                        @choice.visible = false 
                        @choice.active = false 
                        @goodbye = "It appears you don't have enough money." 
                    end 
                end 
                break 
            elsif Input.trigger?(Input::B) 
                break 
            end 
        end 
        @choice.visible = false 
        @choice.active = false  
        $game_temp.message_text = @goodbye.dup    
        loop do 
            Graphics.update 
            Input.update 
            @bitmap.update 
            $game_temp.message_text = @goodbye.dup 
            @message.update 
            @message.refresh 
            if Input.trigger?(Input::C) or Input.trigger?(Input::B) 
                @message.visible = false 
                break 
            end 
        end 
        @gold.dispose 
        @message.dispose 
        @choice.dispose 
        @bitmap.dispose 
        $scene = Scene_Map.new 
    end 
end


by Tsunokiette@Creation Asylum

?

등록된 글이 없습니다.

Board Pagination Prev 1 ... 2 Next
/ 2






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

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