[VXA] Fix Picture to Map

0 Members and 1 Guest are viewing this topic.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
Fix Picture to Map
Version: 1.0.2
Author: modern algebra
Date: 8 September, 2012

Version History


  • <Version 1.0.2> 2012.09.08 - Fixed a bug where fixed pictures would reset when transitioning to a new scene
  • <Version 1.0a> 2012.02.24 - Added a feature to identify fixed pictures in their name
  • <Version 1.0> 2012.01.07 - Original Release

Description


This allows you to set the position of a picture by the X and Y position of the map, rather than the screen, so that the picture won't move with you when the screen scrolls. Additionally, the script lets you set the Z value  to show below characters, or even below the tiles or below the parallax.

This script has no effect in battle and pictures there behave normally.

Also note that this script does not accomodate well for looping maps. If the picture is set such that it overlaps the end of the map, it will not work.

Features

  • Allows you to fix a picture to a position on the map, rather than with reference to the screen
  • Can change the z value of pictures, so that they don't have to show above everything. For instance, you can set it so that a picture shows below the parallax, or in between the parallax and the tilemap, or above ground tiles but below star tiles and characters, or above characters with normal priority but below characters with "Above Characters" priority; etc...
  • Useful for parallax mapping, as you can use pictures as additional map layers wherever you need them to be.

Screenshots

Not really screenshot material - all that happens is that you can turn on a switch which makes it so pictures are positioned with reference to the tilemap rather than the screen.

Instructions

Paste this script into its own slot in the Script Editor, above Main but below Materials.

To use this script, you must first set which in-game switches and variables you will use to control the various features of the script. There are two switches and one variable. When you turn the first switch on in-game, then any pictures shown while it is ON will be fixed to the map and will not follow the screen. When the second switch is ON, then that permits you to use grid coordinates when setting the position of pictures that are fixed to the map. The variable determines the vertical position of the picture (ie - what things show above it and what things show below it).

Alternatively, you can identify some pictures as permanently fixed by including the code: [Fixed] in the picture's name. The value of the switch will be irrelevant in that case and the picture will always be fixed.

Please read the instructions in the header of the script very carefully, as it explains this in more detail. If you have any questions, please feel free to ask it in this topic.

Script


Code: [Select]
#==============================================================================
#    Fix Picture to Map
#    Version: 1.0.2 [VXA]
#    Author: modern algebra (rmrk.net)
#    Date: 8 September, 2012
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    This allows you to set the position of a picture by the X and Y position
#   of the map, rather than the screen, so that the picture won't move with you
#   when the screen scrolls. Additionally, the script lets you set the Z value
#   to show below characters, or even below the tiles or below the parallax.
#
#    This script has no effect in battle and pictures there behave normally.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Paste this script into its own slot in the Script Editor, above Main but
#   below Materials.
#
#    To specify that a picture should be fixed to a map and not follow the
#   screen, all you need to do is turn an in-game switch on before showing the
#   picture. To specify which switch, all you need to do is change the value of
#   SWITCH_ID at line 60. Alternatively, you can include the code [Fixed]
#   somewhere in the name of the picture.
#
#    For the fixed pictures, you also have the option of assigning it to grid
#   coordinates instead of pixel coordinates. This means that if you wanted it
#   to show up at (3, 5) in the map, you could set it to that directly instead
#   of (96, 160). You can turn on this feature using another switch, again one
#   which you choose by changing the value of COORDINATES_SWITCH_ID at line 63.
#
#    To specify the layer of the tilemap (what shows above it and what shows
#   below it), all you need to do is change the value of a variable. Which
#   variable is also specifed by you by changing Z_VARIABLE_ID at line 69.
#   The value to which that in-game variable is set at the time a picture is
#   shown determines where the picture will show up. If the variable is set to
#   0 then it will be in its normal place; if set to -1, it will show below
#   the tilemap but above the parallax; if set to -2, it will show below the
#   parallax; if set to 1, it will show above all non-star tiles but star tiles
#   and characters with normal priority; if set to 2, it will show above
#   characters with normal priority but below characters with "Above
#   Characters" priority. If set to any other value, the z value of the picture
#   will be set to that directly.
#==============================================================================

$imported = {} unless $imported
$imported[:MA_FixPictureToMap] = true

