[Modding] Scripting Fragen

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
Nächste Frage: Kann ich Meldungen im Statusfenster unterdrücken?
Nein, ich denke nicht, dass man das selektiv unterdrücken kann.
Aber du könntest den Spruch (SPL) modifizieren, so dass er keinen "Display String"-Effekt mehr hat. Damit wird der Text dann natürlich für niemanden mehr angezeigt.
Wenn es jetzt nur für spezielle Akteure sein soll, müsstest du eine Kopie vom Original anlegen, entsprechend modifizieren und dann dem Akteur zuweisen.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
Gut, machen wir da einen Haken dran.

Andere mit Scripting verwandte Frage:
Kennt jemand den Unterschied zwischen Weapon ability und Weapon slot in der cre (ganz unten/hinten)? Und zählt man den Weapon Slot so wie er nummeriert ist (1...x) oder fängt man eigentlich bei 0 an? Ich hätte ja fast auf Anfangen mit 0 getippt... Allerdings werden die in NI mit 1 anfangend nummeriert (Items fangen aber mit 0 an).
 

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
"Selected Weapon Slot" bezieht sich auf den ausgewählten Item Slot und "Selected Weapon Ability" bezieht sich auf die Ability (Melee, Ranged, Magical, ...) des jeweiligen Items.
Für den "Selected Weapon Slot" ist laut IESDP ist der Wert des Slots aus SLOTS.IDS - 35 zu verwenden, also 0-3 für Weapon Slots 1-4.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
Danke, das erklärt die Sache mit den Weapon Slots.

Ist das dann so zu verstehen, dass die Waffe im Selected Weapon Slot mit der Selected Weapon Ability genutzt wird? Ich hätte eigentlich gedacht, dass das Spiel automatisch die Weapon Ability auswählt, die am besten passt?
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
Nächste Frage:
Ich habe folgenden Code in einer Mod:
SetGlobal("X3EFinalQuestSpawn","AR3352",1)

Da es aber eine EET ist, ist die AR3352 nicht vorhanden. Daher funktioniert der ganze Skriptblock mit der Variable nicht, korrekt?
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.918
Ja, das klappt dann nicht. Dann musst Du den Area-Namen von EET verwenden, oder wenn es für alle Spiele gelten soll, Crossplatform Modding Variablen verwenden, wie sie in meinen Mods in den lib/cpmvars.tpa definiert sind.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
Danke, ist ja nicht meine Mod. Skitia wird wohl eine GLOBAL draus machen... Ich hätte LOCALS gemacht, weil ich denke, dass das nur in dem einen Skript vorkommt...
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.918
Oder man verwendet "MYAREA", da wird die entsprechende eingesetzt. Hierbei ist zu beachten, dass die Skripte der Masterarea auch in den Unterareas ausgeführt werden.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
Naja, das Ding ist nur die Kontrollvariable für eine cre-Erstellung. Von daher kein großes Ding...
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
Nächste Frage:
Kann ich eigene Shout definieren und die dann in der Shout.IDS eintragen? Oder ist das eine blöde Idee und ich sollte nur die vorhandenen Shouts verwenden?
 

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
Sollte funktionieren, aber am besten einfach kurz ausprobieren.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
Ich muss auf jeden Fall in der tp2 zuerst die Shout.IDS ändern, sonst kompiliert er das Skript nicht.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
Aber noch eine Nachfrage:
Was trage ich da ein? Den eigentlichen String kann ich ja mit Autoren-Tag und so einmalig halten. Aber ich muss ja irgendwie noch die Referenznummer eintragen. Wie verhindere ich, dass ich da was überschreibe?

Und für die Kompatibilität ist es auch murks. Weil eine SHOUT.IDS haben wohl nur die EE-Versionen. Vielleicht ist es doch besser, wenn ich die Kommunikation der Gegner untereinander anders regele. Ich nehme einfach ein selten genutzes Element aus der SHOUT.IDS.
 

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
Wie verhindere ich, dass ich da was überschreibe?
Du könntest vorher schauen, ob es schon einen Eintrag gibt. (z. B. via LOOKUP_IDS_SYMBOL_OF_INT oder APPEND ... UNLESS regexp)
Eventuell gibt's es in anderen Mods TP2-Makros, die sich um das Erweitern von IDS-Dateien kümmern.
Weil eine SHOUT.IDS haben wohl nur die EE-Versionen.
Meine alte BGT-Installation hat eine SHOUTIDS.IDS.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
Hm, interessant. Ich hab im DLTCEP nachgeschaut und da war nur für die EE eine Shout.IDS gelistet. Ich meine auch, dass die Shout-Skripte schon früher genutzt wurden. Deutlich seltener als in der EE... Aber gut, dann kann man wirklich die Shout.IDS mal modifzieren und auf Fehlermeldungen bei der Installation auf anderen Systemen warten.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
So, wieder mal eine Frage:
Ich will in mehreren aufeinander folgenden Skript-Blöcken Kreaturen erstellen. Ich muss aber sicherstellen, dass die Kreaturen nur einmal erstellt werden. Aktuell habe ich für jeden Skriptblog eine Variable definiert, aber das ist eine blöde Idee.
Ich sehe zwei Möglichkeiten:
a) Nach jedem Skriptblock ein Continue() und dann am Ende die Kontrollvariable hochzählen
b) In jedem Skriptblock die Variable um 1 erhöhen

Im Moment tendiere ich zu b), weil dann könnte ich im Falle eines Fehlers sehen, in welchem Block das Skript hängengeblieben ist. Und ich mag Continue() nicht, weil das für mich immer so ein unbestimmter Zustand ist. Meinungen dazu?

Und noch gefragt: ich bräuchte für jeden RESPONSE-Block ein eigenes Continue() richtig?
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.918
ich bräuchte für jeden RESPONSE-Block ein eigenes Continue() richtig?
Ja.

Mehrere Blöcke mit Continue() und dann am Ende hochzählen funktioniert zumindest, das verwende ich in EndlessBG1 (war's glaube ich) auch. Die Überlegungen zu b) verstehe ich auch. Aber mal platt gefragt: wenn das Entstehen der Kreaturen eh hintereinander ablaufen soll - warum schreibst Du's dann nicht einfach in einen Skriptblock?
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
Weil ich für jeden Kreaturen-Block mehrere RESPONSE-Blöcke haben, die die Wahrscheinlichkeit regeln, mit der die Kreaturen gespawnt werden. Sozusagen ein Random-Element, um den Wiederspiel-Wert zu erhöhen (ist ein 140 Zeilen-Skript...) .
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.918
Ah, ok.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.378
Nochmal eine Frage zu den SHOUTIDS.IDS Einträgen:

Könnte da jemand für BGT und BG1EE verifizieren, dass es dort HELP100 als Eintrag gibt?

edit: BG1EE kann ich ja selber nachschauen... da gibt es nur 5 Einträge, daher die Frage: Hat BGT "ALERT" als Eintrag? den hätte die EET auch...
 
Zuletzt bearbeitet:
Oben