MV Tools

This plugin creates a tool system, where the player can cycle between items that are designated as tools and press a button to use the tool that is selected on the screen.
The basis behind this plugin is to allow players to event what happens when a tool is used, giving the player script calls to use to assist them with tool functionality. Each tool activates a common event to control this.
This plugin requires database and eventing knowledge.

VERSION 1.3 – RPG Maker MV
Download Plugin file
Download Demo


98 thoughts on “MV Tools

  1. Mike says:

    I love this! It would be great with crop system! :)

  2. I love how versatile this is; really useful! By the way, could you please make it so that the item name is also shown on top of the tool hud? I spent hours trying to achieve this but I don’t know a thing about programming :/ thanks for the plugin!!

  3. Mike says:

    Galv, can you please help me? I wanted to smash rocks with more that one hit, how can I achieve it? Tried with self switches but I failed…

  4. Mike says:

    Galv, is it possible to change notetags from upper event comment field to comment inside event pages? Would be so cool If I can use different tool on broken rock or tree stump for example. I can’t achieve it right now :( Thanks for your patience.

    • Galv says:

      I’m not sure what you mean… What exactly are you trying to do?

      • Mike says:

        I want that I can smash crates for random items, also you can use crowbar on crates for planks, but I want that you can’t use crowbar on broken crates (after braking it with pickaxe), so in this way I can only make one event and you can use that tool on every page (even if the crate is broken) – I’m using self switches so don’t wanted to use switches to check is every crate broken or not, it’s lot of crates.

      • Galv says:

        Why can’t you use self switch to change the crate to a broken page and add the comment to that page so that tools won’t work on it anymore?

  5. AFX says:

    Hi Galv.

    In advance, sorry to ask you again something about compatibility between plugins. Your plugin “Tools” seems to have a little worry of incompatibility with the plugin QMovement ( indeed, it is impossible for me to use my tools because the Key does not work. I tried the “alt”, “control”, “shift” but no results. Of course, when I disable the plugin “QMovement” everything works perfectly. Can you help me please ?

  6. AFX says:

    Yes i tried but no effect. Indeed, it is a pixel movement plugin and it seems to pose quite a lot of problems with other plugins of any kind, but I must say that this one is the one that bothers me the most because My game is largely based on your system tools (hacking doors, consoles, etc).

    • Galv says:

      Yeah, pixel based movement changes the default engine so it’s less likely to work with other plugins. I’ll take a looksy and see if I can get them to play nice when I get some time.

  7. AFX says:

    Thank you :-)

  8. Natasha says:

    Has anyone had any issues lining up correctly to water the crops? I am new to the game so maybe there is some trick that I am not aware of?

  9. wolffiresword says:

    Hey Galv, just wondering if it would be possible for you to add pixel movement support. Loving the plugin :)

  10. Mike says:

    Hello Galv, any chance to add durability function for tools?

  11. zboy7 says:

    I want to change the size of the tool icon on the screen.
    Change or zoom in the icon to 64 pixels.
    Can you increase the parameter of adjusting the length and width?
    Or change the tool icon into a picture?

  12. Kitty says:

    The plugin update is great, however it doesn’t seem to refresh the number of items when and item is ‘used’

    for example, I’m using this as a way to give gifts to npcs, I have 2 apples, if I give them an apple, it stays at 2 apples unless I scroll back and forth, any way to make it update automatically so that the current amount is always reflected?

  13. Zen says:

    The Tool plugin is great work! I’m using it in my game. :)

    A suggestion… could the tool HUD disappear a few seconds after use? And then come back once a selection button is pressed?

    • Galv says:

      The tool functionality is evented, you would do this via common event using script calls:
      $gameSystem.toolBtnDisabled = false;
      $gameSystem.toolBtnDisabled = true;

  14. Hi, first of all I wanted to thank you for the great system. Second, I apologize because I am Brazilian and maybe I write wrong.

    Anyway, I encountered this problem. It is not possible to harvest when I am on top of another event. Look at the image:

    I can only harvest if I am out of the area where it is planted. Is there any way to prevent this? Thank you.

    • Galv says:

      Ahhh darn. Yeah RPG Maker prioritizes the lower event when activating instead of the event in front. Thanks for letting me know, I’ll have to work something out when I get time

  15. Well, for the time being I put the condition “Galv.TOOLS.frontEvent ();” In the common event “Interact With Crop” and created a new TOOL called “Hands” to harvest. I’ll be waiting for you, if I can.

    Again, excuse my English.

  16. Eraine says:

    I really like this plugin (actually, all of them ;)). Been playing around with this one combined with the crops plugin and that gives lots of options. I’m trying to have the player clear a field before being able to use it, so I created an event that can be cleared with a tool, and then use the spawn plugin to place a crops event on top of the cleared one. However, right now I have to event that for every possible cropplot-x/y coordinate. Is there a scriptcall I can use to get the Tool.EventID location, that I can use as input in the Spawn.event scriptcall? (I hope this makes sense…, English is not my first language)


  17. William K says:

    I have problem keying the main functions of this plugin to fit my project.
    Lets say I want to put the “switch Left”, Right” and “Use Tool” on the keyboard numberkeys 1, 2 and 3 or maybe z, x and c, which do not correspond accordingly in MV, is there any way to make the plugin recon these keys without manually altering the rpg core?

    • Galv says:

      By default MV only recognises certain keys/buttons. You’ll need to find a separate plugin to add more buttons to it.

      By default these are:
      ‘tab’, // tab
      ‘ok’, // enter
      ‘shift’, // shift
      ‘control’, // control
      ‘control’, // alt
      ‘escape’, // escape
      ‘ok’, // space
      ‘pageup’, // pageup
      ‘pagedown’, // pagedown
      ‘left’, // left arrow
      ‘up’, // up arrow
      ‘right’, // right arrow
      ‘down’, // down arrow
      ‘escape’, // insert
      ‘pageup’, // Q
      ‘pagedown’, // W
      ‘escape’, // X
      ‘ok’, // Z
      ‘escape’, // numpad 0
      ‘down’, // numpad 2
      ‘left’, // numpad 4
      ‘right’, // numpad 6
      ‘up’, // numpad 8
      ‘debug’ // F9

  18. romain says:

    this plugin doesn’t work with the 1.5 or my computer have a problem??

  19. Sonata says:

    I downloaded the Demo and copied the database tools, common events, toolHUD image, and plugin settings directly into my own project. Everything works fine, however, when I press “alt” to use a the correct tool on an object I get this error: “cannot read property ‘list’ of undefined”. Is there something I missed importing, or is it possibly an incompatibility with another plugin?

  20. Mike says:

    Hey Galv, is it possible to check in conditions which item id is in use?

  21. Sany says:

    Hello Galv,
    I’m using your plugin, and its perfect for what I needed, but seems it doesn’t recognize copied events id ? I’m using Hudell’s Orange Custom Events to copy events from another map, and when I try to use tools, it gives a error, “cannot read property ‘crop’ of undefined”. Do you think there is a way for me to solve this issue? :)

    Thank you anyways~

  22. Chris Dougherty says:

    Hay man Love this script :) Quick question tho. Iv been trying to figure out how i can store the currently selected tools item id in to a variable so i can check what tool is currently equipped in game in a conditional branch. My intention is to have some tools create light round the character when selected. ie selecting a torch.

    Any help would be greatly appreciated :)

  23. ChelseaLearned says:

    Thanks so much! You’re a miracle worker. One weird thing though- somehow my “use tool” has become TAB? I didn’t set it to that, and I have Yanfly,but I don’t think that adds more buttons…. ? >.> Tab isn’t even an option on the keyboard layout menu, apparently.

  24. Tsuru says:

    I downloaded and played this plugin and demo game.
    However, pressing q and w key, did not switch the tool.
    Why? This is broken?
    I am using the RPG Maker MV Mac version, and the version is 1.6.1.
    Please help me, thank you.

  25. Kris290 says:

    Hello Galv!

    I have a picture that covers all of the screen. It’s used to simulate dark corners on a dungeon like a vignette. I can’t find a way to make the tool hud image
    be above this vignette. It stays behind it.

    Is there a way to make the hud image be on top of this picture? Or any other picture? (my issue)

  26. Kris290 says:

    Oh that’s ok! thanks anyway. i’ll find a way to make both graphics look good. ;)

  27. etelepr says:

    Great plugin! One question: should I use


    to remove rocks or should I use

    var key = [$gameMap._mapId, Galv.TOOLS.event._eventId, ‘A’];
    $gameSelfSwitches.setValue(key, true);

    to remove rocks? It seems like you use the latter in your demo but the former seems easier. Can you shed some light on when to use which?


    • Galv says:

      It would depend on your project. I recommend doing tests and looking up what erasing an event does compared to flipping a switch to a new page.

  28. Sefa Hezer says:

    Hey Galv.
    I guess you created wonderful plugin.
    But have a question for detail about “tools” plugin.
    I want to use mouse click button instead “pagedown” or “pagup”
    another else “alt” for using tools. Right click or Left.
    I tried to write “mouse”, “right”, “click” … what else. But they do not work :(
    Please help me in this metter.

    In addition, i want to use “picture click” for calling this script.
    I don’t have to use any key in keyboard, just use mouse click.

    I hope tell you my problem in this issue.

  29. Sefa Hezer says:

    I solved issue above. But I wonder about something now.
    We use to
    ” Galv.TOOLS.frontEvent(‘rock’,1) ”
    in comment event for smash rock.
    But i want to ‘aboveEvent’ instead of ‘front’
    How can i use this ?

  30. Sefa Hezer says:

    Last question
    I want to change event’s ‘ID’ or event’s ‘Note’ with script
    for “tool” be inactive. Doesn’t work no longer.
    I don’t want to erase event just change note or ID with script.

    How can i do this :(
    Thank you for reply.

  31. lady legend says:

    Im using Galv.TOOLS.equipTool(id); to manually set the tool after opening a box. I entered the item id number and nothing happens. everything else runs though.

    • Galv says:

      It won’t do anything if the player doesn’t have that item in their inventory. If you pick the tool up from the box and give the player the item, try adding a wait of 1 after giving the item and before equipping the tool.

      • lady legend says:

        Nope still nothing. My item is number 19 in the database.
        Event code is

        change item : Axe +1
        wait : 60 frames
        Script : Galv.TOOLS.eqiptTool(190:
        wait : 60 frames
        Control Self Switch : A = On

        I even tried adding the item on a separate event parallel process and then activate the first event.
        I definitely have the item waaaay before I try the event with the manual code.

      • Galv says:

        I tested it in the demo and it works. Unfortunately without testing your project, I don’t know what you are doing exactly or why it doesn’t work. I assume your above message you made a typo in the script? It should be:

        It needs to be an item and not a weapon. I assume you’re using the script field and not the plugin field. Try testing without other plugins running to see if there’s a plugin conflict.

        If you still have issues, I recommend asking in a forum to see if someone can work out what’s happening in your project.

  32. lady legend says:

    yeah its correct in my project..I figured out that Yanflys Itemcore plugin is stopping just that function all other functions work, which is just frustrating. Don’t know what to do about that.

  33. lady legend says:

    yes I did. still no luck. but I have a request, maybe a two part request. I will try to do this on my own also but can you change the swapping of items to weapons instead? the second part would be when the weapon is selected it equips it.

    Im thinking I can edit find and replace all codes dealing with items and switch it to weapons. I hope that works. but the equipping part maybe difficult for me.

    I thank you so much for this plugin. When I first commented I did thank you and had all the niceties included but then it got erased by the site so when I tried again I wrote the bare minimum. Sorry if I sounded demanding or entitled, I really do appreciate all the plugins you’ve made that I’ve been using. Have a great day!

    • Galv says:

      You’re welcome, I am glad the plugin has been useful. I don’t have any spare time to make the weapon change, though. It might be relatively easy so you could try and ask in a forum if someone else is willing to do a plugin patch for it.

  34. lady legend says:

    I did it! I got it to swap weapons and use the common event to equip it. (just beware of upper and lower case letters and leave numItems as is) I thought by doing that Yanfly item core would stop interfering with the Galv.TOOLS.equipTool(); but nope, I can just use the manual equip from eventing now though and I like that better anyways. Although when I use the tool the icon disappears I’d much prefer it just goes to the next item. Which Im guessing that’s what Galv.TOOLS.equipTool(); could’ve done for me but is there a work around? Like even if it would just not disappear then I’d disable it and bring it back up when they want to swap again.

  35. lady legend says:

    Im sorry for so much responses. but I figured it out
    I can’t remember which was left or right 1 or 0 or -1 just wanted it to shift. Thanks again maybe someone will find this useful.

    • Galv says:

      Glad you got it worked out!

      • lady legend says:

        Hi again I definitely tried to figure this out for a while now I ‘m hoping since you are knowledgable with scripting to just help me out with a script call. I want to change the HUD when I select a tool. I got as far as

        Galv.TOOLS.hudImg =

        I know I need to set this to a picture file name but I don’t know the what the other side of the script call is suppose to be.

      • Galv says:

        Not quite as simple as that. Technically what you want is:
        Galv.TOOLS.hudImg = “Filename”;
        Without the file extension… BUT, issues with that:
        The scene won’t show the new graphic until it is reloaded.
        The new filename you chose is not stored in the save file, so if you close the game and open it again, it will revert to the original.

  36. lady legend says:

    I see I thought as much since I couldn’t find a solution right away. would that same problem exist if I decided to move the tool icon on top of the hud img using

    Galv.TOOLS.hudIconXY = [Number(txt[0]),Number(txt[1])];

    and changing the txt 0 and 1 to:

    Galv.TOOLS.hudIconXY = [Number(25),Number(25])];

    what Im trying to do is use the hugimg as the hud for what’s in the players hand. the tool icon disappears when selected but I think I can stop that from happening and just move the icon to cover the hudimg. My hudimg is an icon too.

    • Galv says:

      I am not sure what you’re trying to do, but did you see the notetag for items?

      You can select an image from the pictures folder instead of an icon for the equipped tool.

      • lady legend says:

        yes I see that but what I wanted was the hud image to change when I equip an item through script but since I can’t achieve that easily, I wanted to know if I can just move the xy position of the tool img by script be it icon or image doesn’t matter. Since the tool image is drawn over the hud image I can do that work around.

        this is what happens:
        – I made the hud image a hand icon (same size as the tool image icons)
        – When you swap tools the tool image\icon xy position is below the hud image
        – When you select a tool the tool image disappears

        What I want now (instead of changing the hud image) is:
        – When you select a tool the tool image xy position moves to the hud image xy position.

        You said:
        Galv.TOOLS.hudImg = “Filename”; would have issues
        Galv.TOOLS.hudIconXY = [Number(25),Number(25])];
        have the same issue? Cause I think I can figure out how to stop the tool icon from disappearing on my own and achieve what I want, but if its the same problem, it resetting after game closing.

      • Galv says:

        Yes, same issue would happen with that as that variable is created when someone starts the game and is not saved in a save file.

  37. lady legend says:

    what if I use variables?

    Galv.TOOLS.hudIconXY = [$gameSystem.Variable(1),$gameSystem.Variable(2)];

    just example might not be correct code

  38. lady legend says:

    could I change it in the js file to that

    • Galv says:

      You need to change the plugin to do what you want. I don’t have time to do so, sorry – I recommend asking in a forum to see if someone else wants to.

      • lady legend says:

        oh I was talking about changing the the plugin but I guess I could just give it a shot and see if it works. Thank for clarifying though because I would’ve wasted days searching for a way to do it. in the end I could just use a hud plugin it’ll draw above it. I just didn’t want to make all those img files though.

  39. Nickezz says:

    Its a shame, after i fell in love with this plugin a few months ago, i am currently one step away from purchasing MZ… Are there any plans for you, Galv, to bring the features of this plugin into the MZ engine?

    • Galv says:

      I want to, but I haven’t had much time to get to porting them since I had to get 2 jobs to survive. I hope to one day.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s