[DISKUSSION] Allgemeine S&M-Fragen

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

Moderators: Moderatoren für Deutsches X-Forum, Scripting / Modding Moderators

Pred@tor
Posts: 235
Joined: Thu, 21. Aug 03, 21:51
x4

Post by Pred@tor »

Das die Bedingungen ähnlich oder gar gleich sind wie bei Reunion hatte ich mir gedacht, nur habe ich den offizellen Post dazu vermist...

Wenn ich ein Script nun benutze habe ich ja den Modifed Tag im Spiel, verschwindet der wenn das benutzte Script signiert wurde?

MfG Pred@tor
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

nö, modified ist modified, aber was willst du mit nem modified-freien Spielstand?? sowas ist imo absolut nichtssagend.... (siehe Sig ^^)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
FritzHugo3
Posts: 4702
Joined: Mon, 6. Sep 04, 17:24
x4

Post by FritzHugo3 »

hu hu wieso wird das Kommando nicht in die Stationskommandos eingetragen???


7711-L049.xml

Code: Select all

 <?xml version="1.0" encoding="UTF-8" ?> 
- <language id="49">
- <page id="2010" title="Commands" descr="">
  <t id="1149">FH3 - Fabrikkompressionstechnik</t> 
  </page>
- <page id="2011" title="Commands" descr="">
  <t id="1149">FH3.Fab.Komp.</t> 
  </page>
  </language>
setup.plugin.FH3.Fabrikkompres..xml

Code: Select all

Script setup.plugin.FH3.Fabrikkompres.
Version: 0
for Script Engine Version: 41

Description
Menüenträge für die Fabrikkompressionstechnologie
Arguments
Source Text

001   load text: id=7711
002   
003   set script command upgrade: command=COMMAND_TYPE_STATION_49  upgrade=[TRUE]  script='A0.FH3.Fabrikkompression.00'
004   global script map: set: key=COMMAND_TYPE_STATION_49, class=Station, race=Player, script='A0.FH3.Fabrikkompression.00', prio=0
005   return null
habe auch schon andere COMMAND_TYPE_STATION_49 nummrn versucht
Ich fordere mehr und vorallem gerechtere Verteilung von Keksen und Süßkram für die "Magischen 20"! Daher wählen Sie jetzt die DPFGKV, die Deutsche Partei für gerechtere Keks - Verteilung!
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

hast du geprüft, ob das t-file überhaupt geladen wird?? TC nimmt es irgendwie viel genauer mit den t-files als Reunion..

PS prüfe mal, obes überhaupt im UTF-8-Format gespeichert wird... wenn es z.B. als ANSI gespeichert wure konnte man es in R laden, TC dagegen weigert sich ein solches File zu laden...
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
FritzHugo3
Posts: 4702
Joined: Mon, 6. Sep 04, 17:24
x4

Post by FritzHugo3 »

Wie überprüfe ich das denn?
Hab einfach meine alte t-file genommen und überflüssiges gelöscht, mhh

aber selbst wenn das t-file nicht geladen wird, müsste doch ein neues komando mit readtext error erscheinen oder ist das in TC auch nicht mehr so?


und wieso zum geier funktioniert der befehl nicht mehr
play sample 934
soweit ich mich erinnere waren das die pieptöne
Last edited by FritzHugo3 on Fri, 7. Nov 08, 21:41, edited 1 time in total.
Ich fordere mehr und vorallem gerechtere Verteilung von Keksen und Süßkram für die "Magischen 20"! Daher wählen Sie jetzt die DPFGKV, die Deutsche Partei für gerechtere Keks - Verteilung!
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

nö, bei den Kommandoslots gibt es bereits Teste, da siehst du keinen ReadText sondern irgendwas in der Form COMMAND_TYPE_*** wenn das t-file nicht geladen wurde...... (das ist übriges seit X2 so..)

