United Script Tutorial - Diskussions-Thread

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

jnrk
Posts: 231
Joined: Thu, 11. Mar 04, 12:00
x2

Post by jnrk »

@Orka
Thx, ist ein Fehler, wird korrigiert.

.....

Ist korregiert :)

@ticaki
Die FlottenMK selbst bin ich noch nicht angegangen, werkele an der jkPatrol V5. Doch als nächstes wird die jkPatrol V3beta entbetat :) also neue ReadMe (Deutsch+Englisch+Französisch), Sprachdatei in Englisch (fehlt derzeit) in Franz. vorhanden.

Fände es klasse, wenn jemand die Texte noch ins spänisch+itlienisch übersetzen könnte.

G,
jnrk
jnrk
Posts: 231
Joined: Thu, 11. Mar 04, 12:00
x2

Post by jnrk »

Ich arbeite derzeit an der HTML-Version des UST, hier mal der Stand.

Farben und Größen werden durch eine zentrale Style Datei vorgegeben. Diskussionen um Verbesserungen und Co herzlichst erwünscht. Sobald der Momentane stand umgesetzt ist, gibts die Version natürlich zum vollständigen DL. Damit es auch jeder einfach offline betrachten kann, hab ich alle Gimmicks (PHP/Frames etc.) weggelassen.

Auch hierzu Ideen, Anregungen+Kritik zu mich :)

jnrk
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Da hab ich doch direkt einen Verbesserungsvorschlag

Bitte Benenne die Anleitungen um.

BurnIt's Aktivierung des Scripteditors --> Aktivierung des Scripteditors von BrunIt

Nicht jeder kann was mit Gothick, BurnIt,... usw. anfangen

Gruß ticaki
Zur Zeit nicht aktiv
jnrk
Posts: 231
Joined: Thu, 11. Mar 04, 12:00
x2

Post by jnrk »

Dein Wunsch ist mir Befehl :lol:

G,
jnrk
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

jnrk wrote:Dein Wunsch ist mir Befehl :lol:

G,
jnrk
Danke aber schreib sie wenigstens richtig... :oops: nicht wie ich.

Gruß ticaki
Zur Zeit nicht aktiv
User avatar
Orka
Posts: 817
Joined: Wed, 7. Apr 04, 15:19
x4

Post by Orka »

Code: Select all

001   $kontakta=Khaak 
002   $beziehung='nix' 
003   $beziehung = PLAYERSHIP get notoriery to race $kontakta 
004   if $beziehung == FEIND 
005    write to player logbook 'Das hab ich mir gedacht' 
006   else 
007    write to player logbook 'Das wundert mich aber' 
008   end 
Das funktioniert "irgendwie" bei mir nicht. :o
Es springt immer in Zeile 007.
$beziehung hat bei mir die Werte 0 oder "NULL" :?

Egal auf welchen ship das Script läuft oder welche Rasse geprüft wird.

Was sind den legale Rückgabewerte von "get notoriery to race" &CO?

Und kann mir jemand bitte den Unterschied und richtige Anwendung dieser Befehle zeigen? :oops:

6.024 <RetVar/IF> <RefObj> get relation to object <Var/Ship/Station>
6.025 <RetVar/IF> <RefObj> get relation to race <Var/Race>
6.026 <RetVar/IF> <RefObj> get notoriery to race <Var/Race>
6.027 <RetVar/IF> get notoriery from race <Var/Race> to race <Var/Race>


Gruß
ein verwirrter

Orka
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Soweit ich weiß haben die Befehle noch nicht vollen Funktionumfang... Daher ist eine Erklärung müßig. Du kannst zum Beispiel zur Zeit nicht deinen Rang auslesen.

Gruß ticaki

P.S. Woher hast du in deinem Script das FEIND
Zur Zeit nicht aktiv
User avatar
Orka
Posts: 817
Joined: Wed, 7. Apr 04, 15:19
x4

Post by Orka »

Das ist aus jnrk X2 Script Tutorial :)

Ich bin so frei und teste paar Beispiel Cods :)

Das Feind ist glaube ich bei notoriery auch Falsch das bezieht sich afaik auf relation und nicht auf notoriery

Wenn ich das richtig verstanden habe ist
-1 = Freind
0 = Neutral
1 = Freund

relation wird auch in

!ship.signal.leaderneedshelp.pck.xml
!ship.signal.followerneedshelp.pck.xml
!plugin.autotrade.buyupgrades.pck.xml
!fight.attack.object.pck.xml
!cmd.plugin.autotrade.sector.pck.xml

verwendet.

Hab da so Idee ein "Bestehungs script" zu schreiben um Pri TS Schiffe neutral für die bestochende Sectorwache zu machen. Ist aber noch in den Kinderschuhen...

Werde mir dann mal weiter (Egosoft)scripts anschaun.... auch wenn mansche leider ein sehr kurzen synthax habe :roll:

Vieleicht kann jemand diese CMD (NT-BAT) gebrauchen

