RPG Maker Forums

I started this once for VX Ace, but that was a long time ago. Still, the idea stuck with me and I would like to try something similiar for MV. What is it about?

I'm looking for a plugin in which I can combine items together. Not so much as a crafting plugin, but more like in adventures? Using two unique items together or seperating them again. I already tried to start with a script, where you have a new item menu (with bigger icons, too) and in which you can select one item from the list and do one of four things: examine, equip, combine and seperate. Examine should open a new window, having an item description or something the like. Equip would equip the item (every item is sorted in the weapons category right now), when I would click combine, you should be able to select a second item and then those two would either combine (if they can) or you would get a message (or sound) that it isn't possible. Lastly, seperate would seperate a combined item back into the two previous items (if possible - e.g. you shouldn't been able to seperate a poisoned wine back into wine and poison).

Seperate already works, all the other stuff.. not. My thought was to have recipies for every item combination. Like the item 4 in the weapons category database (Hook) and the item 5 (Pole) would combine to item 3, a Pike Pole. And you can also undo (seperate) the final item.

This is the script I once started (with help) for VX Ace, but obviously that was in Ruby and I have no idea how to turn it into Javascript, but maybe it gives a good starting point:

Code:
######## Module  #######

module Kombos
Rezepte = {
"Pike Pole" => [[4,5],[3]],
"Sword" => [[11,12],[10]],
"Grappling Hook" => [[4,24],[23]],
"Fishing Rod" => [[7,8,9],[6]],
"Letter" => [[17,18,19],[19,16]],
"Billard Cue" => [[5,12,26],[25]],
"Poisoned Wine" => [[14,15],[13]]
}
end

######## Windows #######

class Quest_Items < Window_ItemList
def initialize
    super(0, 0, Graphics.width, 250)
    self.category = :weapon
  end
 def draw_item(index)
    item = @data[index]
    if item
      rect = item_rect(index)
      rect.width -= 4
      draw_item_name(item, rect.x, rect.y, true)
    end
  end
  def current_item_enabled?
    true
  end
end

class Item_Kommandos < Window_HorzCommand
  def initialize
    super(0,320)
    self.x = (Graphics.width/2) - (500/2)
  end
 def window_width
   return 500
   end
  def make_command_list
    add_command("Examine", :examine)
    add_command("Equip", :equip)
    add_command("Combine", :combine)
    add_command("Separate", :separate)
    end  
  end
 
######## Scenes ###########

class Scene_Adventure < Scene_Base
def start
super
create_background
createhelpwindow
createlistwindow
end
def create_background
@background_sprite = Sprite.new
@background_sprite.bitmap = SceneManager.background_bitmap
@background_sprite.color.set(16, 16, 16, 128)
end
  def dispose_background
    @background_sprite.dispose
  end
def createhelpwindow
  @itemdescription = Window_Help.new(3)
  @itemdescription.y = 250
  end
def createlistwindow
@listwindow = Quest_Items.new
@listwindow.viewport = @viewport
@listwindow.help_window = @itemdescription
@listwindow.set_handler(:ok, method(:on_ok))
@listwindow.set_handler(:cancel, method(:return))
@listwindow.activate
@listwindow.select(0)
end
def createkommandoswindow
  @kommandowindow = Item_Kommandos.new
  @kommandowindow.viewport = @viewport
  @kommandowindow.set_handler(:ok, method(:on_ok2))
  @kommandowindow.set_handler(:cancel, method(:return2))
  @kommandowindow.set_handler(:examine, method(:on_examine))
  @kommandowindow.set_handler(:equip, method(:on_equip))
  @kommandowindow.set_handler(:combine, method(:on_combine))
  @kommandowindow.set_handler(:separate, method(:on_separate))
  @kommandowindow.activate
  @kommandowindow.select(0)
  end
def on_ok
    @listwindow.deactivate
    createkommandoswindow
  end
def return
    dispose_background
    SceneManager.return
  end
def on_ok2
  @kommandowindow.activate
end
def on_examine
  @kommandowindow.activate
end
def on_equip
    Sound.play_equip
    @actor = $game_actors[1]
    @actor.change_equip(0, @listwindow.item)
    @listwindow.unselect
    @listwindow.refresh
    @kommandowindow.close
    @listwindow.activate
  end
def on_combine
  @kommandowindow.activate
end
def on_separate
  item = @listwindow.item
  for key in Kombos::Rezepte.keys
    if item.id == Kombos::Rezepte[key][1][0]
      for gefunden in Kombos::Rezepte[key][0]
      $game_party.gain_item($data_weapons[gefunden], 1)
      end
    RPG::SE.new("Equip1", 80, 100).play
    $game_party.lose_item($data_weapons[item.id], 1)
      @listwindow.unselect
      @listwindow.refresh
      @kommandowindow.close
      @listwindow.activate
    else
      @kommandowindow.close
      @listwindow.activate
    end
  end
end
def return2
  @kommandowindow.close
  @listwindow.activate
end
end

If anyone wants to try and help me out, it would be greatly appreciated.

Latest Threads

Latest Posts

Latest Profile Posts

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.

Forum statistics

Threads
106,035
Messages
1,018,450
Members
137,820
Latest member
georg09byron
Top