RPG Maker Forums

script 'skill learn by element' line 80: no method error occured undefined method '[]' for nil:class

 


Code:
=begin
Learn Skills by Element use
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
No requirements
Allows you to learn new skills by using skills of the same element.
----------------------
Instructions
----------------------
You will need to edit module Fomar, further instructions
are located there.
----------------------
Change Log
----------------------
1.0 -> 1.1 Fixed a bug that could cause crashing.
----------------------
Known bugs
----------------------
None
=end
module Fomar

  ELEMENTS = []
  # Add/Edit lines like the ones below
  ELEMENTS[1] = {}
  ELEMENTS[2] = {}
  ELEMENTS[3] = {}
  ELEMENTS[4] = {}
  ELEMENTS[5] = {}
  ELEMENTS[6] = {}
  ELEMENTS[7] = {}
  ELEMENTS[8] = {}
  ELEMENTS[9] = {}
  ELEMENTS[10] = {}
  ELEMENTS[11] = {}
  ELEMENTS[12] = {}
  # ELEMENTS[id][uses] = [NEW_SKILL_ID, NEW_SKILL_ID...]
  ELEMENTS[3][50]  = [52]
  ELEMENTS[3][75]  = [53]
  ELEMENTS[3][100] = [54]
  ELEMENTS[11][10] = [27]
  ELEMENTS[11][15] = [28]
  ELEMENTS[11][20] = [29]
  ELEMENTS[11][25] = [30]
  ELEMENTS[11][30] = [31]
  ELEMENTS[11][35] = [32]
  ELEMENTS[11][40] = [33]
  ELEMENTS[11][100] = [34]
  ELEMENTS[4][25] = [56]
  ELEMENTS[4][50] = [57]
  ELEMENTS[4][100] = [58]
  ELEMENTS[4][100] = [63]
  ELEMENTS[5][25] = [60]
  ELEMENTS[5][50] = [61]
  ELEMENTS[5][100] = [62]
  ELEMENTS[6][100] = [64]
  ELEMENTS[5][100] = [65]
  ELEMENTS[7][100] = [66]
  ELEMENTS[11][100] = [67]
  ELEMENTS[8][100] = [68]
  end

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● Aliases setup
  #--------------------------------------------------------------------------
  alias seu_setup setup
  def setup(actor_id)
    seu_setup(actor_id)
    @element_uses = []
  end
  #--------------------------------------------------------------------------
  # ● New Method add_element_use
  #--------------------------------------------------------------------------
  def add_element_use(id)
    return if id == -1
    if @element_uses[id].nil?
      @element_uses[id] = 0
    end
    @element_uses[id] += 1
    return if Fomar::ELEMENTS[id].nil?
    unless Fomar::ELEMENTS[id][@element_uses[id]].nil?
      for skill in Fomar::ELEMENTS[id][@element_uses[id]]
        learn_skill(skill)
        $game_message.add(@name + ' learns ' + $data_skills[skill].name)
      end
    end
  end
end

class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● Aliases item_apply
  #--------------------------------------------------------------------------
  alias seu_item_apply item_apply
  def item_apply(user, item)
    seu_item_apply(user, item)
    if user.is_a?(Game_Actor) and item.is_a?(RPG::Skill)
      user.add_element_use(item.damage.element_id)
    end
  end
end
 

so what am i doing wrong with Fomar0153's script?

any help please

Latest Threads

Latest Profile Posts

Day 9 of giveaways! 8 prizes today :D
He mad, but he cute :kaopride:

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.

Forum statistics

Threads
106,036
Messages
1,018,461
Members
137,821
Latest member
Capterson
Top