Ist für "massen" entpacken von pck's Files.

Code: Select all

@echo off
REM -unpack *.pck
REM Orka
REM 30.04.2004

REM X2Tool und ScriptDirPfad anpassen!
SET ScriptDir=G:\EGOSOFT\X2 - Die Bedrohung\test\scripts
SET X2Tool=G:\EGOSOFT\X2 - Die Bedrohung\x2tool.exe
SET FileEnd=.xml
SET DEBUG=OFF

FOR /F "USEBACKQ" %%a IN (`DIR /B "%ScriptDir%\*.pck"`) DO CALL :MYSUB %%a
pause
GOTO :EOF

:MYSUB
SET File=%ScriptDir%\%*
@echo %DEBUG%
"%x2Tool%" -unpack "%FILE%" "%FILE%%FileEnd%"
@echo off
GOTO :EOF
User avatar
Orka
Posts: 817
Joined: Wed, 7. Apr 04, 15:19
x4

Post by Orka »

Was muss ich mir dazu denken, wenn ich auf IF Zeilen wie diese stosse?

Code: Select all

if $var
also nix da hinter wie z.B. if $var > 5 oder so was.

Code: Select all

if $var != NULL
:?:
User avatar
SpaceTycoon
Posts: 1190
Joined: Wed, 6. Nov 02, 20:31
x4

Post by SpaceTycoon »

Orka wrote:Was muss ich mir dazu denken, wenn ich auf IF Zeilen wie diese stosse?

Code: Select all

if $var
also nix da hinter wie z.B. if $var > 5 oder so was.

Code: Select all

if $var != NULL
:?:
Ganz einfach: Wahr oder Falsch.
Wahr: Die Variable hat einen Inhalt
Falsch: Die Variable ist leer (= null)
If $var ist also dasselbe wie if $var != null

Wegen der Freund/Feind Beziehung, benutzt mal die Suchfunktion mit Suchwort "notoriety" (oder wie immer man's schreibt). Da gibts noch mehr...
User avatar
Orka
Posts: 817
Joined: Wed, 7. Apr 04, 15:19
x4

Post by Orka »

If $var ist also dasselbe wie if $var != null
Lag ich ja doch richtig :)

Danke für die Bestätigung.

Anstelle von $var hätte da auch $EscortShips stehen können :wink:

über die Suchfunktion hab ich nix befriedigendes über notoriery gefunden (auch nicht im englischen Bereich), außer zu add notoriery. :roll:
User avatar
Orka
Posts: 817
Joined: Wed, 7. Apr 04, 15:19
x4

Post by Orka »

Der Sinn der Zeile 003 verstehe ich nicht so ganz

Code: Select all

001   $sector = get sector from universe index: x=$secx, y=$secy
002   $plsector = [PLAYERSHIP] -> get sector
003   $b = $plsector == $sector
004   return $b
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Orka wrote:Der Sinn der Zeile 003 verstehe ich nicht so ganz

Code: Select all

001   $sector = get sector from universe index: x=$secx, y=$secy
002   $plsector = [PLAYERSHIP] -> get sector
003   $b = $plsector == $sector
004   return $b

Code: Select all

003   $b = $plsector == $sector
Bedeutet das selbe wie:

Code: Select all

if $plsector == $sector
  $b = true
else
  $b = false
end
Gruß ticaki
Zur Zeit nicht aktiv
User avatar
Orka
Posts: 817
Joined: Wed, 7. Apr 04, 15:19
x4

Post by Orka »

Aha, eine Insel.

Danke ticaki

Habe mir $b mal ausgeben lassen, hat mich etwas irretiert das $b entwerder 0 oder "NULL" wahr.

0=Wahr
NULL=Falsch

Find ich persöhnlich etwas verwirrend aber dafür Schreibweise sehr kurz.
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Orka wrote:Aha, eine Insel.

Danke ticaki

Habe mir $b mal ausgeben lassen, hat mich etwas irretiert das $b entwerder 0 oder "NULL" wahr.

0=Wahr
NULL=Falsch

Find ich persöhnlich etwas verwirrend aber dafür Schreibweise sehr kurz.
0 = Falsch = NULL
Alles andere Wahr

Gruß ticaki
Zur Zeit nicht aktiv
User avatar
SpaceTycoon
Posts: 1190
Joined: Wed, 6. Nov 02, 20:31
x4

Post by SpaceTycoon »

Orka wrote:Aha, eine Insel.
Danke ticaki
Habe mir $b mal ausgeben lassen, hat mich etwas irretiert das $b entwerder 0 oder "NULL" wahr.
0=Wahr
NULL=Falsch
Find ich persöhnlich etwas verwirrend aber dafür Schreibweise sehr kurz
Gar nicht verwirrend, wenn man bedenkt daß "0" genau so eine Zahl ist,
wie -1, 7, -333, oder was auch immer.
D.h., die Variable ist nicht leer, sondern mit einem Wert belegt
und dadurch ist das Ergebnis "TRUE".
Ist die Variable vorhanden, aber enthält keinen Wert, ist das Ergebnis "FALSE".
Von der Zahl "0" läßt man sich gerne mal verwirren :wink:
User avatar
Orka
Posts: 817
Joined: Wed, 7. Apr 04, 15:19
x4

Post by Orka »

ticaki wrote:
Orka wrote:Aha, eine Insel.

Danke ticaki

Habe mir $b mal ausgeben lassen, hat mich etwas irretiert das $b entwerder 0 oder "NULL" wahr.

0=Wahr
NULL=Falsch

Find ich persöhnlich etwas verwirrend aber dafür Schreibweise sehr kurz.



Gruß ticaki
0 = Falsch = NULL
Alles andere Wahr

Eben nicht. :lol:
SpaceTycoon wrote:
Orka wrote:Aha, eine Insel.
Danke ticaki
Habe mir $b mal ausgeben lassen, hat mich etwas irretiert das $b entwerder 0 oder "NULL" wahr.
0=Wahr
NULL=Falsch
Find ich persöhnlich etwas verwirrend aber dafür Schreibweise sehr kurz
Gar nicht verwirrend, wenn man bedenkt daß "0" genau so eine Zahl ist,
wie -1, 7, -333, oder was auch immer.
D.h., die Variable ist nicht leer, sondern mit einem Wert belegt
und dadurch ist das Ergebnis "TRUE".
Ist die Variable vorhanden, aber enthält keinen Wert, ist das Ergebnis "FALSE".
Von der Zahl "0" läßt man sich gerne mal verwirren :wink:


0 == Wahr != NULL
0 != NULL

Und Das ist was mich verwirrte

"Zahl" 0 = Wahr

"Wort" Null=False

Ich beziehe mich jetzt auf das 4 zeile Egosoft script.

Ist man im gleichen Sektor ist die ($b) Rückgabe ZAHL 0 = „Wahr“

Sind die Sektoren unterschiedlich ist die ($b) Rückgabe der „Wert“ NULL (weil $b Leer ist da es nicht definiert wurde da sector ungleich plsector )

Ich hatte nun vermutet das $b definiert wird wenn sector und plsector gleich sind UND den „Sectorwert“ (.z.b. Rotes HQ) enthält und nicht 0 (Zahl!).

Also kurz:
Ein Rückgabewert von NULL (Bezeichnung LEER fände ich besser) für FALSE ist ja noch ok aber gleichzeitig ein 0 (Zahl) für TRUE finde ich „verwirrend“

Rückgabe [edit bitte eingefügt] bitte Entweder:

TRUE oder FALSE

1 oder 0

String oder NULL

Aber bitte nicht 0 oder NULL.
Last edited by Orka on Mon, 3. May 04, 13:21, edited 1 time in total.
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Orka wrote:
ticaki wrote: 0 = Falsch = NULL
Alles andere Wahr
Eben nicht. :lol:
Das schau ich mir dann heute abend nochmal an... Ist aber möglich!

Gruß ticaki :D
Zur Zeit nicht aktiv
User avatar
Orka
Posts: 817
Joined: Wed, 7. Apr 04, 15:19
x4

Post by Orka »

Ganz so ist wie ich oben beschrieben habe ist es nicht da im ursprünglichen Testscript noch ein andere Fehler war...da hatte ich wohl die ganze Zeit Tomaten auf den Augen :oops:

Aber seltsam ist es dennoch

Code: Select all

001   $sector = get sector from universe index: x=1, y=2
002   $plsector = [PLAYERSHIP] -> get sector
003   $b = $plsector == $sector
004   *if $b == null OR $b == [FALSE]
005    send incoming message $b to player: display it=[TRUE]
006   *end
007    $C = $b + 5
008    $ausgabe = ' B ist ' + $b + ' PlayerSector ist ' + $plsector + ' Sector ist ' + $sector + ' C ist ' + $C
009    send incoming message $ausgabe to player: display it=[TRUE]
010    
011    return null
Spiel mal mit x und y und beobachte mal die "Werte" von $b bzw. $c in beiden Anzeigen.


004 ergibt die Nachricht 0 oder einfach kein text den ich fälschlicherweise als NULL gedeutet habe

in 009 ist $b aber NULL oder 1.
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

So habs durchgetestet und hab wie immer recht gehabt :mrgreen:

Ne, im Ernst:

Code: Select all

001   $a = 1
002   skip if not $a
003    send incoming message 'jop' to player: display it=[TRUE]
004   return null
Ich erhalte eine Nachricht --> $a = [true]

Code: Select all

001   $a = 0
002   skip if not $a
003    send incoming message 'jop' to player: display it=[TRUE]
004   return null
Ich erhalte keine Nachricht --> $a = [false]

0 = false
NULL = false

Gruß ticaki

P.S. hab schon gedacht meine BPH würde garnicht laufen :wink:
Zur Zeit nicht aktiv

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