Ne0s Scriptfragen

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

XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Ne0s Scriptfragen

Post by XxNe0xX »

Hi ich hab ein script das nicht funktioniert (haben bestimmt viele ^^)
ich hab das schonmal für n anderen mod zur installation benutzt und da hats funktioniert.nur bei dem hier jetzt nicht.hier mal der code:

Code: Select all

001   load text: id=7912
002   
003   
004   skip if not get global variable: name=$Goner.Secrets.installed
005    return null
006   
007   
008   
009   write to player logbook 'PLA'
010 @ = [THIS] -> call script 'Summon.Goner.shipyard' :  Sektor=Ödland
011 @ = [THIS] -> call script 'Summon.Goner.shipyard' :  Sektor=Rhys Begierde
012 @ = [THIS] -> call script 'Summon.Goner.shipyard' :  Sektor=Getsu Fune
013   
014   set global variable: name=$Goner.Secrets.installed value=[TRUE]
015   
016   return null
an den teilscripten liegt es übrigens nicht wenn ich die einzelnd aufrufe gehts einwandfrei.
das mit dem logbook hab ich gemacht um zu testen ob der teil überhaupt ausgeführt wird(hatte kein bock immer in die sektoren zu fliegen um nachzusehen)

hoffe auf hilfe.
Last edited by XxNe0xX on Fri, 22. Oct 04, 01:18, edited 1 time in total.
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Globale Variablen werden per String definiert und nicht per Variable.

Gruß ticaki

P.S. ist wohl klar das wenn du das schon in einem anderen Mod benutzt hast das die Variable schon true ist ;) (du benutzt ja nur eine für alle mods)
Zur Zeit nicht aktiv
XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Post by XxNe0xX »

danke. dann ist mein mod endlich fertig. :)

nene hab die variable schon umgeändert.so ist das nicht ^^
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Das mit dem einen war gemeint:

Eine nicht definierte Variable enthält null. Was wiederum bei deinem obrigen Beispiel dazu führt das jede globale Variable 'null' heißt.
Will heißen alle deine globalen Variablen die du mit $blabla oder $guckguck $keinstring definiert hast auf ein und denselbe Speicherplatz zu greifen :)

Gruß ticaki
Zur Zeit nicht aktiv
XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Post by XxNe0xX »

:o
ups :oops:
naja gottseidank weiß ich jetzt besser bescheid. bin noch nicht soi der meister im scripten ^^
XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Post by XxNe0xX »

ähm ich wollte nicht unbedingt einen neuen thread aufmachen also benutze ich den hier nochmal.
gibt es eine einfach möglichkeit gespwante schiffe einfach so durchs universum fliegen zu lassen die zwar niemanden selbstständig angreifen aber reagieren wenn sie angegriffen werden?
Deleted User

Post by Deleted User »

ja geht --> Killmissionen-Gegner tun das.
XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Post by XxNe0xX »

ähm fliegen die nicht nur von einem sektor in den anderen?
ich will dass die bis in die unendlichkeit(oder bis sie vernichtet werde) im universum rumgurken.

außerdem wie würde ich aus den schiffen denn killmissionen-gegner machen?? :?
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Geht mit einem simplen script... etwa so:

Code: Select all

while true
 $sector = get random sector start=[SECTOR] jumps=100 race=null
 = [this] -> script call '!move.movetosector' sector=$sector
 = wait 100 ms
end
Das Script auf dem Schiff starten fertig :)

Gruß ticaki
Zur Zeit nicht aktiv
XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Post by XxNe0xX »

oh danke.
greift mich das schiff dann auch an wenn ich es beschieße? dass soll es nämlich
XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Post by XxNe0xX »

habs gerade ausprobiert. die fliegen einfach weiter wenn die feindlich sind. naja das wird erstmal genügen müssen vllt mach ich das in einer späteren version mal anders. :roll:
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

naja wenn die feindlich sind muß du das noch etwas aufwerten... aber das fängt an arbeit zu werden ;)

Gruß ticaki
Zur Zeit nicht aktiv
XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Post by XxNe0xX »

so richtig funktioniert das ganze immernoch nicht. das scheint nur zu funktionieren wenn ein piratensektor ausgewählt wird. ich poste mal das script so wies ist mit unterscripten.

random.goner.spawn

Code: Select all

