Addon for G_G's character races [Resolved]

Started by The Niche, June 03, 2010, 06:25:25 pm

Previous topic - Next topic

The Niche

June 03, 2010, 06:25:25 pm Last Edit: June 03, 2010, 08:25:17 pm by The Niche
Ok, so I asked G_G about this, but he wasn't the most helpful about it.



What I'd like


A modification of his character races script so I can add limits as well as bonuses, and be able to customise more aspect of races.



More detailed explanation


At present, the script allows for bonuses to stats and skills. What I'd like is to be able to define a few more things, namely:

What weapons the race is capable of using.
What skills they are capable of learning (Optional)
What elements they are good with.
What classes they are capable of being (optional)



Timeframe


Before I release EWIII, I s'pose.



Scripts I'm using



- MAWS 1.2
- CCTS
- CCOA's UMS
- Leon's quest journal
- Icarus Featherfight's maplinks
- Ryex's collapsing CMS
- BABS
- Blizzard's stat growing system



Price


Knowledge and experience.
Level me down, I'm trying to become the anti-blizz!
Quote from: winkio on June 15, 2011, 07:30:23 pm
Ah, excellent.  You liked my amusing sideshow, yes?  I'm just a simple fool, my wit entertains the wise, and my wisdom fools the fools.



I'm like the bible, widely hated and beautifully quotable.

Dropbox is this way, not any other way!

nathmatt

this should work like you want it

Spoiler: ShowHide
#==============================================================================
# Character_Races_Add_on
#==============================================================================
module Character_Races_Add_on
 
  #==========================================
  # weapons
  # when race_id then return [array of weapon_ids]
  #==========================================
  def self.weapons(id)
    case id
    when 1 then return [id]
    end
  end
  #==========================================
  # armors
  # when race_id then return [array of armor_ids]
  #==========================================
  def self.armors(id)
    case id
    when 1 then return [id]
    end
  end
  #==========================================
  # classes
  # when race_id then return [array of class_ids]
  #==========================================
  def self.classes(id)
    case id
    when 1 then return [id]
    end
  end
  #==========================================
  # skills
  # when race_id then return [array of skill_ids]
  #==========================================
  def self.skills(id)
    case id
    when 1 then return [id]
    end
  end
  #==========================================
  # good_element
  # when race_id then return [array of element_ids]
  #========================================== 
  def self.good_element(id)
    case id
    when 1 then return [id]
    end
  end
  #==========================================
  # bad_element
  # when race_id then return [array of element_ids]
  #========================================== 
  def self.bad_element(id)
    case id
    when 1 then return [id]
    end
  end
 
end
#==============================================================================
# Game_Actor
#==============================================================================
class Game_Actor
 
  alias character_races_add_on_equippable? equippable?
  def equippable?(item)
    if item.is_a?(RPG::Weapon)
     return false if !Character_Races_Add_on::weapons(race_id).include(item.id)
    elsif item.is_a?(RPG::Armor)
     return false if !Character_Races_Add_on::armors(race_id).include(item.id)
    end
    character_races_add_on_equippable?(item)
  end
 
  alias character_races_add_on_class_id= class_id=
  def class_id=(class_id)
    if !Character_Races_Add_on::classes(race_id).include(class_id)
      return
    end
    character_races_add_on_class_id=(class_id)
  end
 
  alias character_races_add_on_learn_skill learn_skill
  def learn_skill(skill_id)
    if !Character_Races_Add_on::skills(race_id).include(skill_id)
      return
    end
    character_races_add_on_learn_skill(skill_id)
  end
 
  alias character_races_add_on_element_rate
  def element_rate(element_id)
    if Character_Races_Add_on::good_element(race_id).include(element_id)
      result /= 2
    end
    if Character_Races_Add_on::bad_element(race_id).include(element_id)
      result *= 2
    end
  end
 
end
Join Dead Frontier
Sorry, I will no longer be scripting for RMXP. I may or may not give support for my scripts. I don't have the will to script in RGSS anymore.
My script


G_G

June 03, 2010, 07:32:52 pm #2 Last Edit: June 03, 2010, 07:35:33 pm by game_guy
Okay what you wanted could all be controlled through the Classes database.
QuoteWhat weapons the race is capable of using.
What skills they are capable of learning (Optional)
What elements they are good with.
What classes they are capable of being (optional)


The classes that they are capable of being could easily be evented.
If you don't want a certain race being able to hold a certain weapon, make sure all the classes that it can be can't hold that weapon.
If you want certain races to be good against some elements, set the elements to what you want, and make sure those classes belong to that race.
The skills works the same way.

The script wasn't meant to add things that already existed which is why I didn't help. In fact, if you're confused after reading what I suggested here's a picture showing that it can all be done through the database.

Spoiler: ShowHide

Sorry I don't mean to sound like a troll or anything, but you don't need a script for every single thing. Scripts aren't meant to add features that RMXP already has. Which is what you're asking for. With a little bit of thinking you could have realized that you can setup what you want through the database.

If needed make multiple classes for different races. It sounds like a lot of work, but making a game is a lot of work.

EDIT: Right now the script adds bonus skills and bonus stats. Which in a sense the skills was worthless because that can be controlled through the database as well. I made the script the way I wanted to and I didn't make it to add silly changes to it.

nathmatt

i just made it because figured it was only like a 5 min creation
Join Dead Frontier
Sorry, I will no longer be scripting for RMXP. I may or may not give support for my scripts. I don't have the will to script in RGSS anymore.
My script


G_G

I'm not dissing you for making it, in fact it is great experience. However when something this easy and obvious is in front of you, a script isn't needed.

The Niche

Thanks Nath. G_G, what I thought you meant was actually manually do out a different version of each class for all of my (at least) 550 races...yeah. So totally gonna happen.

I shall play around with both to see which will work best and I highly doubt that I'm actually going to have 550 races. 'Tis a distant dream.
Level me down, I'm trying to become the anti-blizz!
Quote from: winkio on June 15, 2011, 07:30:23 pm
Ah, excellent.  You liked my amusing sideshow, yes?  I'm just a simple fool, my wit entertains the wise, and my wisdom fools the fools.



I'm like the bible, widely hated and beautifully quotable.

Dropbox is this way, not any other way!