Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

 
Reply to this topicStart new topic
> Zoom Script, Pretty Self-Explanatory
jet10985
post Jun 28 2011, 05:45 PM
Post #1


Level 3
Group Icon

Group: Member
Posts: 44
Type: Scripter
RM Skill: Skilled




Zoom Script
By Jet



Introduction

Hi. This here is my comeback script! >=)
It's a script that allows you to ZOOM-IN. Crazy right? Couldn't tell by the name or anything, amirite?
Anyways, This was requested by a friend to Zeriab, and Zeriab didn't finish it, so i fixed it, and added a bunch of stuff to it and the like. Hope you enjoy it.
(Now people can stop requesting it!)


Features
- Zoom (DUH!)
- Cool new map transfers (optional)
- Zoom ANYWHERE
- It's a zoom script, what else do you want?
- And more... (no not really, it zooms)

Screenshots





Script/Demo

Download Script Here


FAQ

Q: Where do I put this script?
A: Put this script in the script edition under Materials and above Main

Q: How do i edit ______?
A: Look at the script configurations first! If you are SURE the option is not there, post in this topic.

Q: Can i zoom with this?
A: Yes, you can.

Q: What do i do if i get an error?
A: Don't post here like "OMG I GOTS ERORR!!!1! FIX TI!!111!!1!1"
Post here or private message me with the exact error messages, and be polite about it. Me or one of my minions will attempt to aid you.


Credit

Jet10985/Jet
Zeriab


__________________________
My Scripts posted here are outdated, as well as my blog posts.
I only update at http://www.rpgmakervx.net/ so find my topics there.

All my scripts are made under this license:
Go to the top of the page
 
+Quote Post
   
therufianx
post Jul 1 2011, 11:47 AM
Post #2


Level 1
Group Icon

Group: Member
Posts: 6
Type: Artist
RM Skill: Skilled




Wooow thank you very much, looking for something like that.
I really thank you very much smile.gif


__________________________
Katton Drágon no Jutsu!!!


¡¡Que viva el clan: Fairy Tail!!!
Go to the top of the page
 
+Quote Post
   
Cleril
post Jul 9 2011, 01:49 PM
Post #3


Level 16
Group Icon

Group: Revolutionary
Posts: 303
Type: Writer
RM Skill: Skilled
Rev Points: 25




It seems like the zoom out option with transfers doesn't work, that is, the fadeout option. Just keeps looping in and out on the same map with no transfer.

This post has been edited by Cleril: Jul 9 2011, 02:04 PM


__________________________
Go to the top of the page
 
+Quote Post
   
CastorOnline
post Jul 11 2011, 04:52 AM
Post #4


Level 3
Group Icon

Group: Member
Posts: 41
Type: Musician
RM Skill: Advanced




Hey, i have a question... How can i do i want to make the zoom permanent on a certain map? Also, when i make the zoom "zoom_screen(120, 2)"
the zoom works, but freezes the screen and, the player really is moving but the screen is freezed, i tested in new projects and is the same, is part of the script to freeze the screen???

Edit: Oh sorry, i miss one part of the script that says "the player will not be able to move", damn, i wanted to use this script for the world map :/

This post has been edited by CastorOnline: Jul 11 2011, 05:12 AM


__________________________
Go to the top of the page
 
+Quote Post
   
Yoroiookami
post Dec 18 2011, 02:48 AM
Post #5



Group Icon

Group: Member
Posts: 4
Type: None
RM Skill: Undisclosed




Hi, first thing I want to say is that I have a bad day.
The second thing is - will you please consider posting download link that f*cking works?
I really need this script, so please, spend some of your precious time posting it again.
Go to the top of the page
 
+Quote Post
   
Rosenblack
post Dec 18 2011, 12:20 PM
Post #6


Level 1
Group Icon

Group: Member
Posts: 14
Type: Developer
RM Skill: Intermediate




