Страница 27 из 143 ПерваяПервая ... 1725262728293777127 ... ПоследняяПоследняя
Показано с 261 по 270 из 1426

Тема: Помощь с скриптами (RGSS)

  1. #261
    Маститый Аватар для Doctor Cid
    Информация о пользователе
    Регистрация
    21.06.2010
    Адрес
    Esteria
    Сообщений
    1,494
    Записей в дневнике
    49
    Репутация: 32 Добавить или отнять репутацию

    По умолчанию

    Andrew, спасибо.
    «Оптимизм — это недостаток информации»

  2. #262
    Маститый Аватар для Doctor Cid
    Информация о пользователе
    Регистрация
    21.06.2010
    Адрес
    Esteria
    Сообщений
    1,494
    Записей в дневнике
    49
    Репутация: 32 Добавить или отнять репутацию

    По умолчанию

    Ещё один баг в скрипте обнаружил. При выборе какой-либо опции вроде статуса или экипировки, и возвращении обратно в меню, появляется вот это:

    http://www.imagepost.ru/images/839/GDBm6PHSra_3.png
    «Оптимизм — это недостаток информации»

  3. #263
    Маститый Аватар для Andrew
    Информация о пользователе
    Регистрация
    08.02.2011
    Адрес
    Беларусь, Витебск
    Сообщений
    1,049
    Записей в дневнике
    3
    Репутация: 30 Добавить или отнять репутацию

    По умолчанию

    Ты из игры блокировал "Сохранение"?


  4. #264
    Маститый Аватар для Andrew
    Информация о пользователе
    Регистрация
    08.02.2011
    Адрес
    Беларусь, Витебск
    Сообщений
    1,049
    Записей в дневнике
    3
    Репутация: 30 Добавить или отнять репутацию

    По умолчанию

    Проверил. Получается только если запретить сохраняться. Могу щас убрать.


  5. #265
    Маститый Аватар для Andrew
    Информация о пользователе
    Регистрация
    08.02.2011
    Адрес
    Беларусь, Витебск
    Сообщений
    1,049
    Записей в дневнике
    3
    Репутация: 30 Добавить или отнять репутацию

    По умолчанию

    Вот исправлений вариант
    Код:
    #*************************************************
    #Final Fantasy 7 menu
    #*************************************************
    #Используеться для изменения понели управление меню.
    #Добавляет изображение чара, и строку уровня HP, SP, EXP.
    #Меняет положение меню, с левой стороны, на правую.
    #Добавляет анимацию при переходе, со строк меню.
    #Указывает локацию уровня.
    #Полностью обновляет строку "Статуса".
    #
    #Для создания изображения чара, потребуеться следующее:
    #Создайте изображение в формате .png
    #Назовите изображение именем чара, и вложите его в категорию
    #адреса: Characters/Faces/
    #Изображение не должно привышать размера 80x80.
    #========================================
    #■ Window_Base
    #--------------------------------------------------------------------------------
    # Setting functions for the "Base"
    #========================================
    
    class Scene_End
    #--------------------------------------------------------------------------
    def main
    s1 = $str_totitle
    s2 = $str_shutdown
    s3 = $str_cancel
    @command_window = Window_Command.new(192, [s1, s2, s3])
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 240 - @command_window.height / 2
    Graphics.transition
    loop do
    Graphics.update
    Input.update
    update
    if $scene != self
    break
    end
    end
    Graphics.freeze
    @command_window.dispose
    if $scene.is_a?(Scene_Title)
    Graphics.transition
    Graphics.freeze
    end
    end
    #--------------------------------------------------------------------------
    def update
    @command_window.update
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    $scene = Scene_Menu.new(4)
    return
    end
    if Input.trigger?(Input::C)
    case @command_window.index
    when 0
    command_to_title
    when 1
    command_shutdown
    when 2
    command_cancel
    end
    return
    end
    end
    #--------------------------------------------------------------------------
    def command_to_title
    $game_system.se_play($data_system.decision_se)
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    $scene = Scene_Title.new
    end
    #--------------------------------------------------------------------------
    def command_shutdown
    $game_system.se_play($data_system.decision_se)
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    $scene = nil
    end
    #--------------------------------------------------------------------------
    def command_cancel
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Menu.new(4)
    end
    end
    
    
    class Window_Base < Window
    
    def draw_actor_face(actor, x, y)
    face = RPG::Cache.character("Faces/" + actor.character_name, actor.character_hue)
    fw = face.width
    fh = face.height
    src_rect = Rect.new(0, 0, fw, fh)
    self.contents.blt(x - fw / 23, y - fh, face, src_rect)
    end
    end
    def draw_actor_battler_graphic(actor, x, y)
    bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
    end
    
    #========================================
    #■ Game_Map
    #--------------------------------------------------------------------------------
    # Setting functions for the Map
    #========================================
    class Game_Map
    
    def name
    $map_infos[@map_id]
    end
    end
    
    #========================================
    #■ Window_Title
    #--------------------------------------------------------------------------------
    # Setting functions for the Title
    #========================================
    class Scene_Title
    $map_infos = load_data("Data/MapInfos.rxdata")
    for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
    end
    end
    
    
    
    
    #================================================= =============================
    # ■ Window_MenuStatus
    #------------------------------------------------------------------------------
    # Sets up the Choosing.
    #================================================= =============================
    
    class Window_MenuStatus < Window_Selectable
    #--------------------------------------------------------------------------
    # Set up
    #--------------------------------------------------------------------------
    def initialize
    super(0, 0, 560, 454)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $defaultfonttype = "Palatino Linotype"
    self.contents.font.size = $defaultfontsize = 18
    refresh
    self.active = false
    self.index = -1
    end
    #--------------------------------------------------------------------------
    # Drawing Info on Screen
    #--------------------------------------------------------------------------
    def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
    x = 94
    y = i * 110
    actor = $game_party.actors[i]
    draw_actor_face(actor, 6, y + 86) #To get rid of the Face, put a "#" before the draw_ of this line
    #draw_actor_graphic(actor, 48, y + 65) #and delete the "#" infront of draw of this line
    draw_actor_name(actor, x, y)
    draw_actor_class(actor, x + 144, y)
    draw_actor_level(actor, x, y + 18)
    draw_actor_state(actor, x + 144, y + 22)
    draw_actor_exp(actor, x+ 144, y + 44)
    draw_actor_hp(actor, x, y + 38)
    draw_actor_sp(actor, x, y + 58)
    end
    end
    #--------------------------------------------------------------------------
    # Update of Cursor
    #--------------------------------------------------------------------------
    def update_cursor_rect
    if @index < 0
    self.cursor_rect.empty
    else
    self.cursor_rect.set(0, @index * 110, self.width - 32, 96)
    end
    end
    end
    
    #=======================================#
    # ■Window_GameStats #
    # written by AcedentProne #
    #------------------------------------------------------------------------------#
    
    class Window_GameStats < Window_Base
    def initialize
    super(0, 0, 160, 60)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $defaultfonttype = "Palatino Linotype"
    self.contents.font.size = $defaultfontsize = 18
    refresh
    end
    
    def refresh
    self.contents.clear
    #Drawing gold into separate commas by Dubealex
    case $game_party.gold
    when 0..9999
    gold = $game_party.gold
    when 10000..99999
    gold = $game_party.gold.to_s
    array = gold.split(//)
    gold = array[0].to_s+array[1].to_s+","+array[2].to_s+array[3].to_s+array[4].to_s
    when 100000..999999
    gold = $game_party.gold.to_s
    array = gold.split(//)
    gold = array[0].to_s+array[1].to_s+array[2].to_s+","+array[3].to_s+array[4].to_s+array[5].to_s
    when 1000000..9999999
    gold = $game_party.gold.to_s
    array = gold.split(//)
    gold = array[0].to_s+","+array[1].to_s+array[2].to_s+array[3].to_s+","+array[4].to_s+array[5].to_s+array[6].to_s
    end
    #Draw Gold
    self.contents.font.color = system_color
    gold_word = $data_system.words.gold.to_s
    cx = contents.text_size(gold_word).width
    cx2=contents.text_size(gold.to_s).width
    self.contents.draw_text(4, 4, 120-cx-2, 32, gold_word)
    self.contents.font.color = normal_color
    self.contents.draw_text(124-cx2+1, 4, cx2, 32, gold.to_s, 2)
    self.contents.font.color = system_color
    # Draw "Time"
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.font.color = normal_color
    self.contents.draw_text(4, -10, 120, 32, text, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(4, -10, 120, 32, "Время")
    end
    #--------------------------------------------------------------------------
    # Update of The count
    #--------------------------------------------------------------------------
    def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
    refresh
    end
    end
    end
    
    #================================================= =============================
    # ■ Window_Mapname
    #------------------------------------------------------------------------------
    #  Draws the Map name
    #================================================= =============================
    
    class Window_Mapname < Window_Base
    #--------------------------------------------------------------------------
    # Set up
    #--------------------------------------------------------------------------
    def initialize
    super(0, 0, 320, 44)
    self.contents = Bitmap.new(width - 52, height - 32)
    self.contents.font.name = $defaultfonttype = "Arial"
    self.contents.font.size = $defaultfontsize = 18
    refresh
    end
    #--------------------------------------------------------------------------
    # Draws info on screen
    #--------------------------------------------------------------------------
    def refresh
    self.contents.clear
    
    # Map Name
    #map = $game_map.name
    self.contents.font.color = system_color
    self.contents.draw_text(4, -10, 220, 32, "Локация")
    self.contents.font.color = normal_color
    self.contents.draw_text(160, -10, 120, 32, $game_map.name)
    end
    end
    
    #================================================= =============================
    # ■ Scene_Menu
    #------------------------------------------------------------------------------
    # FF7 menu layout as requested by AcedentProne.
    #================================================= =============================
    
    class Scene_Menu
    #--------------------------- edit-------------------------------
    attr_reader :status_window
    #/--------------------------- edit-------------------------------
    
    def initialize(menu_index = 0)
    @menu_index = menu_index
    end
    def main
    
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "Статус"
    s5 = "Сохранение"
    s6 = "Выход"
    
    #--------------------------- edit------------------------------- 
    # Command menu
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s6])
    @command_window.x = 640 - @command_window.width
    @command_window.y = 480
    @command_window.z = 110
    @command_window.index = @menu_index
    #If certain options are avaliable
    if $game_party.actors.size == 0
    @command_window.disable_item(0)
    @command_window.disable_item(1)
    @command_window.disable_item(2)
    @command_window.disable_item(3)
    end
    #Showing location window
    @map = Window_Mapname.new
    @map.x = 640 - @map.width
    @map.y = 0 - @map.height - 1
    @map.z = 110
    #Showing the game stats
    @game_stats_window = Window_GameStats.new
    @game_stats_window.x = 0 - @game_stats_window.width
    @game_stats_window.y = 480 - @map.height - @game_stats_window.height
    @game_stats_window.z =110
    
    #Showing the Menu Status window
    @status_window = Window_MenuStatus.new
    @status_window.x = 640
    @status_window.y = 8
    @status_window.z = 100
    
    
    Graphics.transition
    loop do
    Graphics.update
    Input.update
    update
    if $scene != self
    break
    end
    end
    Graphics.freeze
    @command_window.dispose
    @game_stats_window.dispose
    @status_window.dispose
    @map.dispose
    end
    #--------------------------------------------------------------------------
    #Defining the delay
    #--------------------------------------------------------------------------
    def delay(seconds)
    for i in 0...(seconds * 1)
    sleep 0.01
    Graphics.update
    end
    end
    #--------------------------------------------------------------------------
    # Updating
    #--------------------------------------------------------------------------
    def update
    @command_window.update
    @game_stats_window.update
    @status_window.update
    @map.update
    #Moving Windows inplace
    gamepos = 640 - @game_stats_window.width
    mappos = 480 - @map.height - 1
    if @command_window.y > 0
    @command_window.y -= 60
    end
    if @game_stats_window.x < gamepos
    @game_stats_window.x += 80
    end
    if @map.y < mappos
    @map.y += 80
    end
    if @status_window.x > 0
    @status_window.x -= 80
    end
    #Saying if options are active
    if @command_window.active
    update_command
    return
    end
    if @status_window.active
    update_status
    return
    end
    end
    #--------------------------------------------------------------------------
    # Updating the Command Selection
    #--------------------------------------------------------------------------
    def update_command
    # If B button is pushed
    if Input.trigger?(Input::B)
    # Plays assigned SE
    $game_system.se_play($data_system.cancel_se)
    #Looping for moving windows out
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    # Go to Map
    $scene = Scene_Map.new
    return
    end
    # If C button is pused
    if Input.trigger?(Input::C)
    # Checks actor size
    if $game_party.actors.size == 0 and @command_window.index < 4
    # plays SE
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    case @command_window.index
    when 0 
    $game_system.se_play($data_system.decision_se)
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    $scene = Scene_Item.new
    when 1
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
    when 2
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
    when 3 
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
    when 4
    $game_system.se_play($data_system.decision_se)
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    $scene = Scene_End.new
    @status_window.active = false
    @status_window.index = 0
    end
    return
    end
    end
    #--------------------------------------------------------------------------
    # Updating Status Screen
    #--------------------------------------------------------------------------
    def update_status
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
    return
    end
    if Input.trigger?(Input::C)
    case @command_window.index
    when 1
    if $game_party.actors[@status_window.index].restriction >= 2
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    $game_system.se_play($data_system.decision_se)
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    $scene = Scene_Skill.new(@status_window.index)
    when 2
    $game_system.se_play($data_system.decision_se)
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    $scene = Scene_Equip.new(@status_window.index)
    when 3
    $game_system.se_play($data_system.decision_se)
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    $scene = Scene_Status.new(@status_window.index)
    end
    return
    end
    end
    end
    Протестируй на всякий случай, но у меня никаких багов больше нет.


  6. #266
    Маститый Аватар для Doctor Cid
    Информация о пользователе
    Регистрация
    21.06.2010
    Адрес
    Esteria
    Сообщений
    1,494
    Записей в дневнике
    49
    Репутация: 32 Добавить или отнять репутацию

    По умолчанию

    Протестируй на всякий случай, но у меня никаких багов больше нет.
    Да, багов больше нет. Спасибо.
    «Оптимизм — это недостаток информации»

  7. #267
    Маститый Аватар для Narcotic Truth
    Информация о пользователе
    Регистрация
    29.04.2008
    Адрес
    RUSSIA
    Сообщений
    1,281
    Записей в дневнике
    2
    Репутация: 26 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Andrew Посмотреть сообщение
    Проверил. Получается только если запретить сохраняться. Могу щас убрать.
    В окне Локация увелич размер сектора, где пишется имя локации, что бы оно так не сужало длинный текст.
    --- Yellow House Studio ---

  8. #268
    Маститый Аватар для Andrew
    Информация о пользователе
    Регистрация
    08.02.2011
    Адрес
    Беларусь, Витебск
    Сообщений
    1,049
    Записей в дневнике
    3
    Репутация: 30 Добавить или отнять репутацию

    По умолчанию

    Это максимум. По другому часть текста исчезает. Придётся окно расширять.


  9. #269
    Маститый Аватар для Andrew
    Информация о пользователе
    Регистрация
    08.02.2011
    Адрес
    Беларусь, Витебск
    Сообщений
    1,049
    Записей в дневнике
    3
    Репутация: 30 Добавить или отнять репутацию

    По умолчанию

    Спойлер Вот:
    Код:
    #*************************************************
    #Final Fantasy 7 menu
    #*************************************************
    #Используеться для изменения понели управление меню.
    #Добавляет изображение чара, и строку уровня HP, SP, EXP.
    #Меняет положение меню, с левой стороны, на правую.
    #Добавляет анимацию при переходе, со строк меню.
    #Указывает локацию уровня.
    #Полностью обновляет строку "Статуса".
    #
    #Для создания изображения чара, потребуеться следующее:
    #Создайте изображение в формате .png
    #Назовите изображение именем чара, и вложите его в категорию
    #адреса: Characters/Faces/
    #Изображение не должно привышать размера 80x80.
    #========================================
    #■ Window_Base
    #--------------------------------------------------------------------------------
    # Setting functions for the "Base"
    #========================================
    
    class Scene_End
    #--------------------------------------------------------------------------
    def main
    s1 = $str_totitle
    s2 = $str_shutdown
    s3 = $str_cancel
    @command_window = Window_Command.new(192, [s1, s2, s3])
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 240 - @command_window.height / 2
    Graphics.transition
    loop do
    Graphics.update
    Input.update
    update
    if $scene != self
    break
    end
    end
    Graphics.freeze
    @command_window.dispose
    if $scene.is_a?(Scene_Title)
    Graphics.transition
    Graphics.freeze
    end
    end
    #--------------------------------------------------------------------------
    def update
    @command_window.update
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    $scene = Scene_Menu.new(4)
    return
    end
    if Input.trigger?(Input::C)
    case @command_window.index
    when 0
    command_to_title
    when 1
    command_shutdown
    when 2
    command_cancel
    end
    return
    end
    end
    #--------------------------------------------------------------------------
    def command_to_title
    $game_system.se_play($data_system.decision_se)
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    $scene = Scene_Title.new
    end
    #--------------------------------------------------------------------------
    def command_shutdown
    $game_system.se_play($data_system.decision_se)
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    $scene = nil
    end
    #--------------------------------------------------------------------------
    def command_cancel
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Menu.new(4)
    end
    end
    
    
    class Window_Base < Window
    
    def draw_actor_face(actor, x, y)
    face = RPG::Cache.character("Faces/" + actor.character_name, actor.character_hue)
    fw = face.width
    fh = face.height
    src_rect = Rect.new(0, 0, fw, fh)
    self.contents.blt(x - fw / 23, y - fh, face, src_rect)
    end
    end
    def draw_actor_battler_graphic(actor, x, y)
    bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
    end
    
    #========================================
    #■ Game_Map
    #--------------------------------------------------------------------------------
    # Setting functions for the Map
    #========================================
    class Game_Map
    
    def name
    $map_infos[@map_id]
    end
    end
    
    #========================================
    #■ Window_Title
    #--------------------------------------------------------------------------------
    # Setting functions for the Title
    #========================================
    class Scene_Title
    $map_infos = load_data("Data/MapInfos.rxdata")
    for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
    end
    end
    
    
    
    
    #================================================= =============================
    # ■ Window_MenuStatus
    #------------------------------------------------------------------------------
    # Sets up the Choosing.
    #================================================= =============================
    
    class Window_MenuStatus < Window_Selectable
    #--------------------------------------------------------------------------
    # Set up
    #--------------------------------------------------------------------------
    def initialize
    super(0, 0, 560, 454)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $defaultfonttype = "Palatino Linotype"
    self.contents.font.size = $defaultfontsize = 18
    refresh
    self.active = false
    self.index = -1
    end
    #--------------------------------------------------------------------------
    # Drawing Info on Screen
    #--------------------------------------------------------------------------
    def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
    x = 94
    y = i * 110
    actor = $game_party.actors[i]
    draw_actor_face(actor, 6, y + 86) #To get rid of the Face, put a "#" before the draw_ of this line
    #draw_actor_graphic(actor, 48, y + 65) #and delete the "#" infront of draw of this line
    draw_actor_name(actor, x, y)
    draw_actor_class(actor, x + 144, y)
    draw_actor_level(actor, x, y + 18)
    draw_actor_state(actor, x + 144, y + 22)
    draw_actor_exp(actor, x+ 144, y + 44)
    draw_actor_hp(actor, x, y + 38)
    draw_actor_sp(actor, x, y + 58)
    end
    end
    #--------------------------------------------------------------------------
    # Update of Cursor
    #--------------------------------------------------------------------------
    def update_cursor_rect
    if @index < 0
    self.cursor_rect.empty
    else
    self.cursor_rect.set(0, @index * 110, self.width - 32, 96)
    end
    end
    end
    
    #=======================================#
    # ■Window_GameStats #
    # written by AcedentProne #
    #------------------------------------------------------------------------------#
    
    class Window_GameStats < Window_Base
    def initialize
    super(0, 0, 160, 60)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $defaultfonttype = "Palatino Linotype"
    self.contents.font.size = $defaultfontsize = 18
    refresh
    end
    
    def refresh
    self.contents.clear
    #Drawing gold into separate commas by Dubealex
    case $game_party.gold
    when 0..9999
    gold = $game_party.gold
    when 10000..99999
    gold = $game_party.gold.to_s
    array = gold.split(//)
    gold = array[0].to_s+array[1].to_s+","+array[2].to_s+array[3].to_s+array[4].to_s
    when 100000..999999
    gold = $game_party.gold.to_s
    array = gold.split(//)
    gold = array[0].to_s+array[1].to_s+array[2].to_s+","+array[3].to_s+array[4].to_s+array[5].to_s
    when 1000000..9999999
    gold = $game_party.gold.to_s
    array = gold.split(//)
    gold = array[0].to_s+","+array[1].to_s+array[2].to_s+array[3].to_s+","+array[4].to_s+array[5].to_s+array[6].to_s
    end
    #Draw Gold
    self.contents.font.color = system_color
    gold_word = $data_system.words.gold.to_s
    cx = contents.text_size(gold_word).width
    cx2=contents.text_size(gold.to_s).width
    self.contents.draw_text(4, 4, 120-cx-2, 32, gold_word)
    self.contents.font.color = normal_color
    self.contents.draw_text(124-cx2+1, 4, cx2, 32, gold.to_s, 2)
    self.contents.font.color = system_color
    # Draw "Time"
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.font.color = normal_color
    self.contents.draw_text(4, -10, 120, 32, text, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(4, -10, 120, 32, "Время")
    end
    #--------------------------------------------------------------------------
    # Update of The count
    #--------------------------------------------------------------------------
    def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
    refresh
    end
    end
    end
    
    #================================================= =============================
    # ■ Window_Mapname
    #------------------------------------------------------------------------------
    #  Draws the Map name
    #================================================= =============================
    
    class Window_Mapname < Window_Base
    #--------------------------------------------------------------------------
    # Set up
    #--------------------------------------------------------------------------
    def initialize
    super(0, 0, 380, 44)
    self.contents = Bitmap.new(width - 52, height - 32)
    self.contents.font.name = $defaultfonttype = "Arial"
    self.contents.font.size = $defaultfontsize = 18
    refresh
    end
    #--------------------------------------------------------------------------
    # Draws info on screen
    #--------------------------------------------------------------------------
    def refresh
    self.contents.clear
    
    # Map Name
    #map = $game_map.name
    self.contents.font.color = system_color
    self.contents.draw_text(4, -10, 220, 32, "Локация")
    self.contents.font.color = normal_color
    self.contents.draw_text(160, -10, 150, 32, $game_map.name)
    end
    end
    
    #================================================= =============================
    # ■ Scene_Menu
    #------------------------------------------------------------------------------
    # FF7 menu layout as requested by AcedentProne.
    #================================================= =============================
    
    class Scene_Menu
    #--------------------------- edit-------------------------------
    attr_reader :status_window
    #/--------------------------- edit-------------------------------
    
    def initialize(menu_index = 0)
    @menu_index = menu_index
    end
    def main
    
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "Статус"
    s5 = "Сохранение"
    s6 = "Выход"
    
    #--------------------------- edit------------------------------- 
    # Command menu
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s6])
    @command_window.x = 640 - @command_window.width
    @command_window.y = 480
    @command_window.z = 110
    @command_window.index = @menu_index
    #If certain options are avaliable
    if $game_party.actors.size == 0
    @command_window.disable_item(0)
    @command_window.disable_item(1)
    @command_window.disable_item(2)
    @command_window.disable_item(3)
    end
    #Showing location window
    @map = Window_Mapname.new
    @map.x = 640 - @map.width
    @map.y = 0 - @map.height - 1
    @map.z = 110
    #Showing the game stats
    @game_stats_window = Window_GameStats.new
    @game_stats_window.x = 0 - @game_stats_window.width
    @game_stats_window.y = 480 - @map.height - @game_stats_window.height
    @game_stats_window.z =110
    
    #Showing the Menu Status window
    @status_window = Window_MenuStatus.new
    @status_window.x = 640
    @status_window.y = 8
    @status_window.z = 100
    
    
    Graphics.transition
    loop do
    Graphics.update
    Input.update
    update
    if $scene != self
    break
    end
    end
    Graphics.freeze
    @command_window.dispose
    @game_stats_window.dispose
    @status_window.dispose
    @map.dispose
    end
    #--------------------------------------------------------------------------
    #Defining the delay
    #--------------------------------------------------------------------------
    def delay(seconds)
    for i in 0...(seconds * 1)
    sleep 0.01
    Graphics.update
    end
    end
    #--------------------------------------------------------------------------
    # Updating
    #--------------------------------------------------------------------------
    def update
    @command_window.update
    @game_stats_window.update
    @status_window.update
    @map.update
    #Moving Windows inplace
    gamepos = 640 - @game_stats_window.width
    mappos = 480 - @map.height - 1
    if @command_window.y > 0
    @command_window.y -= 60
    end
    if @game_stats_window.x < gamepos
    @game_stats_window.x += 80
    end
    if @map.y < mappos
    @map.y += 80
    end
    if @status_window.x > 0
    @status_window.x -= 80
    end
    #Saying if options are active
    if @command_window.active
    update_command
    return
    end
    if @status_window.active
    update_status
    return
    end
    end
    #--------------------------------------------------------------------------
    # Updating the Command Selection
    #--------------------------------------------------------------------------
    def update_command
    # If B button is pushed
    if Input.trigger?(Input::B)
    # Plays assigned SE
    $game_system.se_play($data_system.cancel_se)
    #Looping for moving windows out
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    # Go to Map
    $scene = Scene_Map.new
    return
    end
    # If C button is pused
    if Input.trigger?(Input::C)
    # Checks actor size
    if $game_party.actors.size == 0 and @command_window.index < 4
    # plays SE
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    case @command_window.index
    when 0 
    $game_system.se_play($data_system.decision_se)
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    $scene = Scene_Item.new
    when 1
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
    when 2
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
    when 3 
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
    when 4
    $game_system.se_play($data_system.decision_se)
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    $scene = Scene_End.new
    @status_window.active = false
    @status_window.index = 0
    end
    return
    end
    end
    #--------------------------------------------------------------------------
    # Updating Status Screen
    #--------------------------------------------------------------------------
    def update_status
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
    return
    end
    if Input.trigger?(Input::C)
    case @command_window.index
    when 1
    if $game_party.actors[@status_window.index].restriction >= 2
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    $game_system.se_play($data_system.decision_se)
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    $scene = Scene_Skill.new(@status_window.index)
    when 2
    $game_system.se_play($data_system.decision_se)
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    $scene = Scene_Equip.new(@status_window.index)
    when 3
    $game_system.se_play($data_system.decision_se)
    loop do
    if @command_window.y < 480
    @command_window.y += 40
    end
    if @game_stats_window.x > 0 - @game_stats_window.width
    @game_stats_window.x -= 40
    end
    if @map.y > 0 - @map.height
    @map.y -= 40
    end
    if @status_window.x < 640
    @status_window.x += 40
    end
    delay(0.5)
    if @status_window.x >= 640
    break
    end
    end
    $scene = Scene_Status.new(@status_window.index)
    end
    return
    end
    end
    end


  10. #270
    Маститый Аватар для Narcotic Truth
    Информация о пользователе
    Регистрация
    29.04.2008
    Адрес
    RUSSIA
    Сообщений
    1,281
    Записей в дневнике
    2
    Репутация: 26 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Andrew Посмотреть сообщение
    Это максимум. По другому часть текста исчезает. Придётся окно расширять.
    не не не, ты не понял. текст имеет 4 переменные - координаты х,у, и высота, ширина сектора в котором выводится текст. И от размера ширины зависит на сколько текст будет сплюснуть. Тебе надо увеличить ширину и изменить коодинату по х(уменьшить), тогда у тебя название будет ближе к слову Локация и не будет выходить за пределы окна.
    --- Yellow House Studio ---

Страница 27 из 143 ПерваяПервая ... 1725262728293777127 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •