You should consider joining our Discord to ask for support.

We created a support channel using the new Discord Forum feature!

You can also visit our new website, it has a help section in English and French

0 like 0 dislike
294 views
in Script help by (520 points)

Backstory: Using RH makes all changes related to a MP script I'm using brake so I have to rely on modifying the rxdata sheets directly and using the restore method.

I didn't have any problems until I began changing MapData.rxdata, which controls the Wild Groups; the option for 'Switch ID' is not included (as you can see in the screenshot that has 'Before Fix'). Since I'm trying to add exclusive monsters at night, the option to have that 'Switch ID' option is essential so I commissioned a fix for MapData.rxdata; unfortunately it doesn't completely work. The current problem I'm having is that the newly added switch tag is also acting as an identifier for one of the pokemon in the group; if i have switch 12 set, pokemon #012 appears instead of whatever pokemon I had intended to appear for switch 12.

**Here are some screenshots of the problem and changes done:

https://imgur.com/a/Sojsdie

**Here's the script used: 

module PFM class Wild_Battle # Load the groups of Wild Pokemon (map change/ time change) def load_groups groups = $env.get_current_zone_data.groups @code = groups.size sw = nil groups&.each do |group| map_id = group.instance_variable_get(:@map_id) || 0 if map_id == 0 || $game_map.map_id == map_id # PATCH # sw = group.instance_variable_get(:@enable_switch) sw = group[4] set(*group) if !sw or $game_switches[sw] @code = (@code * 2 + sw) if sw && $game_switches[sw] end end end end end module PSDKEditor # Function that creates the wild groups of a Zone # @param zone def create_wild_groups(zone) zone.groups&.map do |group| group_terrain_tag = group[1] >= 8 ? { tool: GROUP_TOOLS[group[1]], terrainTag: 0 } : { terrainTag: group[1] } # PATCH # sw = group.instance_variable_get(:@enable_switch) sw = group[4] map_id = group.instance_variable_get(:@map_id) || 0 custom_conditions = [] custom_conditions << { enabledSwitch: sw, relationWithPreviousCondition: 'AND' } if sw custom_conditions << { mapId: map_id, relationWithPreviousCondition: 'AND' } if map_id != 0 next { systemTag: GROUP_ZONE_SYSTEM_TAG[group.first], doubleBattle: group[3] == 2, hordeBattle: false, customCondition: custom_conditions, encounters: create_wild_encounters(group[2], group[4..-1].each_slice(3).to_a), **group_terrain_tag } end || [] end end

Hoping I can get some help in having the pokemon after the switch identifier be ignored or add the pokemon identifier that should go after the switch identifier so that the pokemon actually appears.

1 Answer

0 like 0 dislike
by (14.8k points)
Hey! We'll check that!

Can you send a link to your script in a .txt or .rb file? Could be better to read it!
by (520 points)
script has been uploaded to the psdk-talk section of the discord server
...