Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


2 participantes

    Infinite Maps v2.0

    avatar
    samuel6406
    Banido
    Banido


    Mensagens : 49
    Créditos : 11

    Infinite Maps v2.0 Empty Infinite Maps v2.0

    Mensagem por samuel6406 Qua Jun 13, 2012 5:37 pm

    Infinite Maps v2.0



    Características

    Possibilidade de criar projetos com mais de 999 mapas.
    Possibilidade de interligar mapas entre projetos.
    Possibilidade de separar mapas do projeto por pastas.

    Como usar

    0 - Abra seu projeto.
    1 - Cole o script acima de "Main".
    2 - O seu projeto principal pode possuir no máximo 999 mapas. Após esse limite se esgotar, você precisará criar um novo projeto, e copiar o arquivo Tileset.rxdata e Scripts.rxdata do seu projeto principal, e colá-los na pasta Data deste novo projeto. Neste novo projeto, você criará os outros mapas restantes do jogo, também num limite de 999. Ao terminar, vá até a pasta Data deste projeto e copie o arquivo MapInfos.rxdata e todos os arquivos de mapa MapXXX.rxdata. Vá até a pasta Data de seu projeto principal e crie uma outra pasta com o nome de "MAP_X", onde X é um número qualquer. Dentro desta pasta, cole os arquivos que você copiou. Pronto, seu projeto principal já incorporou os mapas do outro projeto. Porém, para executar o teleporte entre um mapa do projeto principal e um mapa do novo projeto, você precisará, antes de chamar o comando de teleporte, chamar um comando de script, com "Chamar Script", e inserir o código : $game_system.map_kit = X , onde X é o mesmo número que você usou na nomeação da pasta anterior. Para fazer o contrário, ou seja, teleportar o personagem de um mapa do projeto novo para um mapa do projeto principal, você precisará, ao invés de digitar o número da pasta, digitar "nil", assim : $game_system.map_kit = nil . Por fim, você pode fazer quantos projetos novos quiser, apenas criando sempre uma nova pasta com um novo número e sempre usando o "Chamar Script" quando for fazer o teleporte entre mapas do projeto principal e dos outros projetos.

    3 - Salve seu projeto.

    Script
    Código:
    class Game_System
      attr_accessor :map_kit
    end
    class Game_Map
      def setup(map_id)
        if @main and @event_id > 0
          $game_map.events[@event_id].unlock
        end
        @map_id = map_id
        if $game_system.map_kit
          @map = load_data(sprintf("Data/MAP_#$game_system.map_kit/Map%03d.rxdata", @map_id))
        else
          @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))
        end
        tileset = $data_tilesets[@map.tileset_id]
        @tileset_name = tileset.tileset_name
        @autotile_names = tileset.autotile_names
        @panorama_name = tileset.panorama_name
        @panorama_hue = tileset.panorama_hue
        @fog_name = tileset.fog_name
        @fog_hue = tileset.fog_hue
        @fog_opacity = tileset.fog_opacity
        @fog_blend_type = tileset.fog_blend_type
        @fog_zoom = tileset.fog_zoom
        @fog_sx = tileset.fog_sx
        @fog_sy = tileset.fog_sy
        @battleback_name = tileset.battleback_name
        @passages = tileset.passages
        @priorities = tileset.priorities
        @terrain_tags = tileset.terrain_tags
        @display_x = 0
        @display_y = 0
        @need_refresh = false
        @events = {}
        for i in @map.events.keys
          @events[i] = Game_Event.new(@map_id, @map.events[i])
        end
        @common_events = {}
        for i in 1...$data_common_events.size
          @common_events[i] = Game_CommonEvent.new(i)
        end
        @fog_ox = 0
        @fog_oy = 0
        @fog_tone = Tone.new(0, 0, 0, 0)
        @fog_tone_target = Tone.new(0, 0, 0, 0)
        @fog_tone_duration = 0
        @fog_opacity_duration = 0
        @fog_opacity_target = 0
        @scroll_direction = 2
        @scroll_rest = 0
        @scroll_speed = 4
      end
    end

    class Scene_Map
        def transfer_player
        $game_temp.player_transferring = false
        $game_map.setup($game_temp.player_new_map_id)
        $game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
        case $game_temp.player_new_direction
        when 2
          $game_player.turn_down
        when 4
          $game_player.turn_left
        when 6
          $game_player.turn_right
        when 8
          $game_player.turn_up
        end
        $game_player.straighten
        $game_map.update
        @spriteset.dispose
        @spriteset = Spriteset_Map.new
        if $game_temp.transition_processing
          $game_temp.transition_processing = false
          Graphics.transition(20)
        end
        $game_map.autoplay
        Graphics.frame_reset
        Input.update
      end
    end
    Créditos e Agradecimentos
    ○Feito por Otávio Grunje.
    ○Agradecimentos a LB (Correção de BUGs)
    ○Agradecimentos a Atoa (v2.0)
    avatar
    MaxGamer
    Banido
    Banido


    Mensagens : 5
    Créditos : 0

    Infinite Maps v2.0 Empty Re: Infinite Maps v2.0

    Mensagem por MaxGamer Qui Jun 14, 2012 10:14 pm

    mto bom cara vlw eu tava procurando por isso (:

      Data/hora atual: Seg Nov 18, 2024 7:37 pm