charakterbezogene Fanfare & hochskalieren der Animationsgrafiken
Moin moin!
Mal wieder brauche ich Hilfe, um 2 für mich nicht lösbare Aufgaben hinzubekommen.
Zum einen geht es darum, dass ich gern hätte, dass je nach Charakter, der den letzten Angriff im Kampf hatte, eine andere Siegesmusik läuft. Nun soll das nicht für jeden separat sein. Es reicht schon, wenn für die Charaktere 2 und 3 in der Datenbank eine andere läuft und bei den restligen die, die in System eingestellt ist.
Womöglich lässt sich das ja per Scripteingriff lösen. Mein Problem ist jetzt, zu bestimmen, wer den letzten Schlag hatte. Beachten müsste man noch, dass der Kampf ja auch durch Gift oder ähnliches enden kann. Da würde dann auch die normale vm System reichen.
Die 2. und wahrscheinlich so nicht machbare Sache, ist das Hochskalieren der Animationsgrafiken. Wie ja bekannt ist, sehen die einzelnen Bilder nicht mehr so super aus, wenn man die beim Erstellen auf 300% oder mehr vergrößert. Ist es eventuell möglich, festzulegen, dass bei bestimmten Animationen die Bilder wie in einem Bearbeitungsprogramm vergrößert dargestellt werden? Immerhin sehen die in so einem Programm bei 3facher Größe nicht so schlecht aus wie im Maker. Ginge es um einzelne Bilder, könnte man diese natürlich bei der Animationsdatei auf mehrere Felder verteilen, aber da das bei hunderten der Fall ist, würde mich das nicht nur in den Wahnsinn treiben, denn das Zusammenfügen dauert so schon ne Weile, sondern auch jede vernünftige Speichergröße übersteigen.
Also ich denke mal, dass sich ersteres noch eher realisieren lässt. Bei den Grafiken vermute ich mal eher nicht, was aber auch nicht so fatal wäre.
*push*
Mal wieder brauche ich Hilfe, um 2 für mich nicht lösbare Aufgaben hinzubekommen.
Zum einen geht es darum, dass ich gern hätte, dass je nach Charakter, der den letzten Angriff im Kampf hatte, eine andere Siegesmusik läuft. Nun soll das nicht für jeden separat sein. Es reicht schon, wenn für die Charaktere 2 und 3 in der Datenbank eine andere läuft und bei den restligen die, die in System eingestellt ist.
Womöglich lässt sich das ja per Scripteingriff lösen. Mein Problem ist jetzt, zu bestimmen, wer den letzten Schlag hatte. Beachten müsste man noch, dass der Kampf ja auch durch Gift oder ähnliches enden kann. Da würde dann auch die normale vm System reichen.
Die 2. und wahrscheinlich so nicht machbare Sache, ist das Hochskalieren der Animationsgrafiken. Wie ja bekannt ist, sehen die einzelnen Bilder nicht mehr so super aus, wenn man die beim Erstellen auf 300% oder mehr vergrößert. Ist es eventuell möglich, festzulegen, dass bei bestimmten Animationen die Bilder wie in einem Bearbeitungsprogramm vergrößert dargestellt werden? Immerhin sehen die in so einem Programm bei 3facher Größe nicht so schlecht aus wie im Maker. Ginge es um einzelne Bilder, könnte man diese natürlich bei der Animationsdatei auf mehrere Felder verteilen, aber da das bei hunderten der Fall ist, würde mich das nicht nur in den Wahnsinn treiben, denn das Zusammenfügen dauert so schon ne Weile, sondern auch jede vernünftige Speichergröße übersteigen.
Also ich denke mal, dass sich ersteres noch eher realisieren lässt. Bei den Grafiken vermute ich mal eher nicht, was aber auch nicht so fatal wäre.
*push*
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Mr. Marzipan« (6. Oktober 2010, 16:08)
zu 2: Wie du dir schon dachtest: Nativ ist das nichts zu machen. Wenn du die entsprechenden DLLs hast, die den Algorithmus haben für die Skallierung, kein Problem, aber so ist das etwas schwierig.
Also mit RGSS nicht performant zu machen.
zu 1:
keine perfekte Lösung aber eine brauchbare.
Fragen, Fehler etc. bitte Melden =)
Also mit RGSS nicht performant zu machen.
zu 1:
keine perfekte Lösung aber eine brauchbare.
Fragen, Fehler etc. bitte Melden =)
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
#============================================================================== # Battle SME Erweiterung von Playm #============================================================================== # Benutzung: # Füge dieses Script als neues Script über Main ein. # Zusätzlich musst du an einem standard Script etwas ändern: # Im Script "Scene_Battle 2" in Zeile 137 ersetze das # +$game_system.me_play($game_system.battle_end_me)+ # mit # +play_end_me()+ # Die MEs für die Helden können etwas weiter unten, ab Zeile 24, # eingestellt werden. Wird einem Helden keine eigene Musik zugeordnet, # wird die in der Database eingestellte abgespielt. #============================================================================== # ** Scene_Battle Erweiterung #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # * Konstanten #-------------------------------------------------------------------------- BattleEndMEs = Hash.new() # Trage ein, zu welcher HeroID welches Musikstück gehört: # BattleEndMEs[HERO_ID] = "Name der ME" BattleEndMEs[1] = "002-Victory02" # Weitere Daten BattleEndME_Pitch = 0 BattleEndME_Volume= 80 #-------------------------------------------------------------------------- # * play BattleEndME #-------------------------------------------------------------------------- def play_end_me() unless $game_temp.last_attacking_hero.nil? name = BattleEndMEs[$game_temp.last_attacking_hero] $game_temp.last_attacking_hero = 0 unless name.nil? me = RPG::AudioFile.new(name, BattleEndME_Volume, BattleEndME_Pitch) $game_system.me_play(me) return; end end # standard ME spielen $game_system.me_play($game_system.battle_end_me) end #-------------------------------------------------------------------------- end #============================================================================== # ** Game_Temp Erweiterung #============================================================================== class Game_Temp; attr_accessor(:last_attacking_hero); end #============================================================================== # ** Game_Battler SME Erweiterung #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # * State Removed by Shock (called up each time physical damage occurs) #-------------------------------------------------------------------------- unless method_defined?(:wo_sme_remove_states_shock) alias_method(:wo_sme_remove_states_shock, :remove_states_shock) def remove_states_shock(*a) # schnapp dir den Angreifer hero = $scene.instance_variable_get(:@active_battler) # ist der Angreifer in der Party? if $game_party.actors.include?(hero) $game_temp.last_attacking_hero = hero.id end wo_sme_remove_states_shock(*a) end end end |
zum Lesen den Text mit der Maus markieren
Das große Scientia Wiki zur Spielentwicklung 
Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs
Musik von Shabraxxx für euch
Guide zu den Audioformaten
Skripte von mir (Auswahl):
Atmungssystem
| Streichholzsystem
| Animiert durch Bücher blättern
Random : Marktsystem für Kardor
| Staterelated Battlergraphic
| Hinweis auf mögliche Aktionen
SelfSwitchExpirationtimer Skript - Gameplayerweiterung für Pilzesammler und Farmspiele
Meine Skripte werden gerade hier gesammelt.

Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs

Musik von Shabraxxx für euch
Guide zu den Audioformaten

Skripte von mir (Auswahl):
Atmungssystem
| Streichholzsystem
| Animiert durch Bücher blättern
Random : Marktsystem für Kardor
| Staterelated Battlergraphic
| Hinweis auf mögliche Aktionen
SelfSwitchExpirationtimer Skript - Gameplayerweiterung für Pilzesammler und Farmspiele
Meine Skripte werden gerade hier gesammelt.Ähnliche Themen
-
Skript-Anfragen »-
Auf Abfrage anderen Grafikordner verwenden?
(28. Juni 2009, 13:33)
-
Aurora Hearts & Übermensch »-
Savers' Tagebuch
(7. April 2008, 21:20)