PS hast du schonmal versucht, ob es funktioniert wenn du nen Spielstand mit aktiviertem SE lädst?? ich hatte kürzlich deswegen mit einem ''AL''-Plugin beim testen probleme.. (sprich: ich hab es trotz aktivem SE und reinit Script Caches nicht gefunden aber Spielstand laden hat geholfen..)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
fred-astaer
Posts: 821
Joined: Wed, 6. Nov 02, 20:31
x3

Post by fred-astaer »

Hi!

Nach langer Zeit wieder mal eine Wortmeldung von mir....

zum Thema:
Als Spielernamen Thereshallbewings eingeben, mit Shift+C die Kommandokonsole des eigenen Schiffes öffnen und dann mit S den SE öffnen.


Pumnkt 1.)

Immer vorausgesetzt das ich den Spielernamen mit "m" (Nahme ändern) auch verändern kann, denn....

Genau diesen Vorgang hab ich eingehalten - jetzt heist mein Schiff "Thereshallbewings" und mit Shift+C bekomm ich das Stationsmenue -> "S" hat überhaupt keine Funktion.

Punkt 2.)

Weiters hab ich festgestellt das es nicht immer funktioniert wenn man eine Bergungsversicherung zum speichern heranzieht - blöd wenn man Sektorweit geflogen ist - und ein Scharmützel mit Piraten nicht überlebt. :(

Punkt 3.)

Auch meinen Pelikan den ich ein Triebwerkstuning spendiert habe, ist dieses nach abdocken wieder abhanden gekommen - hab ich geil gefunden da das ja nicht gerade billig war und nochmals gemacht werden musste. :evil:

Muss nicht ausdiskutiert werden :wink:

Und am Rande hab ich mich noch gefragt, weshalb egosoft so manche Dinge wie z.b. Menueführung nicht beim altgewohnten lassen kann...

Auf Antwort zu Punkt 1 hoffend,

Gruß
Fred :D
Unter den Blinden ist der Einäugige König!
FritzHugo3
Posts: 4702
Joined: Mon, 6. Sep 04, 17:24
x4

Post by FritzHugo3 »

beende grundsätzlich das spiel und lade den spielstand wieder neu bevor ich was teste, hatte ich in XR einfach zu oft das ich was was gefunzt hätte genervt kaputtkorrigiert habe, weil ich vergessen hatte neu zu laden


was ich nicht verstehe, es passiert garnichts in den Stationskomandos der stationen, kein neuer eintrag
Ich fordere mehr und vorallem gerechtere Verteilung von Keksen und Süßkram für die "Magischen 20"! Daher wählen Sie jetzt die DPFGKV, die Deutsche Partei für gerechtere Keks - Verteilung!
FritzHugo3
Posts: 4702
Joined: Mon, 6. Sep 04, 17:24
x4

Post by FritzHugo3 »

du sollst nicht dein schiff in Thereshallbewing umbenennen sondern deinen spielernamen
Ich fordere mehr und vorallem gerechtere Verteilung von Keksen und Süßkram für die "Magischen 20"! Daher wählen Sie jetzt die DPFGKV, die Deutsche Partei für gerechtere Keks - Verteilung!
fred-astaer
Posts: 821
Joined: Wed, 6. Nov 02, 20:31
x3

Post by fred-astaer »

Hi!

Danke für den Hinweis - aber (ich hoffe du nimmst es mir nicht krumm)
für mich wäre es zielführender gewesen auch dazu zu shreiben wo im Menue das zu finden ist. Ich hab nämlich nichts anderes gefunden..

Gruß
Fred :D
Unter den Blinden ist der Einäugige König!
FritzHugo3
Posts: 4702
Joined: Mon, 6. Sep 04, 17:24
x4

Post by FritzHugo3 »

