Ok, sollte nicht so schwer sein.
In Game_actor suchst du das hier:
def exp=(exp)
Zwei zeilen weiter findest du
@level += 1
Unter diese Zeile fügst du nun einfach folgendes ein:
$game_party.gain_item(item_id, anzahl)
für item_id setzt du die ID des gewünschten Items.
für anzahl setzt du die Anzahl, die man erhalten soll.
Das hier macht es bei allen Partymitgliedern.
Wenn du für die einzelnen partymitglieder verschiedene Items machen willst, dann geht das glaub ich so:
nach level += 1 (also an derselben stelle):
if $game_party.actors.id == 1
$game_party.gain_item(item_id, anzahl)
elsif $game_party.actors.id == 2
$game_party.gain_item(item_id, anzahl)
else
end
Bin mir jetzt nicht 100% sicher, ev muss man den actor hier anders abfragen. Wenns nicht klappt, probiers damit:
$data_actors[@actor_id]
Es kann auch sein, dass für held 1 die id 0 und nicht 1 ist. Musst du halt einfach ausprobieren.
Wie du es für mehr helden machst, sollte hieraus auch hervorgehen.
Ohne Ruby geht's auch ganz leicht und flexibel.
- Frage den Level vor Ereignissen, in denen ein Charakter EXP gewinnt, und danach ab (speichere in 2 Variablen).
- Ist der Level danach höher als vorher (Variable 2 > Variable 1; benutze Conditional Branch), dann 'Change Items: ...', usw...
Kannste für jeden beliebligen Charakter machen. Brauchst halt pro Charakter 2 Variablen, mehr nicht.
Habs kurz angeschaut im maker und nicht nur theoretisch überlegt.
Daher hab ich jetzt die Lösung, und sie klappt (hab sie auch getestet).
Also nach @level += 1 fügst du das ein:
id_h = self.id
if id_h == 1
$game_party.gain_item(1, 1)
elsif id_h == 2
$game_party.gain_item(2, 1)
elsif id_h == 3
$game_party.gain_item(3, 1)
else
end
Sorry, dass ich gestern was falsches erzählt hab...