brauche Hilfe: "add Merchant [...]"

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

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

User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

brauche Hilfe: "add Merchant [...]"

Post by o1ofco2 »

hiho Leute :)

kann mir jmd sagen warum bei mir folgendes script nicht funktioniert?
(es soll einen "Tauschhändler" auf einer station erstellen, der 1000 Energiezellen sucht und dafür 100 Argnufleisch zum Tausch anbietet)

Code: Select all

001 $tmp.array = array alloc: 0
002 append Energiezellen to array $tmp.array
003 append 1000 to array $tmp.array
004
005 $wanted.ware = array alloc: 0
006 append $tmp.array to array $ wanted.ware
007
008 $tmp.array = array alloc: 0
009 append Argnufleisch to array $tmp.array
010 append 100 to array $tmp. array
011
012 owned.ware = array alloc: 0
013 append $tmp.array to array $owned.ware
014
015 $base = Freie Argon Handelsstation (Argon Prime)
016 $name = get random name form race Argonen
017
018 add merchant $name base=&base wanted wares=$wanted.ware owned wares=$owned.ware cash=100000 rank=2
habe dieses script aus der MSCI Onlinereferenz aber es scheint nicht zu funktionieren :(

thx für jegliche hinweise
-o1 :)

PS: ich will es am ende in ein größeres script einbauen, in dem auf jeder Piratenstation ein händler erstellt wird, der für 2 Sklaven 2 Hackerchips rausrückt... o.g. script ist erstmal nur testweise, aber leider nicht funktionstüchtig...
daye
Posts: 263
Joined: Mon, 2. Feb 04, 03:21
x3tc

Post by daye »

Hi!

Habs grad selbst getestet und es funktioniert. Hier der Code:

Code: Select all

001   $Sector = get sector from universe index: x=1, y=3
002   if $Sector -> exists
003   |$station =  find station: sector=$Sector class or type=Freie Argon Handelsstation race=Argonen flags=[TRUE] refobj=Freie Argon Handelsstation maxdist=$Sector maxnum=1 refpos=$Sector
004   |
005   |$tmp.array =  array alloc: size=0
006   |append Energiezellen to array $tmp.array
007   |append 1000 to array $tmp.array
008   |
009   |$wanted.ware =  array alloc: size=0
010   |append $tmp.array to array $wanted.ware
011   |
012   |$tmp.array =  array alloc: size=0
013   |append Argnufleisch to array $tmp.array
014   |append 100 to array $tmp.array
015   |
016   |$owned.ware =  array alloc: size=0
017   |append $tmp.array to array $owned.ware
018   |
019   |$name = get random name: race=Argonen
020   |
021   |add merchant $name base=$station -> wanted wares=$wanted.ware owned wares=$owned.ware cash=100000 rank=2
022   |
023   else
024   |$Nachricht = 'Der angegebene Sektor existiert nicht!'
025   |send incoming message $Nachricht to player: display it=[TRUE]
026   end
027   return null
grüße
daye :)
X3R/X3TC/X3AP Automatisierte EndProdukt-Preiskalkulation V1.024
X3AP Startszenario Eigenes HQ
X3TC/X3AP Verbesserte Schildeffekte
An d. Tag, wo X-Rebirth eingestampft u. ein echtes X4 angekündigt wird, geb ich ne Party in Omikron Lyrae!
User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 »

hmm... hast recht daye, für Handelsstationen scheint das zu funzen...
(hatte es von Anfang an nur auf Piribasen versucht)

