Alter Post:
OMG. Da lese ich ein mal Gebiet im ersten Beitrag, und interpretiere da zu viel rein. xD
Naja jetzt sieht das ganze ein bischen anders aus. :)
Hier das Script:
class Game_Map
def encounter_list=(encounterlist)
@map.encounter_list = encounterlist
end
end
class Game_Interpreter
def change_encounter(encounter)
$game_map.encounter_list = encounter
end
end
Benutzung:
Call Script
change_encounter([encounter_list])
[encounter_list] muss eben wieder die ID's der Monster beinhalten.
Eine Schwäche hat dieses System aber schon, das Problemm liegt darin, dass die Game_Map ihre Daten aus dem nicht überschreibbahren "Map_Datas" nimmt. Das heist ich kann die Daten für die Encounterlist nur indirekt überschreiben. Beim verlassen der Map werden diese wieder zu den uhrsprünglichen. :(
Ich schreibe dir noch ein Addon, welches das ganze automatisiert, aber solange müsstest du das ganze halt mit einem Event regeln.
Beispiel:
Trigger: Autostart
CB: Switch:Neue Monster == ON
Call Script: change_encounter([20,22,23])
Erase Event
end
Das Event würde beim begehen der Map alles regeln, soweit der Schalter an ist, der sagt, dass neue Gegner da sein sollen. ^^
MfG
Deity
Edit:
Hab es automatisiert, du musst halt die Mapid, die Liste der auftauchenden Monster und den Schalter der bestimmt, ob neue Monster da sein sollen oder nicht wählen.
Falls du also der 3. Map die Monster 5,7,9 zuweisen willst, nachdem der 15. Schalter aktiviert worden ist, würde dies so aussehen:
3 => [[5,7,9], 15],
Und hier natürlich das Script:
module ENCOUNTER
MAP_AND_MONSTER = {
# Map_ID #Monster to encount #Switch_ID
1 => [[1,2,3], 1],
2 => [[5,6,7], 1],
}
end
class Game_Map
alias setup_encounter setup
def setup(map_id)
setup_encounter(map_id)
if ENCOUNTER::MAP_AND_MONSTER.has_key?(@map_id) && $game_switches[ENCOUNTER::MAP_AND_MONSTER[@map_id][1]] == true
change_encounter_list(ENCOUNTER::MAP_AND_MONSTER[@map_id][0])
end
end
def change_encounter_list(encounterlist)
@map.encounter_list = encounterlist
end
end
MfG
Deity