• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
Simple item crafting system + interface

Resource Simple item crafting system + interface 1.2.2

ThatWelshOne_

Champion
Member
Exciting to have it updated! I've noticed a teeny bug that presumably affects not just me; when crafting say, a sitrus berry, it said it was putting the item in the mail pocket; I'm not sure what caused this, perhaps my calling the crafting from Voltseon's Pause Menu affected it somehow, but to fix it- go to
Ruby:
Expand Collapse Copy
def pbCraftItem(stock)
and find:
Ruby:
Expand Collapse Copy
pbMessage(_INTL("You put the {1} away\\nin the <icon=bagPocket{2}>\\c[1]{3} Pocket\\c[0].",
  itemname,pocket,PokemonBag.pocket_names()[pocket]))
After that, all you need to do is add a - 1 in [pocket]. I don't know if that makes sense but my 1 am brain says it's good enough
Good catch!
I've edited the script in the download. All should be fine now.
 

Jos_Louis

Developer of Pokemon Soulstones
Member
Joined
Sep 3, 2020
Posts
147
I have one question. I notice that this UI only allows for a few crafting recipes to be available by default because the RPG maker XP "Script" command box is fairly small (even if you use extendtext.exe).

I want to try to create a Mega Stone crafter that allows me to call a larger list of mega stones that can be crafted all at once that the player can cycle through the full list. I wanted to compose the full list elsewhere and then call that script through here.

Could I write something like this? Or is there another way to do it so I can have a full list of 45ish mega stones available to craft from one vendor.

Keeping recipes in script and calling them quickly:
Expand Collapse Copy
def MegaStoneCraft1
    pbItemCrafter([
    [:GALLADITE,[:MEGASTONEESSENCE1,2]],
    [:GARDEVOIRITE,[:MEGASTONEESSENCE1,2]],
    [:AMPHAROSITE,[:MEGASTONEESSENCE1,2]],
    [:LUCARIONITE,[:MEGASTONEESSENCE1,2]],
    [:SABLENITE,[:MEGASTONEESSENCE1,2]],
    [:MAWILITE,[:MEGASTONEESSENCE1,2]],
    [:VENUSAURITE,[:MEGASTONEESSENCE1,2]],
    [:CHARIZARDITEX,[:MEGASTONEESSENCE1,2]],
    [:CHARIZARDITEY,[:MEGASTONEESSENCE1,2]]       
    ], speech1="I heard a rumour...", speech2="...that you installed this script.")
end

I've only included 9 mega stones here to not write them all out, but to give you an idea of what I want to do. Is this possible or is there a better way to do it?
 

ThatWelshOne_

Champion
Member
I have one question. I notice that this UI only allows for a few crafting recipes to be available by default because the RPG maker XP "Script" command box is fairly small (even if you use extendtext.exe).

I want to try to create a Mega Stone crafter that allows me to call a larger list of mega stones that can be crafted all at once that the player can cycle through the full list. I wanted to compose the full list elsewhere and then call that script through here.

Could I write something like this? Or is there another way to do it so I can have a full list of 45ish mega stones available to craft from one vendor.

Keeping recipes in script and calling them quickly:
Expand Collapse Copy
def MegaStoneCraft1
    pbItemCrafter([
    [:GALLADITE,[:MEGASTONEESSENCE1,2]],
    [:GARDEVOIRITE,[:MEGASTONEESSENCE1,2]],
    [:AMPHAROSITE,[:MEGASTONEESSENCE1,2]],
    [:LUCARIONITE,[:MEGASTONEESSENCE1,2]],
    [:SABLENITE,[:MEGASTONEESSENCE1,2]],
    [:MAWILITE,[:MEGASTONEESSENCE1,2]],
    [:VENUSAURITE,[:MEGASTONEESSENCE1,2]],
    [:CHARIZARDITEX,[:MEGASTONEESSENCE1,2]],
    [:CHARIZARDITEY,[:MEGASTONEESSENCE1,2]]      
    ], speech1="I heard a rumour...", speech2="...that you installed this script.")
end

I've only included 9 mega stones here to not write them all out, but to give you an idea of what I want to do. Is this possible or is there a better way to do it?
You could store the recipes in a variable like I describe in the second half of this comment.
 

