ScriptFrage: Munitionsabfrage

Hier ist der ideale Ort um über Scripts und Mods für X³: Reunion zu diskutieren.

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

Post Reply
User avatar
jensemann
Posts: 541
Joined: Mon, 6. Mar 06, 11:17
x4

ScriptFrage: Munitionsabfrage

Post by jensemann » Mon, 23. Apr 07, 01:32

Wenn man unter General Object Commands / Weapon information schaut, findet man den Befehl
<RetVar/IF>get ammunition of laser <Var/Ware>
wenn ich mir damit die Munition zur PK angeben lassen will kommt 10481618 raus.
Wie kriege ich die Ware Projektilkanonen-Munition aus dieser Zahl ? :?

jensemann
ob ***modified*** oder nicht - Hauptsache: Spaß!!!

Carrier Fighter Supplies V1.2a deutsch
Carrier Fighter Supplies V1.2a english

User avatar
Ogerboss
Posts: 1465
Joined: Sat, 5. Aug 06, 22:05
x3tc

Post by Ogerboss » Mon, 23. Apr 07, 08:14

Soweit ich weiss, ist das garnicht nötig, denn folgendes Script (das war der Beginn meiner Spripterlaufbahn :mrgreen: ) funzt einwandfrei.

Code: Select all

Arguments
1: station , Var/Station , 'lolo' 
2: HQ , Var/Station owned by Player , 'Hq angeben' 
Source Text

001   $statid = $station -> get ware type code of object
002   $HQ -> remove product from factory or dock: $statid
003   return null
Je nachdem was du damit machen willst, müsste also der Warencode ausreichen.
Ansonsten frage einfach per Schleife alle Subtypen der Kategorie Hightech auf ihren Warencode ab und wenn der mit dem Wert aus deinem Befehl übereinstimmt, dann mit der Ware weiterarbeiten. Oder kürzer noch, du lässt dir einfach vom Spiel den Warencode für die PK-Munition geben und vergleichst die beiden Werte nur noch.
[ external image ]
***modified*** und stolz drauf

User avatar
Blacky_BPG
Posts: 2030
Joined: Mon, 23. Feb 04, 23:42
x4

Post by Blacky_BPG » Mon, 23. Apr 07, 14:59

Ich denke das er das nicht vorhaben wird...
Das ist jensemann, der Mann der für die PK-MUN Versorgung auf Trägern da ist.
Ich denke er wird wissen wollen wieviel Mun genau ein Jäger noch zur Verfügung hat.
Denn eine Einheit PKMUN ist ja ein Magazin, ich denke er wird wissen wollen wieviel Mun die PK benötigt, aus dem Magazin, also je Schuß.

Leider wird dieses Kommando dir nicht helfen, die einzige Waffe die dort etwas anderes außer 0 bringt ist die PK, und der Wert steht fest.
Man könnte versuchen temporär die TBullets oder TLaser für den Eintrag PK zu verändern um herauszufinden wie dieser Wert zustande kommt, frag mich aber nicht welchen Wert du in einem oder beider dieser Dateien verändern mußt.
Ich denke es muß ausreichen das du den Rest an PKMUN der im Schiff ist abfragen kannst, mehr geht wohl nicht.
Ist eben teilweise doch sehr beschränkt die X3Engine.

User avatar
Ogerboss
Posts: 1465
Joined: Sat, 5. Aug 06, 22:05
x3tc

Post by Ogerboss » Tue, 24. Apr 07, 09:57

Ich glaube hier gibt es ein kleines Missverständnis: Dieser Befehl gibt NICHT die vorhandene Munition in der PK aus, sondern den Warencode der "Ware", die der angegebene Laser als Munition verwendet, was eben im Vanillaspiel nur auf die Projektilkanone zutrifft. Alle Laser, die keine Munition verwenden geben hier logischerweise eine 0 aus, das Raketengeschütz aus XTM z.B. müsste dann aber auch den Warencode seiner Munition ausspucken.

@Blacky_BPG
Der Wert würde sich nur ändern, wenn du im T-File z.B. festlegen würdest, dass die PK ab sofort Demonstranten als Munition verwendet. :D
[ external image ]
***modified*** und stolz drauf

User avatar
Blacky_BPG
Posts: 2030
Joined: Mon, 23. Feb 04, 23:42
x4

Post by Blacky_BPG » Tue, 24. Apr 07, 11:32

Ja eben, deswegen sagte ich ja das es nichts mit dem Mun-Verbrauch zu tun hat.
Das es nun der Warencode der PK-Mun ist wusst ich zwar nicht, aber in diese Richtung liefen meine Gedanken schon fast :roll:
Aber ich hätte natürlich auch in den Referenzen nachschauen können, stimmt schon. :wink:

User avatar
jensemann
Posts: 541
Joined: Mon, 6. Mar 06, 11:17
x4

Post by jensemann » Tue, 24. Apr 07, 12:53

Ihr liegt beide falsch :)
Dieser Wert wird nur bei der PK zurückgegeben (Vanilla Game) sonst 0.
Ein Wert von dieser Länge ist in keiner Datei aufgeführt (8stellig) und ist nicht der Warentyp.
Im Endeffekt kann man damit nur abfragen, OB eine Waffe Munition benötigt aber NICHT WELCHE Munition.

geprüft habe ich das Ganze mit diesem Script:

Code: Select all

001   $nl =  read text: page=8201 id=7
002   $msg = $nl
003   $ref = Alpha EM-Plasmakanone
004   $mt =  get maintype of ware $ref
005   $st.num =  get number of subtypes of maintype $mt
006   while $st.num
007    dec $st.num = 
008    $laser =  get ware from maintype $mt and subtype $st.num
009    $ammo =  get ammunition of laser $laser
010    $mt.ammo = $ammo -> get maintype
011    $st.ammo = $ammo -> get subtype
012    $ware =  get ware from maintype $mt.ammo and subtype $st.ammo
013    $tp.msg = sprintf: fmt='Laser: %s; Ammo nach get: %s; MaintypeAmmo: %s; SybtypeAmmo: %s; Ware: %s', $laser, $ammo, $mt.ammo, $st.ammo, $ware
014    $msg = $msg + $tp.msg + $nl
015   end
016   send incoming message $msg to player: display it=[TRUE]
017   return null
$nl ist lediglich ein Zeilenumbruch um die Ausgabe übersichtlicher zu gestalten.

jensemann
ob ***modified*** oder nicht - Hauptsache: Spaß!!!

Carrier Fighter Supplies V1.2a deutsch
Carrier Fighter Supplies V1.2a english

Post Reply

Return to “X³: Reunion - Scripts und Modding”