Lune Smooth Camera Slide

Discussion in 'RGSS3 Scripts (RMVX Ace)' started by Raizen, Mar 16, 2013.

    Tags:
  1. seita

    seita Donn_M Veteran

    Messages:
    2,255
    Likes Received:
    610
    Location:
    California
    First Language:
    English
    Looking forward to it Raizen, glad you're back!
     
    #21
  2. ArcaneEli

    ArcaneEli Mage of Thunder Veteran

    Messages:
    205
    Likes Received:
    35
    First Language:
    English
    I still hope the update is coming along so it doesn't mess with certain events anymore.
     
    #22
  3. romanticmisery.

    romanticmisery. Humanoid Exotica Veteran

    Messages:
    40
    Likes Received:
    5
    Location:
    Coastal Area
    First Language:
    Portuguese
    This script is just perfect, using it already <3

    Congratulations, really.
     
    #23
  4. Kyuukon

    Kyuukon 主人公 Veteran

    Messages:
    2,216
    Likes Received:
    1,072
    First Language:
    Spanish
    Primarily Uses:
    RMMV
    Amazing script! Thank you! But it would be even cooler with those fixes. Please :3? People really looking forward that update!
     
    Last edited by a moderator: Oct 8, 2014
    #24
  5. RaZzi

    RaZzi My Peculiar Brother Veteran

    Messages:
    420
    Likes Received:
    206
    Location:
    Finland
    First Language:
    Finnish
    This is so nice script!
     
    Last edited by a moderator: Feb 19, 2015
    #25
  6. Raizen

    Raizen Veteran Veteran

    Messages:
    168
    Likes Received:
    179
    First Language:
    Portuguese
    Primarily Uses:
    RMMV
    I fixed the script ppl, after 1 and a half years kkk

    Sorry for that long time, I was so away from RPG Maker :/
     
    #26
    Kyuukon likes this.
  7. Hierophantic

    Hierophantic Villager Member

    Messages:
    18
    Likes Received:
    0
    First Language:
    English
    Howdy! Can this script be used in commercial games? Under what license?

    Thanks!
     
    #27
  8. Raizen

    Raizen Veteran Veteran

    Messages:
    168
    Likes Received:
    179
    First Language:
    Portuguese
    Primarily Uses:
    RMMV
    You can use it for commercial projects, just put the credits for me and no problem x).
     
    #28
  9. Hierophantic

    Hierophantic Villager Member

    Messages:
    18
    Likes Received:
    0
    First Language:
    English
    Thanks very much!
     
    #29
  10. billybobmakesgames

    billybobmakesgames Warper Member

    Messages:
    2
    Likes Received:
    0
    First Language:
    English
    HELP! IT DIDN'T WORK! I GOT A ERROR MESSAGE? WHAT DO I NEED TO DO!?!
     
    #30
  11. Mithran

    Mithran Global Moderators Global Mod

    Messages:
    403
    Likes Received:
    211
    First Language:
    English
    @billybobmakesgames - First, pull back on the caps, as that tone isn't really needed here. Post the specific problem you are having in this thread (screenshots if you need to).
     
    #31
  12. StarWarrior00

    StarWarrior00 ~ King of Cuteness ~ Veteran

    Messages:
    769
    Likes Received:
    88
    Location:
    Shreveport, LA, United States
    First Language:
    English (US)
    Primarily Uses:
    N/A
    Terms of use? Is use in commercial games allowed?

    Nevermind, I saw an earlier post already answered this question.
     
    Last edited by a moderator: Jun 1, 2015
    #32
  13. JosephSeraph

    JosephSeraph White Mage Restaff

    Messages:
    788
    Likes Received:
    637
    Location:
    Santos, Brasil
    First Language:
    Portuguese
    A sample video of Quasi's movement script + your smooth camera slide! ~
     
    #33
  14. tale

    tale Volunteer Veteran

    Messages:
    379
    Likes Received:
    577
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    N/A
    Fixed script format, credit Raizen.
    Code:
    #=======================================================
    #         Lune Smooth Camera Sliding
    # Author: Raizen
    # Comunity: www.centrorpg.com
    # The scripts allow a much smoother movement, making the move much more realistic.
    #=======================================================
    module Lune_cam_slide
    # Constant of the slide, the greater the faster, the lower the slower..(default = 0.001)
    Slide = 0.001
    
     
    # To set the camera focus on an event instead of a player
    # Script Call: set_camera_focus(id)
    # where id is the id of the event, to put back the focus on the player,
    # id = 0
     
    end
     
     
     
    #==============================================================================
    # ** Game_Player
    #------------------------------------------------------------------------------
    #  Esta classe gerencia o jogador.
    # A instância desta classe é referenciada por $game_player.
    #==============================================================================
     
    class Game_Player < Game_Character
    alias :lune_camera_slide_initialize :initialize
      #--------------------------------------------------------------------------
      # * Inicialização do objeto
      #--------------------------------------------------------------------------
      def initialize(*args)
        @camera_slide_focus = 0
        lune_camera_slide_initialize(*args)
      end
      #--------------------------------------------------------------------------
      # * Atualização da rolagem
      #     last_real_x : ultima coordenada X real
      #     last_real_y : ultima coordenada Y real
      #--------------------------------------------------------------------------
      def update_scroll(last_real_x, last_real_y)
        return if $game_map.scrolling?
        if @camera_slide_focus == 0
          screen_focus_x = screen_x
          screen_focus_y = screen_y
        else
          screen_focus_x = $game_map.events[@camera_slide_focus].screen_x
          screen_focus_y = $game_map.events[@camera_slide_focus].screen_y
        end
        sc_x = (screen_focus_x - Graphics.width/2).abs
        sc_y = (screen_focus_y - 16 - Graphics.height/2).abs
        $game_map.scroll_down(Lune_cam_slide::Slide*sc_y) if screen_focus_y - 16 > Graphics.height/2
        $game_map.scroll_left(Lune_cam_slide::Slide*sc_x) if screen_focus_x < Graphics.width/2
        $game_map.scroll_right(Lune_cam_slide::Slide*sc_x) if screen_focus_x > Graphics.width/2
        $game_map.scroll_up(Lune_cam_slide::Slide*sc_y) if screen_focus_y - 16 < Graphics.height/2
      end
      def set_camera_focus(event = 0)
        @camera_slide_focus = event
      end
    end
     
     
    #==============================================================================
    # ** Spriteset_Map
    #------------------------------------------------------------------------------
    #  Esta classe reune os sprites da tela de mapa e tilesets. Esta classe é
    # usada internamente pela classe Scene_Map.
    #==============================================================================
     
    class Spriteset_Map
        #--------------------------------------------------------------------------
      # * Atualização do tilemap
      #--------------------------------------------------------------------------
      def update_tilemap
        @tilemap.map_data = $game_map.data
        @tilemap.ox = ($game_map.display_x * 32)
        @tilemap.oy = ($game_map.display_y * 32)
        @tilemap.ox += 1 if $game_map.adjust_tile_slide_x
        @tilemap.oy += 1 if $game_map.adjust_tile_slide_y
        @tilemap.update
      end
    end
    #==============================================================================
    # ** Game_Map
    #------------------------------------------------------------------------------
    #  Esta classe gerencia o mapa. Inclui funções de rolagem e definição de
    # passagens. A instância desta classe é referenciada por $game_map.
    #==============================================================================
     
    class Game_Map
      #--------------------------------------------------------------------------
      # * Variáveis públicas
      #--------------------------------------------------------------------------
      def adjust_tile_slide_x
        @display_x != 0 && @display_x != (@map.width - screen_tile_x) && !scrolling?
      end
      def adjust_tile_slide_y
        @display_y != 0 && @display_y != (@map.height - screen_tile_y) && !scrolling?
      end
    end
    #==============================================================================
    # ** Game_Interpreter
    #------------------------------------------------------------------------------
    #  Um interpretador para executar os comandos de evento. Esta classe é usada
    # internamente pelas classes Game_Map, Game_Troop e Game_Event.
    #==============================================================================
     
    class Game_Interpreter
      def set_camera_focus(event = 0)
        $game_player.set_camera_focus(event)
      end
    end
     
    #34
    Ebanyle likes this.

Share This Page