Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Multi Equip V3.1.4

Status
Not open for further replies.
Actually, i just copied it from your demo. But here you go:

Code:
=begin
#==============================================================================
# ●● Multi-Equip + Multi-Attack
#------------------------------------------------------------------------------
# Trickster (tricksterguy@hotmail.com)
# Version 3.0
# Date 4/14/07
# Goto rmxp.org for updates/support/bug reports
#==============================================================================
=end
#--------------------------------------------------------------------------
# ● Begin SDK Log
#--------------------------------------------------------------------------
SDK.log('Multi-Equip', 'Trickster', 3.0, '4/14/07')
#--------------------------------------------------------------------------
# Begin SDK Requirement Check
#--------------------------------------------------------------------------
SDK.check_requirements(2.0, [1, 2])
#--------------------------------------------------------------------------
# ● Begin SDK Enabled Check
#--------------------------------------------------------------------------
if SDK.enabled?('Multi-Equip')
  
module Multi_Equip
  #--------------------------------------------------------------------------
  # * How Many Weapon Slots Needed (Maximum)
  #--------------------------------------------------------------------------
  Weapon_Slots = 2
  #--------------------------------------------------------------------------
  # * How Many Armor Slots Needed (Maximum)
  #--------------------------------------------------------------------------
  Armor_Slots = 6
  #--------------------------------------------------------------------------
  # * Equip Names For Slots for Actors
  #     syntax - actor_id => [names] or %w( names )
  #--------------------------------------------------------------------------
  Actor_Names = {
  1 => %w( Sword Sword Shield Helm Armor/Plate Ring Amulet ),
  2 => %w( Spear Shield Helm Armor/Plate Ring ),
  7 => ['Mace','Hat','Robe','Ring'],
  8 => ['Rod','Hat','Robe','Ring']
  }
  #--------------------------------------------------------------------------
  # * Equip Names For Slots Classes
  #     syntax - class_id => [names] or %w( names )
  #--------------------------------------------------------------------------
  Class_Names = {
  1 => %w( Sword Sword Shield Helm Armor/Plate Ring Amulet ),
  2 => %w( Spear Shield Helm Armor/Plate Ring ),
  7 => ['Mace','Hat','Robe','Ring'],
  8 => ['Rod','Hat','Robe','Ring']
  }
  #--------------------------------------------------------------------------
  # * Equip Types For Slots
  #     syntax - actor_id = [types] 
  #     note - w = weapon an = armor kind n
  #--------------------------------------------------------------------------
  Actor_Types = {
  }
  #--------------------------------------------------------------------------
  # * Equip Types For Slots
  #     syntax - class_id = [types] or %( types )
  #     note - w = weapon an = armor kind n
  #--------------------------------------------------------------------------
  Class_Types = {
  1 => %w( w w a1 a2 a3 a4 a5 ),
  2 => %w( w a1 a2 a3 a4 ),
  7 => ['w', 'a2', 'a3', 'a4'],
  8 => ['w', 'a2', 'a3', 'a4']
  }
  #--------------------------------------------------------------------------
  # * Initial Equipment
  #     syntax - actor_id => {slot id => equip id}
  #--------------------------------------------------------------------------
  Init_Equip = {
  1 => {0=>1, 2=>1, 3=>5, 4=>13},
  2 => {0=>5, 1=>1, 2=>5, 3=>17},
  7 => {0=>25, 1=>9, 2=>21},
  8 => {0=>29, 1=>9, 2=>21}
  }
  #--------------------------------------------------------------------------
  # * Battle Test Equipment
  #     syntax - actor_id => {slot id => equip id}
  #--------------------------------------------------------------------------
  BT_Equip = {
  1 => {0=>4, 1=>2, 2=>1, 3=>5, 4=>13},
  2 => {0=>5, 1=>1, 2=>5, 3=>17},
  7 => {0=>25, 1=>9, 2=>21},
  8 => {0=>29, 1=>9, 2=>21}
  }
  #--------------------------------------------------------------------------
  # * Fixed Equipment
  #     syntax - actor_id => {slot_id => bool}
  #--------------------------------------------------------------------------
  Equip_Fix = {
  }
  #--------------------------------------------------------------------------
  # * Armor_Types
  #   syntax - armor_id = (kind - 1)
  #--------------------------------------------------------------------------
  Armor_Types = {33 => 4
  }
  #--------------------------------------------------------------------------
  # * Setup All Default Values (Don't Touch)
  #--------------------------------------------------------------------------
  words = SDK::Scene_Commands::DataSystem.words
  #--------------------------------------------------------------------------
  # * Set Class Types Default to Corresponding words for each slot
  #--------------------------------------------------------------------------
  Class_Names.default = words.weapon, words.armor1, words.armor2, words.armor3, 
  words.armor4
  #--------------------------------------------------------------------------
  # * Set Class Names Default to The Normal Five Slots
  #--------------------------------------------------------------------------
  Class_Types.default = %( w a1 a2 a3 a4 )