001   $replay = 0
002   while $replay < 7
003    $x = random value from -77777 to 77777 - 1
004    $y = random value from -15000 to 15000 - 1
005    $z = random value from -77777 to 77777 - 1
006    $racevalue = random value from 1 to 7 - 1
007    if $racevalue <= 1
008     $race = Argonen
009    end
010    if $racevalue == 2
011     $race = Split
012    end
013    if $racevalue == 3
014     $race = Paraniden
015    end
016    if $racevalue == 4
017     $race = Boronen
018    end
019    if $racevalue == 5
020     $race = Piraten
021    end
022    if $racevalue >= 6
023     $race = Teladi
024    end
025    $sektor =  find a random sector: startsector=Hatikvahs Glaube, jumps=500, owner=$race
026    if not $race == Piraten
027     $race2 = Goner
028    end
029    if $race == Piraten
030     $race2 = Piraten
031    end
032 @  = [THIS] -> call script 'goner.randoms' :  Schiffstyp=Goner Striker  Sektor=$sektor  xwert=$x  ywert=$y  zwert=$z  Rasse=$race2  Leader=$leader
033 @  = [THIS] -> call script 'goner.randoms' :  Schiffstyp=Goner Striker  Sektor=$sektor  xwert=$x  ywert=$y  zwert=$z  Rasse=$race2  Leader=$leader
034 @  = [THIS] -> call script 'goner.randoms' :  Schiffstyp=Goner Striker  Sektor=$sektor  xwert=$x  ywert=$y  zwert=$z  Rasse=$race2  Leader=$leader
035 @  = [THIS] -> call script 'goner.randoms' :  Schiffstyp=Goner Bellum  Sektor=$sektor  xwert=$x  ywert=$y  zwert=$z  Rasse=$race2  Leader=$leader
036 @  = [THIS] -> call script 'goner.randoms' :  Schiffstyp=Goner Bellum  Sektor=$sektor  xwert=$x  ywert=$y  zwert=$z  Rasse=$race2  Leader=$leader
037 @  = [THIS] -> call script 'goner.randoms' :  Schiffstyp=Goner Lancer  Sektor=$sektor  xwert=$x  ywert=$y  zwert=$z  Rasse=$race2  Leader=$leader
038    write to player logbook $sektor
039    inc $replay = 
040   end
041   return null
goner.randoms
Arguments
1: type , Var/Ship Type , 'Schiffstyp'
2: sek , Var/Sector , 'Sektor'
3: xpos , Value , 'xwert'
4: ypos , Value , 'ywert'
5: zpos , Value , 'zwert'
6: owner , Var/Race , 'Rasse'
7: Leader , Var/Ship , 'Leader'

Code: Select all

001   $random.ship =  create ship: type=$type owner=$owner addto=$sek x=$xpos y=$ypos z=$zpos
002   $random.ship -> add default items to ship
003   = $random.ship -> install 1 units of Handelssoftware MK1
004   = $random.ship -> install 1 units of Handelssoftware MK2
005   = $random.ship -> install 1 units of Kampfsoftware MK1
006   = $random.ship -> install 1 units of Kampfsoftware MK2
007   = $random.ship -> install 1 units of Spezialsoftware MK1
008   = $random.ship -> install 5 units of Kampfdrohne
009   $laderaum = $random.ship -> get max upgrades for upgrade Laderaumerweiterung
010   = $random.ship -> install $laderaum units of Laderaumerweiterung
011 @ = $random.ship -> call script 'goner.random.move' : 
012   return null
goner.random.move

Code: Select all

001   while [TRUE]
002    $sector =  find a random sector: startsector=[SECTOR], jumps=250, owner=null
003 @  = [THIS] -> call script '!move.movetosector' :  sector=$sector
004 @  = wait 100 ms
005   end
006   return null
du weißt doch immer alles.also vertrau ich dir mal das problem an. :D
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

2 Script Zeile 11
Anstatt ein = ein START

Gruß ticaki
Zur Zeit nicht aktiv
XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Post by XxNe0xX »

das funktioniert tatsächlich :o
du bist echt ein scriptgott ^^
kannst du mir auch erklären warum das so ist oder wär das jetzt zu kompliziert?

PS: kann man da irgendwie die rechenzeit runterschrauben? das dauert nämlich ca. 10 sek. bis das spiel weitergeht.
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

2. Script An den Anfang ein wait 200ms rein machen :)

und das geht jetzt, weil du vorher ein Schiff erzeugt hast und auf diesem das Kommando gestartet wurde. Das Script hat jedoch anders als von dir gewollt darauf gewartet, dass das Schiffsscript sich beendet, was niemals der Fall ist. ;)

Gruß ticaki

P.S. danke für das arg überzogene Lob... ich weiß einfach etwas mehr... machs ja auch schon länger
Zur Zeit nicht aktiv
XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Post by XxNe0xX »

naja gott vllt nicht ganz ^^ aber auf jedenfall sehr sehr gut.

die erklräung hab ich noch nicht ganz verstanden aber das ist wohl etwas zu hoch für mich :D
also bedeutet der Prefix START: dass das script weitermacht mit dem nächsten befehl ohne darauf zu warten dass das script durchläuft?

Übrigens schießen die dinger doch zurück. weiß nicht warum es auf einmal klappt aber es klappt.

also herzlichen dank nochmal.

PS: kann ich den thread hier jetzt noch mit weiteren fragen ausbauen die nicht zu diesem script gehören??? will das forum ja nicht mit meinen fragethreads vollstopfen :roll:
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Tue was du nicht lassen kannst... :D

START = warte nicht auf Ergebnis.

Gruß ticaki
Zur Zeit nicht aktiv
XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Post by XxNe0xX »

na dann frag ich munter weiter ^^ hab den thread jetzt auch umbenannt.

wie bekomme ich es hin das ein secondary ship kommando stehen bleibt also weiter angezeigt wird. ich habe es zwar schon hinbekommen darüber scripte auszuführen aber es blieb nie stehen. dass heißt man konnte nicht erkennen dass das script läuft. ich will jetzt aber ein script benutzen dass einmalig etwas macht was dann so bleibt bis man den kommandoslot wieder leert.

eine art tuningkit nur nicht auf zeit sondern manuel abschaltbar.

PS: warum ist denn hier um diese zeit so viel los?
XxNe0xX
Posts: 163
Joined: Sat, 9. Oct 04, 00:48
x3

Post by XxNe0xX »

Warum antwortet keiner?
mag mich keiner? :cry:
weiß keiner die antwort :?
oder hat keiner die frage verstanden? :D

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