2013.11.24 10:20

스크립트 오류요..

조회 수 789 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

# 퀘스트 로그 시스템
# game_guy 가이 만듬
# 빗자루씨 번역
# Version 3.0
#-------------------------------------------------------------------------------
# 간략한 소개:
# 퀘스트를 만들수 있는 스크립트 입니다.
#
# 구성 요소:
# 퀘스트가 완료되었을때 이름을 노란색으로 표시합니다.
# 퀘스트를 만들기 쉬워집니다.
# 존나게 긴 퀘스트를 만들수 있습니다.
# 그림을 띄워서 설명할 수 있습니다.
# 퀘스트를 추가하고 쉽게 클리어 할수 있습니다.
# 다른 쉬운 버전보다 가볍습니다.
#
# 설치방법:
# 조금 아래를 내려다보면 # 이 보입니다. 아래에 있는 대로 하세요..
# 이벤트 설정에서 스크립트 실행으로 아래를 응용할수 있습니다.
#
# 스크립트 목록:

#이벤트에 스크립트 에 써주면 됩니다.
# Quest.add(id) ~ 퀘스트(id)를 리스트에 추가합니다.
# Quest.take(id) ~ 퀘스트(id)를 리스트에서 삭제합니다.
# Quest.complete(id) ~ 퀘스트(id)를 완료합니다.
# Quest.completed?(id) ~ 퀘스트(id)를 완료했을때 값을 true로 돌립니다..
# Quest.has?(id) ~ 퀘스트(id)를 받았는지 확인합니다.
# $scene = Scene_Quest.new ~ 퀘스트 메뉴를 엽니다.
#
# 주의사항 :
# 퀘스트가 하나도 없을시에는 에러가 납니다.
# 적어도 퀘스트가 하나라도 있을때 퀘스트 창을 열수 있게 해주세요.
#
# 크레딧:
# game_guy ~ 이거 만들었습니다.
# 베타 테스터 ~ Sally and Landith
# Blizzard ~ 이 사람의 코드에서 조금 배꼈다고 하는군요.
# 빗자루씨 ~ 이거 번역한사람입네다.
#===============================================================================
module GameGuy
  #==================================================
  # Begin Config
  # UsePicture ~ true값으로 지정되었을때 그림을
  #              퀘스트창에 표시합니다만 false일때는 안합니다.
  #==================================================
  UsePicture   = false
  def self.qpicture(id)
    case id
    #==================================================
    # 퀘스트 그림
    # when x then return "그림" 방식으로 추가합니다.
    # x = id, 그림 = quotes 안에 있는 그림
    #==================================================
    when 1 then return "ghost"

    end
    return nil
  end
 
  def self.qname(id)
    case id
    #==================================================
    # 퀘스트 이름
    # when x then return "이름" 방식으로 추가합니다.
    # x = id, 이름 = quotes 안에 있는 이름
    #==================================================
    when 1 then return "[필수]튜토리얼"
      when 2 then return "안나의 심부름"
        when 3 then return "[필수]대왕벌 퇴치"
          when 4 then return "켈베로스 퇴치"
            when 5 then return "[필수]베히모스 퇴치
    #when 9 then return

     
    end
    return ""
  end
     $q = [0]
   for x in 1...600
   $q[x] = self.qname(x)
   end
  def self.qlocation(id)
    case id
    #==================================================
    # 퀘스트 장소
    # x = id, 장소 = quotes 안에 있는 장소
    #==================================================
    when 1 then return "튜토리얼 맵"
      when 2 then return "시작의 마을"
        when 3 then return "시작의 마을"
          when 4 then return "눈의 마을"
            when 5 then return "눈의 마을"
    end
    return "????"
  end
 
  def self.qdescription(id)
    case id
    #==================================================
    # 퀘스트 설명
    # when x then return "설명" 방식으로 추가합니다.
    # x = id, 설명 = quotes 안에 있는 설명
    #==================================================
    when 1 then return "튜토리얼을 클리어하자"
      when 2 then return "벌침 10개를 구해서 안나에게 갖다주자."
        when 3 then return "대왕벌을 퇴치하고 이장에게 가자"
          when 4 then return "켈베로스의 뼈다귀 10개를 에길에에게 가져다주자."
            when 5 then return "베히모스의 가죽 1개를 이장에게 갖다주자."
              end
    return ""
  end
 
end

module Quest
 
  def self.add(id)
    $game_party.add_quest(id)
  end
 
  def self.take(id)
    $game_party.take_quest(id)
  end
 
  def self.complete(id)
    $game_party.complete(id)
  end
 
  def self.completed?(id)
    return $game_party.completed?(id)
  end
 
  def self.has?(id)
    return $game_party.has_quest?(id)
  end
 
end
 
class Game_Party
 
  attr_accessor :quests
  attr_accessor :completed
 
  alias gg_quests_lat initialize
  def initialize
    @quests = []
    @completed = []
    gg_quests_lat
  end
 
  def add_quest(id)
    unless @quests.include?(id)
      @quests.push(id)
    end
  end
 
  def completed?(id)
    return @completed.include?(id)
  end
 
  def complete(id)
    unless @completed.include?(id)
      if @quests.include?(id)
        @completed.push(id)
      end
    end
  end
 
  def has_quest?(id)
    return @quests.include?(id)
  end
 
  def take_quest(id)
    @quests.delete(id)
    @completed.delete(id)
  end
 
