- Joined
- Mar 31, 2025
- Posts
- 3
https://imgur.com/a/WdLfnWB I'm stuck here
Oh, this is the argument formatting forhttps://imgur.com/a/WdLfnWB I'm stuck here
AutomaticLevelScaling.setTemporarySetting
, try using AutomaticLevelScaling.setTemporarySetting("updateMoves", false)
(on camelCase) or AutomaticLevelScaling.setSettings(update_moves: false)
.Ah, makes sense. Thank you very much. Absolutely love the work you've done here by the way.Oh, this is the argument formatting forAutomaticLevelScaling.setTemporarySetting
, try usingAutomaticLevelScaling.setTemporarySetting("updateMoves", false)
(on camelCase) orAutomaticLevelScaling.setSettings(update_moves: false)
.
Previously, if the difficulty level was set and no battle happened before the player entered the first map with wild encounters, the default difficulty setting would be applied to scale the map level, instead of the selected one.
for this you can use level caps ex lolIs there a way to edit this feature to work on a fixed scale? Example: I want the levels of trainers and wild encounters to go up exactly 10 levels after defeating each gym. Is there a way to use a variable for this or something? I feel like this would be much easier than going through each trainer and making separate teams for each gym badge.
I thought that plugin only enforced level caps, but didn't actually change trainer levels to match it? I'm not seeing anything in that plugin which would do that.for this you can use level caps ex lol
My mistake, I misread something.I thought that plugin only enforced level caps, but didn't actually change trainer levels to match it? I'm not seeing anything in that plugin which would do that.
I am using Automatic Level Scaling, and I am currently having config confusion, on how to setup a 1:1 Level Scaled setting. This is for the Battle Mode section of my game, and to save myself, from having to make at least 12 Dedicated Entries in trainers.txt, for just 1 trainer battle in Battle Mode. 3 for Battle Formats, 3 for Inverse Battle Formats, and 3 for Lvl.5, Lvl.50 and Lvl.100. What do I need to configure in Automatic Level Scaling, so it has the same effect as pbBalancedLevel($player.party)?
![]()
![]()
![]()
Just finished trouble shooting the problem myself. Levels are not scaling in the way I want, but I now know the plugin is working, and there is no conflict with other plugins. After checking again the setup,I was able to get the Plugin to have an effect. Here is what has changed:![]()
I think you should consider using both this plugin and a level caps plugin, because some other rom hacks and fan games do it this way (usually those that are more battle-focused), so players are already familiar with the system. But if you only want to lock the opponents' levels, I'll give you some options.Is there a way to edit this feature to work on a fixed scale? Example: I want the levels of trainers and wild encounters to go up exactly 10 levels after defeating each gym. Is there a way to use a variable for this or something? I feel like this would be much easier than going through each trainer and making separate teams for each gym badge.
005_Class_Overrides.rb
file, you can change a method called scale
, in the Pokemon
class (line 27): def scale(new_level = nil)
new_level = 10 + 10 * pbGet(10) if new_level.nil?
return if !AutomaticLevelScaling.shouldScaleLevel?(self.level, new_level)
self.level = new_level
self.scaleEvolutionStage if AutomaticLevelScaling.settings[:automatic_evolutions]
self.calc_stats
self.reset_moves if AutomaticLevelScaling.settings[:update_moves]
end
def scale(new_level = nil)
new_level = AutomaticLevelScaling.getScaledLevel if new_level.nil?
max_level = 10 + 10 * pbGet(10)
new_level = new_level.clamp(1, max_level)
return if !AutomaticLevelScaling.shouldScaleLevel?(self.level, new_level)
self.level = new_level
self.scaleEvolutionStage if AutomaticLevelScaling.settings[:automatic_evolutions]
self.calc_stats
self.reset_moves if AutomaticLevelScaling.settings[:update_moves]
end
def scale(new_level = nil)
new_level = AutomaticLevelScaling.getScaledLevel if new_level.nil?
max_level = pbGet(10)
new_level = new_level.clamp(1, max_level)
return if !AutomaticLevelScaling.shouldScaleLevel?(self.level, new_level)
self.level = new_level
self.scaleEvolutionStage if AutomaticLevelScaling.settings[:automatic_evolutions]
self.calc_stats
self.reset_moves if AutomaticLevelScaling.settings[:update_moves]
end
One problem I see is that you enabled bothI am using Automatic Level Scaling, and I am currently having config confusion, on how to setup a 1:1 Level Scaled setting. This is for the Battle Mode section of my game, and to save myself, from having to make at least 12 Dedicated Entries in trainers.txt, for just 1 trainer battle in Battle Mode. 3 for Battle Formats, 3 for Inverse Battle Formats, and 3 for Lvl.5, Lvl.50 and Lvl.100. What do I need to configure in Automatic Level Scaling, so it has the same effect as pbBalancedLevel($player.party)?
![]()
![]()
![]()
![]()
ONLY_SCALE_IF_HIGHER
and ONLY_SCALE_IF_LOWER
. The idea behind ONLY_SCALE_IF_HIGHER
is to only activate level scaling if the player level is higher than the opponents, so, the PBS level is the minimum level possible. And ONLY_SCALE_IF_LOWER
is the opposite, meaning encounters will be adjusted if the player is not in the level intended, but their levels will not get higher than defined in the PBS. If you enable both at the same time, scaling would be effectively disabled.Hi Benitex.One problem I see is that you enabled bothONLY_SCALE_IF_HIGHER
andONLY_SCALE_IF_LOWER
. The idea behindONLY_SCALE_IF_HIGHER
is to only activate level scaling if the player level is higher than the opponents, so, the PBS level is the minimum level possible. AndONLY_SCALE_IF_LOWER
is the opposite, meaning encounters will be adjusted if the player is not in the level intended, but their levels will not get higher than defined in the PBS. If you enable both at the same time, scaling would be effectively disabled.
In the previous reply, I explained a little about setting levels manually, you might be interested in giving it a look. I hope I could help
I tested this setting, and it seems to be working as expected. Your setup seems to be correct, though. Since you made some custom changes to the script, there might be something unexpected that's causing this bug. I suggest debugging and printing every step to see what might be happening. Also, you can remove or modify the lineFor some reason, I am not able to apply the temporary setting, that retains a Pokémon team's configured move set. I doubled checked the instructions and other people here facing the same problem as me, so I'm not sure how the setting setup needs to go in order to apply not having this battle's move sets auto change, as a result of the level scaling.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
self.reset_moves if AutomaticLevelScaling.settings[:update_moves]
in the same scale
method we were discussing, which is the only line that changes moves.I ended up giving turning off self.reset_moves in 005_Class_Overrides.rb, and this change has fixed my problem. My modded Level Scaling Class Override now works in the way I want! Thank you for your help. I'm okay with manually setting up each trainer battles Move sets, because for Battle Mode, it matters more to me that I have full manual control. And I usually also hand craft the Move Sets of ordinary trainer battles anyway, with or without Level Scaling.I tested this setting, and it seems to be working as expected. Your setup seems to be correct, though. Since you made some custom changes to the script, there might be something unexpected that's causing this bug. I suggest debugging and printing every step to see what might be happening. Also, you can remove or modify the lineself.reset_moves if AutomaticLevelScaling.settings[:update_moves]
in the samescale
method we were discussing, which is the only line that changes moves.
Yes! The easiest way to implement this feature is by modifying the firstQuestions!
1. Is there a way to set it up to only level up wild pokemon on set maps only? like Friend Safari maps.
2. How do I set it up?
EventHandlers
in 004_Event_Handlers.rb
, like this:EventHandlers.add(:on_wild_pokemon_created, :automatic_level_scaling,
proc { |pokemon|
id = pbGet(LevelScalingSettings::WILD_VARIABLE)
next if id == 0
map_ids = [5, 21] # add your maps here
next unless map_ids.include?($game_map.map_id)
AutomaticLevelScaling.difficulty = id
if AutomaticLevelScaling.settings[:use_map_level_for_wild_pokemon]
pokemon.scale(AutomaticLevelScaling.getMapLevel($game_map.map_id))
else
pokemon.scale
end
}
)
$PokemonGlobal.map_levels[$game_map.map_id] = AutomaticLevelScaling.getScaledLevel
No, you just need to add the same two lines and leave the rest as is, like this:In the [imath]PokemonGlobal.map_levels[[/imath]game_map.map_id] = AutomaticLevelScaling.getScaledLevel do I change the map_id to the map id that I put the event on?
# Set map level when player enters a map
EventHandlers.add(:on_enter_map, :define_map_level,
proc { |old_map_id|
next if !AutomaticLevelScaling.settings[:use_map_level_for_wild_pokemon]
next if $PokemonGlobal.map_levels.has_key?($game_map.map_id)
map_ids = [5, 21] # add your maps here
next unless map_ids.include?($game_map.map_id)
id = pbGet(LevelScalingSettings::WILD_VARIABLE)
next if id == 0
AutomaticLevelScaling.difficulty = id
$PokemonGlobal.map_levels[$game_map.map_id] = AutomaticLevelScaling.getScaledLevel
}
)
game_map.map_id
to a specific map, the script will use the level when the player first enters another map for that map. So just add the same maps to the map_ids
array and it should work.