Napoleon's Minimap

Discussion in 'RGSS3 Scripts (RMVX Ace)' started by Napoleon, Jun 7, 2013.

    Tags:
  1. Napoleon

    Napoleon Veteran Veteran

    Messages:
    869
    Likes Received:
    96
    First Language:
    Dutch
    Napoleon's Minimap V1.2d

    Napoleon

    My scripts are no longer updated/maintained.

    Introduction
    A minimap class that scales automatically according to it's size and which is
    only displayed when the scene is a map. It also has a 'scroll-mode' and works
    with huge maps.

    Features
    Has an optional border, overlay, 'blip', can be scaled, 2 modes, opacity, etc.

    Has no other script dependencies.

    Has 2 addons.

    Screenshots (some are outdated)

    mm01.png

    Enlarged transparent minimap sample.

    mm02.png

    Overlay & ‘full-view’ sample

    mm03.png

    Supports events that move and even switch graphics/page.

    mm04.png

    Arrows that point to events that have the “<Minimap arrow>” tag.

    Menu Addons.png

    Menu addon. Now you can view the minimap contents through the menu in a larger format.

    It also supports POI's and such.
    How to Use
    See detailed instructions inside the demo.
    Video(s)

    http://www.youtube.com/watch?v=9ong0jnyMyQ&feature=youtu.be

    Showing the new events and arrows using "<minimap: render arrow>"
    Latest Demo & Script

    https://www.dropbox.com/s/jm92rbqb5eadryr/Napoleons%20Master%20Demo.zip

    Demo (archive)

    Credit, Thanks & misc
    - See the script for the credit details and license.

    - Thanks to Estriole & Tsukihime & others.

    - Has a slightly different license than my other scripts!
     
     
    Last edited by a moderator: Dec 11, 2014
    #1
  2. Lionheart

    Lionheart Veteran Veteran

    Messages:
    52
    Likes Received:
    0
    First Language:
    Italiano
    The site where to download the demo does not work!
     
    #2
  3. Napoleon

    Napoleon Veteran Veteran

    Messages:
    869
    Likes Received:
    96
    First Language:
    Dutch
    It works for me. Just click on the gray button "download file" and then enter the captcha. If it doesn't work just click it again and enter the captcha again. Sadly I can't upload it here on the forums because it's 4mb in size...

    I uploaded it to another site now just in case: http://www.megafileupload.com/en/file/424701/Minimap-Demo-zip.html
     
    #3
  4. Lionheart

    Lionheart Veteran Veteran

    Messages:
    52
    Likes Received:
    0
    First Language:
    Italiano
    Very nice script!

    Only when you open the main menu, the minimap persists ...

    [​IMG]
     
    #4
  5. Napoleon

    Napoleon Veteran Veteran

    Messages:
    869
    Likes Received:
    96
    First Language:
    Dutch
    #5
  6. Lionheart

    Lionheart Veteran Veteran

    Messages:
    52
    Likes Received:
    0
    First Language:
    Italiano
    Last edited by a moderator: Jun 10, 2013
    #6
  7. Shion Kreth

    Shion Kreth White Knight Veteran

    Messages:
    281
    Likes Received:
    47
    Location:
    Ottawa, Canada
    First Language:
    English
    Seems like it's only displaying what's on the screen though? Don't really need a minimap for that.
     
    #7
  8. JoshJ5Hawk

    JoshJ5Hawk Villager Member

    Messages:
    6
    Likes Received:
    0
    First Language:
    English
    I seem to be having an issue where my minimap shows during a battle.

    Has anyone else had this issue? Or could it be a conflict with another script?

    EDIT: Scratch that, it only seems to happen when I trigger an encounter through a region or random encounter, not an encounter that is set by "action button"
     
    Last edited by a moderator: Jun 11, 2013
    #8
  9. Tsukihime

    Tsukihime Veteran Veteran

    Messages:
    8,230
    Likes Received:
    3,062
    Location:
    Toronto
    First Language:
    English
    def setup(map_id)   setup_nap_minimap(map_id)   $minimap ||= Nap::Minimap.new   $minimap.create_sprite   $minimap.set_visibility_override end  I'm guessing the reason why you chose to use a global variable was so that instead of redrawing the map everytime you called the map scene, you could just hide it when you switched scenes instead of disposing it, under the assumption that you'll be using it again later.

    Though if that were the case I am not sure how much you are gaining since the engine is pretty fast at loading pictures.
     
    Last edited by a moderator: Jun 11, 2013
    #9
  10. Napoleon

    Napoleon Veteran Veteran

    Messages:
    869
    Likes Received:
    96
    First Language:
    Dutch
    People keep surprising me.. I have no words for this.

    I don't understand. How exactly do you start a battle? Do you use a script for it? Because via "Process Battle..." it works just fine.

    If it would be a conflict for any reason you could always manually disable the minimap using "$minimap.enabled = true/false" before and after the battle.

    @Tsukihime

    It's hard to explain and perhaps you are right but I'll try to explain my reasons for chosing a global variable at the time of writing:

    I chose a global variable because I didn't feel like extending the Interpreter again with commands like "minimap_enabled()" and such. Now you can just type: "$minimap.enabled = true". I could probably have added a static variable Instance to Minimap but then when you call it you have to write: "Nap::Minimap::Instance.enabled = true". That's too long. I could have chosen one of these: singleton/static/global variable/class variable. I chose a global. It might not receive the most 'design-award-like-solution' but it's simple and clear and still allows you to have more than one minimap at a time if you would ever need that.

    BUT (I suppose that you mean this)I could have added a class variable to the map class instead of a global for each map and then simply dispose/recreate it when loading a new map. However, this would limit me somewhat because some of my custom Scenes that do not derive from Scene_Map perhaps also like to use a minimap. This has nothing to do with performance because creating&disposing a minimap once when switching maps doesn't impact performance. I wrote the Minimap in 1 evening I believe and another day for debugging it and creating a quick demo. I chose for the safe approach which is a global variable.
     
    Last edited by a moderator: Jun 11, 2013
    #10
    Tsukihime likes this.
  11. Shion Kreth

    Shion Kreth White Knight Veteran

    Messages:
    281
    Likes Received:
    47
    Location:
    Ottawa, Canada
    First Language:
    English
    You can be rude or superior about it, but I am not a scripter and I don't see an option obvious to me for what % of map to be displayed at any given time within the script, so excuse me for being so shockingly ignorant; but the minimap in your demo, which is supposed to be showcasing what your script can do, doesn't show any more than you could otherwise already see on the screen.

    edit: I've since played around with map zoom since you made me feel so stupid for not intuitively knowing that, and see that setting it to 1.0 will show the whole map. 0.3, which is what you had it set to for the demo, shows just what's on the screen(at least for that map) and 0.5... shows less than what's on the screen, I don't get it.
     
    Last edited by a moderator: Jun 11, 2013
    #11
  12. Napoleon

    Napoleon Veteran Veteran

    Messages:
    869
    Likes Received:
    96
    First Language:
    Dutch
    Alright, I took another look at my demo just to make sure that I didn't mess anything up. But look at the first screenshot in the first post. Yes it shows JUST the current visible area (coincidence). But if you adjust the zoom_x and zoom_y to 0.2 then it shows more. Also, if you talk to the npc to change the map type to :default instead of :scroll then it also shows more.

    Screenshots 2, 3 and 4 also show more than your current visible region. So I don't understand

    Edit:
    "but the minimap in your demo, which is supposed to be showcasing what your script can do, doesn't show any more than you could otherwise already see on the screen."
    Not true. Talk to the npc's on the first map.

    "and see that setting it to 1.0 will show the whole map"
    So also in this case you do see more?

    Again, I completely don't understand you and if I'm wrong I will apologize. And even IF it would only show the visible region (which is not the case), It could still have plenty of other functions (overlays with secret area's/explored area's or events/shops/etc.). Like what if you have a FoW? Then you could use a minimap without the FoW (Fog of War).
     
    Last edited by a moderator: Jun 12, 2013
    #12
  13. JoshJ5Hawk

    JoshJ5Hawk Villager Member

    Messages:
    6
    Likes Received:
    0
    First Language:
    English
    Correct, when using Battle Processing the minimap does disable, like it is supposed to. However when i have random encounters on the map (using the option in Map Properties) the minimap shows during the random encounter. If im still being to vague i can whip together a 15 second YT video for you.Thanks,

    Josh
     
    Last edited by a moderator: Jun 12, 2013
    #13
  14. Napoleon

    Napoleon Veteran Veteran

    Messages:
    869
    Likes Received:
    96
    First Language:
    Dutch
    Thanks for pointing that out. I uploaded a new version 1.02 that also suppresses the minimap during random encounters.
     
    #14
  15. Tsukihime

    Tsukihime Veteran Veteran

    Messages:
    8,230
    Likes Received:
    3,062
    Location:
    Toronto
    First Language:
    English
    If I didn't see any point to a script I would just ignore it rather than ask why someone would spend time on it.
     
    #15
    ultimagicka likes this.
  16. Shion Kreth

    Shion Kreth White Knight Veteran

    Messages:
    281
    Likes Received:
    47
    Location:
    Ottawa, Canada
    First Language:
    English
    I did not know to talk to the npcs, in fact you could say I didn't even see them; I was just looking at the minimap. ;)  

    Setting the map zoom x and y to 1.0 I was able to see more, so I concluded that 'oh, 1.0 must mean 100% of the map, and .3 is 30% which was coincidentally the screen for that specific map' but then as you say setting it to .2 shows more, so I am still confused as to what those numbers represent. Also as a separate point, if the zoom is set to .1 the minimap only takes up maybe 60% of the window(for the map in the demo) and shifts from the top half to the bottom half of the bordered area when you move to different parts of the map, is that an effect of the scrolling?

    On 'completely not understanding' me: My first post I expressed what I saw this script to be capable of from my experience with your demo, and would've just expected you to say "You are mistaken, the map can be different sizes; try talking to the npcs or adjusting the values in line 95 and 96 of the script."  it's actually a first for me in this community to have a post expressing a lack of understanding be beneath addressing. Now I'm just trying to understand exactly how it works.
     
    #16
  17. Shion Kreth

    Shion Kreth White Knight Veteran

    Messages:
    281
    Likes Received:
    47
    Location:
    Ottawa, Canada
    First Language:
    English
    Tsukihime, for it to seem so limited it occurred to me I might be missing something(which I was). You may be able to discern if a script is useful or what it's capabilities are from looking at it, but I am not because I am pretty new to this. "Seems like it's only displaying what's on screen though?" is a question about it's functionality, and if I hadn't made a few inquiries I wouldn't have been able to figure out there was more to it than was initially apparent to me.
     
    Last edited by a moderator: Jun 12, 2013
    #17
  18. Tsukihime

    Tsukihime Veteran Veteran

    Messages:
    8,230
    Likes Received:
    3,062
    Location:
    Toronto
    First Language:
    English
    A lot of scripters write the usage instructions in the script itself, in everyday language.


    You may be new to this, but I'm assuming you didn't even look at the script since you are not a scripter.


    Maybe it would have been better for napoleon to create a fully-detailed post highlighting every single feature and how they are used, but that requires more effort than even writing a script in most cases. Honestly I'd rather pay someone $5 to write up excellent documentation for me than have to sit there for an hour doing it myself.


    But ya I don't get how to use it I probably would ignore it completely so it'd be better to provide more information.
     
    Last edited by a moderator: Jun 12, 2013
    #18
  19. JoshJ5Hawk

    JoshJ5Hawk Villager Member

    Messages:
    6
    Likes Received:
    0
    First Language:
    English
    Thanks a lot :) You're very quick at making fixes :)
     
    #19
  20. Napoleon

    Napoleon Veteran Veteran

    Messages:
    869
    Likes Received:
    96
    First Language:
    Dutch
    Upped version 1.02a that is now also compatible with tiny maps in a larger minimap. It won't look nice if you have a tiny minimap in a larger map with opacity < 255 but you could simply edit your map and color it manually in ms paint or something. You shouldn't attempt to cramp small maps into a large minimap window anyway in scroll-mode. I also made the npc's in the demo animate so people won't overlook them anymore.

    @Shionkreth

    By now I understand that you meant well. So my apologies for reacting a bit rude, I was in doubt whether or not I should ignore you (I should have). But I found your post a bit rude as well. This because I just could not even remotely imagine that you overlooked the following:

    - the screenshots

    - the npc's in the demo

    - only tried increasing the zoom factor (not decreasing)

    - did not try out (probably didn't even look at or didn't know) any settings nor instructions from the script itself

    - did not see the other map(s) in the demo.

    From this I concluded that you were either just rude, dumb or lazy. But let's just say that I drew my conclusion too quickly and perhaps you are just new to this and just happened to overlook things on top of that and that some of my instructions were vague. But I do not feel superior if that matters, just slightly annoyed sometimes when it comes to users and writing documentation.

    About the 'jumping minimap'

    Your last question is answered in the FAQ (which I removed now in 1.02a because I was to lazy to address it before :p ) but I understand it if you missed that one because it was a bit vague in version 1.01 because I forgot to update the FAQ. But even that was also included in the demo on the map "Won't work properly" in versions 1.00 to 1.02. But if you posted during version 1.00 then you also didn't read/understand the FAQ as well.

    About the zooms
    zoom_x = 1.0 means 100% x-axis zoom (no zoom)
    zoom_x = 0.2 means 20% x-axis zoom. 0.2 = 20%. Anything smaller than 100% means zooming out, anything > 100% means zooming in. The % actually just divides the number by 100 in mathematics. See: https://en.wikipedia.org/wiki/Percentage
    I do not document everything to the last detail (even though I should) because I just hate writing 5-15 lines of comments for each setting and parameter with samples and type and god knows what. I mean, I could probably fill up 20 lines of text just for the zoom_x setting. If you don't understand you can ask here and if it's really too complicated then I will simply tell you that I won't support you ;) . I expect a certain amount of 'basic knowledge'. If you can't edit an array, hash, switch a symbol then you should not use my scripts. But I wrote this script relatively fast so I understand it if my instructions are a bit vague here and there. My apologies for that.
     
     
    Last edited by a moderator: Jun 12, 2013
    #20

Share This Page