Persönliches, Erweiterte Optionen, Name ändern
Ich fordere mehr und vorallem gerechtere Verteilung von Keksen und Süßkram für die "Magischen 20"! Daher wählen Sie jetzt die DPFGKV, die Deutsche Partei für gerechtere Keks - Verteilung!
fred-astaer
Posts: 821
Joined: Wed, 6. Nov 02, 20:31
x3

Post by fred-astaer »

ja genau - und das hab ich gemacht...

und der SE hat noch immer ein Schloss mit 7 Siegeln :(

Gruß
Fred :D
Unter den Blinden ist der Einäugige König!
fred-astaer
Posts: 821
Joined: Wed, 6. Nov 02, 20:31
x3

Post by fred-astaer »

Erledigt...

mit Autopilot im Menue gefunden!!!

tHX für die Antworten..
Closet bitte

Gruß
Fred :D
Unter den Blinden ist der Einäugige König!
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

warum sollte dieses Topic geschlossen werden?? denkst du du bist der letzte, der ne kleine Frage hat oder was??
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
FritzHugo3
Posts: 4702
Joined: Mon, 6. Sep 04, 17:24
x4

Post by FritzHugo3 »

Meine vorherigen Fragen wurden gelöst, hatte das falsche Komando.

Neue Frage

Auf Station 1 wird ein Kommando eingegeben, es startet Script 1
Script1 startet mit Task 10001 Script2
Script 2 ist in einer Endlosschleife und soll nicht wieder beendet werden

Kann es sein, dass wenn ich nun auf einer zweiten Station dasselbe Kommando gebe, dass das Script auf Station 1 nicht mehr ausgeführt wird, weil es mit Station 2 der Task 10001 überschrieben wird?

Wie kann ich auf mehreren Stationen das gleiche Script in einer „gosub“ -Schleife laufen lassen?

Wäre es Sinnvoll bei Script 1 einen Task-Random laufen zu lassen?
Also in etwa so was:
$Tasknummer == random value from 10000 to 99999 – 1
Call Script mit Task $Tasknummer

Oder sind dann alle anderen Scripte per Zufall ausgenockt?

EDIT: (Es werden von Scrip1 zu Script 2 einmal ein Value und einmal eine Zahl übertragen, also zwei argumente)
Ich fordere mehr und vorallem gerechtere Verteilung von Keksen und Süßkram für die "Magischen 20"! Daher wählen Sie jetzt die DPFGKV, die Deutsche Partei für gerechtere Keks - Verteilung!
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

was willst du denn in einer Endlosschleife laufen lassen?? sowas ist, wenn es nicht global zu Testzwecken oder in einem Kommandoslot läuft eher schlecht, es sollte zumindest eine Abbruchbedingung definiert werden..

und ja, es ist gut möglich, dass du den Task überschreibst.. deswegen nimmt man für sowas auch die nächstbeste freie Tasknummer ausser man braucht eine ganz bestimmte..

$task.id = 10000
while [THIS] -> has Task $task.id in use
| inc $task.id
end

* Task mit $task.id starten


PS ich hab nur den ungefähren Wortlaut hier aufgeschrieben, aber alle Befehle sind in den General Commands ;)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
FritzHugo3
Posts: 4702
Joined: Mon, 6. Sep 04, 17:24
x4

Post by FritzHugo3 »

Das hier will / sollte dauerhaft laufen. Es sei denn du hast was besseres im angebot ;-)


Code: Select all

Arguments
1: Produktauswahl , Var/Station and Ware , 'Produktauswahl' 
2: Fabrikmultiplikator , Nummer , 'Fabrikmultiplikator' 
Source Text

