Angebotene Waren einer Station verändern.

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

stunner666
Posts: 160
Joined: Fri, 8. Feb 08, 19:22
x4

Post by stunner666 » Mon, 16. Apr 18, 16:17

ohhh yeah baby es geht endlich. hab alles gefunden!

Danke jungs!

stunner666
Posts: 160
Joined: Fri, 8. Feb 08, 19:22
x4

Post by stunner666 » Mon, 16. Apr 18, 18:33

ooook ich hätte doch noch eine Frage.

Ich will das ganze bissel erweitern.

Für einzelne Waren geht das jetzt wunderbar.

Aber wenn ich versuche gleichzeitig mehrere hinzuzufügen geht es nicht.

Also Sprungantrieb, Transporter und Lebenserhaltung z.B.

$station -> add Product to Factory or Dock: Sprungantrieb
$station -> add 1 units of ware Sprungantrieb

hab ich einfach kopiert untereinander gestellt und die anderen waren eingetragen anstatt Sprungantrieb

$station -> add Product to Factory or Dock: Sprungantrieb
$station -> add 1 units of ware Sprungantrieb
$station -> add Product to Factory or Dock: Transporter
$station -> add 1 units of ware Transporter

dann passiert aber leider nichts mehr :D

Könnt mir da noch jemand helfen bitte?

Gruß
Stunner

User avatar
ubuntufreakdragon
Posts: 5189
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Mon, 16. Apr 18, 19:13

gib mal das ganze script an
falls du die variante mit

Code: Select all

if not $station -> uses ware Sprungantrieb as product
*...
end
nutzt denk daran für jede ware einen eigenen block aufzumachen

Code: Select all

if not $station -> uses ware Sprungantrieb as product
$station -> add Product to Factory or Dock: Sprungantrieb
$station -> add 1 units of ware Sprungantrieb
end
if not $station -> uses ware Transporter as product
$station -> add Product to Factory or Dock: Transporter
$station -> add 1 units of ware Transporter 
end
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

User avatar
Klaus11
Posts: 859
Joined: Mon, 13. Feb 12, 17:23
x3ap

Post by Klaus11 » Mon, 16. Apr 18, 19:16

Warum bastelst Du nicht gleich ein neues AD? Damit hast Du weniger Probleme. Hier ein Beispiel.

Code: Select all

$x = $setLoc[0]
.........
..........
goto label check1:
return null
Dieses Beispiel habe ich entfernt.
Last edited by Klaus11 on Thu, 19. Apr 18, 13:16, edited 2 times in total.
[ external image ] Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE

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

Post by UniTrader » Tue, 17. Apr 18, 00:07

korrektur zum vorigen beispiel: der goto-Loop ist afaik im falle von ADs für Softwareeweiterungen nicht nötig. diese müssen nur einmal hinzugefügt werden, damit es etwas gibt das man kaufen kann, aber wenn man diese erwirbt wird es nicht vom lagerbestand abgezogen.
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 ;)

User avatar
Klaus11
Posts: 859
Joined: Mon, 13. Feb 12, 17:23
x3ap

Post by Klaus11 » Tue, 17. Apr 18, 06:07

Welche negativen Folgen hätte es, wenn Deine vorgeschlagene Korrektur nicht vorgenommen wird?
[ external image ] Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE

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

Post by UniTrader » Tue, 17. Apr 18, 18:29

man kann Erweiterungen nicht mehr im AD entfernen, da dann nach einer sekunde 2 davon vorhanden sind und das Lager somit voll. und nebenher ist der Preis daher ein wenig niedriger als üblich. nicht negativ, aber sicher nicht beabsichtigt...
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 ;)

User avatar
ubuntufreakdragon
Posts: 5189
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Tue, 17. Apr 18, 18:32

So oder so dein Script ist ein schlechtes beispiel.
1 es ist zu lang, für seine zwecke wäre ein beispiel für 2 exemplare das richtig, dann sieht er was kopiert werden muss und was nicht
2 du ignorierst sonderfälle, dieser würde z.b. zusätzlich zu UTs antwort auch zu unschöner darstellung der waren führen, da docks für gewöhnlich genau ein exemplar an software führen.
3 die variablen sind nicht sinnvoll benahmt, hier z.b. wäre ein array deutlich sinnvoller statt 30 einzel vars
Hier mal eine Sinnvolle Variante für mehrere arten Software

Code: Select all

*finden von sektor + station
$sector = get sector from universe index: x=1 y=3
$station = find station in sector $sector class/type= Argon Ausrüstungsdock

*auflistung aller benötigten/gewünschten Waren
*alle unter general comands -> Arrays
$arr.warestoadd = array alloc: size=0
append Sprungantrieb to array $arr.warestoadd
append Transporter to array $arr.warestoadd

$counter = size of array $arr.warestoadd
*zu finden in general commands: <RetVar/IF><Expression>
while $counter
  *zu finden in general commands, bedeutet: ziehe 1 von $counter ab
  dec $counter =
  *unter general comands -> Arrays: RetVar/IF><Var/Array>[<Var/Number>]
  $ware = $arr.warestoadd[$counter]
  
  *der teil ist ja schon bekannt
  *erst prüfen wir ob die ware fehlt
  if not $station -> uses ware $ware as product
    *falls ja fügen wir sie hinzu
    $station -> add Product to Factory or Dock: $ware 
    $station -> add 1 units of ware $ware 
  end 
end
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

Post Reply

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