#--------------------------------------------------------------------------
#  End SDK Enabled Check
#--------------------------------------------------------------------------
end
end
 
I'm getting an error when I paste the scripts in:
"undefined method 'equip_types=' for nil:NilClass"
It points me to this line in Equip_Windows
Code:
@item_window.equip_type = slot
Any ideas what is going on?
 
Sorry about not posting here sooner

@arachus - what other scripts have you added I'll look into this sometime tomorrow after I move back home

@Bearcat - what other scripts have you added its possibly a conflict with another script
 
By SephirothSpawn:
  • Dynamic Enemies
  • Dynamic Enemies Drops
  • Scroll Status Display
  • Skill Learn Display
Several of your battle effects
Dubealex's AMS
Vash's Individual Commands
SandGolem's Escape Only Skills
This Equip Window modification. (I removed it and tried again, but it still didn't work.)

Thanks :)
 
Nice to see that another script implements Multi-Equip ! I hope you manage to keep things well organized and tightly, because I didn't, and my script ended up bit messy at the end !

By the way, did my script help you or guide you in anyway way ? It would be nice to know that my work inspired the next generation ;)
 
Not to offend you in anyway but

I created this because your code was complicated, inefficient and did not follow conventions. I'm not familiar with your version, but I did read through it once. I could not read your code (like you said it was messy). One of the things about your version that disappointed me the most was that the names of the equipment in the extra slots was not very apparent, so that when people would request merges <some other script> with your script. The scripter would have a harder time since they would have to read through your code. In my version the extra slots are named <Game_Actor>.weapon(n)_id and <Game_Actor>.armor(n)_id for weapons and armor respectively, which is logically what they should be named. Now also I have included methods (I think they are available in my first post if not then they are part of MACL) to get all weapons and armor currently equipped (weapon_ids and armor_ids) and I have used these two methods in my scripts to ensure that it will work with this. Your script has alot more features than mine currently has at this time, but I am working on it. I'm not to saying that my script is better than yours because mine has a few flaws as well.

But yeah it did inspire me to create a newer version, since I didn't like how yours was done
 
@Guillaume777: Your script was a breakthrough in the beginning. Really. My Problem with it was that I couldn't understand a line (not that I'm good at all as a scripter, really a newb). I was planning to use it in my project, but I had some compatibility problem's with Blizzards EquAP script, and I gave it up. Really good script, though.

@Trickster: merges... now THAT was the problem. Drove me crazy.

Do you think your {Multi Equip} script will be compatible with Seph's {Equipment Skills} and {Weapon Specials} ?
I didn't get the chance to test this yet, I'm in my university's library right now, supposedly doing some statistics research project... :imao:
 
Trickster;210557 said:
One of the things about your version that disappointed me the most was that the names of the equipment in the extra slots was not very apparent, so that when people would request merges <some other script> with your script. The scripter would have a harder time since they would have to read through your code. In my version the extra slots are named <Game_Actor>.weapon(n)_id and <Game_Actor>.armor(n)_id for weapons and armor respectively, which is logically what they should be named.

I'm sorry this confused you ! Just so you know, I used :

<Game_Actor>.weapon_ids[n]
<Game_Actor>.armor_ids[n]

instead of

<Game_Actor>.weapon(n)_id
<Game_Actor>.armor(n)_id

