Script - Player's Galaktische Position ermitteln

Hier ist der ideale Ort um über Scripts und Mods für X²: Die Bedrohung zu diskutieren.

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

lutschkuchen
Posts: 17
Joined: Thu, 1. Nov 07, 14:50
x4

Script - Player's Galaktische Position ermitteln

Post by lutschkuchen »

Hallo erst einmal, an alle X2 Liebhaber.

Ich habe folgendes Problem bei X2 V1.4
Ich möchte die aktuelle Galaktische Position des Spielers ermitteln.
Für Argon Prime sollte also als Ergebnis für x eine 1 und für y eine 3 raus kommen.

Code: Select all

$ship = get player ship
$x = $ship -> get universe x index
$y = $ship -> get universe y index
$sec = $ship -> get sector
$txt = 'aktuelle Positon - ' + $sec + ' ... ' + $x + ' ... ' + $y
sent incoming message $txt to player:display it=1
return null
Aber leider bekomme ich als Ergebnis eine 0.
Was mache ich falsch?

Mit freundlichen Gruß
Tommy
User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

Post by SymTec ltd. »

Hallo lutschkuchen/Tommy, willkommen im Forum!

Dein momentanes Problem ist: Nicht $ship hat den universe x/y index, sondern der Sektor Argon Prime ($sec). Also musst du die Werte auch von $sec abfragen:

Code: Select all

$ship = get player ship
$sec = $ship -> get sector
$x = $sec -> get universe x index
$y = $sec -> get universe y index
$txt = 'aktuelle Positon - ' + $sec + ' ... ' + $x + ' ... ' + $y
sent incoming message $txt to player:display it=1
return null 
Zudem könntest du, wenn du den Code noch besser machen willst, einmal einen Blick auf die Konstante [PLAYERSHIP] werfen (die dir das Auslesen des Spielerschiffs spart), sowie den Befehl "<retvar> = sprintf: <var/string> ; <var/string>, <var/string>, <var/string>, <var/string>, <var/string>" werfen. Im Text kannst du bis zu fünf Parameter ("%s") einfügen, die du dann durch die 5 Felder im hinteren Teil des Kommandos durch weitre Texte oder Variablen ersetzen kannst. Damit sähe der Code dann so aus:

Code: Select all

$sec = [PLAYERSHIP] -> get sector
$x = $sec -> get universe x index
$y = $sec -> get universe y index
$txt = sprintf: "Aktuelle Position - %s ... %s ... %s", $sec, $x, $y, null, null
sent incoming message $txt to player:display it=1
return null 
Viel Spaß damit :)
lutschkuchen
Posts: 17
Joined: Thu, 1. Nov 07, 14:50
x4

Post by lutschkuchen »

Danke.

Ich habe da noch eine kleine Frage, kann man dem Spieler auch Geld abziehen?

Im Forum hat jemand eine Idee zum Kapern von Schiffen in Stationen gehabt, ich wollte mir das Script verbessern / verändern.
http://forum.egosoft.com/viewtopic.php? ... be66b6892d

Wenn der Einbruch fehlgeschlagen ist, soll der jenige die entsprechende Polizeilizenz verlieren und eine Straffe zahlen z.B. 250.000 Cr. oder wird von Söldnern angegriffen.

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

Post by UniTrader »

add money to player: <Var/Number>

mit nem neagativen Wert ;)
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 ;)
lutschkuchen
Posts: 17
Joined: Thu, 1. Nov 07, 14:50
x4

Post by lutschkuchen »

Danke an Euch.

Mit freundlichem Gruß
Tommy

Return to “X²: Die Bedrohung - Scripts und Modding”