001   HierHerZurckspringen:
002   * Start Liste - Zuordnungsfakten
003   $Energiezellen = Energiezellen
004   $Erz = Erz
005   $Siliziumscheiben = Siliziumscheiben
006   $Kristalle = Kristalle
007   
008   $Argnufleisch = Argnufleisch
009   $ChahoonaFleischbloecke = Cahoona Fleischblöcke
010   $DelixianischerWeizen = Delexianischer Weizen
011   $StoffRheime = Stoff-Rheime
012   $Raumsprit = Raumsprit
013   
014   $BoGas = BoGas
015   $BoFu = BoFu
016   
017   
018   $Kristallfabrik = Argonen Kristallfabrik M
019   
020   $Ranch = Argonen Ranch L
021   $ChahoonaPresse = Argonen Cahoona-Presse L
022   $Argrarzentrum = Argonen Agrarzentrum L
023   $RheimWerk = Argonen Rheim-Werk L
024   $RaumspritBrennerei = Argonen Raumsprit-Brennerei L
025   
026   $BoGasProduktion = Boronen BoGas Produktion L
027   $BoFuCemielabor = Boronen BoFu-Chemielabor L
028   
029   
030   $Kosten = get average price of ware $Kristallfabrik
031   $Kosten.Kristallfabrik = $Kosten * $Fabrikmultiplikator
032   
033   $Kosten = get average price of ware $Ranch
034   $Kosten.Ranch = $Kosten * $Fabrikmultiplikator
035   $Kosten = get average price of ware $ChahoonaPresse
036   $ChahoonaPresse = $Kosten * $Fabrikmultiplikator
037   $Kosten = get average price of ware $Argrarzentrum
038   $Kosten.Argrarzentrum = $Kosten * $Fabrikmultiplikator
039   $Kosten = get average price of ware $RheimWerk
040   $Kosten.RheimWerk = $Kosten * $Fabrikmultiplikator
041   $Kosten = get average price of ware $RaumspritBrennerei
042   $Kosten.RaumspritBrennerei = $Kosten * $Fabrikmultiplikator
043   
044   $Kosten = get average price of ware $BoGasProduktion
045   $Kosten.BoGasProduktion = $Kosten * $Fabrikmultiplikator
046   $Kosten = get average price of ware $BoFuCemielabor
047   $Kosten.BoFuChemielabor = $Kosten * $Fabrikmultiplikator
048   
049   
050   $Herstellungsmenge.Kristallfabrik = 16 * $Fabrikmultiplikator
051   
052   $Herstellungsmenge.Ranch = 15 * $Fabrikmultiplikator
053   $Herstellungsmenge.ChahoonaPresse = 50 * $Fabrikmultiplikator
054   $Herstellungsmenge.Argrarzentrum = 50 * $Fabrikmultiplikator
055   $Herstellungsmenge.RheimWerk = 15 * $Fabrikmultiplikator
056   $Herstellungsmenge.RaumspritBrenn = 4 * $Fabrikmultiplikator
057   
058   $Herstellungsmenge.BoGasProduktio = null * $Fabrikmultiplikator
059   $Herstellungsmenge.BoFuChemielabo = null * $Fabrikmultiplikator
060   
061   
062   $Produktionszeit.Kristallfabrik = 480
063   
064   $Produktionszeit.Ranch = 60
065   $Produktionszei.ChahoonaPresse = 60
066   $Produktionszeiz.Argrarzentrum = 60
067   $Produktionszeit.RheimWerk = 72
068   $Produktionszeit.RaumspritBrenner = 96
069   
070   $Produktionszeit.BoGasProduktion = null
071   $Produktionszeit.BoFuChemielabor = null
072   
073   
074   $Recource1.Kristallfabrik = $Energiezellen
075   
076   $Recource1.Ranch = $Energiezellen
077   $Recource1.ChahoonaPresse = $Energiezellen
078   $Recource1.Argrarzentrum = $Energiezellen
079   $Recource1.RheimWerk = $Energiezellen
080   $Recource1.RaumspritBrennerei = $Energiezellen
081   
082   $Recource1.BoGasProduktion = $Energiezellen
083   $Recource1.BoFuChemielabor = $Energiezellen
084   
085   
086   $Recource2.Kristallfabrik = $ChahoonaFleischbloecke
087   
088   $Recource2.ChahoonaPresse = $Argnufleisch
089   $Recource2.RheimWerk = $DelixianischerWeizen
090   $Recource2.RaumspritBrennerei = $DelixianischerWeizen
091   
092   $Recource2.BoFuChemielabor = $BoGas
093   
094   
095   $Recource3.KristallFabrik = $Siliziumscheiben
096   
097   
098   $MengeRecource1.Kristallfabrik = 240 * $Fabrikmultiplikator
099   
100   $MengeRecource1.Ranch = 75 * $Fabrikmultiplikator
101   $MengeRecource1.ChahoonaPresse = 75 * $Fabrikmultiplikator
102   $MengeRecource1.Argrarzentrum = 75 * $Fabrikmultiplikator
103   $MengeRecource1.RheimWerk = 90 * $Fabrikmultiplikator
104   $MengeRecource1.RaumspritBrennere = 48 * $Fabrikmultiplikator
105   
106   $MengeRecourcen.BoGasProduktion = null * $Fabrikmultiplikator
107   $MengeRecource1.BoFuChemielabor = null * $Fabrikmultiplikator
108   
109   
110   $MengeRecource2.Kristallfabrik = 160 * $Fabrikmultiplikator
111   
112   $MengeRecource2.ChahoonaPresse = 15 * $Fabrikmultiplikator
113   $MengeRecource2.RheimWerk = 60 * $Fabrikmultiplikator
114   $MengeRecource2.RaumspritBrennere = 32 * $Fabrikmultiplikator
115   
116   $MengeRecource2.BoFuChemielabor = null * $Fabrikmultiplikator
117   
118   
119   $MengeRecource3.KristallFabrik = 10 * $Fabrikmultiplikator
120   
121   
122   * Ende der Zuordnungsfackten
123   
124   
125   
126   * Start Liste - Zuordnung der gewünschten Fabrik und Kauf
127   if [THIS]
128   |$Produktauswahl = $Kristalle
129   |$FreierPlatzImStationslager = [THIS] -> get free amount of ware $Kristalle in cargo bay
130   |if $FreierPlatzImStationslager > $Herstellungsmenge.Kristallfabrik * 2
131   ||if [THIS]
132   |||$GenugRecource1AufLager = [THIS] -> get amount of ware $Recource1.Kristallfabrik in cargo bay
133   |||if $GenugRecource1AufLager > $MengeRecource1.Kristallfabrik
134   ||||if [THIS]
135   |||||$GenugRecource2AufLager = [THIS] -> get amount of ware $Recource2.Kristallfabrik in cargo bay
136   |||||if $GenugRecource2AufLager > $MengeRecource2.Kristallfabrik
137   ||||||if [THIS]
138   |||||||$GenugRecource3AufLager = [THIS] -> get amount of ware $Recource3.KristallFabrik in cargo bay
139   |||||||if $GenugRecource3AufLager > $MengeRecource3.KristallFabrik
140   ||||||||if [THIS]
141   |||||||||$Spielerkonto = get player money
142   |||||||||if $Spielerkonto > 5000
143   ||||||||||
144   ||||||||||add money to player: -5000
145   ||||||||||$GenugRecource1AufLager = $MengeRecource1.Kristallfabrik * -1
146   ||||||||||$GenugRecource2AufLager = $MengeRecource2.Kristallfabrik * -1
147   ||||||||||$GenugRecource3AufLager = $MengeRecource3.KristallFabrik * -1
148   ||||||||||
149   ||||||||||$IstZeit = playing time
150   ||||||||||$SollZeit = $IstZeit + $Produktionszeit.Kristallfabrik
151   ||||||||||while $IstZeit < $SollZeit
152   |||||||||||$Produktionszeit.Kristallfabrik = ( $SollZeit - $IstZeit ) * 1000
153 @ |||||||||||= wait $Produktionszeit.Kristallfabrik ms
154   |||||||||||$IstZeit = playing time
155   ||||||||||end
156   ||||||||||= [THIS] -> add $Herstellungsmenge.Kristallfabrik units of $Kristalle
157   ||||||||||play sample 900
158   |||||||||end
159   ||||||||end
160   |||||||end
161   ||||||end
162   |||||end
163   ||||end
164   |||end
165   ||end
166   |end
167   end
168   
169   
170   
171   
172   
173   
174   
175   
176 @ = wait 5000 ms
177   gosub HierHerZurckspringen
178   return null
Unter der Kristallfabrik kommen dann noch alle anderen Warenklasse 1 und 2 Fabriken, habs erstmal bis hier her geschrieben, fallses net hinhaut ;-)
Ich fordere mehr und vorallem gerechtere Verteilung von Keksen und Süßkram für die "Magischen 20"! Daher wählen Sie jetzt die DPFGKV, die Deutsche Partei für gerechtere Keks - Verteilung!
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

Vergleich der Scriptversion deines Scripts mit der aktuell neuesten verfügbaren und ein anschliessender kompletter Neustart des Scripts falls eine aktuellere verfügbar ist wäre nicht verkehrt, denn sonst hast du ein GROSSES problem, wenn du dich irgendwo vertan hast und nachträglich eine Änderung im Code machen musst... ausserdem gibt es bei dieser Variante wenn ich das richtig sehe keine möglichkeit das Script wieder zu entfernen (deinstallieren), wenn es mal läuft...

PS wenn ich den Code richtig beim überfliegen verstanden habe:
156 ||||||||||= [THIS] -> add $Herstellungsmenge.Kristallfabrik units of $Kristalle

kleiner Tipp: der Rückgabewert hier gibt an, wie viele Kristalle tatsächlich zurückgegeben wurden, ich würde diesen abschnitt folgendermassen erweitern:

| $Herstellungsmenge.Kristallfabrik.hinzugefügt = [THIS] -> add $Herstellungsmenge.Kristallfabrik units of $Kristalle
| $Herstellungsmenge.Kristallfabrik.Rest = $Herstellungsmenge.Kristallfabrik - $Herstellungsmenge.Kristallfabrik.hinzugefügt
| while $Herstellungsmenge.Kristallfabrik.Rest
| | @wait 5000 ms
| | $Herstellungsmenge.Kristallfabrik.hinzugefügt = [THIS] -> add $Herstellungsmenge.Kristallfabrik.Rest units of $Kristalle
| | $Herstellungsmenge.Kristallfabrik.Rest = $Herstellungsmenge.Kristallfabrik - $Herstellungsmenge.Kristallfabrik.hinzugefügt
| end

Damit verhinderst du, dass Kristalle verloren gehen, wenn die Lager voll sind..

PS2 deine Variablennamen sind wirklich :shock: nimm lieber nen paar eindeutige Abkürzungen...

PS3 hast du wirklich vor, alle Fabriken in einem Script mit Waren zu belegen UND den eigentlichen Produktionsablauf dort auch zu realisieren?? und dazu beides für jeden Durchlauf neu?? :shock: da gibt es viel elegantere und Performancefreundlichere Lösungen...
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
FritzHugo3
Posts: 4702
Joined: Mon, 6. Sep 04, 17:24
x4

Post by FritzHugo3 »

Vergleich der Scriptversion deines Scripts mit der aktuell neuesten verfügbaren und ein anschliessender kompletter Neustart des Scripts falls eine aktuellere verfügbar ist wäre nicht verkehrt, denn sonst hast du ein GROSSES problem, wenn du dich irgendwo vertan hast und nachträglich eine Änderung im Code machen musst... ausserdem gibt es bei dieser Variante wenn ich das richtig sehe keine möglichkeit das Script wieder zu entfernen (deinstallieren), wenn es mal läuft...
muss doch nur den Spielstand neuladen, wenn ich was im Code ändere, da ich das sowieso immer mache ist das eher nicht nötig glaube ich.

