Durch Abfrage der gerade spielenden Musik könntest du das erreichen.
Schau beispielsweise beim Patch Quicksave nach, der nur speichert, wenn man z.B. außerhalb eines Kampfes ist.
Bei Npcs könntest du folgendes abfragen:
Code:
// ------ NSC ist im ZS_Attack ------
if (Npc_IsInState(self,ZS_Attack))
{
};
Danke für die Idee mit dem *Autosave-Patch
Dort gibt es in der Tat eine Funktion welche ich sehr gut für meine Zwecke verwenden kann
Code:
/*
* Check if saving is currently possible
*/
func int Ninja_Autosave_Allow() {
// ...
// Not in fight or during threat
const int oCZoneMusic__s_herostatus_G1 = 9299208; //0x8DE508
const int oCZoneMusic__s_herostatus_G2 = 10111520; //0x9A4A20
if (MEM_ReadInt(MEMINT_SwitchG1G2(oCZoneMusic__s_herostatus_G1, oCZoneMusic__s_herostatus_G2))) {
Ninja_Autosave_DebugPrint("Currently in combat");
return FALSE;
};
// ...
return TRUE;
};