Einige Posts vorher in diesem Topic ist einem Spieler der Preis von 16 Cr. zu niedrig.Ariadne wrote:Nachdem ich mit NavSoftST1-V6.02 feststellen musste, dass mir bei Neubeginn von X2 nur so die Credits aus den Taschen gezogen worden sind, musste ich nach Abhilfe sinnen. Es kann nicht sein, dass ein so gutes Script anderen Anfängern vorenthalten bleiben muss, weil den fortgeschrittenen Spielern ein paar Millionen Credits weniger nicht jucken.
Und er hat das Script geändert, um ihn zu erhöhen...
Da unsignierte Scripte leicht zu ändern sind, kann es da ja jeder halten wie er will... .. so wie Du es nachfolgend beschrieben ja auch versucht hast, allerdings noch nicht erfolgreich
Richtig, man braucht nur die minus 16 (-16) und/oder minus 120 (-120) in einen gewünschten anderen negativen Wert zu ändern und das Script zu speichern. Allerdings muß dies im Scripteditor gemacht werden (siehe unten)! Falls der Wert in eine positive Zahl geändert wird, verdient man sogar bei jedem Sprung Geld!Ariadne wrote:Daher meine Vorgehensweise für Betroffene: Ich habe mir den Sourcecode der xml Dateien NavSoftST1 und SupplySoftST1 im Internetexplorer (ein geeigneter Browser kann xml interpretieren und als Sourcecode anzeigen) angesehen und bin fündig geworden in der Datei plugin.navsoftwareST1.jump.xml, dort finden sich die Übeltäter:Damit muss der geneigte Leser nur noch die Werte für $EnergyPrice und für $BoostJumpPrice ändern und schon kann man ohne finanziellen Ruin die Skripte sinnvoll weiter verwenden.Code: Select all
007 * Special capability if boost extension is installed in ship 008 $EnergyPrice = -16 009 $BoostJumpPrice = 0 010 $BoostDrive = [THIS] -> get true amount of ware Boost Erweiterung in cargo bay 011 skip if not $BoostDrive 012 $BoostJumpPrice = -120
Der X2 Scriptinterpreter arbeitet nur mit Ganzzahlen. Weder bei der Versionsnummer, noch im Rahmen vor Variablenzuweisungen können Dezimalzahlen mit Punkt oder Komma verwendet werden. Wenn Berechnungen ungerade Zahlen ergeben, rundet der Scriptinterpreter diese auf oder ab zur nächsten Ganzzahl.Ariadne wrote:Immerhin nicht hardcoded irgendwo im Sourcecode sondern als Variable deklariert mit Wertzuweisung. Trotzdem gehört es zu einer stukturierten Programmierung, dass man Deklarationen vor Beginn von Ablaufstatements plaziert, das gilt auch für modulübergreifende Wertzuweisungen. Zum anderen steht da immer noch Version 6, obwohl es Version 6.02 ist. Zur Dokumentation gehört auch dass Änderungen protokolliert werden, weil man nach zwei Wochen nicht mehr weiss, was man alles geändert hat.
Nein, das funktioniert nicht! Ein abgespeichertes Script besteht aus zwei Teilen, einem im xml-fähigen Browser lesbaren Quellcode (Sourcecode) und einem dort nicht sichtbaren eigentlichen Programmcode (Codearray). Schaut man im Browser den Quellcode der xml-Datei an (oder in einem beliebigen Texteditor), kann man das Codearray am Ende der Seite sehen. Änderungen eines Scriptes in einem externen Editor (xml-Editor oder einfacher Texteditor) ändern nicht das Codearray - das heißt, das eigentliche Script (= Codearray) bleibt völlig unverändert. Ändert man so ein Script, kann es im ungünstigsten Fall gar nicht mehr in den Scripteditor geladen werden und/oder funktioniert nicht mehr.Ariadne wrote:Für Änderungen kann der eingebaute X2-ScriptEditor verwendet werden - wer allerdings weiss wie mühsam die Tipperei mit dem Editor sein kann, wird verstehen dass ich mir das bei 450 MHz CPU nicht antun will. Ich habe daher eine geeignete Zeichenfolge im Umfeld der Änderung im Internetexplorer herausgesucht und als Suchbegriff in NotePad verwendet, um die Position aufzufinden, und dort die Änderung durchgeführt und anschliessend noch mal im Internetexplorer kontrolliert. Das war gar nicht so schwierig, hat den gewünschten Erfolg gebracht und man kann so den lieben Skriptern auch mal auf die Finger sehen.
Der Scripteditor von X2 kompiliert beim Speichern eines Scriptes die Klartext-Befehle in einen alphanumerischen Code. Ausschließlich dieser wird vom Scriptinterpreter abgearbeitet. Das Codearray und der Quellcode sollten übereinstimmen. Daher können Änderungen nur im X2-Scripteditor gemacht werden.
Es gab bereits Ansätze, einen externen Editor zu entwickeln. Darüber gibt es hier auch irgendwo im Forum ein Topic. Da aber die Codes für das Codearray nicht vollständig entschlüsselt werden konnten, kam das Projekt nicht zum Abschluß.
Tja, so ist es. Grundsätzlich ist X2 ein Spiel und nichts anderes. Daher sollte man Dinge grundsätzlich auch nicht so genau nehmen ("zaubern", Dinge, die nicht ganz konform der Realität sind, etc). Leider werden diese Angelegenheiten mit zweierlei Maß gemessen.Ariadne wrote:Apropos auf die Finger sehen: nachdem ich neugierig geworden bin fand ich bei signierten Skripten teilweise abenteuerliche Konstruktionen um EZ herbeizubeamen, Schiffe aus dem Nichts herbeizuzaubern und viele Wunder mehr. Dinge die man nach offiziellen Regeln eigentlich als Cheaten einzuordnen hat. Auch wenn der Spieler Wunder oftmals teuer bezahlen muss, so bleiben sie doch Wunder ... da habe ich mich dann auch gewundert. Nun denn, solange es der Spielfreude dient ...