#==============================================================================
# *** MA_FixPicture
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  This module holds some relevant configuration Data
#==============================================================================

module MA_FixPicture
  #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  #  Editable Region
  #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  #  SWITCH_ID - set this to the ID of the in-game switch that you want to
  # use to control whether pictures should be fixed.
  SWITCH_ID = 2
  #  COORDINATES_SWITCH_ID - Set this to the ID of the in-game switch that you
  # want to use to control how coordinates are set. If this switch is ON, then
  # for fixed pictures, you can just use the grid x and y coordinates (ie: you
  # would set (1, 4) instead of (32, 128). If you always want this feature to
  # be on when the FPM Switch is on, you can set it to have the same ID.
  COORDINATES_SWITCH_ID = 2
  #  Z_VARIABLE_ID - set this to the ID of the in-game variable that you
  # want to use to control the z-value priority of the picture.
  Z_VARIABLE_ID = 3
  #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  #  End Editable Region
  #////////////////////////////////////////////////////////////////////////////
  class << self
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    # * Public Instance Variables
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    attr_accessor :spriteset_vp1
    attr_accessor :spriteset_vp2
  end
end
#==============================================================================
# ** Game Picture
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new public instance variables - mafpm_vp_id; mafpm_fixed; mafpm_z
#    aliased method - initialize; show; move
#==============================================================================

class Game_Picture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Public Instance Variables
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  attr_accessor :mafpm_vp_id
  attr_accessor :mafpm_fixed
  attr_accessor :mafpm_z
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Object Initialization
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_iniz_2fg6 initialize
  def initialize(*args, &block)
    @mafpm_fixed = false
    @mafpm_vp_id = 2
    mafpm_iniz_2fg6(*args, &block) # Call Original Method
    @mafpm_z = self.number
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Show Picture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_showpic_3jb7 show
  def show(name, *args, &block)
    # Only fix pictures if in Scene_Map
    if SceneManager.scene_is?(Scene_Map)
      @mafpm_fixed = (MA_FixPicture::SWITCH_ID == true ||
        $game_switches[MA_FixPicture::SWITCH_ID] || !name[/\[FIXED\]/i].nil?)
      z_var = $game_variables[MA_FixPicture::Z_VARIABLE_ID]
      # If 0 or less than 300, then it should belong to the viewport1
      @mafpm_vp_id = (z_var != 0 && z_var < 300) ? 1 : 2
      # Set Z shortcuts
      @mafpm_z = case z_var
      when -1 then -50         # Below tilemap but above parallax
      when -2 then -150        # Below parallax
      when 0 then self.number  # Normal position
      when 1 then 50           # Above tilemap but below normal characters
      when 2 then 150          # Above normal characters but below Above Characters
      else
        @mafpm_z = z_var < 300 ? z_var : z_var - 300 # Directly set to value
      end
    end
    mafpm_showpic_3jb7(name, *args, &block) # Call Original Method
    if @mafpm_fixed && (MA_FixPicture::COORDINATES_SWITCH_ID == true || $game_switches[MA_FixPicture::COORDINATES_SWITCH_ID])
      @x *= 32
      @y *= 32
    end
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Move Picture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_movepctr_2js1 move
  def move(*args, &block)
    mafpm_movepctr_2js1(*args, &block)
    if @mafpm_fixed && (MA_FixPicture::COORDINATES_SWITCH_ID == true || $game_switches[MA_FixPicture::COORDINATES_SWITCH_ID])
      @target_x *= 32
      @target_y *= 32
    end
  end
end

#==============================================================================
# ** Sprite Picture
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased methods - update
#==============================================================================

class Sprite_Picture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Frame Update
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_updt_5fw1 update
  def update(*args, &block)
    mafpm_updt_5fw1(*args, &block) # Call original method
    # If picture is fixed to map
    if @picture.mafpm_fixed
      # Scroll the picture appropriately
      self.x = @picture.x - ($game_map.display_x * 32)
      self.y = @picture.y - ($game_map.display_y * 32)
    end
    self.z = @picture.mafpm_z # Update Z to the correct Z
    # If the viewport has changed
    if @mafpm_vp_id != @picture.mafpm_vp_id && MA_FixPicture.send(:"spriteset_vp#{@picture.mafpm_vp_id}")
      @mafpm_vp_id = @picture.mafpm_vp_id
      # Change viewport
      self.viewport = MA_FixPicture.send(:"spriteset_vp#{@mafpm_vp_id}")
    end
  end
