|
-
-
[Bild: music1.PNG]
Dieses Vob nutzt du für Musikzonen.
Wichtig für die Auswahl des Musikstückes ist die Benennung, also der Vobname:
[Bild: music2.PNG]
Der Teil hinter dem letzten Unterstrich, in meinem Beispiel "AEO" beschreibt das Stück, in diesem Fall wird in den Scripten nach AEO_* gesucht und gefunden.
Die Größe der Musikzone legst du über den Button "Edit the Box" fest. Der Bereich, der danach von dem roten "Käfig" umgeben ist, wird dann mit Musik versorgt.
Bezüglich des Ikarus-Problems:
Bei mir gibt es die Definition für MEM_ArrayPush nur ein einziges Mal, daher kann ich das so nicht nachvollziehen. Hast du noch andere Scripte eingefügt, die mit Ikarus arbeiten (würden?)
-
Zitat von Vikiller94
Redefined identifier: MEM_ARRAYPUSH (line 53)
Da scheint was ganz schön schief gelaufen zu sein. Selbst in Ikarus wird MEM_ArrayPush sicher nicht in Zeile 53 definiert...
Der Code unten, den Dada hier mitliefert, ist übrigens unvollständig. Da fehlt z.B. die Funktion setMusicZoneTheme. Besser ist es da, einfach gleich das komplette Soundskript als Datei zu nehmen.
-
Oha. Jo, jetzt wo du's sagst.
Sorry, mein Fehler
Wollte jetzt nicht unbedingt das ganze Script mitgeben, der Übersicht halber und zum einfacheren Verständnis. Hätte mir das aber wohl genauer durchlesen sollen :C
-
Zitat von mud-freak
Da scheint was ganz schön schief gelaufen zu sein. Selbst in Ikarus wird MEM_ArrayPush sicher nicht in Zeile 53 definiert...
Der Code unten, den Dada hier mitliefert, ist übrigens unvollständig. Da fehlt z.B. die Funktion setMusicZoneTheme. Besser ist es da, einfach gleich das komplette Soundskript als Datei zu nehmen.
Wo genau muss man dein sound.d speichern? Und wo genau ist der Fehler, denn du erwähnst?
PS: ES FUNKTIONIERT MIT ZONE! Aber wie genau löse ich dieses Problem mit sound.d und deine Script Dada?
Geändert von Vikiller94 (08.09.2018 um 20:19 Uhr)
-
Zitat von Dada
[Bild: music1.PNG]
Dieses Vob nutzt du für Musikzonen.
Wichtig für die Auswahl des Musikstückes ist die Benennung, also der Vobname:
[Bild: music2.PNG]
Der Teil hinter dem letzten Unterstrich, in meinem Beispiel "AEO" beschreibt das Stück, in diesem Fall wird in den Scripten nach AEO_* gesucht und gefunden.
Die Größe der Musikzone legst du über den Button "Edit the Box" fest. Der Bereich, der danach von dem roten "Käfig" umgeben ist, wird dann mit Musik versorgt.
Bezüglich des Ikarus-Problems:
Bei mir gibt es die Definition für MEM_ArrayPush nur ein einziges Mal, daher kann ich das so nicht nachvollziehen. Hast du noch andere Scripte eingefügt, die mit Ikarus arbeiten (würden?)
Ich habe nur den Ikarus Zip installiert, die Scripte in System/Content gespeichert und die in Gothic.src initialisiert.
LeGo macht Probleme. Immer wenn ich LeGo in Startup initialisiere, kommt dieser Fehler mit ARRAYPUSH.
-
Das kann nicht an dem Eintrag in der Startup liegen, da der Fehler weit vorher auftritt (bevor die Startup überhaupt ausgeführt oder geparst wird). Du kannst ja mal mit einem Texteditor deiner Wahl nach "void MEM_ArrayPush" suchen, dann findest du vielleicht raus, wo das noch definiert wird. In meinem Scripts-Ordner finde ich das nur in Ikarus in Zeile 2097. Du benutzt Ikarus 1.2 bzw 1.2a und LeGo 2.4+ ?
Zu deinem Problem: Bist du dir sicher, dass Gothic deine veränderte Welt überhaupt lädt? Eventuell mal mit einem einfachen sichtbaren Vob probiert? Nur um so die offensichtlichsten Fehler auszuschließen...
-
Zitat von Lehona
Das kann nicht an dem Eintrag in der Startup liegen, da der Fehler weit vorher auftritt (bevor die Startup überhaupt ausgeführt oder geparst wird). Du kannst ja mal mit einem Texteditor deiner Wahl nach "void MEM_ArrayPush" suchen, dann findest du vielleicht raus, wo das noch definiert wird. In meinem Scripts-Ordner finde ich das nur in Ikarus in Zeile 2097. Du benutzt Ikarus 1.2 bzw 1.2a und LeGo 2.4+ ?
Zu deinem Problem: Bist du dir sicher, dass Gothic deine veränderte Welt überhaupt lädt? Eventuell mal mit einem einfachen sichtbaren Vob probiert? Nur um so die offensichtlichsten Fehler auszuschließen...
Ikarus = 1.1.4
LeGo = 2.0.1
-
Zitat von Dada
[Bild: music1.PNG]
Dieses Vob nutzt du für Musikzonen.
Wichtig für die Auswahl des Musikstückes ist die Benennung, also der Vobname:
[Bild: music2.PNG]
Der Teil hinter dem letzten Unterstrich, in meinem Beispiel "AEO" beschreibt das Stück, in diesem Fall wird in den Scripten nach AEO_* gesucht und gefunden.
Die Größe der Musikzone legst du über den Button "Edit the Box" fest. Der Bereich, der danach von dem roten "Käfig" umgeben ist, wird dann mit Musik versorgt.
Bezüglich des Ikarus-Problems:
Bei mir gibt es die Definition für MEM_ArrayPush nur ein einziges Mal, daher kann ich das so nicht nachvollziehen. Hast du noch andere Scripte eingefügt, die mit Ikarus arbeiten (würden?)
Die Zone funktioniert aber leise (kann man das ein bisschen lauter machen?) aber wenn ich mit Geralt oder jemand anderem kämpfe, kommt keine Musik, obwohl ich definiert habe. Muss man das auch im Spacer machen oder reicht der Eintrag im MusicInst aus?
-
Zitat von Vikiller94
Ikarus = 1.1.4
LeGo = 2.0.1
Dann solltest du wohl updaten
Du kannst den aktuellsten Download im jeweiligen Einleitungspost finden.
-
Zitat von Lehona
Dann solltest du wohl updaten
Du kannst den aktuellsten Download im jeweiligen Einleitungspost finden.
Oki, mache ich
EDIT: ES FUNKTIONIERT! Beide (Ikarus und LeGo funktionieren!) Danke Lehona!
Jetzt habe ich dieses Problem mit sound.d, Fightmusic und die Programmierung, dass nur bei Geralt diese Musik spielen soll und bei keinem anderen. Wenn dies klappt, werde ich fettig einen ausgeben!
Problembeschreibung:
sound.d: Wie und wo genau speichere ich diese Datei ab? + Wo genau platziere und speichere ich diesen Code von Dada ab?
Code:
var string currMusF;
/*
* Overwrite the music theme of the current music zone
*/
func void setCurrentMusicZoneTheme(var string musicTheme) {
if (!MEM_ReadInt(oCZoneMusic__s_musiczone_Address)) {
MEM_Warn("No music zone active. No changes performed.");
return;
};
// Not only change the current oCZoneMusic, but all matching ones in the area
var zCObject vob; vob = _^(MEM_ReadInt(oCZoneMusic__s_musiczone_Address));
setMusicZoneTheme(vob.objectName, musicTheme);
};
/*
* Get music theme of current music zone (as a prior backup for setCurrentMusicZoneTheme above)
*/
func string getCurrentMusicZoneTheme() {
if (!MEM_ReadInt(oCZoneMusic__s_musiczone_Address)) {
MEM_Warn("No music zone active.");
return "";
};
var zCObject vob; vob = _^(MEM_ReadInt());
return STR_SubStr(vob.objectName, STR_Len(vob.objectName)-3, 3);
};
Fightmusik: Soll ich im Spacer auch etwas erstellen, um die Musik während eines Kampfes (mit beliebiger Person) zu hören, oder reicht der Eintrag im MusicInst.d aus? + Wie macht man die Musik lauter im Hintergrund?
Geändert von Vikiller94 (08.09.2018 um 21:21 Uhr)
-
Nimm am besten alles, was mud-freak hierals sound.d gepostet hat, speicher es in einer eigenen Datei und trag diese direkt unter Ikarus/LeGo ein. Dann könntest du es mit meinen beiden Erweiterungen für die ZS_Attack und ZS_Attack_End probieren. Der Code ist zwar etwas... löchrig (dürfte bspw. kein Speichern/Laden überleben), sollte aber für die meisten Fälle seinen Zweck erfüllen.
-
Zitat von Dada
Nimm am besten alles, was mud-freak hierals sound.d gepostet hat, speicher es in einer eigenen Datei und trag diese direkt unter Ikarus/LeGo ein. Dann könntest du es mit meinen beiden Erweiterungen für die ZS_Attack und ZS_Attack_End probieren. Der Code ist zwar etwas... löchrig (dürfte bspw. kein Speichern/Laden überleben), sollte aber für die meisten Fälle seinen Zweck erfüllen.
Meinst du in Ikarus Ordner oder LeGo Ordner speichern? Eins von denen?
Geändert von Vikiller94 (08.09.2018 um 21:31 Uhr)
-
Das kannst du hinlegen, wo du willst.
Sinnvoll (in meinen Augen) wäre ein Unterordner im Ikarus- oder LeGo-Ordner für Scripte die (fast) ausschließlich Funktionen daraus nutzen.
-
Zitat von Dada
Das kannst du hinlegen, wo du willst.
Sinnvoll (in meinen Augen) wäre ein Unterordner im Ikarus- oder LeGo-Ordner für Scripte die (fast) ausschließlich Funktionen daraus nutzen.
Alles klar
Und wohin soll ich den var string currMusF; speichern? Bzw deine Programmierung?
-
Oh, das
var string currMusF;
bleibt am Besten in der ZS_Attack.d
Der Rest auch so, wie ich es beschrieben habe^^
-
Oki danke vielmals ich probiere das aus und sage das Ergebnis
-
Code:
// ******************************
// ZS_Attack
// ---------
// Angreifen oder Fliehen
// wird durch B_Attack aufgerufen
// ******************************
func void setMusicZoneTheme(var string vobName, var string musicTheme) {
// Find all vobs of this zone, there are multiple!
var int arrPtr; arrPtr = MEM_SearchAllVobsByName(vobName);
// Build new vob name
var string newName; newName = ConcatStrings(STR_Prefix(vobName, STR_Len(vobName)-3), musicTheme);
// Iterate over all music zones and exchange their identifier
var zCArray arr; arr = _^(arrPtr);
repeat(j, arr.numInArray); var int j;
var int vobPtr; vobPtr = MEM_ArrayRead(arrPtr, j);
MEM_RenameVob(vobPtr, newName);
end;
// Free array
MEM_ArrayFree(arrPtr);
};
var string currMusF;
/*
* Overwrite the music theme of the current music zone
*/
func void setCurrentMusicZoneTheme(var string musicTheme) {
if (!MEM_ReadInt(oCZoneMusic__s_musiczone_Address)) {
MEM_Warn("No music zone active. No changes performed.");
return;
};
// Not only change the current oCZoneMusic, but all matching ones in the area
var zCObject vob; vob = _^(MEM_ReadInt(oCZoneMusic__s_musiczone_Address));
setMusicZoneTheme(vob.objectName, musicTheme);
};
/*
* Get music theme of current music zone (as a prior backup for setCurrentMusicZoneTheme above)
*/
func string getCurrentMusicZoneTheme() {
if (!MEM_ReadInt(oCZoneMusic__s_musiczone_Address)) {
MEM_Warn("No music zone active.");
return "";
};
var zCObject vob; vob = _^(MEM_ReadInt());
return STR_SubStr(vob.objectName, STR_Len(vob.objectName)-3, 3);
};
Der Compiler sagt: Syntax Error: )
-
Existiert _^ nicht erst ab Ikarus 1.2?
Update bitte auch mal Ikarus, wenn du es nicht schon getan hast^^
-
Zitat von Dada
Existiert _^ nicht erst ab Ikarus 1.2?
Update bitte auch mal Ikarus, wenn du es nicht schon getan hast^^
Habe 1.2 trotzdem sagt das den selben Fehler
Ich habe auch float_ohneIkarus.d mit eingebracht, hat aber auch nicht geklappt :/
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|