Показано с 1 по 10 из 19

Тема: Конфликт Khas Awesome Light Effects + Автосохранение

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #9
    Пользователь Аватар для Nekropolit
    Информация о пользователе
    Регистрация
    22.03.2014
    Сообщений
    41
    Репутация: 11 Добавить или отнять репутацию

    По умолчанию

    О Один, когда открыл этот код, то пожалел что зарекся его кинуть. Ну ок, что-то вроде:
    Код:
    module RudeMode
      BitmapOnAS = ""  #тут можно написать имя картинки (она должна лежать в папке Graphics\System), которая мигнет в правом нижнем 
                       #углу во время автосейва, к примеру "save" (Да, можно без разрешения)
      BitmapOnAS_width = 0 #тут нужно указать её ширину
      BitmapOnAS_height = 0 #а тут высоту
    end
    
    $BitmapForAutoSave = nil
    
    class Scene_Save < Scene_File
      def on_savefile_ok
        super
        if (@index != 0)
          if DataManager.save_game(@index)
            on_save_success
          else
            Sound.play_buzzer
          end
        else
          Sound.play_buzzer
        end
      end
    end
    
    class Window_SaveFile < Window_Base
      def refresh
        contents.clear
        change_color(normal_color)
        if (@file_index != 0)
          name = Vocab::File + " #{@file_index}"
        else
          name = "Автосохранение"
        end
        draw_text(4, 0, 200, line_height, name)
        @name_width = text_size(name).width
        draw_party_characters(152, 58)
        draw_playtime(0, contents.height - line_height, contents.width - 4, 2)
      end
    end
    
    class Scene_File < Scene_MenuBase
      alias orig_item_max item_max
      
      def item_max
        return orig_item_max + 1
      end 
    end 
    
    module DataManager
      def self.make_filename(index)
        if (index == 0)
          sprintf("AutoSave.rvdata2", index + 1)
        else
          sprintf("Save%02d.rvdata2", index + 1)
        end
      end
    end 
    
    class Game_Interpreter
      def autoSave_game
        if (SceneManager.scene.class == Scene_Map)
          $BitmapForAutoSave = Graphics.snap_to_bitmap
          SceneManager.call(Scene_AutoSave)
        end
      end
    end
    
    class Scene_AutoSave < Scene_Base
      def start
        super
        @background_sprite = Sprite.new
        @background_sprite.bitmap = $BitmapForAutoSave
        $BitmapForAutoSave = nil
        if (RudeMode::BitmapOnAS != "")
          @img_Save = Sprite.new(Viewport.new(Graphics.width-42, Graphics.height-42, RudeMode::BitmapOnAS_width, RudeMode::BitmapOnAS_height))
          @img_Save.bitmap = Cache.system(RudeMode::BitmapOnAS)
        end
        DataManager.save_game(0)
        return_scene
      end
    end
    По дороге немного его поправил и удалил лишнее. Надеюсь ничего не задел.

    Не смотря на его дружелюбность к свету Кхаса, у него есть свои недостатки. К примеру во время автосейва экран на секунду замирает и мигает странный эффект "перетекания" (кажется так он зовется), из-за чего у игрока может возникнуть небольшой диссонанс. По сему добавил возможность моргнуть какой нить картинкой во время автосейва, чтобы было понятно что произошло. В начале скрипта в модуле в принципе все коротко описал.

    глючит? желательно предупредить тогда, если мне нужно что то знать)
    Ну просто я уверен в работе скрипта ровно настолько, насколько уверен что позади меня нет пеликана. То есть в принципе работать должен (а как показал опыт, то и работать даже в "Хаосе скриптов"), но все-таки мало ли. Скрипт писал очень давно, еще когда молоко на усах не высохло, так что все возможно, юзать на свой страх и рис.
    Последний раз редактировалось Nekropolit; 28.09.2015 в 21:58. Причина: $ShowAutoSave = true забыл удалить

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

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

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

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

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

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

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Конфликт Khas Awesome Light Effects + Автосохранение