XP 스크립트

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ /_/_/_/_/_/_/_/_/_/_/_/_/_/_/
# _ / ◆ 2 창에있는 선방 - KGC_2PaneSave ◆
#_/----------------------------------------------- -----------------------------
# _ / 2 창 식 저장 화면을 만듭니다.
#_/=============================================== =============================
# _ /«2000 식 선방 [2000StyleSave]»와 병용 불가
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ /_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#================================================= =============================
# ★ 지정 품목 ★
#================================================= =============================

module KGC
  # ◆ 페이지
  # 1 페이 지당 세이브 파일 4.
  # 너무 많은 세이브 /로드 화면 표시 속도가 느려집니다.
  # ※ 반드시 1 이상을 지정하세요.
  TPS_PAGE_NUMBER = 4
  # ◆ 파일 번호 서식
  # [(i) .. 파일 번호]
  TPS_FILE_INDEX_FORMAT = "파일 (i)"

  # ◆ 회원 목록 열 수 (1 ~ 4)
  # 5 이상하면 표시 입었습니다.
  TPS_MEMBER_COLS = 3
  # ◆ 앞두고 멤버도 그리기
  #«멀티 파티»도입에만 적용.
  TPS_DRAW_ALL_MEMBER = true
end

# ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★

$ imported = () if $ imported == nil
$ imported [ "2PaneSave"] = true

#================================================= =============================
# ■ Window_SaveFile
#================================================= =============================

class Window_SaveFile <Window_Base
  attr_accessor : destination
  #------------------------------------------------- -------------------------
  # ● 오브젝트 초기화
  # file_index : 저장 파일의 인덱스
  # filename : 파일 이름 :
  #------------------------------------------------- -------------------------
  def initialize (file_index, filename)
    super (file_index * 160, 64, 160, 96)
    self.contents = Bitmap.new (width - 32, height - 32)
    @ file_index = file_index
    @ filename = "Save # (@ file_index + 1). rxdata"
    @ time_stamp = Time.at (0)
    @ file_exist = FileTest.exist? (@ filename)
    if @ file_exist
      file = File.open (@ filename, "r")
      @ time_stamp = file.mtime
      @ frame_count = Marshal.load (file)
      unless@frame_count.is_a? (Integer)
        @ frame_count = Marshal.load (file)
      end
      9.times (| i | # 불필요한 부분을 읽으 비행
        Marshal.load (file)
      )
      @ total_sec = @ frame_count / Graphics.frame_rate
      file.close
    end
    refresh
    @ destination = self.x
    @ selected = false
  end
  #------------------------------------------------- -------------------------
  # ● 재생
  #------------------------------------------------- -------------------------
  def refresh
    # MapInfo.rxdata를로드
    mapinfo = load_data ( "Data / MapInfos.rxdata")
    self.contents.clear
    # 파일 번호 그리기
    self.contents.font.color = system_color
    name = KGC : : TPS_FILE_INDEX_FORMAT.dup
    name.gsub! (/ (i) /) ( "# (@ file_index + 1)")
    self.contents.draw_text (4, 0, 120, 32, name)
    @ name_width = contents.text_size (name) width
    # 세이브 파일이있는 경우
    if @ file_exist
      # 경기 시간을 그리기
      hour = @ total_sec / 60 / 60
      min = @ total_sec / 60 % 60
      sec = @ total_sec % 60
      time_string = sprintf ( "% 02d : % 02d : % 02d", hour, min, sec)
      self.contents.font.color = normal_color
      self.contents.draw_text (4, 32, 120, 32, time_string)
    end
  end
  #------------------------------------------------- -------------------------
  # ● 프레임 갱신
  #------------------------------------------------- -------------------------
  def update
    super
    # 창을 이동
    if self.x! = @ destination
      if (self.x - @ destination). abs <12
        self.x = @ destination
      else
        dist = (@ destination - self.x) / 8
        if dist <0
          dist = dist, -12] min
        else
          dist = dist 12] max
        end
        self.x + = dist
      end
    end
  end
end

# ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★

#================================================= =============================
# ■ Window_SaveFileInfo
#------------------------------------------------- -----------------------------
# 파일의 정보를 표시하는 창입니다.
#================================================= =============================

class Window_SaveFileInfo <Window_Base
  #------------------------------------------------- -------------------------
  # ● 오브젝트 초기화
  #------------------------------------------------- -------------------------
  def initialize
    super (0, 160, 640, 320)
    self.contents = Bitmap.new (width - 32, height - 32)
    self.contents.font.size = 20
  end
  #------------------------------------------------- -------------------------
  # ● 재생
  # file_index : 저장 파일의 인덱스
  #------------------------------------------------- -------------------------
  def refresh (file_index)
    if @ file_index == file_index
      return
    end
    self.contents.clear
    @ file_index = file_index
    filename = "Save # (file_index + 1). rxdata"
    if FileTest.exist? (filename)
      self.contents.font.color = normal_color
      self.contents.font.name = Font.default_name
      self.contents.font.size = 20
      self.contents.font.bold = Font.default_bold
      draw_file_info (filename)
    else
      self.contents.font.color = disabled_color
      self.contents.font.name = "Times New Roman"
      self.contents.font.size = 32
      self.contents.font.bold = true
      self.contents.draw_text (0, 112, 640, 64, "- NO DATA -", 1)
    end
  end
  #------------------------------------------------- -------------------------
  # ● 파일 정보 그리기
  # filename : 대상 파일 이름
  #------------------------------------------------- -------------------------
  def draw_file_info (filename)
    file = File.open (filename, "r")
    time_stamp = file.mtime
    frame_count = Marshal.load (file)
    unless frame_count.is_a? (Integer)
      frame_count = Marshal.load (file)
    end
    game_system = Marshal.load (file)
    game_switches = Marshal.load (file)
    game_variables = Marshal.load (file)
    game_self_switches = Marshal.load (file)
    game_screen = Marshal.load (file)
    game_actors = Marshal.load (file)
    game_party = Marshal.load (file)
    game_troop = Marshal.load (file)
    game_map = Marshal.load (file)
    total_sec = frame_count / Graphics.frame_rate
    file.close
    # 캐릭터 그리기
    actors = game_party.actors
    if $ imported [ "LargeParty"] & &! KGC : : TPS_DRAW_ALL_MEMBER
      actors = game_party.battle_actors
    end
    actors.each_with_index (| actor, i |
      x = i / 5 * (608 / KGC : : TPS_MEMBER_COLS)
      y = i % 5 * 48
      out = dead = false
      if $ imported [ "LargeParty"] & &! game_party.battle_actors.include? (actor)
        out = true
      elsif actor.dead?
        dead = true
      end
      image = RPG : : Cache.character (actor.character_name, actor.character_hue)
      rect = Rect.new (0, 0, image.width>> 2 image.height>> 2)
      self.contents.blt (x, y, image, rect, out? 128 : 255)
      self.contents.font.color = dead? knockout_color : normal_color
      self.contents.draw_text (x + 40, y, 108, 24, actor.name)
      self.contents.font.color = system_color
      self.contents.draw_text (x + 40, y + 24, 32, 24, "Lv")
      self.contents.font.color = normal_color
      self.contents.draw_text (x + 72, y + 24, 64, 24, actor.level.to_s)
    )
    # 플레이 시간을 그리기
    hour = total_sec / 3600
    min = total_sec / 60 % 60
    sec = total_sec % 60
    time_string = sprintf ( "% 02d : % 02d : % 02d", hour, min, sec)
    self.contents.font.color = system_color
    self.contents.draw_text (480, 240, 48, 24, "TIME")
    self.contents.font.color = normal_color
    self.contents.draw_text (528, 240, 80, 24, time_string 2)
    # 타임 스탬프를 그리기
    time_string = time_stamp.strftime ( "% Y / % m / % d % H : % M")
    self.contents.draw_text (448, 264, 160, 24, time_string 2)
    # 저장 위치 임무를 그리기
    if $ imported [ "PlaceMission"]
      mapinfo = load_data ( "Data / MapInfos.rxdata")
      place = ""
      # 맵 이름이없는 경우
      if game_system.place == nil | | game_system.place == ""
        # 맵 이름 검색
        place = mapinfo [game_map.map_id] name
      else
        place = game_system.place
      end
      self.contents.font.color = system_color
      cx = self.contents.text_size ( "저장 위치") width
      self.contents.draw_text (4, 240, cx, 24, "저장 위치")
      self.contents.font.color = normal_color
      self.contents.draw_text (8 + cx, 240, 596 - cx, 24, place)
      self.contents.font.color = system_color
      cx = self.contents.text_size ( "위원회") width
      self.contents.draw_text (4, 264, cx, 24, "위원회")
      self.contents.font.color = normal_color
      self.contents.draw_text (8 + cx, 264, 596 - cx, 24, game_system.mission)
    end
  end
