[Tutorial] Notepad++ Papyrus Setup

Gut, wir machen Fortschritte. Im Skript selber lautet der Name des Skripts "_StarConfig". Also habe ich so auch das Skript selber genannt, nämlch _StarConfig.psc.
Wenn ich es nun jetzt kompiliere erhalte ich dieses Fenster:
no output.JPG
Am Ende steht: "No output generated for _starconfig.psc, compilation failed."
Wie geht es weiter?

EDIT: Alles klar!:) Hab verstanden glaub ich! Ich musste noch die dazugehörigen Scripte die von dieser abhängig sind ebenfalls in den Source-Ordner schieben, danach klappte das Kompilieren. Problem gelöst, Aufgabe erfüllt! Man, was für eine grässliche Geburt das war!
Vielen vielen Dank euch zwei!:)
 
Zuletzt bearbeitet:
Hat nicht zwingend mit Notepad++ oder ck zu tun. Das Script selber kann einige Dinge nicht richtig verarbeiten. Mach doch erst mal einen Test und kompiliere ein vorhandenes Script.psc aus dem Scripts\Source - Ordner.

Wenn es sich kompilieren lässt, dann liegt der Fehler am falsch programmierten Script oder an den nicht vorhandenen Ressourcen auf die das Script zugreifen will. Wenn dies der Fall ist, bist du in diesem Thread falsch.

Ich habe nach meiner Anleitung nun drei PC´s bestückt und auf jedem dieser Rechner kann ich die xxx.psc ´s kompilieren.

hf

Bulwyf
 
  • Like
Reaktionen: Slavovitsh
Darf man dass in einem Skript übersetzen? - steht ja msg davor. Gibt es ein paar Musterbeispiele (Bilder) an denen man sieht was man übersetzen darf?



oder skript überstzen frage.jpg oder skript überstzen frage01.jpg
 
Zuletzt bearbeitet:
Ich würde sagen dass man die Texte aus dem 1. und 3. Fenster gefahrlos übersetzen kann (sofern der Text aus dem 1. Fenster überhaupt im Spiel angezeigt wird). Das Skript beschädigen würde es nicht. Vermute ich mal sehr stark. Und beim 3. Fenster steht ja "Debug.Notification" davor. Also kann man den gelb markierten Text dort ebenfalls übersetzen. So war es auch in den Skripten die ich übersetzt habe.
Beim 2. kann ich nur mutmaßen. Dort sind die selben Wörter einmal getrennt und einmal zusammen geschrieben. Auch lese ich das so wenn zum Beispiel steht:
"FireResist: ["
(test.GetActorValue("FireResist")
"] Electric Resist: ["
(test.GetActorValue("Electricresist")
"]\n"
Würde es ausgespuckt im Spiel lauten:
FireResist: [xxx Punkte Feuerresistenz] Electric Resist: [xxx Punkte Blitzresistenz]
Die Sachen in den eckigen Klammern stellen glaub ich Werte dar die irgendwo abgelesen werden. Die würde ich nicht übersetzen. Sondern nur die Sachen außerhalb der eckigen Klammern.
 
  • Like
Reaktionen: Bulwyf
Ich sehe das ähnlich, nur finde ich kein Skript wo eben Ausdauer, Gesundheit usw. in eine Massage.box oder Debug.Notification eingebettet ist.
 
Es ist, wie Slavovitsh schrieb.

Auf Bild 1 wurde einfach nur ein Text auf mehrere Zeilen verteilt.
Der Code
Code:
msg +=
bedeutet einfach, dass der Inhalt der Variable msg mit dem erweitert werden soll, was nach dem += kommt.

Auf Bild 2 kannst Du übersetzen, was nicht in runden Klammern steht. Die Texte innerhalb der runden Klammern sind Befehlsparameter. In dem Fall wird der Funktion GetActorValue mit dem String mitgeteilt, welchen Wert man auslesen will. Übersetzt Du das, erhältst Du mit Glück eine Fehlermeldung beim Kompilieren. Hast Du Pech wird es einfach kompiliert, funktioniert aber im Spiel nicht.

Auf Bild 3 kann wieder ohne Rücksicht übersetzt werden.

Vereinfacht kann man sagen: Alles was in einer MessageBox ausgegeben (Bild 1 und 3 die Variable msg) oder als Hinweis (Bild 2 die Variable status) angezeigt werden soll, kann solange komplett übersetzt werden, wie keine Funktionsaufrufe enthalten sind. Bei Funktionsaufrufen macht es höchst selten Sinn, die Parameter zu übersetzen. Der einzig mir bekannte Grund wäre bei Ausgaben (MessageBox, Notification, ...). Aber wer ruft schon eine Ausgabefunktion innerhalb eines Strings für eine Ausgabefunktion auf?
 
Ah Super , danke Dice.

In Debug.Notification´s steht ja meistens eine Angabe, wenn ein Script die Befehle nicht richtig verarbeitet hat bzw. konnte. Gibt es da Ausnahmen?

Ich habe schon in die richtige Richtung gedacht, wollte nur auf Nummer Sicher gehen. Danach einen Fehler rückgängig zu machen ist ein absolut höherer Aufwand, falls es beim Kompilieren nicht als Fehler erscheint.

Und hier, darf man das was in Klammern steht übersetzen?

skript überstzen frage02.jpg

Denke schon, weil davor steht Status+= (lieber einmal zu viel gefragt 8))
 
Zuletzt bearbeitet:
Gegenfrage: Wie wird status am Ende verarbeitet?
Auf den ersten Blick scheint es mir reiner Text mit ein paar Variablen, beispielsweise firstSpellName in Zeile 267, zu sein.
 
Ok, danke, ich lade einen besseren Screenshot hoch.

Anfang -------> Mitte-------> Weiter------->

skript überstzen frage03a.jpg skript überstzen frage03b.jpg skript überstzen frage03bb.jpg

Bin echt dankbar für Deine Unterstützung :hail:
 
Zuletzt bearbeitet:
So wie es aussieht, wird status ja nur über eine MessageBox (Bild 2 unten) ausgegeben. Damit dürfte es sich um übersetzbaren Text handeln.

Auf Bild 1 darfst Du den ersten markierten Teil ("magicka") nicht übersetzen, da er als Parameter für die Funktion GetAV() (kurz für GetActorValue()) dient und diese die Parameter wohl auf Englisch erwartet.
Gleiches gilt für die drei letzten Markierungen auf Bild 3. Hier handelt es sich um Parameter für die Funktion RestoreAV().
 
Messages und -boxen gehören seit Fallout 3 nicht mehr in das Skript, sondern wurden in die gleichnamigen Objekte, zu finden in der "Misc" Sektion des Object Window, ausgelagert.

Ausnahmen sind die Debug Messages. Diese sind allerdings ausschliesslich genau zu diesem Zweck gedacht => Fehlerkontrolle während der Arbeit am PI....
 
Ich lasse vorsichtshalber mal die Finger davon, bzw. werde ich testen was sich verändert. Was mich nervt ist, dass im Statusfenster die Sachen nicht übersetzt sind und ich bin sehr vorsichtig, denn ich möchte nicht eine Funktion des Mods zerstören. Kann mir einer von Euch eventuell mal ein Beispiel (Screen) dafür posten?

@NNW Hast Du meine letzte Nachricht bekommen? Anleitung für Dummies
würde mich freuen, wenn Du damit auf Seite 1 was anfangen könntest.

EDIT:
Danke NNW - Link ist auch okay ;)
 