When I used that I was actually following the convention of a japanese script (the venerable XRXS, which was roughly the SDK of my time ;)).

...

Also keep in mind that I didn't have the friendly english SDK to help me make my script. I instead had to use the original code, with japanese comments.

Trickster;210557 said:
Your script has alot more features than mine currently has at this time, but I am working on it.

I hope you add every feature included in my script, so that people won't have to use my messy script if they need those features!

Also, I'm willing to explain how I implented a feature if you have trouble coding it.

Guillaume
 
Umm yeah that wasn't very apparent while I was reading your work, and I wasn't about to read through your script to figure it out either :-/ in the mean time I get a whole bunch of posts requesting your script to be merged with mine (another reason why I created my own).

When I used that I was actually following the convention of a japanese script (the venerable XRXS, which was roughly the SDK of my time ).

My method is a bit more logical, since the default scripts named them in that style armor1_id, armor2_id, armor3_id, armor4_id, logically the next in that series would be armor5_id, armor6_id, armor7_id, but your method is quite logical as you put them in an array I wonder why Enterbrain didn't do it in that style :-/

Also keep in mind that I didn't have the friendly english SDK to help me make my script. I instead had to use the original code, with japanese comments.

I don't see how this point is valid, you don't need the SDK to write a well coded script, all you need is to follow proper conventions and use well documented and readable code. I'm sure if one searched for it one could find general conventions to follow in any language (ex. methods shouldn't do too many things, use descriptive variable names, class/method names should hint at the reason why it exists, etc.).

Well I guess that now that information is more available than it was say two years ago (its stated in the SDK, and I have my own tutorial about this)

But the big problem with scripts these days is that most of them are poorly done (Even I have work that is sub par).

Also, I'm willing to explain how I implented a feature if you have trouble coding it.

Guillaume

Will do
 
I don't do ABSes try it and see, if it works it works if not then tough, I am not planning on merging anything wiith an ABS

Also don't post the same message in a bunch of topics since it is spammy

@Aranak - Yes I will merge them soon
 
Hey Trick. I was messing with this script, but something seems off. If I try to put on the amulet in the demo, it crashes. I get similar crashes when I put the script into a game. Just wanted to give you a heads up.

(I had a somewhat similar problem with your Passive Skills script. I wonder if the problem is on my end... I am using a 100% legal, paid-for copy of RMXP, so that's not the issue. I detailed that issue in the Passive skills thread, if you want to compare.)
 
Oh, yeah, sure. Sorry, I didn't give it to you, but I was messing with a lot of scripts that day. Easily reproducible though, made even quicker with the magic of elipses...

And viola. Edits to Classes Line 160 TypeError. No implicit conversion from nil to interger.
 
That's not really a bug with Multi-Equip more like Equipment Weights

well anyway change the line to this

Code:
      old_item = $data_armors[instance_eval("@armor#{equip_index}_id").to_i]

Also I love OOTS :p
 
Yep, that fixed the demo. I still can't get the script to work in my game... it's conflicting with something, which is not surprising since my script editor is starting to look like I'm trying to make a backup of the script archive. Frankly, I'm amazed that with my limited (read: abysmal) scripting knowledge, I've been able to get as many to play nicely together as I have.

It's okay, though. This one was more of a bug report than a request. From my days of scripting in other games, I know it could be frustrating when people found errors but don't bother to tell me about them. So I try to give a heads up, whether it will affect my project or not.

Thanks again, Trickster.

Also, if you know 2 or 3 other people you could sucker into playing, I highly recommend the OOTS Board Game. It's hi-larious, and a really fun game in its own right.
 
Ok, if you have any questions just ask.

Also if you want I can take a look at your scripts if you send a demo

OOTS has a board game? O_o how come I am always the last to know :p



Demo updated, no actual changes to the script but I added an addon for Cursed Weapons/Armor now you may assign weapon/armor as cursed (as of now once you equip it you can't unless you call <Game_Actor>.remove_curse which removes them all)
 
That okay, no biggie. I don.... aaaah... wait, seriously, you would? Maybe I will try to get a working demo done today. =) I should probably do that anyway, actually.
 
Status
Not open for further replies.

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top