end
class Scene_Quest
  def main
    @quests = []
    for i in $game_party.quests
      @quests.push(GameGuy.qname(i))
    end
    @map = Spriteset_Map.new
    @quests2 = []
    for i in $game_party.quests
      @quests2.push(i)
    end
    @quests_window = Window_Command.new(160, @quests)
    @quests_window.height = 480
    @quests_window.back_opacity = 110
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    @quests_window.dispose
    @quest_info.dispose if @quest_info != nil
    @map.dispose
  end
  def update
    @quests_window.update
    if @quests_window.active
      update_quests
      return
    end
    if @quest_info != nil
      update_info
      return
    end
  end
  def update_quests
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(1)
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      @quest_info = Window_QuestInfo.new(@quests2[@quests_window.index])
      @quest_info.back_opacity = 110
      @quests_window.active = false
      return
    end
  end
  def update_info
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @quests_window.active = true
      @quest_info.dispose
      @quest_info = nil
      return
    end
  end
end
class Window_QuestInfo < Window_Base
  def initialize(quest)
    super(160, 0, 480, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    @quest = quest
    refresh
  end
  def refresh
    self.contents.clear
    if GameGuy::UsePicture
      pic = GameGuy.qpicture(@quest)
      bitmap = RPG::Cache.picture(GameGuy.qpicture(@quest)) if pic != nil
      rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil
      self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil
    end
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 480, 32, "퀘스트:")
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 32, 480, 32, GameGuy.qname(@quest))
    self.contents.font.color = system_color
    self.contents.draw_text(0, 128, 480, 32, "장소:")
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 160, 480, 32, GameGuy.qlocation(@quest))
    self.contents.font.color = system_color
    self.contents.draw_text(0, 192, 480, 32, "완료 여부:")
    self.contents.font.color = normal_color
    if $game_party.completed.include?(@quest)
      self.contents.font.color = crisis_color
      self.contents.draw_text(0, 224, 480, 32, "완료")
    else
      self.contents.font.color = normal_color
      self.contents.draw_text(0, 224, 480, 32, "진행중")
    end
    self.contents.font.color = system_color
    self.contents.draw_text(0, 256, 480, 32, "스토리 설명:")
    self.contents.font.color = normal_color
    text = self.contents.slice_text(GameGuy.qdescription(@quest), 460)
    text.each_index {|i|
        self.contents.draw_text(0, 288 + i*32, 460, 32, text[i])}
  end
end
class Bitmap
 
  def slice_text(text, width)
    words = text.split(' ')
    return words if words.size == 1
    result, current_text = [], words.shift
    words.each_index {|i|
        if self.text_size("#{current_text} #{words[i]}").width > width
          result.push(current_text)
          current_text = words[i]
        else
          current_text = "#{current_text} #{words[i]}"
        end
        result.push(current_text) if i >= words.size - 1}
    return result
  end

end

 
89라인에서 오류뜬다는데 왜이러는거지 ㄷㄷㄷ

?

List of Articles
번호 제목 글쓴이 날짜 조회 수 추천 수
공지 제2회 인디사이드 게임제작대회 출품작 리스트. 189 인디사이드운영자 2016.10.24 12600 0
공지 인디사이드 활동 규정.(ver.20160119) 192 천무 2015.02.16 14365 1
17117 드박링크 하나더 만드는법좀 알려주세요 4 나이스게임 2013.11.24 651 0
17116 여러분은 저를 어떻게 생각하시나요? 39 지루 2013.11.24 374 0
17115 이 어플로 내게임돌아가나 7 라이붓 2013.11.24 374 0
17114 닉네임 변경 3 시그널 2013.11.24 402 0
17113 다시 복귀한 나 2 시그널 2013.11.24 359 0
» 스크립트 오류요.. 지루 2013.11.24 789 0
17111 동방자연유 실행오류 질문 6 엘리넨 2013.11.24 1491 0
17110 맵만들기 1 만두카레 2013.11.24 575 0
17109 휴~ 드디어.. 6 팬더 2013.11.24 588 0
17108 오래할수잇는종류의 게임 추천좀 부탁해요 4 kirby 2013.11.24 429 0
17107 오 모바일로 들어와보니 3 아메아메 2013.11.24 371 0
17106 정신 차렸습니다 ㅋㅋ; 4 휘록 2013.11.24 635 0
17105 제가 게임을 제작하고 있습니다 7 은하수 2013.11.24 356 0
17104 네코RPG가입햇습니다~ 8 은하수 2013.11.24 452 0
17103 아나ㅋㅋㅋ 1 각인 2013.11.24 623 0
17102 하.....디디어 가입했다 6 스크림 2013.11.24 608 0
17101 한동안 잊고있었는데 많이 좋아졌네요.. 4 사요쿠냥 2013.11.24 494 0
17100 철권 rpg 질문 1 큐마륜 2013.11.24 434 0
17099 형어디있냐고ㅅㅂ 6 시원오니 2013.11.24 778 0
17098 창조도시를 거쳐난 걸물은 많으나 5 시라노 2013.11.23 397 0
Board Pagination Prev 1 ... 317 318 319 320 321 322 323 324 325 326 ... 1177 Next
/ 1177


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

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