habs grad getestet und es ging... aber als ich den Stationstyp änderte gings nicht mehr :(

hab versucht nen Händler auf ner Piribasis zu erstellen aber das scheint nicht zu klappen... (liegts vielleicht daran, dass es in HS keine Tauschhändler gibt und somit "Platz" für eigene Händler vorhanden ist?)

hat jmd ne Ahnung wie man das auch für Piribasen lösen könnte?
...Hackerchips an ner normalen Handelsstation erhalten zu können halt ich für nen bissl zu riskant... jedenfalls für den Verkäufer...

falls es nicht gehen sollte könnte ich mich noch für die Teladianischen Handelsstationen als Umschlagplatz breitschlagen lassen - die handeln ja bekanntlich mit allem was nach Profit schnuppert :roll: - aber das Gelbe vom Ei wärs nicht...

LG
-o1
daye
Posts: 263
Joined: Mon, 2. Feb 04, 03:21
x3tc

Post by daye »

Hi o1ofco2,

ja seltsamerweise funktioniert es an keiner anderen Station. Zumindest nicht an denen die ich probiert habe:

Piraten Basis = negativ
Piraten Söldner M = negativ
Der Marodeur = negativ
Argon Agrarzentrum M = negativ
Teladi Handelsstation = negativ
Boron Chip Werk = negativ

Argon Handelsstation = positiv

Letztenendes bringt mich das zu dem Schluß, dass da noch irgendetwas anderes berücksichtigt wird. Aber was???

Ich bin auch nicht so der Script-Guru und habe nur rudimentäre Kenntnisse. Deshalb kann ich dir da nichts genaueres erzählen.

Normalerweise hätte ich es so gemacht, wenn ich an allen Piri-Basen einen Händler mit Hackerchips hinzugefügt haben möchte (bei race und class/type stünde natürlich Piraten und Piraten Basis):

Code: Select all

001   $add.haendler =  get station array: of race Argonen class/type=Freie Argon Handelsstation
002   $size =  size of array $add.haendler
003   
004   while $size
005   |dec $size = 
006   |
007   |$station = $add.haendler[$size]
008   |$tmp.array =  array alloc: size=0
009   |append Energiezellen to array $tmp.array
010   |append 1000 to array $tmp.array
011   |
012   |$wanted.ware =  array alloc: size=0
013   |append $tmp.array to array $wanted.ware
014   |
015   |$tmp.array =  array alloc: size=0
016   |append Hackerchips to array $tmp.array
017   |append 100 to array $tmp.array
018   |
019   |$owned.ware =  array alloc: size=0
020   |append $tmp.array to array $owned.ware
021   |
022   |$name = get random name: race=Teladi
023   |
024   |add merchant $name base=$station -> wanted wares=$wanted.ware owned wares=$owned.ware cash=100000 rank=2
025   end
026   return null
An Argon Handelsstationen funktioniert das Script einwandfrei. Aber an Piri-Basen und denjenigen die ich auch noch getestet habe nicht! Ich weiß mir keinen Reim drauf zu machen.

grüße
daye :)
X3R/X3TC/X3AP Automatisierte EndProdukt-Preiskalkulation V1.024
X3AP Startszenario Eigenes HQ
X3TC/X3AP Verbesserte Schildeffekte
An d. Tag, wo X-Rebirth eingestampft u. ein echtes X4 angekündigt wird, geb ich ne Party in Omikron Lyrae!
User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 »

hmm... wie blöd :S
aber danke fürs testen daye :)

hat jmd ne ahnung ob es möglich wäre, einfach einem schon vorhandenem Händler an einer Piristation diese Hackerchips mit in sein Angebot zu schieben?
Ich hab nur leider keine Ahnung wie ich die vorhandenen Händler auslesen kann um an ihre Namen zu kommen.
Komme mit dem Befehl "<RetVar> = <RefObj> get merchants" nicht ganz zu rande...

LG und thx
-o1 :)
alles
Posts: 912
Joined: Sat, 1. Oct 05, 14:42
x4

Post by alles »

o1ofco2 wrote:
Komme mit dem Befehl "<RetVar> = <RefObj> get merchants" nicht ganz zu rande...


Übergibt ein Array mit den Händlern der Händlerliste (Tauschen) der Station <RefObj>, Funktioniert scheinbar nicht da der Rückgabewert immer null ist.

Zitat aus MSCI Onlinereferenz

In wie weit das noch aktuell ist, oder mit X3TC jetzt doch funzt, weis ich natürlich nicht :)

cu
alles
User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 »

jo alles, leider ist der Ausgabewert immernoch null :S

hab schon damit rungefummelt, aber es will nicht klappen...

LG
-o1
User avatar
MADxHAWK
Posts: 710
Joined: Tue, 1. Mar 05, 17:49
x4

Post by MADxHAWK »

Hi,

ich werde die Händlerbefehle bei gelegenheit unter X3TC nochmal testen :)

EDIT: Hab jetzt mal ein bischen rumgespielt:

1. <retvar/if> <refobj> get merchants liefert ein Array mit den Händlern aber NUR!! auf Handelsstationen und NUR wenn du angedockt bist. Klappte zumindest auf ner Argon Handelsstation aber auf keiner anderen.

2. add merchant <var/string> base=<refobj> wanted ware=<var/array>..... funktioniert auch NUR auf einer Handelsstation und ebenfalls NUR wenn du angedockt bist.


Ich nehme mal an das die Händler auf den Stationen erst erzeugt werden wenn der Spieler an der Station andockt und deshalb die Befehle auch nur dann funktionieren. Warum die allerdings auf Handelsstationen beschränkt zu sein scheinen weiss ich nicht.


Greetz

MADxHAWK
***modified*** und stolz drauf
Why does it hurt when my heart misses the beat? Propaganda - Dr. Mabuse (1984)
TheElf
Posts: 351
Joined: Wed, 6. Nov 02, 20:31
x3

Post by TheElf »

Wird mit patch 1.3 dann auch überall gehen.

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