end

# ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★

#================================================= =============================
# ■ Scene_Title
#================================================= =============================

class Scene_Title
  #------------------------------------------------- -------------------------
  # ● 프레임 갱신
  #------------------------------------------------- -------------------------
  alias update_KGC_2PaneSave update
  def update
    #하며 계속 판정
    unless @ continue_checked
      found = false
      (KGC : : TPS_PAGE_NUMBER * 4) times (| i |
        if FileTest.exist? ( "Save # (i +1) rxdata")
          found = true
          break
        end
      )
      # 세이브 파일이 발견되면
      if found
        # 커서를하며 계속 적응
        @ command_window.index = 1
      end
      @ continue_checked = true
    end

    update_KGC_2PaneSave
  end
end

# ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★

#================================================= =============================
# ■ Scene_File
#================================================= =============================

class Scene_File
  #------------------------------------------------- -------------------------
  # ● 기본 과정
  #------------------------------------------------- -------------------------
  def main
    @ file_number = KGC : : TPS_PAGE_NUMBER * 4
    create_sprites
    # 마지막으로 작업한 파일을 선택
    @ file_index = $ game_temp.last_file_index
    @ savefile_windows [@ file_index] selected = true
    @ index_x = @ file_index % 4
    @ top_position = 0
    (@ file_index / 4) times (| i |
      @ top_position -= 160 * 4
    )
    @ scroll = 0
    # 창을 이동
    move_window (true)
    @ info_window.refresh (@ file_index)
    # 영상 실행
    Graphics.transition
    # 메인 루프
    loop (
      Graphics.update
      Input.update
      update
      if $ scene! = self
        break
      end
    )
    # 전환 준비
    Graphics.freeze
    dispose_sprites
  end
  #------------------------------------------------- -------------------------
  # ● 스프 라이트 생성
  #------------------------------------------------- -------------------------
  def create_sprites
    # 도움말 윈도우 작성
    @ help_window = Window_Help.new
    @ help_window.set_text (@ help_text)
    # 세부화이루윙도우 만들기
    @ savefile_windows = []
    @ file_number.times (| i |
      @ savefile_windows <<Window_SaveFile.new (i, make_filename (i))
    )
    # 정보 창 만들기
    @ info_window = Window_SaveFileInfo.new
    # 나비게토윙도우 만들기
    if KGC : : TPS_PAGE_NUMBER> 1
      @ navi_window = []
      @ navi_sprite = []
      2.times (| i |
        @ navi_window [i] = Window_Base.new (0, 140, 80, 36)
        @ navi_window [i]. back_opacity = 160
        @ navi_window [i]. z = 1000
        @ navi_sprite [i] = Sprite.new
        @ navi_sprite [i]. bitmap = Bitmap.new (64, 24)
        @ navi_sprite [i]. bitmap.font.size = 20
        @ navi_sprite [i]. y = 144
        @ navi_sprite [i]. z = 1001
      )
      @ navi_sprite [0]. bitmap.draw_text (0, 0, 64, 24, "← 뒤로", 1)
      @ navi_sprite [0] x = 8
      @ navi_sprite [1]. bitmap.draw_text (0, 0, 64, 24, "앞으로 →", 1)
      @ navi_window [1] x = 560
      @ navi_sprite [1] x = 568
    end
    # 창을 반투명 화
    window_alpha if $ imported [ "MenuAlter"] & & KGC : : MA_MENU_TRANSPARENT
  end
  #------------------------------------------------- -------------------------
  # ● 스프 삭제
  #------------------------------------------------- -------------------------
  def dispose_sprites
    # 나비게토윙도우 삭제
    if KGC : : TPS_PAGE_NUMBER> 1
      2.times (| i |
        @ navi_window [i]. dispose
        @ navi_sprite [i]. bitmap.dispose
        @ navi_sprite [i]. bitmap = nil
        @ navi_sprite [i]. dispose
        @ navi_window [i] = @ navi_sprite [i] = nil
      )
    end
    # 윈도우 삭제
    @ help_window.dispose
    @ help_window = nil
    @ savefile_windows.each_index (| i |
      @ savefile_windows [i]. dispose
      @ savefile_windows [i] = nil
    )
    @ info_window.dispose
    @ info_window = nil
    # 스뿌라이토셋토 삭제
    if @ spriteset! = nil
      @ spriteset.dispose
      @ spriteset = nil
    end
  end
  #------------------------------------------------- -------------------------
  # ● 프레임 갱신
  #------------------------------------------------- -------------------------
  def update
    # 윈도우 업데이트
    @ help_window.update
    @ savefile_windows.each (| w |
      w.update
    )
    # C 버튼
    if Input.trigger? (Input : : C)
      on_decision (make_filename (@ file_index))
      $ game_temp.last_file_index = @ file_index
      return
    # B 버튼
    elsif Input.trigger? (Input : : B)
      on_cancel
      return
    # →
    elsif Input.repeat? (Input : : RIGHT)
      # → 누름 상태가 반복이 아닌 경우 또는
      # 또는 커서 위치가 파일 개수 이전의 경우
      if Input.trigger? (Input : : RIGHT) | | @ file_index <@ file_number - 1
        # 커서 SE 연주
        $ game_system.se_play ($ data_system.cursor_se)
        # 커서를 오른쪽으로 이동
        @ savefile_windows [@ file_index] selected = false
        @ file_index = (@ file_index + 1) % @ file_number
        @ savefile_windows [@ file_index] selected = true
        @ index_x + = 1
        self.move_window
        return
      end
    # ←
    elsif Input.repeat? (Input : LEFT)
      # ← 누름 상태가 반복이 아닌 경우 또는
      # 또는 커서 위치가 0보다 뒤에 있으면
      if Input.trigger? (Input : LEFT) | | @ file_index> 0
        # 커서 SE 연주
        $ game_system.se_play ($ data_system.cursor_se)
        # 커서를 왼쪽으로 이동
        @ savefile_windows [@ file_index] selected = false
        @ file_index = (@ file_index + @ file_number - 1) % @ file_number
        @ savefile_windows [@ file_index] selected = true
        @ index_x -= 1
        self.move_window
        return
      end
    # ↓ 또는 R
    elsif Input.repeat? (Input : : DOWN) | | Input.repeat? (Input : R)
      # ↓, R 누름 상태를 반복하지 않은 경우
      if Input.trigger? (Input : : DOWN) | | Input.trigger? (Input : R)
        # 커서 SE 연주
        $ game_system.se_play ($ data_system.cursor_se)
        # 커서를 오른쪽으로 이동
        @ savefile_windows [@ file_index] selected = false
        @ file_index = (@ file_index + 4) % @ file_number
        @ savefile_windows [@ file_index] selected = true
        @ scroll = 1
        self.move_window
        return
      end
    # ↑ 또는 L
    elsif Input.repeat? (Input : UP) | | Input.repeat? (Input : L)
      # ↑, L 누름 상태를 반복하지 않은 경우
      if Input.trigger? (Input : UP) | | Input.trigger? (Input : L)
        # 커서 SE 연주
        $ game_system.se_play ($ data_system.cursor_se)
        # 커서를 왼쪽으로 이동
        @ savefile_windows [@ file_index] selected = false
        @ file_index = (@ file_index + @ file_number - 4) % @ file_number
        @ savefile_windows [@ file_index] selected = true
        @ scroll = -1
        self.move_window
        return
      end
    end
    @ info_window.refresh (@ file_index)
  end
  #------------------------------------------------- -------------------------
  # ● 저장 창 이동
  # force : 강제 이동
  #------------------------------------------------- -------------------------
  def move_window (force = false)
    if! force
      # 일반적으로 커서 이동하는 경우
      if @ scroll == 0 & & @ index_x> = 0 & & @ index_x "= 3
        return
      end
      if @ index_x == 4 | | @ scroll == 1 # 오른쪽으로 스크롤
        if @ file_index "= 3 # 왼쪽으로 이동
          @ top_position = 0
        else # 페이지 이동
          @ top_position -= 160 * 4
        end
        @ index_x = 0 if @ scroll == 0
      elsif @ index_x == -1 | | @ scroll == -1 # 왼쪽으로 스크롤
        if @ file_index> = @ file_number - 4 # 오른쪽으로 이동
          @ top_position = (@ file_number - 4) * -160
        else # 일반적으로 이동
          @ top_position + = 160 * 4
        end
        @ index_x = 3 if @ scroll == 0
      end
      @ scroll = 0
      @ file_number.times (| i |
        @ savefile_windows [i]. destination = @ top_position + 160 * i
      )
    else
      @ file_number.times (| i |
        @ savefile_windows [i]. x = @ savefile_windows [i]. destination =
          @ top_position + 160 * i
      )
    end
  end
  #------------------------------------------------- -------------------------
  # ● 창을 반투명 화
  #------------------------------------------------- -------------------------
  def window_alpha
    # [Scene_Save에서 재정
  end