end

#==============================================================================
# ** Spriteset Map
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased methods - create_viewports; dispose_viewports
#==============================================================================

class Spriteset_Map
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Create Viewports
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_creatviewpor_3dk8 create_viewports
  def create_viewports(*args, &block)
    mafpm_creatviewpor_3dk8(*args, &block) # Call original method
    # Set the viewports to be globally accessible
    MA_FixPicture.spriteset_vp1 = @viewport1
    MA_FixPicture.spriteset_vp2 = @viewport2
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Dispose Viewports
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_disposevps_2nr5 dispose_viewports
  def dispose_viewports(*args, &block)
    # Nullify the variables in MA_FixPicture
    MA_FixPicture.spriteset_vp1 = nil
    MA_FixPicture.spriteset_vp2 = nil
    mafpm_disposevps_2nr5(*args, &block) # Call original method
  end
end

Credit


  • modern algebra

Support


Please post in this topic at RMRK for support or to report any errors.
« Last Edit: September 23, 2012, 04:03:52 PM by modern algebra »

**
Rep: +0/-0Level 62
RMRK Junior
Thanks you for this script ! I have a question about it. The Z_VARIABLE_ID concern all the pictures ? Or it's possible to assign different z-value for different pictures ?

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
Yeah, it is possible to assign different z-values for every picture. What the Z_VARIABLE_ID does is assign one in-game variable to control the z-value, and whatever the value of that variable when a new picture is displayed will be the z-value of that picture.

In other words, if you set the Z_VARIABLE_ID to 5, for example, and do the following event:

Control Variable: [0005: Picture Z] = 2
Display Picture: 1, "whatever"
Control Variable: [0005: Picture Z] = -1
Display Picture: 2, "whatever"
Control Variable: [0005: Picture Z] = 0
Display Picture: 3, "whatever"

Picture 1 would show above everything but characters set to "Above Characters" priority. Picture 2 would show below the tilemap but above the parallax. Picture 3 would show up in its regular picture space (above everything but the weather).


Also, that feature is independent from the Fix Pictures feature, so you can change the z-values of pictures that follow the screen as well.

**
Rep: +0/-0Level 62
RMRK Junior
Amazing ! This fix a lot of problems and add new features with parallax mapping ! Thanks you for the explanations ^^

*
The Hero of Rhyme
Rep:
Level 82
( ͡° ͜ʖ ͡°)
2014 Best RPG Maker User - StoryProject of the Year 20142014 Queen of RMRK2011 Best Newbie2014 Best RPG Maker User - Creativity2014 Kindest Member2013 Queen of RMRKBronze SS AuthorBronze Writing ReviewerSecret Santa 2013 ParticipantFor taking arms in the name of your breakfast.GOOD!For frequently finding and reporting spam and spam bots2012 Best Yuyubabe Smiley2012 Best RPG Maker User (Creativity);o
Wow, this looks cool! You are the founding father of the VXA scripts in my books!

Terrible history jokes. I'm sorry haha. :)
Spoiler for My Games and Art:
ℒℴѵℯ❤


My Artwork Thread

The Lhuvia Tales [Current]

Ambassador [Complete]

The Postman [Complete]

The Wyvern [Complete]

Phoenix Wright: Haunted Turnabout [Complete]

Major Arcana [Cancelled]


*
Rep: +0/-0Level 56
RMRK Junior
I have a problem, try to realize it with Z_VARIABLE_ID but it me does not work. I continue the steps that you say but it continues without working.
Can upload  a DEMO please?

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
I will upload a demo once the English version of VXA is released, but in the meantime, perhaps you could tell me what you're having trouble with?

The one comment I will make is that Z_VARIABLE_ID actually refers to an in-game variable ID, so modifying that does not, by itself, change the priority of the picture. Rather, it is the value of the variable it references that you must change.

In other words, let's say you have Z_VARIABLE_ID set to 1. If you want to show a picture below the tilemap but above the parallax, then your event would look like this:

@>Control Variable: Variable 1 = -1
@>Show Picture

*
Rep: +0/-0Level 56
RMRK Junior
Resolved! Thanks for the help and patience

