Mod-aktiv-Abfragefunktion in Mods integrieren

#1
Was haltet ihr davon, wenn wie in den Mods etwas integrieren, womit deren Präsenz abgefragt werden kann?
z.B.:

Code: Alles auswählen


	
		checkmod
		checkmod_hl
		99
	



	
		checkmod
		XML-DATEINAME DER MOD
		
		true
		
		
	

Damit könnte dann von außen mit
startDialogueAt('checkmod',XML-DATEINAME DER MOD)
dieser "Dialog" aufgerufen werden. Ist er da, gibt es als Bestätigung den specialstate, wenn nich, wird abgebrochen. Ich könnte sowas gut für Waffenpatch/Charaktermanagement gebrauchen.
Spiel verbessern? Fehler gefunden? Etwas unklar? Bitte beachten!

Mod-Datenbank SchickHD
Meine SchickHD-Mods *klick*
Meine SchweifHD-Mods *klick*
Probleme mit Mods?

#2
In welchen Fällen willst Du das genau nutzen?

Ein Nachteil wäre, dass der SpecialState ja im savegame gespeichert wird. Somit kann in einem save der State auf 1 stehen, obwohl beim aktuellen Spiel der Mod garnicht mehr aktiv ist.

Und welche Mods gerade aktiv sind, sieht man ja auch in der output_log.

Oder willst Du quasi in einem Mod abfragen, ob ein anderer mod aktiv ist? Aber auch dann wäre das über die Specialstates Fehleranfällig, wegen save.

#3
[quote='Yuan DeLazar','index.php?page=Thread&postID=120627#post120627']Was haltet ihr davon, wenn wie in den Mods etwas integrieren, womit deren Präsenz abgefragt werden kann?[/quote]
Curom, hat so etwas ähnliches schon in seiner Mod "Im Schatten der Nacht". Hier der Text der ReadMe:
Simplehouse/Einbruch Mod

Hinweis für Modder! Wenn ihr in die Dialoge eurer Mod InsideScenen einfügt, kann es zu Komplikationen mit dem Simplehous/Einbruch Mod kommen. Diese könnt ihr umgehen indem ihr in der Text ID vor eurer Szene folgenden Prozess einfügt.

function before {setQuestState("simplehouse",1);}

Und in der Text ID nach eurer Scene wieder

function before {setQuestState("simplehouse",0);}

So umgeht man, das dieser Mod beim Start einer InsideScene vershentlich mit ausgelöst wird.
Dies wird schon in den folgenden Mods so gemacht, um die Kompatibilität mit "Im Schatten der Nacht" zu gewährleisten: "Jäger und Gejagte", "Stadtleben" und "Stufe 1 NSCs". Hier wird also immer vor einer InsideScene der SpecialState gesetzt und danach sozusagen wieder entfernt. Es ist also nur für die Situation (also eben das Gebäudeereignis), wo der SpecialState benötigt wird und nicht dauerhaft gesetzt wird. So stört es auch nicht, wenn die Mod "Im Schatten der Nacht" nicht verwendet wird.

#4
@Mordbrenner: Beim Charakteranagement wird ja jeder Waffe ein Knopf zur Verfügung gestellt zum Vergleichen. Mein Waffenpatch stellt einen Knopf zur Verfügung, um den Kampfstil zu ändern. Damit würden sich die Knöpfe dann gegenseitig überschreiben, also muss sich eine Mod der anderen anpassen. Ich übernehme also lunatics Vergleichen-Knopf, der aber ohne Funktion ist, wenn seine Mod nicht installiert wurde. Jetzt möchte ich gern, dass der Knopf einfach kommentarlos funktionslos bleibt, sondern bei Betätigung darauf hinweisen, dass die Mod für die Vergleichen-Funktion nötig ist.

Klar ist das mit dem Savegame von Nachteil. Aber eine bessere Lösung fällt mir nicht ein. Mit der Queststate, wie Lares beschreibt, ist es ja im Grunde ähnlich. Ich denke das Prinzip ist dann das gleiche.
Spiel verbessern? Fehler gefunden? Etwas unklar? Bitte beachten!

Mod-Datenbank SchickHD
Meine SchickHD-Mods *klick*
Meine SchweifHD-Mods *klick*
Probleme mit Mods?

#5
Eventuell könnte man auch versuchen, irgendeinen Dialog aus dem anderen Mod auszuführen und nur, wenn dieser erfolgreich ausgeführt wird, eine Variable entsprechend setzen. Dann wäre man das save-Problem los.

#6
Also ich hab z.B. auch in meinen Waffenmods und Charmods Lunatics charmanage übernommen, besser gesagt ich habe meine Waffen mit der Dialogzeile erweitert, wenn ich den Mod von Lunatic dann drinnen habe ist der compare Botton da, hab ich sie nicht drinnen, ist der Comparebotton einfach nicht da und alles ist normal wie im Standard game, da einfach die useactions compare und maxstack fehlen und somit nicht aufgerufen werden.

#7
@Mordbrenner: Ja, so etwas klingt gut. Wobei ich nicht weiß, ob es so globale Variablen gibt, dass sie von einer Mod zur anderen übergeben werden können. Schon außerhalb eines Dialoges geht das doch nicht, oder?

@merlinita: Das ergibt natürlich absolut Sinn und ist für diesen meinen Fall vollkommen util. Danke!
Spiel verbessern? Fehler gefunden? Etwas unklar? Bitte beachten!

Mod-Datenbank SchickHD
Meine SchickHD-Mods *klick*
Meine SchweifHD-Mods *klick*
Probleme mit Mods?

#9
Mir ist jetzt noch eine andere mögliche Möglichkeit eingefallen, die durch Einfachheit besticht. Man könnte für die abzufragende Mod einen einzelnen "Dialog" schreiben mit einem "partner", der in der abzufragenden Mod vorkommt. Ist die Mod nicht installiert, bricht dieser Dialog ab. Hm. Das braucht dann auch noch einen Schalter, damit nicht immer wieder dort abgebrochen wird.
Spiel verbessern? Fehler gefunden? Etwas unklar? Bitte beachten!

Mod-Datenbank SchickHD
Meine SchickHD-Mods *klick*
Meine SchweifHD-Mods *klick*
Probleme mit Mods?
Antworten

Zurück zu „Mod-Talk“