Zuletzt bearbeitet:
Habe ich es eigntlich richtig gemacht wenn das kommt:

Dwm 2013-02-10 13-45-14-87.jpg


edit:
Habe das jetzt eingefügt in meiner ScriptCompile.bat und es funktioniert immer noch nicht:
"C:\Programme (x86)\Steam\SteamApps\common\Skyrim\Papyrus Compiler\PapyrusCompiler.exe" %1 -f="TESV_Papyrus_Flags.flg" -i="C:\Programme (x86)\Steam\SteamApps\common\Skyrim\Data\Scripts\Source" -o="C:\Programme (x86)\Steam\SteamApps\common\Skyrim\Data\Scripts"
pause

edit 2: Source ist bei mir zusammengeschrieben.
 
Zuletzt bearbeitet von einem Moderator:
Sorry irgendwie geht das nicht.Bin zu blöd.:-D
Könntest du mal für mich bitte das richtig für mich posten damit ich nur noch Copy and Paste machen muss und fertig ?
 
"C:\Programme (x86)\Steam\SteamApps\common\Skyrim\Papyrus Compiler\PapyrusCompiler.exe" %1 -f="TESV_Papyrus_Flags.flg" -i="C:\Programme (x86)\Steam\SteamApps\common\Skyrim\Data\Scripts\Source" -o="C:\Programme (x86)\Steam\SteamApps\common\Skyrim\Data\Scripts"

So sollte es richtig sein, es sei denn, an deinen Pfaden ist was falsch.

Das leerzeichen bei Source muss noch weg, aber das liegt am forum :D
 
Hmm komisch die .bat zeigt an,dass das System den angegebenen Pfad nicht finden kann.Aber ich habe mehrfach nachgeschaut und das sind auch meine richtigen Pfade.Verstehe ich nicht.:(
 
Zuletzt bearbeitet von einem Moderator:
Der Compiler bemängelt eine fehlerhafte Syntax.

Zeile 7 Zeichen 17

Wenn du diese Zeile nicht verdeckt hättest, könnten wir dir nun sagen wo der Fehler liegt....