Страница 39 из 190 ПерваяПервая ... 2937383940414989139 ... ПоследняяПоследняя
Показано с 381 по 390 из 1899

Тема: Поиск скриптов

  1. #381
    Бывалый Аватар для Dark32
    Информация о пользователе
    Регистрация
    30.12.2008
    Адрес
    Арзамас
    Сообщений
    640
    Записей в дневнике
    2
    Репутация: 20 Добавить или отнять репутацию

    По умолчанию

    Код:
    type,ids=[],[]
    text.gsub(/([aiw]{1})(\d+),?/){type<<$1;ids<<$2.to_i}
    занесёт в массивы все пары возможных совпадений.
    РГСС это почти руби, я лишь изредка натыкался на различии поведения, а в плане регулярок - различий пока не находил. Особенность регулярок в том, что можно разбивать по правилам. РГСС хорошо обрабатывает всю строку регуляркой.

    Про ,: забываю какие из спец символов не обязательно экранировать

    Про <>: Чисто разграничения между тегами, можно вообще без <>. Делаю иллюзию HTML

    Про =: делаем вид, что присваиваем. Мы то знаем что ничего не присваиваем, но другие то могут не знать. Я тоже вначале думал, что на ХР в комментариях работают присваивания.

    Про []: можно, но придётся эти символы в регулярке экранировать

    Про . вместо ,: а дробные значения если понадобятся? Я опять думаю наперёд (три четверти доспеха)

    Про \: Не советую, у Руби своё мнение на счёт \ и / , он может их просто проглотить, не хочу лишние поиски ошибки, тогда уж |

    Про читабельность - своеобразная защита от дурака для дурака.

    Люблю хранить данные в виде текста и извлекать регулярками нужные значение. Геморой? Согласен, но мне удобно. Вообще, возьму и в yaml буду всё хранить.
    Нужна помощь в скриптах? Запутался? Голова не варит?
    Читал это и это тоже? Не помогло? Тогда тебе сюда!
    Спойлер •••:
    Цитата Сообщение от Реймон
    В мире нет вещей которые нельзя решить с помощью сладостей
    Цитата Сообщение от Ундер
    Ночью можно обойтись и без сладостей...

  2. #382
    Местный Аватар для Alex333
    Информация о пользователе
    Регистрация
    05.06.2011
    Адрес
    Старый Оскол,Белгородская обл.
    Сообщений
    146
    Репутация: 4 Добавить или отнять репутацию

    По умолчанию

    Помогите решить проблему.Дело вот в чём.Это отрывок из скрипта Bestiary'а (книги монстров) созданный итальянцем или испанцем.
    Сама проблема,значит,на стрнице отображаются предметы которые падают из монстра,броня,предмет,оруж е.При присвоении id оружия например 20,на странице отображается только 1,т.е. дубинка.Как это исправит???
    Код:
     def draw_drop_item1
        item = @enemigo.drop_item1
        contents.draw_text(35, 260, 92, 92, FalVocab[1])
        if item.kind == 0
          contents.draw_text(0, 284, 92, 92, FalVocab[3])
          return
        end
        case item.kind
        when 1; drop_item = $data_items[item.item_id]
        when 2; drop_item = $data_weapons[item.item_id]
        when 3; drop_item = $data_armors[item.armor_id]
        end
        draw_icon(drop_item.icon_index,94, 318)
        contents.draw_text(0, 284, 92, 92, drop_item.name)
      end
      
      def draw_drop_item2
        item = @enemigo.drop_item2
        contents.draw_text(226, 260, 92, 92, FalVocab[2])
        if item.kind == 0
          contents.draw_text(200, 284, 92, 92, FalVocab[3])
          return
        end
        case item.kind
        when 1; drop_item = $data_items[item.item_id]
        when 2; drop_item = $data_weapons[item.item_id]
        when 3; drop_item = $data_armors[item.armor_id]
        end
        draw_icon(drop_item.icon_index,300, 318)
        contents.draw_text(200, 284, 92, 92, drop_item.name)
      end

  3. #383

    По умолчанию

    Если отбросить общий идиотизм ситуации, когда две идентичные функции различаются только числовыми константами, то этот фрагмент кода вполне юзабилен и делает то, что от него хотел автор. Полную версию в студию!

    Dark32
    Интересная конструкция! Но он бы такого не написал.

    Про . вместо ,: а дробные значения если понадобятся? Я опять думаю наперёд (три четверти доспеха)
    В России вот разделитель дробной части - запятая. :Р (убить бы их за это -_-)
    Последний раз редактировалось Equilibrium Keeper; 24.06.2011 в 23:46.

  4. #384
    Местный Аватар для Alex333
    Информация о пользователе
    Регистрация
    05.06.2011
    Адрес
    Старый Оскол,Белгородская обл.
    Сообщений
    146
    Репутация: 4 Добавить или отнять репутацию

    По умолчанию

    Код:
    #====================================================================#
    #  #*****************#           Dinamic bestiary V 1 Falcao script  #
    #  #*** By Falcao ***#           Permite mostrar un albun de cada    #
    #  #*****************#           mostruo que derrotas   V 1.5        #
    #         RMVX                                                       #
    # makerpalace.onlinegoo.com      Date: 10/29/2009                    #
    #====================================================================#
    
    #---------------------------------------------------------------------
    # * Instructions
    #
    # Solo copiar y pegar el script encima de main luego llamarlo con
    # tecla 'A' puesta por defecto. Editar el modulo de abajo a su gusto
    #
    # Place the script above main, then call it with key 'A' by deafault
    # Edit the module below as you prefer.
    #
    # License: Puede ser usado en juegos comerciales o no comerciales
    #          This script can be used in comercial or non-comercial games
    #---------------------------------------------------------------------
    
    module Falcao
    
    # Descripcion Para cada enemigo / Enemy desciption
    # A = Id del enemigo / Enemy ID
    # B = Description
    Description = {
    
     1=>  'Существо состоящее из слизи.Обитает в пещерах.',
     2=>  'Se mata facilmente con un ataque normal, es devil al elemento agua',
     3=>  'Habita en el bosque shulton, devil al elemento fuego',
     4=>  'Ponsoñosa araña que habita dentro de cuevas, si pica tomar antidoto',
     5=>  'Rata escurridiza, suele dejar buena experiencia',
     21=> 'Habita alrededor del castillo tridan, devil a luz',
      
    }
    
    # Tecla que llama el script / Key to call script
    # Puesdes elejir entre las siguientes / choose between the followings keys 
    # Z, A, S, D, Q, W, ALT
    TeclaBestiary = 'A'
    
    # Interruptor que desabilita llamar el script con la tecla especificada
    # Disable script call by input key
    KeyDisable_Switch = 100
    
    # Tocar musica / play music   (true o false)
    PlayMusic = true
    
    # Declaracion de arrays / Arrays declaration   
    $derrotados = []  
    $enemy_counter = []
    EnemyLevel = []
    
    # Vocabulario / Vocabulary
    FalVocab = ['-Нет Данных-',  # No datos /  No data
                'Предмет 1',          # Tesoro 1 /  Treasure 1
                'Предмет 2',         # tesoro 2 /  Treasure 2
                'Нет',            # Sin tesoro /  No treasure
                '????',            # Enemigo no derrotado / Enemy no defeated
                'Книга Монсторв',        # Titulo /  Title
                'Уничтожено',       # Derrotado / defeated
                'Класс',           # Clase de enemigo / enemy class
                'Сила',           # Energia maxima / Power   
                'Кол-во:',           # Veces derrotado / times defeated
                'Найдено']        # Progreso / Progress
    
    # Clases de enemigos / enemy classes
    # Calculos basados en parametros / Values based on parameters(Def, atk, etc.)
    EnemyLevel[1] = "Слабак"               
    EnemyLevel[2] = "Amateaur" 
    EnemyLevel[3] = "King master"
    EnemyLevel[4] = "Boss fighter"
    EnemyLevel[5] = "Master boss"
    
    #-----------------------------------------------------------------------------
    # Cuando un enemigo es derrotado es automaticamente agregado al invetario pero
    # puedes administrarlos manualmente con los siguientes comandos
    
    # When you defeat an enemy automaticly is added, but you can add or remove
    # enemies manualy with the following comands
    
    # Falcao.add_enemy(X)       Agrega enemigo X, en ves de X poner ID de enemigo
    #                           Add enemy X, instead X put enemy ID         
    #
    # Falcao.remove_enemy(X)    remueve enemigo X, En ves de X poner ID de enemigo
    #                           Remove Enemy X, Instead X put enemy ID
    #
    # Falcao.fill_bestiary      Agrega todos los monstruos al bestiario
    #                           Fill bestiary
    # 
    # Para llamar el script manualmente llamarlo directamente asi
    # To call the script manually call it 
    #
    # $scene = Scene_Monsters.new
    #
    # * Creditos:  
    # 
    # Script creado por Falcao, puede ser publicado en cualquier foro siempre
    # y cuando los creditos sean mencionados
    #-----------------------------------------------------------------------------
    
     def self.fill_bestiary
       for enemy in $data_enemies
         next if enemy == nil
         unless $derrotados.include?(enemy.id)
           $derrotados.push(enemy.id)
           $enemy_counter.push(enemy.id)
         end
        end
      end
      
      def self.add_enemy(id)
        unless $derrotados.include?(id)
          $derrotados.push(id)
          $enemy_counter.push(id)
        end
      end
      
      def self.remove_enemy(id)
        if $derrotados.include?(id)
          $derrotados.delete(id)
          $enemy_counter.push(id)
        end
      end
    end
    
    #--------------------------------------------------------------------------
    # * Crear informacion general y parametros enemigos
    #--------------------------------------------------------------------------
    class Moster_Info < Window_Base
      include Falcao
      def initialize(x, y)
        super(x, y, 385, 380)
        self.opacity = 0
      end
      
      def refresh(enemy_id)
        self.contents.clear
        @enemigo = $data_enemies[enemy_id]
        if $derrotados.include?(@enemigo.id)
          contents.font.size = 20
          draw_enemy_hp(0, 205)
          draw_enemy_mp(0, 230)
          enemy_parametros
          draw_drop_item1
          draw_drop_item2
        else
          contents.font.size = 30
          contents.draw_text(100, 100, 500, 92, FalVocab[0])
        end
      end
      
      def enemy_parametros
        y1 = 0; y2 = 0; y3 = 0; y4 = 0
        terms = $data_system.terms
        param1={1=>@enemigo.maxhp,2=>@enemigo.maxmp,3=>@enemigo.spi,4=>@enemigo.exp}
        name1 = {1=> terms.hp, 2=> terms.mp, 3=> terms.spi, 4=> "Exp"}
        param2={1=>@enemigo.atk,2=>@enemigo.def,3=>@enemigo.agi,4=> @enemigo.gold}
        name2 = {1=> terms.atk, 2=> terms.def, 3=> terms.agi, 4=> terms.gold}
        param1.sort.each do |keys, values|
          y1 += 25
          contents.draw_text(100, y1 + 134, 92, 92, values)
        end
        param2.sort.each do |keys, values|
          y2 += 25
          contents.draw_text(300, y2 + 134, 92, 92, values)
        end
        name1.sort.each do |keys, values|
          y3 += 25
          contents.draw_text(0, y3 + 134, 102, 92, values)
        end
        name2.sort.each do |keys, values|
          y4 += 25
          contents.draw_text(200, y4 + 134, 102, 92, values)
        end
      end
      
      def draw_drop_item1
        item = @enemigo.drop_item1
        contents.draw_text(35, 260, 92, 92, FalVocab[1])
        if item.kind == 0
          contents.draw_text(0, 284, 92, 92, FalVocab[3])
          return
        end
        case item.kind
        when 1; drop_item = $data_items[item.item_id]
        when 2; drop_item = $data_weapons[item.item_id]
        when 3; drop_item = $data_armors[item.armor_id]
        end
        draw_icon(drop_item.icon_index,94, 318)
        contents.draw_text(0, 284, 92, 92, drop_item.name)
      end
      
      def draw_drop_item2
        item = @enemigo.drop_item2
        contents.draw_text(226, 260, 92, 92, FalVocab[2])
        if item.kind == 0
          contents.draw_text(200, 284, 92, 92, FalVocab[3])
          return
        end
        case item.kind
        when 1; drop_item = $data_items[item.item_id]
        when 2; drop_item = $data_weapons[item.item_id]
        when 3; drop_item = $data_armors[item.armor_id]
        end
        draw_icon(drop_item.icon_index,300, 318)
        contents.draw_text(200, 284, 92, 92, drop_item.name)
      end
      
      def draw_enemy_hp(x, y)
        self.contents.fill_rect(x, y, 102, 10, Color.new(0,0,0))
        self.contents.fill_rect(x+1, y+1, 100*@enemigo.maxhp/@enemigo.maxhp, 4,
        Color.new(205,255,205))
        self.contents.fill_rect(x+1, y+5, 100*@enemigo.maxhp/@enemigo.maxhp, 4,
        Color.new(10,220,45))
      end
      
      def draw_enemy_mp(x, y)
        if @enemigo.maxmp != 0
          self.contents.fill_rect(x, y, 102, 10, Color.new(0,0,0))
          self.contents.fill_rect(x+1, y+1, 100*@enemigo.maxmp/@enemigo.maxmp, 4,
          Color.new(180,225,245))
          self.contents.fill_rect(x+1, y+5, 100*@enemigo.maxmp/@enemigo.maxmp, 4,
          Color.new(20,160,225))
        else
          self.contents.fill_rect(x, y, 102, 10, Color.new(0,0,0))
        end
      end
    end
    
    #--------------------------------------------------------------------------
    # * Objeto creador de las descripciones y el progreso en porcentaje
    #--------------------------------------------------------------------------
    class Moster_Description < Window_Base
      include Falcao
      def initialize(x, y, ancho = 544, alto = 56)
        super(x, y, ancho, alto)
        @tiempo = 0
        @scroll = 0
      end
      
      def set_texto(texto)
        self.contents.clear
        self.contents.draw_text(0, -4, 92, 32, texto)
        for i in 0...$derrotados.size
          number = i + 1
        end
        texto2 = "#{FalVocab[10]}   #{number * 100/$all_mosnters}%" rescue texto2 =
        "#{FalVocab[10]}   0 %"
        self.contents.draw_text(0, 24, self.width, 32, texto2)
      end
      
      def refresh(enemy_id)
        self.contents.clear
        @enemigo = $data_enemies[enemy_id]
        if $derrotados.include?(@enemigo.id)
          draw_descriptions
        else
          self.contents.draw_text(-130, -4, 600, 32 , FalVocab[0],1)
        end
      end
      
      def draw_descriptions
        if Description.has_key?(@enemigo.id)
          Description.each do |id, value|
            if id == @enemigo.id
              cx = contents.text_size(value).width
              scroll_text(value)
              self.contents.draw_text(@scroll, -4, cx + 10, 32 , value)
            end
          end
        else
        text = ["                                             ",
                "                                             ",
                "Description no available                     ",
                "Falcao script Bestiary V 1.5        "
                ]
          scroll_text(text,false)
          cx = contents.text_size(text).width
          self.contents.draw_text(@scroll, -4, cx + 10, 32, text )
        end
      end
      
      def scroll_text(texto, result_ok=true)
        cx = contents.text_size(texto).width
        if cx > 350
          @tiempo += 1
          if @tiempo > 60
            @scroll -= 1 if @result == nil
            if @scroll == -cx
              @result = true
            end
          end
        end
        if @result
          result_ok ? @scroll += 10 :  @scroll = 0
          if @scroll >= 0
            @scroll = 0;  @tiempo = 0
            @result = nil
          end
        end
        if Input.press?(Input::UP) or Input.press?(Input::DOWN)
          @scroll = 0; @tiempo = 0; @result = nil
        end
      end
    end
    
    #--------------------------------------------------------------------------
    # * Objeto que dibuja el indice de los enemigos con su nombre
    #--------------------------------------------------------------------------
    class Monster_indice < Window_Selectable
      def initialize(y)
        super(0, y, 160, 334)
        @column_max = 1
        refresh
        self.index = 0
      end
      
      def refresh
        if self.contents != nil
          self.contents.dispose
          self.contents = nil
        end
        @data = []
        for i in 1...$data_enemies.size
          @data.push($data_enemies[i])
        end
        @item_max = @data.size
        if @item_max > 0
          self.contents = Bitmap.new(width - 32, row_max * 26)
          for i in 0...@item_max
            draw_item(i)
            $all_mosnters = i + 1
          end
        end
      end
      
      def draw_item(index)
        enemy = @data[index]
        self.contents.font.color = normal_color
        x, y = 4, index * 24
        rect = Rect.new(x, y, self.width / @column_max - 32, 32)
        self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
        opacity = self.contents.font.color == normal_color ? 255 : 128
        if $derrotados.include?(index+1)
          contents.draw_text(x, y, 212, 24, enemy.name)
        else
          contents.draw_text(x, y, 212, 24, Falcao::FalVocab[4])
        end
      end
    end
    
    #--------------------------------------------------------------------------
    # * Objeto que dibuja el Power y el conteo de mostruos derrotados
    #--------------------------------------------------------------------------
    class Adicional_Data < Window_Base
      include Falcao
      attr_accessor :number
      attr_accessor :counter
      def initialize
        super(0, 0, 160, 334)
        @number = 0.0
        @counter = 0.0
        @color = [Color.new(180,225,245), Color.new(20,160,225)]
      end
      
      def refresh(enemy_id)
        self.contents.clear
        @enemigo = $data_enemies[enemy_id]
        if $derrotados.include?(@enemigo.id)
          draw_enemy_counter
          draw_enemy_power(0,186)
          contents.font.color = Color.new(255, 140, 0)
          contents.draw_text(30, 0, 212, 24, @enemigo.name)
        else
          contents.font.color = normal_color
          self.contents.draw_text(2, 50, 600, 32 , FalVocab[0])
        end
      end
      
      def draw_enemy_counter
        i = 0
        for c in $enemy_counter
          if c == @enemigo.id
            i += 1
            number = i
          end
        end
        contents.font.color = normal_color
        contents.draw_text(0, 40, 212, 24, FalVocab[6])
        contents.draw_text(80, 70, 212, 24, number.to_s) 
        contents.draw_text(0, 70, 212, 24, FalVocab[9])
      end
      
      def get_power(enemy)
        add = 0
        number1 = enemy.spi + enemy.agi
        number2 = enemy.atk + enemy.def 
        case enemy.maxhp
        when 1...400
          add = 60
        when 400...1000
          add = 100
        when 1000...10000
          add = 140
        when 10000...999999
          add = 200
        end
        @number = number1 + number2 + add
        @counter = @number
        @number = 1
      end
      
      def draw_enemy_power(x,y)
        case @counter
        when 1...150
          value = 150; add = 1; level = EnemyLevel[1] 
          @color = [Color.new(180,225,245), Color.new(20,160,225)]
        when 150...350
          value = 350; add = 3;  level = EnemyLevel[2]
          @color = [Color.new(255, 120, 0), Color.new(255, 80, 50)]
        when 350...600
          value = 600; add = 6; level = EnemyLevel[3]
          @color = [Color.new(205,255,205), Color.new(10,220,45)]
        when 600...1000
          value = 1000; add = 10; level = EnemyLevel[4]
          @color = [Color.new(255,255,100), Color.new(255,200,0) ]
        when 1000...4196
          value = 3996; add = 20; level = EnemyLevel[5]
          @color = [Color.new(255,255,100), Color.new(255,200,0) ]
        end
        @number = @counter if @number >= @counter
        @number += add if @number < @counter
        contents.font.color = Color.new(255, 140, 0)
        contents.draw_text(30, 120, 212, 24, FalVocab[7])
        contents.font.color = normal_color
        contents.draw_text(0, 150, 212, 24, level)
        self.contents.fill_rect(x, y, 128, 14, Color.new(0,0,0))
        self.contents.fill_rect(x+1, y+1, 126*@number/value, 6, @color[0])
        self.contents.fill_rect(x+1, y+7, 126*@number/value, 6, @color[1])
        contents.draw_text(0, 210, 212, 24, FalVocab[8])
        contents.draw_text(80, 210, 212, 24, @number.to_s)
      end
    end
    
    #--------------------------------------------------------------------------
    # * Clase que agrega los enemigos al bestiario automaticamente
    #--------------------------------------------------------------------------
    class Game_Enemy < Game_Battler
      alias falcao_collapse  perform_collapse
      def perform_collapse
        falcao_collapse
        unless $derrotados.include?(enemy.id)
          $derrotados.push(enemy.id)
        end
        if $game_temp.in_battle and dead?
          $enemy_counter.push(enemy.id)
        end
      end
    end
    
    #--------------------------------------------------------------------------
    # * Clase que define la fuente del bestiario
    #--------------------------------------------------------------------------
    class Font
      alias falcaoBest_font initialize
      def initialize
        falcaoBest_font
        if $scene.is_a?(Scene_Monsters)
          self.name = "Georgia"
          self.size = 20
        end
      end
    end
    
    #--------------------------------------------------------------------------
    # * Aqui se crea la scene que organiza todo en conjunto
    #--------------------------------------------------------------------------
    class Scene_Monsters < Scene_Base
      def start
        super
        @spriteset = Spriteset_Bestiary.new
        @mostruos_index = Monster_indice.new(84)
        @info_mosters = Moster_Info.new(160,56)
        @help = Moster_Description.new(160,0, 386)
        @title = Moster_Description.new(0,0, 160, 84)
        @title.set_texto(Falcao::FalVocab[5])
        @info_mosters.refresh(@mostruos_index.index + 1)
        @help.refresh(@mostruos_index.index + 1)
        @extra_data = Adicional_Data.new
        @extra_data.y = 84
        @extra_data.visible = false
        @moster_graphic = Sprite.new
        @moster_graphic.bitmap = Cache.battler("",0)
        @moster_graphic.z = 99
        @moster_graphic.y = 65
        @time = 0
        if Falcao::PlayMusic
          $game_temp.map_bgm = RPG::BGM.last
          $game_temp.map_bgs = RPG::BGS.last
          $game_system.battle_bgm.play
        end
        create_enemy_graphics
      end
      def terminate
        super
        @mostruos_index.dispose
        @info_mosters.dispose
        @help.dispose
        @spriteset.dispose
        @title.dispose
        @moster_graphic.dispose
      end
      def update
        super
        @spriteset.update
        @mostruos_index.update
        @help.refresh(@mostruos_index.index + 1)
        animate_graphic
        if Input.press?(Input::DOWN) or Input.press?(Input::UP)
          @info_mosters.refresh(@mostruos_index.index + 1)
          create_enemy_graphics
          if @extra_data.visible
            @extra_data.get_power($data_enemies[@mostruos_index.index + 1])
          end
        end
        if Input.trigger?(Input::C) and @extra_data.visible == false
          Sound.play_decision
          @extra_data.get_power($data_enemies[@mostruos_index.index + 1])
          @extra_data.refresh(@mostruos_index.index + 1)
          @extra_data.visible = true 
          @mostruos_index.y = 600
        end
        if @extra_data.visible
          if @extra_data.number < @extra_data.counter
            @extra_data.refresh(@mostruos_index.index + 1)
          end
        end
        if Input.trigger?(Input::B)
          if @extra_data.visible
            Sound.play_cancel
            @extra_data.visible = false
            @mostruos_index.y = 84
          else
            Sound.play_cancel
            if Falcao::PlayMusic
              $game_temp.map_bgm.play
              $game_temp.map_bgs.play
            end
            $scene = Scene_Map.new
          end
        end
      end
      
      def create_enemy_graphics
        enemy = $data_enemies[@mostruos_index.index + 1]
        if $derrotados.include?(enemy.id)
          @moster_graphic.bitmap = Cache.battler(enemy.battler_name,
          enemy.battler_hue)
          cw = @moster_graphic.width
          @moster_graphic.x = 360 - cw / 2
          @moster_graphic.visible = true
        else
          @moster_graphic.visible = false
       end
     end
     
     def animate_graphic
       if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
         @moster_graphic.zoom_x = 1
         @moster_graphic.zoom_y = 1
         @time = 0
       end
       h = 240; @time += 1
       if @time < 40
         if @moster_graphic.height <= h
           @moster_graphic.zoom_x += 0.002
           @moster_graphic.zoom_y += 0.002
         elsif @moster_graphic.height > h
           @moster_graphic.zoom_x += 0.001
           @moster_graphic.zoom_y += 0.001
         end
       elsif @time > 40
         if @moster_graphic.height <= h
           @moster_graphic.zoom_x -= 0.002
           @moster_graphic.zoom_y -= 0.002
         elsif @moster_graphic.height > h
           @moster_graphic.zoom_x -= 0.001
           @moster_graphic.zoom_y -= 0.001
         end
         if @time == 80
           @moster_graphic.zoom_x = 1
           @moster_graphic.zoom_y = 1
           @time = 0
         end
       end
     end
    end
    
    #--------------------------------------------------------------------------
    # * Objeto que define la tecla para acceder al bestiario
    #--------------------------------------------------------------------------
    class Scene_Map
      alias falcao_bestiary_update update
      def update
        falcao_bestiary_update
        update_finput
      end
      def update_finput
        return if $game_switches[Falcao::KeyDisable_Switch]
        case Falcao::TeclaBestiary
        when 'Z';    key = Input::C    #C
        when 'A';    key = Input::X    #X
        when 'S';    key = Input::Y    #Y    
        when 'D';    key = Input::Z    #Z
        when 'Q';    key = Input::L    #L  
        when 'W';    key = Input::R    #R
        when 'ALT';  key = Input::ALT  #alt  
        end
        if Input.trigger?(key)
          $scene = Scene_Monsters.new
        end
      end
    end
    
    #--------------------------------------------------------------------------
    # * Guardar variables de enemigos derrotados
    #--------------------------------------------------------------------------
    class Scene_File < Scene_Base
      alias falcaosave_data write_save_data
      def write_save_data(file)
        falcaosave_data(file)
        Marshal.dump($derrotados,   file)
        Marshal.dump($enemy_counter,   file)
      end
    end
    
    #--------------------------------------------------------------------------
    # * Cargar variables de enemigos derrotados
    #--------------------------------------------------------------------------
    class Scene_File < Scene_Base
      alias falcaoload_data read_save_data
      def read_save_data(file)
        falcaoload_data(file)
        $derrotados    = Marshal.load(file)
        $enemy_counter = Marshal.load(file)
      end
    end
    
    #--------------------------------------------------------------------------
    # * Objeto que crea el fondo animado usando el mapa
    #--------------------------------------------------------------------------
    class Spriteset_Bestiary
      def initialize
        create_battleback
        update
      end
      def create_battleback
        @viewport1 = Viewport.new(0, 0, 544, 416)
        source = $game_temp.background_bitmap
        bitmap = Bitmap.new(640, 480)
        bitmap.stretch_blt(bitmap.rect, source, source.rect)
        bitmap.radial_blur(90, 12)
        @battleback_sprite = Sprite.new(@viewport1)
        @battleback_sprite.bitmap = bitmap
        @battleback_sprite.ox = 320
        @battleback_sprite.oy = 240
        @battleback_sprite.x = 272
        @battleback_sprite.y = 176
        @battleback_sprite.wave_amp = 8
        @battleback_sprite.wave_length = 240
        @battleback_sprite.wave_speed = 120
      end
      def dispose
        @battleback_sprite.bitmap.dispose
        @battleback_sprite.dispose
        @viewport1.dispose
      end
      def update
        @battleback_sprite.update
        @viewport1.update
      end
    end

  5. #385

    По умолчанию

    Ты все же был прав. Проблема была здесь:
    when 1; drop_item = $data_items[item.item_id]
    when 2; drop_item = $data_weapons[item.weapon_id]
    when 3; drop_item = $data_armors[item.armor_id]
    Во всех случаях вызывался item_id. До кучи переписал два метода в 1. Замени refresh - код ниже и оба метода отрисовки на один универсальный - еще ниже.

    Код:
    def refresh(enemy_id)
        self.contents.clear
        @enemigo = $data_enemies[enemy_id]
        if $derrotados.include?(@enemigo.id)
          contents.font.size = 20
          draw_enemy_hp(0, 205)
          draw_enemy_mp(0, 230)
          enemy_parametros
          draw_drop_item(true)
          draw_drop_item(false)
        else
          contents.font.size = 30
          contents.draw_text(100, 100, 500, 92, FalVocab[0])
        end
      end
    Код:
    def draw_drop_item(first)
        item = (first ? @enemigo.drop_item1 : @enemigo.drop_item2)
        contents.draw_text((first ? 35 : 226), 260, 92, 92, FalVocab[1])
        if item.kind == 0
          contents.draw_text((first ? 0 : 200), 284, 92, 92, FalVocab[3])
          return
        end
        case item.kind
        when 1; drop_item = $data_items[item.item_id]
        when 2; drop_item = $data_weapons[item.weapon_id]
        when 3; drop_item = $data_armors[item.armor_id]
        end
        draw_icon(drop_item.icon_index,(first ? 94 : 300), 318)
        contents.draw_text((first ? 0 : 200), 284, 92, 92, drop_item.name)
      end

  6. #386

    По умолчанию Ищу скрипты

    Всем привет! Полазав по вашему порталу, мне понадобились некоторые скрипты для RPG Maker XP (если ошибся темой, или такие скрипты уже тут есть, то прошу тапками не кидаться). А именно:

    1) Отражение персонажа в воде
    2) Смена погоды
    3) Смена времени суток, тоесть утро, день, вечер и ночь.
    4) Можно ли создать что-то типа карты мира?
    5) Измененная система титульного меню
    6) Можно ли например открыть карту, нажать на определенную локацию, и персонаж туда телепортируется?
    7) При переходе в новую локацию, вверху появляется её название

    Извините если нубо вопросы =(((

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

    По умолчанию

    7) При переходе в новую локацию, вверху появляется её название
    посмотри в моём скрипте ASE
    2) Смена погоды
    3) Смена времени суток, тоесть утро, день, вечер и ночь.
    как раз решил сделать
    5) Измененная система титульного меню
    поподробнее
    1) Отражение персонажа в воде
    где то я это видел
    если ошибся темой, или такие скрипты уже тут есть
    и темой ошибся и скрипты такие есть, правда не тут. Администрация, перенесите тему в раздел скрипты.


  8. #388

    По умолчанию

    посмотри в моём скрипте ASE
    Окей, посмотрю =)

    как раз решил сделать
    Буду ждать =)

    поподробнее
    Ну например такое-же, которое ты делал для VX

  9. #389

    По умолчанию

    Впредь: вот раздел по скриптам, а вот тут их спрашивают.
    Цитата Сообщение от Endess Посмотреть сообщение
    1) Отражение персонажа в воде
    2) Смена погоды
    3) Смена времени суток, тоесть утро, день, вечер и ночь.
    4) Можно ли создать что-то типа карты мира?
    5) Измененная система титульного меню
    6) Можно ли например открыть карту, нажать на определенную локацию, и персонаж туда телепортируется?
    7) При переходе в новую локацию, вверху появляется её название
    Все это есть, постараюсь отыскать где лежало.

  10. #390

    По умолчанию

    Окей, спасибо Учту)

Страница 39 из 190 ПерваяПервая ... 2937383940414989139 ... ПоследняяПоследняя

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

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

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

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

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

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

Ваши права

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