Jos_Louis

Developer of Pokemon Soulstones
Member
Joined
Sep 3, 2020
Posts
147
Sorry, I'm not sure I totally follow how that's relevant to my particular case...

If I'm following your directions in that post correctly, would I do something like this:

First setup, say when you get mega stone:
Expand Collapse Copy
pbSet(123,[]) if pbGet(123)==0

And then as recipes are learned, I do
Adding recipes to variable:
Expand Collapse Copy
pbGet(123).push(
[:GARDEVOIRITE,[:MEGASTONEESSENCE1,2]],
[:GALLADITE,[:MEGASTONEESSENCE1,2]]
)

But then what do I put into an event to call the full list of all the recipes I've learned over time so the list is 45 different recipes long?

Given at this point, I've only learned two recipes (the one for Gardevoirite and the one for Galladite), I need to put something into an event to call up the UI that shows me the list of recipes I've learned (which in this case is just these two recipes), but what is that call?

Is it just
Ruby:
Expand Collapse Copy
pbItemCrafter(pbGet(123), speech1="Here are the recipes you've learned.", speech2="Come again!")
?

Edit: So I tested the above and it works how I wanted. Thanks for the clarification!
 
Last edited:

Patoman

Rookie
Member
Joined
Oct 11, 2022
Posts
3
How would I go about making a recipe that yields multiple of the resulting item?

Ruby:
Expand Collapse Copy
# Example of what I'm trying to achieve

pbItemCrafter([
[:CHEESE,8,[:MOOMOOMILK,1]]
])

# This results in 8 of the item instead of the usual 1
 
Last edited:

Phye

Moon Guardian
Member
Joined
Oct 25, 2022
Posts
32
Is there a way to remove items from the recipe list when you've crafted it? Like for TMs that are infinite.
 

pokepoke1

Novice
Member
Joined
Nov 11, 2022
Posts
34
NVM, fixed it xD.
I did a mistake using the variable "123" for another event.


Ruby:
Expand Collapse Copy
def selectable?; return !(pbGet(199)==0 || pbGet(199).empty?); end
end
Using this works now.

Hello, i have a problem with the Voltseon's Pause Menu. It affect only in a few maps i dont understand why xD. When i open the Pause Menu in some map, the game crashes. If i delete the Item Crafter plugin is when i have no error, but i want to play with it ;w;

Ruby:
Expand Collapse Copy
Exception `NoMethodError' at [Voltseon's Pause Menu] 005_VoltseonMenu_Entries.rb:298 - undefined method `empty?' for 1:Integer

I hope someone can explain me >_< thanks.
 
Last edited:

syruda

Novice
Member
Joined
Dec 13, 2022
Posts
10
I was wondering if there are any changes to making it an item because I can't seem to figure it out
 

chip929

Rookie
Member
Joined
Oct 5, 2023
Posts
9
It's fairly straightforward to add this to Voltseon's Pause Menu instead if you like.
Go to Plugins/Voltseon's Pause Menu/001_VoltseonMenu_Config.rb
Find the MENU_ENTRIES array and add "MenuEntryCrafting" just before "MenuEntryQuit".
Then, in the same directory, open the file called 005_VoltseonMenu_Entries.rb and paste this at the bottom:
Ruby:
Expand Collapse Copy
#-------------------------------------------------------------------------------
# Entry for Simple Item Crafting
#-------------------------------------------------------------------------------
class MenuEntryCrafting < MenuEntry
  def initialize
    @icon = "menuDebug"
    @name = "Crafting"
  end

  def selected(menu)
    pbFadeOutIn(99999) {
      scene = ItemCraft_Scene.new
      screen = ItemCraft_Screen.new(scene,pbGet(123))
      screen.pbStartScreen
    }
  end

  def selectable?; return !(pbGet(123)==0 || pbGet(123).empty?); end
end
And that's it! Even simpler than the default pause menu in my opinion. Everything else in my previous post applies.
Is there a way to do this with the updated Voltseon's Pause Menu? There's no longer a 005.rb and didn't find MENU_ENTRIES array in 001.rb (002.rb says it's been deprecated). Thanks
 
Back
Top