Problem mit Überschneidung von Scripts
Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum
-
- Posts: 764
- Joined: Mon, 28. Feb 05, 15:39
Problem mit Überschneidung von Scripts
Und zwar habe ich einen Script am Laufen - und zwar:
SDMPNet - Satellite Deployment/Monitoring/Patrol (http://blackspell.gmxhome.de/downloads/ ... -0.999.zip)
(diesen Script möchte ich auch keinen Fall mehr missen)
Dieser verkauft seine Software in der Argon Handels-Station in Argon Prime
Leider verkaufen dort auch andere Scripte ihre Software ... zb."Erweiterer Transporter" oder "Tuning Software Mk1"
Problem nun: der eine Script überschreibt den Namen des anderen (allerdings bekommt man dennoch die SDMPNet-Erweiterungen zu kaufen). Das gleiche gilt dann auch für die an Bord installierten Erweiterungen - auch hier hat man dann plötzlich ein "Tunik Kit" obwohl man die SDMPNet-Software installiert hat.
Da ich nun nicht sonderlich viel Ahnung (garnicht) vom X2-Scripten habe meine Frage: gibt es hier eine einfache Möglichkeit den SDMPNet-Script dahingegen zu ändern daß er z.B. auf anderen Slots verkauft und sich so keine Namensüberschneidungen mehr ergeben?
SDMPNet - Satellite Deployment/Monitoring/Patrol (http://blackspell.gmxhome.de/downloads/ ... -0.999.zip)
(diesen Script möchte ich auch keinen Fall mehr missen)
Dieser verkauft seine Software in der Argon Handels-Station in Argon Prime
Leider verkaufen dort auch andere Scripte ihre Software ... zb."Erweiterer Transporter" oder "Tuning Software Mk1"
Problem nun: der eine Script überschreibt den Namen des anderen (allerdings bekommt man dennoch die SDMPNet-Erweiterungen zu kaufen). Das gleiche gilt dann auch für die an Bord installierten Erweiterungen - auch hier hat man dann plötzlich ein "Tunik Kit" obwohl man die SDMPNet-Software installiert hat.
Da ich nun nicht sonderlich viel Ahnung (garnicht) vom X2-Scripten habe meine Frage: gibt es hier eine einfache Möglichkeit den SDMPNet-Script dahingegen zu ändern daß er z.B. auf anderen Slots verkauft und sich so keine Namensüberschneidungen mehr ergeben?
-
- Posts: 764
- Joined: Mon, 28. Feb 05, 15:39
Um das Thema nochmal aufzunehmen:
Das Problem tritt ja wohl auch gerne mit anderne Scripten auf die sich überschneiden - z.B. "EZ-K" und "Erweitere Transporter" etc etc etc
Es sollte doch wohl nicht so schwierig sein einen Script umzuschreiben damit er seine Erweiterungen irgendwoanders verkauft oder? Muß ja nicht alles in der Argon-Handelsstation in Argon Prime sein ...
Allerdings muß ich mir wohl nochmal ein paar FAQs durchschaun bis ich die Scripte durchschaue - zumindest mit einem normalen Editor sehen die etwas zu kryptisch für meinen Geschmack aus
Das Problem tritt ja wohl auch gerne mit anderne Scripten auf die sich überschneiden - z.B. "EZ-K" und "Erweitere Transporter" etc etc etc
Es sollte doch wohl nicht so schwierig sein einen Script umzuschreiben damit er seine Erweiterungen irgendwoanders verkauft oder? Muß ja nicht alles in der Argon-Handelsstation in Argon Prime sein ...
Allerdings muß ich mir wohl nochmal ein paar FAQs durchschaun bis ich die Scripte durchschaue - zumindest mit einem normalen Editor sehen die etwas zu kryptisch für meinen Geschmack aus

-
- Posts: 764
- Joined: Mon, 28. Feb 05, 15:39
-
- Posts: 764
- Joined: Mon, 28. Feb 05, 15:39
Tja ... schaun wir eben mal selbst ...
Das hier kommt aus dem SMPTnet-Paket:
Und das hier (eines der Problemscripte mit dem obigen) aus EZ-Kauf
Eigentlich machen beide Scripte ja wohl nun das gleiche - aber welcher macht es "korrekt" ???
Ach nochwas: wo finde ich eigentlich den Preis eines Upgrades?
Nachtrag: da ich in der Firma hier kaum X2 (also auch nicht dessen Editor) installieren konnte schau ich mir das ganze mit Firefox an ... demzufolge also auch obige Scriptauszüge.
Das hier kommt aus dem SMPTnet-Paket:
Code: Select all
030 * add new wares
031 $hq = find station in galaxy: startsector=Argon Prime class or type=Freie Argon Handelsstation race=Argonen flags=null refobj=null serial=null max.jumps=0
032 if $hq -> exists
033 $i = 0
034 while $i < $ware.count
035 $ware = $ware.array[$i]
036 if not $hq -> trades with ware $ware
037 $hq -> add product to factory or dock: $ware
038 $dummy = $hq -> add 1 units of $ware
039 end
040 inc $i =
041 end
Code: Select all
001 @ = wait 3 ms
002 $ArgonPrime = get sector from universe index: x=1, y=3
003 $ausrustungsdock = find station: sector=$ArgonPrime class or type=Argon Ausrüstungsdock race=Argonen flags=null refobj=null maxdist=null maxnum=null refpos=null
004 if $ausrustungsdock -> exists
005 if not $ausrustungsdock -> trades with ware EZ-K-Upgrade V1
006 $ausrustungsdock -> add product to factory or dock: EZ-K-Upgrade V1
007 $dummy = $ausrustungsdock -> add 1 units of EZ-K-Upgrade V1
008 end
009 end
010
011 $wolkenbasis.NW = get sector from universe index: x=0, y=5
012 $GonerTempel = find station: sector=$wolkenbasis.NW class or type=Tempel der Goner race=null flags=null refobj=null maxdist=null maxnum=null refpos=null
013 if $GonerTempel -> exists
014 if not $GonerTempel -> trades with ware EZ-K-Upgrade V1
015 $GonerTempel -> add product to factory or dock: EZ-K-Upgrade V1
016 $dummy = $GonerTempel -> add 1 units of EZ-K-Upgrade V1
017 end
018 end
019 return null
Ach nochwas: wo finde ich eigentlich den Preis eines Upgrades?
Nachtrag: da ich in der Firma hier kaum X2 (also auch nicht dessen Editor) installieren konnte schau ich mir das ganze mit Firefox an ... demzufolge also auch obige Scriptauszüge.
-
- Posts: 764
- Joined: Mon, 28. Feb 05, 15:39
Schau an - schau an - ich beantworte mir selbst wieder mal ein paar Fragen - leider kommen immer neue hinzu
Also:
Beide Erweiterungen (EZ-Upgrage und SMPTnet ... bestimmt auch noch etwas anderes das immer noch reinstreut) benuzten als Definition in der Sprachdatei "ReadText17-5853" Leider auch Lucike Erweiterter Transporter - was das ganze nicht einfacher macht
Frage mal ganz fix: kann ich die Nummer auf eine "freie" Stelle verschieben und reicht das dann ggf als Problemlösung aus ???

Also:
Beide Erweiterungen (EZ-Upgrage und SMPTnet ... bestimmt auch noch etwas anderes das immer noch reinstreut) benuzten als Definition in der Sprachdatei "ReadText17-5853" Leider auch Lucike Erweiterter Transporter - was das ganze nicht einfacher macht

Frage mal ganz fix: kann ich die Nummer auf eine "freie" Stelle verschieben und reicht das dann ggf als Problemlösung aus ???
Sorry das ich auch ein Privatleben habe 
@Thema
Genau dieser ReadText ist die normalerweise unbenutze Ware. Es gibt nur ein paar davon und darum die Überschneidungen. Man könnte höchstens eine andere Ware benutzen aber dann wirst du wieder Probleme mit anderen Scripten bekommen und ausserdem verändert sich der Preis.

@Thema
Genau dieser ReadText ist die normalerweise unbenutze Ware. Es gibt nur ein paar davon und darum die Überschneidungen. Man könnte höchstens eine andere Ware benutzen aber dann wirst du wieder Probleme mit anderen Scripten bekommen und ausserdem verändert sich der Preis.
-
- Posts: 764
- Joined: Mon, 28. Feb 05, 15:39
Die Frage bezog sich ja auch nicht an dich (du bist ja nicht der einzige hier will ich mal hoffen
) sondern an jeden der liest - ist ja ein öffentliches Forum
Dann hängt der Preis am ReadText .. oha ... wer hat sich denn sowas ausgedacht?
Aber ich denke mal ich finde schon was ... wenn ich nur weiß was ich ändern muß dann passe ich die Scripte eben an mich an ... und ob ich nun die 3-9 Erweiterungen für 1500 oder 15000 Cr kaufe ist mir auch wurscht ... momentan kostet der EZUpgrade soviel wie die Patroulliensoftware - also irgendwas um 59.000 Cr ... hat mich auch nicht sonderlich gestört


Dann hängt der Preis am ReadText .. oha ... wer hat sich denn sowas ausgedacht?

Aber ich denke mal ich finde schon was ... wenn ich nur weiß was ich ändern muß dann passe ich die Scripte eben an mich an ... und ob ich nun die 3-9 Erweiterungen für 1500 oder 15000 Cr kaufe ist mir auch wurscht ... momentan kostet der EZUpgrade soviel wie die Patroulliensoftware - also irgendwas um 59.000 Cr ... hat mich auch nicht sonderlich gestört

-
- Posts: 1296
- Joined: Tue, 3. Feb 04, 12:11
Hi Reisser,
ich benutze das SMPDNet schon ewig und hatte damit am Anfang auch probleme.... Ist aber ein geniales Script und ich möchte darauf auch nicht mehr verzichten....
Ich habe das Script an meine bedürfnisse angepasst und den Warenrohling verändert...
Du musst erst mal schauen welche Erweiterungen Du benutzt... Dazu schaust Du Dir alle Sprachfiles (die im t Ordner 49xxxx.xml) nacheinander an und notierst Dir die Warenrohlinge die das jeweilige Script benutzt...
z.B.
Unter der Page ID 17 werden die Rohlinge genannt .... In diesem Fall ist "5843" die Soft zum Installieren. "5844" ist dann die Beschreibung...
Ich habs am Anfang so gemacht, das ich einfach per copy&paste die Zeilen in eine Textdatei übertragen habe und danach alles etwas aufgegräumt hab....
Dann hast Du eine Liste von den Warenrohlingen die Deine Scripte verwenden.....
Rohlinge gibts in X2 leider nicht so viele also musst Du sparam damit umgehen....
Also um zu Deinem Problem zurück zu kommen.... Wenn Du alle Deine verwendeten Warenrohlinge notiert hast siehst du ja was noch frei ist (schau Dir meine Liste an da werden fast alle Rohlinge verwendet) ....
Such Dir einen Rohling aus und ändere dann Deine Sprachdatei (49xxxx.xml) mit einem Texteditor dem entsprechend ab...
Also
in z.B.
Nimm wenn möglich eine niedrige Nummer, denn je kleiner die Zahl desto billiger ist die Ware dann...
Ok das war der erste Teil....
Jetzt musst Du nur noch das ini.xxxx.xml oder setup.xxxx.xml mit dem X2 Scripteditor anpassen.... Das macht man am besten mit einer 2. X2 Installation sozusagen eine Developer Version... Denn wenn Du ein frisches X2 benutzt hast Du keine Konflikte mit anderen Scripten....
Also installier X2 nochmal auf irgend einer Partiton und ändere den Ordner X2 in z.B. X2-Test oder sonstwas um...
Dann installierst Du die Standardscripte (Bonuserweiterungen) und startest ein neues Spiel.... Sobald Du den Vorspann hinter Dir hast und zum ersten mal ins All fliegen kannst speicherst Du das Spiel ab...
Dann raus aus der Station und den Scripteditor aktivieren (Ich schätze darauf bruache ich nicht weiter eigehen).... Jetzt wieder irgendwon Landen und speichern.... Jetzt hast Du einen Spielstand mit dem Du arbeiten kannst....
Wenn Du jetzt ein neues Script hast kannst Du es in Deiner Testversion von X2 testen und anpassen.... So verhindert man das ein neues Script, durch das überschreiben von irgendwelchen Waren oder Befehlen ein anderes Script verändert und es nicht zu konflikten kommt...
Wenn Du Dein Script soweit angepasst hast...
hier das Setup Script für das SMDPNet
wie du siehst sollte in Zeile 14 die Patrouliensoft und in Zeile 15 die InstSoft stehen... Wenn das bei Dir nicht der fall ist musst Du es ändern....
Ok ich hoffe Dir etwas geholfen zu haben....
Wenn Du es nicht hinbekommst kann ich Dir das SMPDNet auch an Deine Bedürfnisse anpassen....
Du must mir nur Deine Liste mit den Rohlingen posten...
Ok bis denn Thalon
ich benutze das SMPDNet schon ewig und hatte damit am Anfang auch probleme.... Ist aber ein geniales Script und ich möchte darauf auch nicht mehr verzichten....
Ich habe das Script an meine bedürfnisse angepasst und den Warenrohling verändert...
Du musst erst mal schauen welche Erweiterungen Du benutzt... Dazu schaust Du Dir alle Sprachfiles (die im t Ordner 49xxxx.xml) nacheinander an und notierst Dir die Warenrohlinge die das jeweilige Script benutzt...
z.B.
Code: Select all
- <page id="17">
<t id="5843">SDMPNet Installationssoftware MK1</t>
<t id="5844">Mit dieser Software koennen Sie einem Ihrer Schiffe den Auftrag geben, in allen von Ihnen benutzen Sektoren Ueberwachungssatelliten aufzustellen.</t>
<t id="5853">SDMPNet Patroulliesoftware MK1</t>
<t id="5854">Diese Software fuegt ihrem Bordcomputer ein neues Kommando "SDMPNet Patroullie" hinzu. Schiffe, die fuer SDMPNet patroulllieren werden automatisch SDMPNet Feindwarnungen zugeordnet.</t>
</page>
Ich habs am Anfang so gemacht, das ich einfach per copy&paste die Zeilen in eine Textdatei übertragen habe und danach alles etwas aufgegräumt hab....
Dann hast Du eine Liste von den Warenrohlingen die Deine Scripte verwenden.....
- 5753 Erweiterter Transporter
5763 Bergungslizenz
5773 Tiefpreisfinder
5783 Hoechstpreisfinder
5793 Xai Corp. Fleet Support Ship Software
5803 Tuning Modul MK1
5813 KriMe.SDS Station Delivery Software V02
5823 BPH-Erweiterungskit MK1
5833 Xai Corp. Sprung-Kommando Software
5843 SDMPNet Installationssoftware MK1
5853 SDMPNet Patroulliesoftware MK1
5863 Huellen Reparatur System
5873 Handelssoftware MK3
5883 Geschütz Manschaft
5893 XaiTec Traktorstrahl
5903 Xai Corp. Fleet Commander Software
5913 Raumfliegen Detektor
5923 Statusscanner
Rohlinge gibts in X2 leider nicht so viele also musst Du sparam damit umgehen....
Also um zu Deinem Problem zurück zu kommen.... Wenn Du alle Deine verwendeten Warenrohlinge notiert hast siehst du ja was noch frei ist (schau Dir meine Liste an da werden fast alle Rohlinge verwendet) ....
Such Dir einen Rohling aus und ändere dann Deine Sprachdatei (49xxxx.xml) mit einem Texteditor dem entsprechend ab...
Also
Code: Select all
<t id="5843">SDMPNet Installationssoftware MK1</t>
<t id="5844">Mit dieser Software koennen Sie einem Ihrer Schiffe den Auftrag geben, in allen von Ihnen benutzen Sektoren Ueberwachungssatelliten aufzustellen.</t>
Code: Select all
<t id="5763">SDMPNet Installationssoftware MK1</t>
<t id="5764">Mit dieser Software koennen Sie einem Ihrer Schiffe den Auftrag geben, in allen von Ihnen benutzen Sektoren Ueberwachungssatelliten aufzustellen.</t>
Nimm wenn möglich eine niedrige Nummer, denn je kleiner die Zahl desto billiger ist die Ware dann...
Ok das war der erste Teil....
Jetzt musst Du nur noch das ini.xxxx.xml oder setup.xxxx.xml mit dem X2 Scripteditor anpassen.... Das macht man am besten mit einer 2. X2 Installation sozusagen eine Developer Version... Denn wenn Du ein frisches X2 benutzt hast Du keine Konflikte mit anderen Scripten....
Also installier X2 nochmal auf irgend einer Partiton und ändere den Ordner X2 in z.B. X2-Test oder sonstwas um...
Dann installierst Du die Standardscripte (Bonuserweiterungen) und startest ein neues Spiel.... Sobald Du den Vorspann hinter Dir hast und zum ersten mal ins All fliegen kannst speicherst Du das Spiel ab...
Dann raus aus der Station und den Scripteditor aktivieren (Ich schätze darauf bruache ich nicht weiter eigehen).... Jetzt wieder irgendwon Landen und speichern.... Jetzt hast Du einen Spielstand mit dem Du arbeiten kannst....
Wenn Du jetzt ein neues Script hast kannst Du es in Deiner Testversion von X2 testen und anpassen.... So verhindert man das ein neues Script, durch das überschreiben von irgendwelchen Waren oder Befehlen ein anderes Script verändert und es nicht zu konflikten kommt...
Wenn Du Dein Script soweit angepasst hast...
hier das Setup Script für das SMDPNet
Code: Select all
009 @ = wait 1 ms
010 load text: id=101
011
012 * variables
013 $ware.array = array alloc: size=0
014 append SDMPNet Patroulliesoftware MK1 to array $ware.array
015 append SDMPNet Installationssoftware MK1 to array $ware.array
016 $ware.count = size of array $ware.array
Ok ich hoffe Dir etwas geholfen zu haben....
Wenn Du es nicht hinbekommst kann ich Dir das SMPDNet auch an Deine Bedürfnisse anpassen....
Du must mir nur Deine Liste mit den Rohlingen posten...
Ok bis denn Thalon
-
- Posts: 270
- Joined: Wed, 2. Mar 05, 21:56
noch einfacher geht's wenn du mir dem Scripteditor die "init.*****" oder "setup.****" (**** müsste der name deines sripts oder ähnliches sein) öffnest und dann bei
"set script command upgrade: command= <command> upgrade= <ware>"
die <ware> in eine schon in X2 vorhandene, wie z.B. "Navigationssoftware Mk1" änderst. Dann ist der Warenslot wieder frei und es überschneidet sich nicht mehr.
"set script command upgrade: command= <command> upgrade= <ware>"
die <ware> in eine schon in X2 vorhandene, wie z.B. "Navigationssoftware Mk1" änderst. Dann ist der Warenslot wieder frei und es überschneidet sich nicht mehr.
-
- Posts: 764
- Joined: Mon, 28. Feb 05, 15:39
@ThalonMook: vielen Dank für die Mühe
dann werde ich mich mal ranmachen meine Scriptsammlung dementsprechend anzupassen - hakt ja irgendwann doch hier und da
. Das werd ich schon hinbekommen - will ja auch nicht dumm sterben
@XFile: uh? Das müßte ich mir dann "vor Ort" anschaun - momentan kann ich mir darunter nicht ganz so viel vorstellen
Reisser
(das aber nur wenn man mich heute irgendwann aus der Arbeit entläßt ... )



@XFile: uh? Das müßte ich mir dann "vor Ort" anschaun - momentan kann ich mir darunter nicht ganz so viel vorstellen

Reisser
(das aber nur wenn man mich heute irgendwann aus der Arbeit entläßt ... )
-
- Posts: 270
- Joined: Wed, 2. Mar 05, 21:56
mit dem Befehl wird <command> an eine Software gebunden (<ware>)
d.h. dein Script <command> benötigt die Software <ware> damit der Befehl im Schiff sichtbar ist.
Wenn du nun eine schon vorhandene Software benutzt anstatt eine neue zu setzen gibt es keine Überschneidungen.
(nur nochmal zur verdeutlichung [hoffe diesmal wars nicht so unverständlich geschrieben
])
mfg XFile
d.h. dein Script <command> benötigt die Software <ware> damit der Befehl im Schiff sichtbar ist.
Wenn du nun eine schon vorhandene Software benutzt anstatt eine neue zu setzen gibt es keine Überschneidungen.
(nur nochmal zur verdeutlichung [hoffe diesmal wars nicht so unverständlich geschrieben

mfg XFile
-
- Posts: 764
- Joined: Mon, 28. Feb 05, 15:39