Das soll ja auch nicht beendet werden, bzw. wenn ich es richtig sehe wird das script automatisch beendet, wenn die Station oder das Kontrollcenter Zerstört wird, anders kann man eine normal aufgestellte Fabrik ja auch nicht stoppen. Und wer will schon absichtlich seinen Komplex wieder zerstören?



ch würde diesen abschnitt folgendermassen erweitern:

| $Herstellungsmenge.Kristallfabrik.hinzugefügt = [THIS] -> add $Herstellungsmenge.Kristallfabrik units of $Kristalle
| $Herstellungsmenge.Kristallfabrik.Rest = $Herstellungsmenge.Kristallfabrik - $Herstellungsmenge.Kristallfabrik.hinzugefügt
| while $Herstellungsmenge.Kristallfabrik.Rest
| | @wait 5000 ms
| | $Herstellungsmenge.Kristallfabrik.hinzugefügt = [THIS] -> add $Herstellungsmenge.Kristallfabrik.Rest units of $Kristalle
| | $Herstellungsmenge.Kristallfabrik.Rest = $Herstellungsmenge.Kristallfabrik - $Herstellungsmenge.Kristallfabrik.hinzugefügt
| end

Damit verhinderst du, dass Kristalle verloren gehen, wenn die Lager voll sind..
Hä? verstehe nur Bahnhof lach.

um zu verhindern, dass produziert wird, wenn das Lager voll ist habe ich doch das hier und um sicher zu gehen ist es gleiczh die doppelte Menge die im Lager frei sein muss als die Menge die Hergestellt wird.

Code: Select all

127   if [THIS]
128   |$Produktauswahl = $Kristalle
129   |$FreierPlatzImStationslager = [THIS] -> get free amount of ware $Kristalle in cargo bay
130   |if $FreierPlatzImStationslager > $Herstellungsmenge.Kristallfabrik * 2 
PS2 deine Variablennamen sind wirklich Shocked nimm lieber nen paar eindeutige Abkürzungen...
Wieso? Sind doch eindeutig, wird nichts zweimal benutzt und sind aussagekräftig. Man weis doch Sofort was mit kosten, Bezahlen, MengeRecource1.... gemeint ist, finde ich jedenfalls. Gut für Engländer ists halt pech *g* aber umgekehrt ärgere ich mich immer über die englischen dinge wie $Warecargo etc. wieso schreibt ein deutscher Scripter nicht in seiner Muttersprache, dann würden es alle anderen auch gleich verstehen ohne es 10 zu lesen. Oder ich habs falsch verstanden was du damit sagen wolltest, bitte um Erklärung.

PS3 hast du wirklich vor, alle Fabriken in einem Script mit Waren zu belegen UND den eigentlichen Produktionsablauf dort auch zu realisieren?? und dazu beides für jeden Durchlauf neu?? Shocked da gibt es viel elegantere und Performancefreundlichere Lösungen...
If Auswahl $Kristalle
Es sind im moment zwei Scripte, der erste schaut welches Produkt gewählt wurde, ob genug Credits für den kauf der Stationen vorhanden ist, Ob genug Platz im Lager ist, sind die Waren überhaupt registriert und so was, , wenn alles ok ist, zieht es die Credits für den Kauf ab und startet dann per cal...Task...Arg1 - Was soll hergestellt werden + Arg2 - wie viele Stationen - übergabe an das zweite Script. return null
Call ... arg1 ... übergib Kristalle


Das Zweite Script
If der übergabewert Arg1 = Kristalle, dann starte die Kristallproduktion
If der übergabewert Arg anderes Produkt, dann starte Produktion anderes Produkt.



Shocked da gibt es viel elegantere und Performancefreundlichere Lösungen
DAS GLAUBE ICH DIR SOFORT, aber wer hat schon Lust mir davon ein Beispiel zu Scripten, dass so einfach geschriebenist, dass selbst ich es verstehe und reproduzieren kann ;-)



Also wenn ich es mit meiner X3R- Variante des Scripts vergleiche, ist dieser code um hunderte Punkte besser geschrieben <<< in ecke schmeiß und sich vor lachen auf boden rollt.

da hatte ich für jede einzelne Produktion zwei scripte laufen
Argnu = 2 Scripte
Chahoona = 2 Scripte usw.

hauptsache es hatte funktioniert grins.

Und nein nicht jede Fabrik nur die für Warenklasse 1 und 2 (Ausnahme sind Kristalle, weil man die in Massen zwecks Energiezellen für Warenklasse 1 und 2 braucht).

Nun muss ich es nur noch hinbekommen, das ich das Script auf mehreren Stationen gleichzeitig zu laufen bringe ohne das das die erste Station den Task der zweiten Station überschreibt.

Problem ist folgendes, wenn man ein zweites mal auf der selben Station das script ausführt, werden alle vorher gekauften Stationen vergessen und somit sind millionen von Credits futsch. Das script muss also irgendwie schauen wieviele Stationen bereits ber Script gekauft wurden und diese dann + die neueingegeben rechnen. mal schaun.

Soweit funktioniert der code jedenfalls erstmal
Ich fordere mehr und vorallem gerechtere Verteilung von Keksen und Süßkram für die "Magischen 20"! Daher wählen Sie jetzt die DPFGKV, die Deutsche Partei für gerechtere Keks - Verteilung!
Kraxl
Posts: 80
Joined: Wed, 22. Oct 08, 09:43

Post by Kraxl »

Ihr müßt mir unbedingt mal helfen. Seit 4 Tagen sitze ich hier mit rauchendem Kopf und kriege es nicht auf die Reihe.

Kurzum:
Wieso hat mein selbsterstelltes Universum keine Schiffe?
Es fliegt absolut kein Schiff rum außer die Flugschule.

Früher bei X3-Reunion bekam ich das so hin das ich die jobs + jobwings.pck in einen separaten types Ordner kopiert habe, diesen dann ins X3-R Hauptverzeichniss kopiert und die beiden Dateien umbenannt habe.
Wenn also das Universum "Mein-Universum" hieß, habe ich die eine datei in "jobs.Mein-Universum.pck und die andere in jobwings.Mein-Universum.pck umbenannt.
Nur bei X3-Tc funzt das nicht. Hat jemand einen Tipp?

Habe schon die komplette Suchmaschine hier durchgewühlt. Tipps aus X3-R probiert, in der Hoffnung das dies auch bei X3-TC funzt, nichts.

Komischerweise funktioniert es wenn ich meine Map in x3_universe umbenenne. Das Kuriose dabei ist, das meine x3_Universe dann eine höhere Priorität besitzt als die Originalmap, d.h. wenn ich einen normalen Spielstart nehme, z.b "bescheidener Händler" oder sonstwas, spiele ich mit meinem Universum, nicht mit dem Original. Das Problem hierbei ist, das eine Endlosschleife aktiv ist, die ich selbst mit neuinstallierung des Spiels nicht rausbekomme. In dieser Endlosschleife werde ich 3 sek. nach Spielstart von einer schier endlosen Anzahl an Terranerschiffen angegriffen. (Schätze das ist ein kleiner Bug)

Darum habe ich dieses Universum umbenannt, die Endlosschleife ist nun weg, aber ich habe keine Schiffe im Universum. Wenn wenigstens Händler rumfliegen würden wäre ich schon zufrieden.
Habe das Spiel 3x neu installiert, in der suchmaschine alles zum Thema jobs, jobwings, types rausgesucht nichts hilft. :evil:

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”