Normalerweise habe ich viel Geduld dabei, eine Scriptsprache zu erlernen...
Ich hatte auch bei dieser Sprache viel Geduld.
Doch im Unterschied zur Regel habe ich hier versagt.
Ich bitte um Hilfe.
Zwei Dinge sind es, deren Bearbeitung ich harre.
Das erste dieser Dinge sei zu erstellen, das zweite nur zu verändern.
Dies ist, was ich benötige:
Im Kommandomenü einer Station des Spielers sei die Möglichkeit auszuwählen, eine Zahl ohne Nachkommastellen zu speichern.
Diese Zahl sei derart zu speichern, dass sie von anderen Scripten abgerufen werden kann.
Die "Handelserweiterung Mk1" (ehemals BPH) sei nun dergestalt zu modifizieren, dass ein Schiff des Spielers, auf dem sie aktiviert ist, bei einer Station des Spielers falls vorhanden die gespeicherte Zahl statt des eingestellten Verkaufspreises für das Stationsprodukt abruft.
Wenn das Schiff auf dieser Station landen sollte, weil diese Zahl geringer war als die Preise aller anderen gleichartigen Stationen im Sektor, sei die Ware auch zu dem Preis "gespeicherte Zahl * Stückzahl" zu erwerben.
Zu beachten sei, dass dies nur dann geschehe, wenn die Station, auf der die Zahl gespeichert ist und das Schiff, das auf ihr einzukaufen gedenkt, demselben Spieler angehören müssen.
Ist dies nicht der Fall, sei die gespeicherte Zahl in keinster Weise durch die "Handelserweiterung Mk1" zu beachten und auch nicht zur Berechnung des Einkaufspreises hinzuzuziehen.
Obwohl bisher jegliche Bitte um ein beliebig geartetes Script abgelehnt wurde, hoffe ich, dass dies diesmal nicht der Fall werden wird.
Ich danke im Voraus für die Zeit, die jemand für mich zu opfern gedenkt.
Findet sich wohl noch ein Scripter mit helfender Hand...
Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum
-
- Posts: 630
- Joined: Mon, 6. Jun 05, 14:25
-
- Posts: 5285
- Joined: Mon, 11. Apr 05, 21:11
Du willst also, dass die Station zwei Preise anbietet; einen für BPH-Frachter, einen für den Rest. Die BPH-Sofware verwendet mE auch die "kaufe Ware zum besten Preis"-Funktion, die aber ein internes Script ist, wo man nicht rankommt (und nicht rankommen sollte). Daher gestaltet sich das ganze etwas schwierig.
Falls du nicht allzu viele Frachter hast, habe ich folgende fixe Idee:
1. Ich hab es selbst noch nicht versucht, aber es sollte möglich sein, mit einer UTF-8-Textdatei den Befehl "Zahl eingeben" als Script mit dem Stationskommandomenü zu verbinden.
2. Als global variable kannst du nun im Script die Zahl "veröffentlichen":
3.: Nun wird bei jedem Start des Scriptes einer globalen Variablen der Name der Station zugewiesen, einer weiteren der Wert. Im BPH-Script kannst du dann die Anzahl der insgesamt benutzten Stationen wieder abrufen, in einem Loop für jede Station den Wert abrufen.
4. In dem Loop muss du den Verkaufspreis jeder Station speichern, dann auf den eingegebenen Wert setzen.
5. Nun lässt du den Frachter nach dem besten Preis suchen
6. In einem weiteren Loop setzt du für jede Station den Preis wieder aufs alte
7. Beim Kauf das gleiche nochmal.
Unverständlich? Kann ich nicht besser erklären.
Unpraktikabel? War nur ne fixe Idee.
Bessere Idee? Immer her damit!
Falls du nicht allzu viele Frachter hast, habe ich folgende fixe Idee:
1. Ich hab es selbst noch nicht versucht, aber es sollte möglich sein, mit einer UTF-8-Textdatei den Befehl "Zahl eingeben" als Script mit dem Stationskommandomenü zu verbinden.
2. Als global variable kannst du nun im Script die Zahl "veröffentlichen":
Code: Select all
Arguments:
1 NeuerPreis, num, "Gewünschter Zahlenwert"
001 'AnzahlBPHStationen'=get global variable: 'AnzahlBPHStationen'
002 if 'AnzahlBPHStationen'=null then 'AnzahlBPHStationen'=1
003 else inc 'AnzahlBPHStationen'
004 end
005 set global variable 'AnzahlBPHStationen' value 'AnzahlBPHStationen'
006 PreisStationX = 'PreisStation' + AnzahlBPHStationen
007 NameStationX = 'NameStation' + AnzahlBPHStationen
008 valueNameStation = [THIS]
009 set global variable 'PreisStationX' value 'NeuerPreis'
010 set global variable NameStationX value valueNameStation
4. In dem Loop muss du den Verkaufspreis jeder Station speichern, dann auf den eingegebenen Wert setzen.
5. Nun lässt du den Frachter nach dem besten Preis suchen
6. In einem weiteren Loop setzt du für jede Station den Preis wieder aufs alte
7. Beim Kauf das gleiche nochmal.
Unverständlich? Kann ich nicht besser erklären.
Unpraktikabel? War nur ne fixe Idee.
Bessere Idee? Immer her damit!
-
- Posts: 630
- Joined: Mon, 6. Jun 05, 14:25
... "!ship.cmd.sellwarebest.pl.pck" oder "!ship.cmd.sellwarebest.std.pck" - Man lösche das Ausrufezeichen aus dem Dateinamen und kann sodann im Scripteditor darauf zugreifen.
Wozu mag die Anzahl der betroffenen Stationen wichtig sein?
Kann man nicht einfach bei der Station, die gerade überprüft wird, schauen, ob sie betroffen ist oder nicht?
Wozu mag die Anzahl der betroffenen Stationen wichtig sein?
Kann man nicht einfach bei der Station, die gerade überprüft wird, schauen, ob sie betroffen ist oder nicht?
-
- Posts: 630
- Joined: Mon, 6. Jun 05, 14:25
Es darf ruhig geäußert werden, wenn, dass meine Idee schlecht war.
Nur so viel Ignoranz ist etwas... Wie soll ich sagen... "Reizend"?
Wenn es nicht so zu machen ist/wenn niemand an diese Scripte heran möchte, schreibe man von mir aus eine ganz neue Einkaufsfunktion!
Es muss ja nicht einmal richtiges "Einkaufen" sein.
Die Ware zu löschen/zu erstellen und desgleichen mit dem Geld zu tun, ist genauso gut möglich.
Ich bin ja nun wirklich nicht wählerisch!
Nur so viel Ignoranz ist etwas... Wie soll ich sagen... "Reizend"?
Wenn es nicht so zu machen ist/wenn niemand an diese Scripte heran möchte, schreibe man von mir aus eine ganz neue Einkaufsfunktion!
Es muss ja nicht einmal richtiges "Einkaufen" sein.
Die Ware zu löschen/zu erstellen und desgleichen mit dem Geld zu tun, ist genauso gut möglich.
Ich bin ja nun wirklich nicht wählerisch!