end

# ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★

#================================================= =============================
# ■ Scene_Save
#================================================= =============================

class Scene_Save <Scene_File
  #------------------------------------------------- -------------------------
  # ● 창을 반투명 화
  #------------------------------------------------- -------------------------
  def window_alpha
    # 스뿌라이토셋토 만들기
    @ spriteset = Spriteset_Map.new
    # 각 창을 반투명 화
    @ help_window.back_opacity = 160
    @ savefile_windows.each (| w |
      w.back_opacity = 160
    )
    @ info_window.back_opacity = 160
  end
  #------------------------------------------------- -------------------------
  # ● 저장 데이터 쓰기
  # file : 쓰기 위해 파일 객체 (열려진)
  #------------------------------------------------- -------------------------
  def write_save_data (file)
    # 세이브 파일 그리기 캐릭터 데이터를 생성
    characters = []
    for i in 0 ... $ game_party.actors.size
      actor = $ game_party.actors [i]
      characters.push (actor.battler_name, actor.battler_hue)
    end
    # 세이브 파일 그리기 캐릭터 데이터를 쓰는
    Marshal.dump (characters, file)
    # 플레이 시간 측정을위한 프레임 카운트를 기록
    Marshal.dump (Graphics.frame_count, file)
    # 저장 횟수를 1 증가
    $ game_system.save_count + = 1
    # 마법 저장
    # (편집기에서 저장할 때마다 임의의 값으로 재작성)
    $ game_system.magic_number = $ data_system.magic_number
    # 각종 게임 개체를 작성
    Marshal.dump ($ game_system, file)
    Marshal.dump ($ game_switches, file)
    Marshal.dump ($ game_variables, file)
    Marshal.dump ($ game_self_switches, file)
    Marshal.dump ($ game_screen, file)
    Marshal.dump ($ game_actors, file)
    Marshal.dump ($ game_party, file)
    Marshal.dump ($ game_troop, file)
    Marshal.dump ($ game_map, file)
    Marshal.dump ($ game_player, file)
  end