I asked him and got it here is my link to it that should work.
my link


__________________________


------

I am mainly a Developer but has learnt a bit in very part of game creation (solo-creation is very slow -_-")

I spoil myself
Hectic Games

Games In Progress

- Leonin Chapter 3 (Main Project)
- Death Walks (Side Project)
- Alice in Modern Wonderland (idea)

Quotes
"Fools" - Excalibur (Souleater)

I support
Go to the top of the page
 
+Quote Post
   
drei7717
post Mar 10 2012, 09:46 PM
Post #7


Level 4
Group Icon

Group: Member
Posts: 48
Type: Writer
RM Skill: Intermediate




I would really like to try this script but the link is dead sad.gif
Go to the top of the page
 
+Quote Post
   
marjoni01
post Mar 10 2012, 11:03 PM
Post #8


Level 2
Group Icon

Group: Member
Posts: 17
Type: Writer
RM Skill: Intermediate




@drei7717

Here's the script

CODE
#===============================================================================
# Zoom Script
# By Jet10985 (Jet)
# Original Code by: Zeriab
# Small fixes by: Piejamas
#===============================================================================
# This script will enable the user to zoom in and out of the map. It also allows
# them to have a classic looking map transfer if they want it.
# This script has: 15 customization options.
#===============================================================================
# Overwritten Methods:
# None
#-------------------------------------------------------------------------------
# Aliased methods:
# Spriteset_Map: initialize, dispose
# Game_Temp: initialize
# Scene_Map: update_transfer_player, call_battle, perform_battle_transition
#===============================================================================
=begin
How to zoom anywhere:

to zoom in a specific part, use the following script in an Event "Script..."

zoom_screen(duration, end_value, player, fade, fade_duration)

duration = time in frames for zoom to complete. 60 frames = 1 second
end_value = how far in the zoom goes, as in 10x size or 5x size. Use just number,
no x.
player = does the zoom zoom-in on the player? true or false. false will make
it so the zoom will zoom-in in the event that calls the zoom.
fade = true or false. true make the screen fade to black while zooming.
fade_duration = how long does it take to fade in frames? 60 frames = 1 second

You must specify duration AND end_value, but not always the rest.
If the others aren't specified, they will default like so:
player will be true
fade will be false
fade_duration will be 1

Ex. zoom_screen(120, 10)
This will zoom in on the player with a 10x zoom, and will last for 2 seconds
with no fading.
--------------------------------------------------------------------------------
How to end zoom:

to end the zoom, use the following script in an Event "Script..."

end_zoom_screen(zoom_out)

zoom_out = true or false. if true, it will end by zooming out.
if false, it will just revert back to regular map.
  
You can just put end_zoom_screen and it will assume that zoom_out is true
  
end_zoom_screen automatically detects if a fade occured during the zoom, and will
fade back in automatically.
--------------------------------------------------------------------------------
Notes:

While zoomed in, the player will not be able to move.
Pictures and message windows can still be displayed.
Pictures must have a Z value of 200+ in order to show above the zoom.
=end

module JetZoomScript
  
  # When you transfer to a new map, do you want to have a cool zoom-in
  # transfer? If false, you can skip down to ZOOM_BATTLE_TRANSFER.
  ZOOM_TRANSFER = true
  
  # With the zoom transfer, do you also want the screen to fade to black,
  # then fade back normally when you're on the next map?
  ZOOM_AND_FADE = false
  
  # After the zoom transfer, you you want a zoom out effect instead of
  # just the map?
  ZOOM_OUT_AFTER_TRANSFER = false
  
  # While transfering, do you want the previous map to slowly become
  # intangible?
  USE_OPACITY_CHANGE_ON_ZOOMSHOT = true
  
  # What's the factor you want to zoom-in with on zoom transfers?
  TRANSFER_ZOOM_AMOUNT = 10
  
  # How long in frames does the transfer zoom take to zoom in?
  # 60 frames = 1 second
  TRANSFER_ZOOM_IN_TIME = 120
  
  # This is the acceleration factor of the transfer zoom. The lower the factor,
  # the higher it accelerates, so the higher the factor, the slower.
  TRANSFER_ZOOM_FACTOR = 2.3
  
  # How long in frames does the transfer zoom take to zoom out?
  # Don't bother with this if ZOOM_OUT_AFTER_TRANSFER is false
  # 60 frames = 1 second
  TRANSFER_ZOOM_OUT_TIME = 120
  
  # How long in frames does the transfer zoom take to fade to black?
  # Don't bother with this if ZOOM_AND_FADE is false
  # 60 frames = 1 second
  TRANSFER_ZOOM_FADE_IN = 120
  
  # How long in frames does the transfer zoom take to fade back into light?
  # Don't bother with this if ZOOM_AND_FADE is false
  # Also don't bother with this if ZOOM_OUT_AFTER_TRANSFER is false
  # 60 frames = 1 second
  TRANSFER_ZOOM_FADE_OUT = 120
  
  # If this switch is on, then transfer zoom will be temporarily disabled.
  NO_ZOOM_TRANSFER_SWITCH = 1
  
  # Instead of the lame default battle enter sequence, do you want
  # to zoom in on your character when entering into battle?
  ZOOM_BATTLE_TRANSFER = false
  
  # What's the factor you want to zoom-in with on zoom battle transfers?
  BATTLE_TRANSFER_ZOOM_AMOUNT = 10
  
  # How long in frames does the battle transfer zoom take to zoom in?
  # 60 frames = 1 second
  BATTLE_TRANSFER_ZOOM_IN_TIME = 100
  
  # This is the acceleration factor of the battle transfer zoom. The lower the
  # factor, the higher it accelerates, so the higher the factor, the slower.
  BATTLE_TRANSFER_ZOOM_FACTOR = 2.3

end

#===============================================================================
# DON'T EDIT FURTHER UNLESS YOU KNOW WHAT TO DO.
#===============================================================================
class Spriteset_Map
  
  alias jet4762_initialize initialize unless $@
  def initialize
    jet4762_initialize
    @disposed = false
  end
  
  alias jet7233_dispose dispose unless $@
  def dispose
    jet7233_dispose
    @disposed = true
  end
  
  def disposed?
    return @disposed
  end
end

class Scene_Map
  
  def spriteset
    return @spriteset
  end
end

class Game_Temp
  
  attr_accessor :player_height, :display_x, :display_y
  
  alias jet4672_initialize initialize unless $@
  def initialize
    jet4672_initialize
    @player_height = 0
    @display_x = 0
    @display_y = 0
  end
end

class Scene_Map < Scene_Base
  
  include JetZoomScript
  
  alias jet7833_update_transfer_player update_transfer_player unless $@
  def update_transfer_player
    if $game_switches[NO_ZOOM_TRANSFER_SWITCH] || !ZOOM_TRANSFER
      jet7833_update_transfer_player
    else
      return unless $game_player.transfer?
      zoom = (Graphics.brightness > 0 && $game_map.screen.brightness > 0)
      fadeout = ZOOM_AND_FADE ? TRANSFER_ZOOM_FADE_OUT : -1
      fadein  = ZOOM_AND_FADE ? TRANSFER_ZOOM_FADE_IN : -1
      zoom_screen(TRANSFER_ZOOM_IN_TIME, 1, TRANSFER_ZOOM_AMOUNT, fadeout) if zoom
      if !USE_OPACITY_CHANGE_ON_ZOOMSHOT && ZOOM_OUT_AFTER_TRANSFER or
        !USE_OPACITY_CHANGE_ON_ZOOMSHOT && ZOOM_AND_FADE &&
        !ZOOM_OUT_AFTER_TRANSFER
        @spriteset.dispose unless @spriteset.disposed?
        $game_player.perform_transfer
        $game_map.update
        @spriteset = Spriteset_Map.new if @spriteset.disposed?
      end
      $game_map.autoplay  
      if ZOOM_OUT_AFTER_TRANSFER
        zoom_screen(TRANSFER_ZOOM_OUT_TIME, TRANSFER_ZOOM_AMOUNT, 1, fadein) if zoom
      end
      if ZOOM_AND_FADE && !ZOOM_OUT_AFTER_TRANSFER
        fadein(TRANSFER_ZOOM_FADE_IN)
      end
    end
  end

  def zoom_screen(duration, start_value, end_value, fade_duration)
    $game_temp.player_height = @spriteset.player_height
    $game_temp.display_x = $game_player.screen_x
    $game_temp.display_y = $game_player.screen_y
    Graphics.brightness = 255    
    @zoom_bitmap = Graphics.snap_to_bitmap
    @zoom_sprite = Sprite.new
    @zoom_sprite.z = 9999
    @zoom_sprite.bitmap = @zoom_bitmap
    if USE_OPACITY_CHANGE_ON_ZOOMSHOT && !ZOOM_OUT_AFTER_TRANSFER
      @spriteset.dispose
      $game_player.perform_transfer
      $game_map.update
      @spriteset = Spriteset_Map.new
    end
    do_zoom(duration, start_value, end_value, fade_duration)
    @zoom_sprite.dispose
    @zoom_bitmap.dispose
    @zoom_sprite = nil
    @zoom_bitmap = nil
  end

  def do_zoom(times, start_value, end_value, fade_duration)
    value = start_value
    if start_value > end_value && ZOOM_AND_FADE
      Graphics.brightness = 0
    end
    for i in 0...times
      percent = (i.to_f / times) ** TRANSFER_ZOOM_FACTOR
      value = value + percent * (end_value - value)
      if USE_OPACITY_CHANGE_ON_ZOOMSHOT and !(start_value > end_value)
        @zoom_sprite.opacity -= 255 / TRANSFER_ZOOM_IN_TIME
        @zoom_sprite.update
      end
      if ZOOM_AND_FADE
        if start_value < end_value
          Graphics.brightness -= 255 / fade_duration
        elsif start_value > end_value
          Graphics.brightness += 255 / fade_duration
        end
      end
      zoom_sprite(@zoom_sprite, value)
      Graphics.update
    end
  end

  def zoom_sprite(sprite, amount)
    sx = $game_temp.display_x
    sy = $game_temp.display_y - $game_temp.player_height / 2
    gw = Graphics.width
    gh = Graphics.height
    width = gw * amount
    height = gh * amount
    x = [sx * amount - (gw / 2), 0].max
    x = [x, width - gw].min
    y = [sy * amount - (gh / 2), 0].max
    y = [y, height - gh].min
    sprite.zoom_x = amount
    sprite.zoom_y = amount
    sprite.ox = x / amount
    sprite.oy = y / amount
  end
  
  alias jet6592_call_battle call_battle unless $@
  def call_battle
    jet6592_call_battle
    if ZOOM_BATTLE_TRANSFER
      $game_temp.player_height = @spriteset.player_height
      $game_temp.display_x = $game_player.screen_x
      $game_temp.display_y = $game_player.screen_y
      Graphics.brightness = 255    
      @zoom_bitmap = Graphics.snap_to_bitmap
      @zoom_sprite = Sprite.new
      @zoom_sprite.z = 199
      @zoom_sprite.bitmap = @zoom_bitmap
      value = 1
      for i in 0...BATTLE_TRANSFER_ZOOM_IN_TIME
        percent = (i.to_f / BATTLE_TRANSFER_ZOOM_IN_TIME) ** BATTLE_TRANSFER_ZOOM_FACTOR
        value = value + percent * (BATTLE_TRANSFER_ZOOM_AMOUNT - value)
        zoom_sprite(@zoom_sprite, value)
        Graphics.update
      end
    end
  end
  
  alias jet4721_perform_battle_transition perform_battle_transition unless $@
  def perform_battle_transition
    if !ZOOM_BATTLE_TRANSFER
      jet4721_perform_battle_transition
    else
      @zoom_sprite.dispose
      @zoom_bitmap.dispose
      @zoom_sprite = nil
      @zoom_bitmap = nil
    end
  end
end

class Spriteset_Map
  
  def player_height
    @character_sprites[-1].height
  end  
end

class Game_Interpreter
  
  def zoom_sprite(sprite, amount)
    sx = $game_temp.display_x
    sy = $game_temp.display_y - $game_temp.player_height / 2
    gw = Graphics.width
    gh = Graphics.height
    width = gw * amount
    height = gh * amount
    x = [sx * amount - (gw / 2), 0].max
    x = [x, width - gw].min
    y = [sy * amount - (gh / 2), 0].max
    y = [y, height - gh].min
    sprite.zoom_x = amount
    sprite.zoom_y = amount
    sprite.ox = x / amount
    sprite.oy = y / amount
  end
  
  def zoom_screen(times, end_value, player = true, fade = false,
      fade_duration = 1)
    $game_temp.player_height = $scene.spriteset.player_height
    if player
      $game_temp.display_x = $game_player.screen_x
      $game_temp.display_y = $game_player.screen_y
    else
      $game_temp.display_x = $game_map.events[@original_event_id].screen_x
      $game_temp.display_y = $game_map.events[@original_event_id].screen_y
    end
    Graphics.brightness = 255    
    @zoom_bitmap = Graphics.snap_to_bitmap
    @zoom_sprite = Sprite.new
    @zoom_sprite.z = 199
    @zoom_sprite.bitmap = @zoom_bitmap
    value = 1
    @start_value = 1
    @end_value = end_value
    @fade = fade
    @fade_duration = fade_duration
    @times = times
    if 1 > end_value && fade
      Graphics.brightness = 0
    end
    for i in 0...times
      percent = (i.to_f / times) ** 2.3
      value = value + percent * (end_value - value)
      if fade
        if 1 < end_value
          Graphics.brightness -= 255 / fade_duration
        elsif 1 > end_value
          Graphics.brightness += 255 / fade_duration
        end
      end
      zoom_sprite(@zoom_sprite, value)
      Graphics.update
    end
  end
  
  def end_zoom_screen(zoom_out = true)
    if zoom_out
      value = @end_value
      if @end_value > @start_value && @fade
        Graphics.brightness = 0
      end
      for i in 0...@times
        percent = (i.to_f / @times) ** 2.3
        value = value + percent * (@start_value - value)
        if @fade
          if @start_value < @end_value
            Graphics.brightness -= 255 / 60
          elsif @start_value > @end_value
            Graphics.brightness += 255 / 60
          end
        end
        zoom_sprite(@zoom_sprite, value)
        Graphics.update
      end
    end
    @zoom_sprite.dispose
    @zoom_bitmap.dispose
    @zoom_sprite = nil
    @zoom_bitmap = nil
  end
end


Go to the top of the page
 
+Quote Post
   
Xamasi
post Apr 9 2012, 10:37 AM
Post #9


Level 1
Group Icon

Group: Member
Posts: 11
Type: Musician
RM Skill: Intermediate




QUOTE (Rosenblack @ Dec 18 2011, 01:20 PM) *
I asked him and got it here is my link to it that should work.
my link


Much appreciated! I can already see the cinematic's exploding into a fiesta of spiciness. teehee.gif


__________________________


Read this stuff
Games working on:
Legend of Eternia (working tital)
Completion: ( 1%) Not anywhere near close

RPG currently playing: Phantasy Star 2
Go to the top of the page
 
+Quote Post
   

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 22nd May 2013 - 01:53 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker