[VX Ace] TypeError in Weather Script

Robert-Character Creator

Waiting for Replies
Veteran
Joined
Feb 8, 2014
Messages
518
Reaction score
223
First Language
English
Primarily Uses
RMVXA
Hello! I was looking for a way to modify the default weather in Ace, and I found this little snippet from @Shaz . The formatting was ruined, so I reformatted it as this:

Code:
class Game_Map
 
def weather_modifier
 @weather_modifier = 3
 if !@weather_modifier
 @weather_modifier
end

def weather_modifier=(value)
  @weather_modifier = value
end
end
end

class Game_Interpreter
 
def modify_weather(value)
  $game_map.weather_modifier = value
end
end

class Spriteset_Weather

alias shaz_weather_modifier_update_sprite update_sprite
def update_sprite(sprite)
  old = sprite.x
  shaz_weather_modifier_update_sprite(sprite)
  sprite.x += $game_map.weather_modifier    #<---------- Line 28
end
end
However, when running this, I get a TypeError on line 28: in '+': nil can't be coerced into Fixnum. Any idea what is causing this, and how to fix it? I'm not very familiar with TypeErrors.
 

A-Moonless-Night

WINTER IS COMING
Veteran
Joined
Mar 17, 2012
Messages
682
Reaction score
446
First Language
English
Primarily Uses
RMVXA
I think this method should be this:
Code:
def weather_modifier
 @weather_modifier = 3 if !@weather_modifier
 @weather_modifier
end
 

Robert-Character Creator

Waiting for Replies
Veteran
Joined
Feb 8, 2014
Messages
518
Reaction score
223
First Language
English
Primarily Uses
RMVXA
Oh, that actually seems to have fixed the problem already. Too easy, right? Thanks!
 

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
2,674
Reaction score
566
First Language
English
Primarily Uses
RMVXA
Code:
class Game_Map
  def weather_modifier
    @weather_modifier = 0 if !@weather_modifier
    @weather_modifier
  end

  def weather_modifier=(value)
    @weather_modifier = value
  end
end

class Game_Interpreter
  def modify_weather(value)
    $game_map.weather_modifier = value
  end
end

class Spriteset_Weather
  alias shaz_weather_modifier_update_sprite update_sprite
  def update_sprite(sprite)
    old = sprite.x
    shaz_weather_modifier_update_sprite(sprite)
    sprite.x += $game_map.weather_modifier
  end
end
Not sure how to use this, but no errors when playing weather.

Ninja'd by A-MoonLess-Night
 

Robert-Character Creator

Waiting for Replies
Veteran
Joined
Feb 8, 2014
Messages
518
Reaction score
223
First Language
English
Primarily Uses
RMVXA
Now I just need to figure out how to make the rain fall straight up and down; wish me luck!
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

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,456
Members
137,821
Latest member
Capterson
Top