*
Rep:
Level 84
I am the wood of my broom
2010 Project of the YearProject of the Month winner for January 2009Project of the Month winner for January 2010Project of the Month winner for April 2010
Hello MA, is it possible to make some picture numbers unaffected by Picture Stick?

For example, I have waterfalls animated via waters and is on picture stick, but at the same time I'm using a cave/lantern vision type of image and that is affected too :(

Normally, events would've worked but sadly, I found some critical bug in VXA that has...inconsistent loading of events destroying the whole animation.


*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
Hmm, well it's supposed to be the value of the FPM switch at the time the picture is shown which governs.

So, if SWITCH_ID is equal to 34, then the following event:

@>Switch Operation: [0034: Fix Picture] = ON
@>Display Picture: 1, 'Waterfall', Upper Left(32, 64), (100%, 100%), 255, Normal
@>Switch Operation: [0034: Fix Picture] = OFF
@>Display Picture: 2, 'Lantern', Upper Left(0, 0), (100%, 100%), 255, Normal

That ought to make it so that the Waterfall picture is fixed to the map, while the Lantern picture is not. I don't know how you're animating the pictures, but as long as the switch is set correctly whenever a picture is being displayed, then the Lantern picture should not be fixed and the Waterfall picture should be. If that isn't happening then there is an error in the script, so could you upload a new project with the error recreated?
« Last Edit: February 24, 2012, 02:33:53 PM by modern algebra »

*
Rep:
Level 84
I am the wood of my broom
2010 Project of the YearProject of the Month winner for January 2009Project of the Month winner for January 2010Project of the Month winner for April 2010
Yeah we did something similar to that, it's a weird fix but it'll be okay I guess?
You see, what I did before is that the lantern is a common event that is called by a switch. That way I don't have to copy paste it in every map. But the situation calls for this <:3c

The waterfalls animate nicely, it's just that the lantern doesn't follow the player anymore because it's "picture stick'd" It'll be nice if images that have [fixed] over them are the only ones who get stick but...yeah...


^^This one works nicely :D
« Last Edit: February 24, 2012, 06:15:32 PM by Nessiah »


*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
Well, I never thought that to be such a problem, since it is not difficult to flip a switch before showing a picture, considering that pictures can only be shown through eventing in any case. Besides, I don't think it's very clean to require such things.

However, it's not hard to add the requested feature in, so I did and updated the script to 1.0a. Please get the script from the first post. It is supplemental to the default procedure of using a switch, so you don't need to go through your project and change all the Show Picture commands, but going forward, you can just add [Fixed] anywhere in the name of a picture and it will be automatically fixed to the map.

I have not tested it at all, but I think it should be fine.

*
Rep:
Level 84
I am the wood of my broom
2010 Project of the YearProject of the Month winner for January 2009Project of the Month winner for January 2010Project of the Month winner for April 2010
Thank you very much MA! It works awesomely and makes my eventing life easier ;v;)/


**
Rep: +0/-0Level 83
I know this is two months old but I just found this and am wanting to use this to allow for building placement in a city-building portion of an RPG.  Sadly, I can't seem to find a z-variable that doesn't go over the character, but at the same time doesn't go under the tileset.  I would prefer to not have to fully use events to make this work, as I found a way to keep the player from going where the buildings eventually will be, so I was ecstatic to find this script.  Here's hoping you guys have an answer!

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
It doesn't work if you set it to 1?

Also, recall that what you set in the script is only the ID of the in-game variable which controls the Z for pictures. Ie, if you have this in the script:

Code: [Select]
  #  Z_VARIABLE_ID - set this to the ID of the in-game variable that you
  # want to use to control the z-value priority of the picture.
  Z_VARIABLE_ID = 3

Then when you show the picture you need to do:

@>Variable Operation: [0003: Fix Picture Z] = 1
@>Display Picture: 1, 'Houses', Upper Left(32, 64), (100%, 100%), 255, Normal

**
Rep: +0/-0Level 83
If I set it to 1, it seems to only appear if the entire picture would be on screen.  The moment a pixel goes off, it disappears.  I'll try a fully new build, see if that works, and if it doesn't, I'll post a demo and maybe you can see if I'm doing something wrong.

EDIT:  Just tested it again in a fresh build, if any of the picture goes off screen, it disappears completely.  However, my character does still stay above it, so that in and of itself works.  It stays on the map just fine when it's at any other number, but at 1 it just disappears.
« Last Edit: April 20, 2012, 01:05:29 AM by wandererwillow »

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
Maybe recreate the error in a fresh project and share it so that I can see what you mean. That doesn't happen when I try it out.

**
Rep: +0/-0Level 83
http://www.mediafire.com/?iau73fmhv773c2r

That's the fresh, new project file.  Still happens every time.

The event is nothing more than:
@>Control Switches: [0002] = ON
@>Control Variables: [0003] = 1
@>Show Picture: 1, 'house1', Upper Left (5, 1), (100%,100%), 255, Normal

The script is unmodified, I left it exactly as is.

Hope we can find some sort of answer because I'd love to include this into my game.  Always been a huge fan of city-building elements and this would be perfect to use for that.  Thanks!

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
Alright, I see what you mean. As soon as I get a chance, I will look into the problem and fix it.

**
Rep: +0/-0Level 83
You're a godsend.  Thank you!

********
Furry Philosopher
Rep:
Level 93
Rawr?
2013 Best RPG Maker User (Creativity)Randomizer - GIAW 11Gold - GIAW 11 (Hard)Secret Santa 2013 ParticipantFor frequently finding and reporting spam and spam bots2012 Best RPG Maker User (Mapping)2012 Best RPG Maker User (Programming)Secret Santa 2012 ParticipantGold - GIAW 9Project of the Month winner for September 2008For taking a crack at the RMRK Wiki2011 Best RPG Maker User (Programming)2011 Best Veteran2011 Kindest Member2010 Best RPG Maker User (Story)2010 Best RPG Maker User (Events)
Okay, I noticed something very weird happening when calling a menubase script. I recently made a simple map script branching off of the Scene_MenuBase, but found that calling the script while a fixed picture was in use would temporarily reposition the picture to screen coordinates instead (I think it's the screen ones, anyway) for use in the background bitmap. At first I thought it was an error with my script, but I tested it with a few others and found that it did the same thing for other default scripts, such as calling the name input script for example.

I can probably rewrite my script to branch off of the scene_base instead, it's a simple enough script. But I figured I'd point out the unusual glitch first to see if you have any thoughts.


Edit: I take it back, it's still giving me that bug even though I changed it around to being a scene_base script.
« Last Edit: April 27, 2012, 02:09:39 PM by Zylos »




********
Furry Philosopher
Rep:
Level 93
Rawr?
2013 Best RPG Maker User (Creativity)Randomizer - GIAW 11Gold - GIAW 11 (Hard)Secret Santa 2013 ParticipantFor frequently finding and reporting spam and spam bots2012 Best RPG Maker User (Mapping)2012 Best RPG Maker User (Programming)Secret Santa 2012 ParticipantGold - GIAW 9Project of the Month winner for September 2008For taking a crack at the RMRK Wiki2011 Best RPG Maker User (Programming)2011 Best Veteran2011 Kindest Member2010 Best RPG Maker User (Story)2010 Best RPG Maker User (Events)
Okay, I think I found a fix for my particular scenario, but I'm not exactly as script savvy as MA is and have no idea what other consequences there might be. Down in the frame update of Sprite_Picture, I simply disabled it from checking whether it's Scene_Map or not and to display the picture in the selected coordinates regardless. I have no idea why it was put in there in the first place though, hence I'm leary about having changed it despite not seeing any issues yet.

MA, would doing what I did cause any problems that you can think of? Again, I'm not sure of whether it was really necessary to check if it was on Scene_Map or not.




*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
No, it's not a big deal. I had just put it in since I didn't anticipate you would need to fix pictures in other scenes (like in Scene_Battle), and it would be wasteful to do the calculations. I suppose it is not a useful restriction thinking about it now.

********
Furry Philosopher
Rep:
Level 93
Rawr?
2013 Best RPG Maker User (Creativity)Randomizer - GIAW 11Gold - GIAW 11 (Hard)Secret Santa 2013 ParticipantFor frequently finding and reporting spam and spam bots2012 Best RPG Maker User (Mapping)2012 Best RPG Maker User (Programming)Secret Santa 2012 ParticipantGold - GIAW 9Project of the Month winner for September 2008For taking a crack at the RMRK Wiki2011 Best RPG Maker User (Programming)2011 Best Veteran2011 Kindest Member2010 Best RPG Maker User (Story)2010 Best RPG Maker User (Events)
Fair enough. It's mostly just the strange "split moment" instance where it's out of place during the scene transition and in the background bitmap, but then reverts itself when the scene changes back.




*
Rep: +0/-0Level 54
RMRK Junior
Could I use this script for free in a commercial RPG Maker VXA Game what I want to sell?

**
Rep:
Level 56
RMRK Junior
I tried this script with updated Rpg maker Vx ace and it doesn't fix the picture.

Did i do something wrong ?
« Last Edit: June 22, 2012, 07:34:37 PM by Chaos17 »

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
Err, I can't tell without seeing your configuration of the script. Did you set the SWITCH_ID value to 90?

**
Rep:
Level 56
RMRK Junior
Yes.

Here the configuration :
SWITCH_ID = 90
COORDINATES_SWITCH_ID = 89
Z_VARIABLE_ID = 93



I tried to put the suffix [FIXED] in case the picture will automaticly fix itself without the switch but it didn't work. I tried too to keep the suffix [FIXED] and the switch but it didn't worked.

EDIT : I am going to check all my scripts and see if there aren't any scripts who are using the same switch.
« Last Edit: June 23, 2012, 08:50:46 AM by Chaos17 »

**
Rep:
Level 56
RMRK Junior
Just making a double post to say, I've found where the bug was from :
I've found where my problem was from, it was because of the first script of this link : http://rmrk.net/index.php/topic,45300.0.html

A picture bug fix script.

***
Rep:
Level 68
I found a bug. If you try and have the looping pictures fixed (such as part of bg animations) it doesn't display the pictures at all.

*
Rep:
Level 84
I am the wood of my broom
2010 Project of the YearProject of the Month winner for January 2009Project of the Month winner for January 2010Project of the Month winner for April 2010
Really? That works fine to me :O
How did you event it?

I found that if a battle transition happens, the pictures jerk in the middle for a bit and then battle (but resume to correct positions like nothing happened).


*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
Oops, guess I missed that, or maybe I just forgot, as Zylos also directed me to it. I have updated the script to fix that error. Thank you!

***
Rep:
Level 68
I found a bug and was asked to report it here as it seems to be caused by this script.

I noticed a weird behavior in ACE. If I have a picture that has been tinted to match the screen tone acting as an overlay, if I turn it transparent with a move picture command it becomes regular tone during the time it turns transparent.


*
Rep:
Level 84
I am the wood of my broom
2010 Project of the YearProject of the Month winner for January 2009Project of the Month winner for January 2010Project of the Month winner for April 2010
There is a bug when you shake the screen and happen to use pictures, it won't shake with the screen. Here's a quick fix for it by kread. (I hope you don't mind me hijacking modern algebra D; )

Code: [Select]
class Spriteset_Map
  alias_method(:krx_mashake_sp_uv, :update_viewports)
  def update_viewports
    krx_mashake_sp_uv
    @viewport2.ox = $game_map.screen.shake
  end
end


*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
Not at all. Thanks for reporting it.

The fix seems like it would work. Notably, it will also shake the timer and the weather when you shake the screen now. That's not necessarily a problem though; it might even be a neat effect.

***
Rep:
Level 68
There is a bug when you shake the screen and happen to use pictures, it won't shake with the screen. Here's a quick fix for it by kread. (I hope you don't mind me hijacking modern algebra D; )

Code: [Select]
class Spriteset_Map
  alias_method(:krx_mashake_sp_uv, :update_viewports)
  def update_viewports
    krx_mashake_sp_uv
    @viewport2.ox = $game_map.screen.shake
  end
end

How to apply it?

*
i am satin die lol
Rep:
Level 96
welcom to hel
GIAW 14: 2nd Place (Hard Mode)2013 Biggest Drama Whore2013 Zero to HeroParticipant - GIAW 11Secret Santa 2013 ParticipantFor taking arms in the name of your breakfast.
Just place it in a new scropt slot.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
Yes, Lord Stark is correct.

*
Rep: +0/-0Level 15
RMRK Junior
I know, this is old, but what do you reccommend for the script order, modern algebra?
Like you did with your animated parallax script. (That it should be placed below all custom scripts)

I'm just asking, because it does not, what it is supposed to, but it worked in the past. And now I hope, that it can be solved with just changing the script order.