end

# ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★

#================================================= =============================
# ■ Scene_Load
#================================================= =============================

class Scene_Load <Scene_File
  #------------------------------------------------- -------------------------
  # ● 오브젝트 초기화
  #------------------------------------------------- -------------------------
  def initialize
    # 임시 개체를 다시 만듭니다
    $ game_temp = Game_Temp.new
    # 타임 스탬프가 현재 파일을 선택
    $ game_temp.last_file_index = 0
    latest_time = Time.at (0)
    (KGC : : TPS_PAGE_NUMBER * 4) times (| i |
      filename = make_filename (i)
      if FileTest.exist? (filename)
        file = File.open (filename, "r")
        if file.mtime> latest_time
          latest_time = file.mtime
          $ game_temp.last_file_index = i
        end
        file.close
      end
    )
    super ( "어떤 파일을 로드하시겠습니까?")
  end
end

Who's 무뇌인

?
안녕하세요~ 돌돌밥입니다.
전 요즘 Dark's World라는 온라인을 제작하고 있습니다.

RPG 장르로 운영중이며 쯔꾸르가 만든 RPG 만들기, 일명 알만툴의 RPGXP(RMXP) 로 만들어진 게임입니다.

원래 싱글 플레이용으로 제작된 프로그램이었으나 스크립트 KnM으로 만들어진 게임입니다.

이 온라인은 RMXP(RPGXP)온라인에도 불과하고 24시간동안 서버를 열며 하마치를 사용하지 않습니다.

그리고 서버를 현재도 열고있고 빠른 업데이트가 됩니다.

쉽게 망하지 않으며 남녀노소 누구든지 가능한 온라인입니다.

그 외 카지노 시스템, PLAYER KILL(PK), 원하는 캐릭터를 구매할 수 있는 시스템 등들도 준비되어있다! 

그리고 조만간 추가되는 초보자들을 위한 도움말 기능까지!

http://cafe.naver.com/darksworld가 카페이며 보통은 게임 다운을 카페에 올려놔 게임 다운하기가 힘들수 있습니다.

그럴경우에는 Darkworld.newrth.kr에서 다운받아주시면 됩니다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6312
221 이동 및 탈것 텔레포트 마나소비량 수정하기 3 지존!! 2010.07.22 1563
220 기타 명령어들 6 지존!! 2010.07.24 2294
219 기타 액알 30 지존!! 2010.07.26 5102
218 HUD 캐릭터 아래 SP,HP표시해주는 스크립트 33 file 김!제스! 2010.08.04 4279
217 HUD 강화 나침반 스크립트 (원본 by 허걱) 16 file JACKY 2010.08.16 3119
» 저장 키라링님이 올리신 [KGC_2PaneSave] 번역 1 무뇌인 2010.08.18 1479
215 키입력 AInput Module 3.10 by vgvgf (전체키, 마우스 입력) 6 file Alkaid 2010.09.01 3031
214 장비 Multislots! 2.1 by DerVVulfman 3 file Alkaid 2010.09.02 1543
213 기타 Phylomortis.com 스크립트들. file Alkaid 2010.09.02 1780
212 스킬 Grouping and Detail 7.2 by DerVVulfman 1 file Alkaid 2010.09.02 1514
211 기타 House Decoration System 1.6 by MephistoX (SDK 2.x, MACL 2.x 필요) 1 file Alkaid 2010.09.02 1495
210 메뉴 자작 메뉴 스크립트들(L's Simple CMS and menu scenes) (SDK 호환?) 10 Alkaid 2010.09.02 3469
209 전투 GubiD's Tactical Battle System 1.5.1.4 (RMXP용) GTBS 2 Alkaid 2010.09.03 2458
208 메뉴 Ryex's Collapsing CMS 2.51 3 Alkaid 2010.09.05 1673
207 스킬 RO Job/Skill System 2.01b by Blizzard 2 file Alkaid 2010.09.05 1865
206 메뉴 Stormtronics CMS 5.39b - Hybrid Edition by Blizzard 4 file Alkaid 2010.09.06 1748
205 전투 Active Time Battle 2.62 by パラ犬 file Alkaid 2010.09.06 1663
204 맵/타일 Map Image Maker 3.0 by rey meustrus file Alkaid 2010.09.06 1609
203 HUD HUD Menu 2.0 by Raziel 3 Alkaid 2010.09.07 2047
202 메시지 XRXS9 - 메세지 표시 업그레이드 X file Alkaid 2010.09.07 3314
Board Pagination Prev 1 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 ... 52 Next
/ 52