EDIT: AsteroidScannDrone

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

User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

EDIT: AsteroidScannDrone

Post by o1ofco2 »

hi all :)

ich möchte ne AsteroidScannDrone bauen aber ich bekomme sie nicht im meinen frachtraum erstellt...

und die koordinaten die ich angebe sind auch fürn Huf weil die Drone immer in der mitte des sectors erstellt wird :gruebel:

hier der code:

Code: Select all

Script aaa.Meine.RoidScanDrone
Version: 1
for Script Engine Version: 23

Description
Black Stars Raumfliegenfarm 
Arguments
1: setLoc , Var/Sector Position , 'Chose Position' 
Source Text

001   $x =$setLoc[0]
002   $y =$setLoc[1]
003   $z =$setLoc[2]
004   $sec =$setLoc[3]
005   $y2 =$y-2000
006   
007   *$ich =  get player ship
008   *$y = $y - 500
009   
010   $RoidScanDrone =create ship: type=Kampfdrohneowner=Playeraddto=$secx=$xy=$yz=$z
011   
012   *$meine = [PLAYERSHIP] -> add 1 units of $RoidScanDrone
013   *$meine = $RoidScanDrone -> get sector
014   *write to player logbook $meine
015   
016   $Turrets =$RoidScanDrone ->get number of turrets
017   $Turrets =$Turrets-1
018   $LaserType =$RoidScanDrone ->get laser type in turret$Turretsat slot0
019   $umbau =$RoidScanDrone ->install-1units of$LaserType
020   $umbau =$RoidScanDrone ->add1units ofMineralienscanner
021   
022   
023   
024   returnnull

hat jemand ne idee ?

danke im voraus :x2:
Last edited by o1ofco2 on Fri, 27. Feb 04, 23:19, edited 2 times in total.
-Bla- [SKHG]
Posts: 391
Joined: Mon, 2. Feb 04, 20:20
x3

Post by -Bla- [SKHG] »

also nach meinen bescheidenen programmierkenntnissen hast du ein variablendurcheinander... (vielleicht verstehe ich aber auch noch nicht so viel vom X2 Scripten...)

einerseits weist du der variabel $ich dein eigenes schiff zu, willst aber die drohne der variabel $meine (gehe mal davon aus, das sollte das gleiche, also $ich sein) zu....

interessanter wäre dann noch, dass man der drohne ein command geben kann, alle noch nicht gescannten asteroiden im sektor abzuklappern und zu scannen...

und wenn ein asteroid über >50 gefunden wird, solls einen log eintrag geben...

werde mich dieses wochenende mal intensiv mit dem scripten befassen...

grüsse
User avatar
Michbert
Posts: 384
Joined: Wed, 6. Nov 02, 20:31
x3

Post by Michbert »

Also das plazieren der Drone wenn du eine Sektor position auswählst müsste mit dem code eigentlich funktionieren.
Ansonsten macht das Skript im moment ja nicht viel mehr als noch einen Laser draufzubauen und nen mineralienscanner.

Der Rest ist auskommentiert, vielleicht sollest du das ändern...
Aber ob das dann noch funktioniert wenn eine Drone im Frachtraum ist, is ja bissle was anderes wie ein normales Schiff.
Mhm, das müsst ich mal selbst ausprobieren, hab bisher noch überhaupt keine Erfahrung mit Dronen, soll heißen ich hab noch keine im Spiel benutzt und weiss nich was man mit den alles anfangen kann...
User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 »

der Laser wird ausgebaut (soll ja ne scandrone werde)
das klapt ja schon
das auskommentierte waren meine hilflosen versuche... (sind gescheitert, aber hab ich erstmal nur auskommentiert... vill. möchte ich sie nochmal abändern
die Variable "$ich" ist ein array welches die x,y,z -coordinaten meines schiffes beinhaltet, diese widerum sollen an den spawnpunkt der drone übergeben werden.. (funzt leider nicht :( )
mit anderen schiffen funzt das positionieren laut code perfekt.. nur miot der blöden drone nicht...
matt32
Posts: 110
Joined: Sat, 18. Oct 03, 22:05
x2

Post by matt32 »

.. hm ich würde das lieber als zusatzsoftware machen
weil

1. drohnen nicht das ewige leben haben und in sektoren
mit vielen astros diese schnell ihr dasein aushaucht

2.man das ganze besser steuern kann ... special commands in der konsole

... denk mal drüber nach ...

da kannste ein kleines m5 losjagen, das die astros scant .. vielleicht noch spezifizierbar ab welchem gehalt an rohstoffen und welcher ;)

SW MINERALDETECTOR 1

... stufe zwei macht dann das ganze x-univers automatisch :lol:
User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 »

naja... ich hatte mir gedacht:

AsteroidScanDrone kaufbar machen (ca. 5000-10k Cr)
nicht zu teuer weil die nur ca 10mins durchhalten können (vill. auch billiger aber es ist ja immerhin ein Mineralienscanner drin = Teuer
(ich hoffe man kann ihn dann nicht etwa mit dem Frachttransporter rausbeemen)
die software ist schon eingebaut weil ist ja eine ScanDrone und wenn diese einmal ausgesetzt wird scannt sie automatisch jeden asteroiden im system ab (ich wede mal sehen ob sie das hinbekommt weil sie ja nur nen begrenzten scannerradius hat und wenn auf meiner karte noch nicht alle astros zu sehen sind, sie trotzdem alle erkennen kann)

mein hauptproblem ist zur zeit, dass ich nicht weis was genau passiert wenn der spieler einen astro scant...
bzw. ich weis nicht was ich für einen befehl nehmen soll der alle astros im system eine nummer verpasst und die drone dann nacheinander die nummern abklappert
d.h. ich weis nicht wie ich astros per befehl ansprechen kann

....puh... ich hoffe ich bekomme das noch in den griff.. :o

aber ich geb mir mühe :x2:
User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 »

so... (ich hab mal den Topic geändert... es eht ja hauptsächlich um die Drone an sich)

bin jetzt schon nen bissl weiter... hab mir das Xai.Automining-script mal angeschaut...
das ist bei rausgekommen:

Code: Select all

Script aaa.Meine.RoidScanDrone
Version: 1
for Script Engine Version: 23

Description
AstroScanDrone
Arguments
1: setLoc , Var/Sector Position , 'Chose Position' 
Source Text

001   * Location festlegen, funzt irgenwie nicht, wird immer in der mitte des sectors
002   * erstellt... mit einer Kameradrone funzt es aber...lol
003   $x =$setLoc[0]
004   $y =$setLoc[1]
005   $z =$setLoc[2]
006   $sec =$setLoc[3]
007   
008   * Drone erstellen und umbauen
009   $RoidScanDrone =create ship: type=Kampfdrohne owner=Player addto=$sec x=$x y=$y z=$z
010   $Turrets =$RoidScanDrone ->get number of turrets
011   $Turrets =$Turrets-1
012   $LaserType =$RoidScanDrone ->get laser type in turret $Turrets at slot0
013   $umbau =$RoidScanDrone ->install -1 units of $LaserType
014   $umbau =$RoidScanDrone ->add 1 units of Mineralienscanner
015   * ob das sinn macht weis ich net genau... laser soll raus aus Frachtraum
016   $umbau =$RoidScanDrone ->add -1 units of $LaserType
017   
018   * nun zum interessanten Teil... Drone fliegt selbststaendig zum naechsten  Astro
019   losgehts:
020   $CurSector =$RoidScanDrone ->get sector
021   $ScanRange =1000000
022   $TargetAsteroid =find asteroid: sector=$CurSector resourcetype=$RescurceType min.yield=10 flags=[Find.Nearest]refobj=null maxdist=$ScanRange maxnum=1 refpos=null
023   
024   * Ziellocalisierung
025   $Dist.to.Target =get distance between $RoidScanDrone and $TargetAsteroid
026   $TargetPosX =$TargetAsteroid ->get x position
027   $TargetPosY =$TargetAsteroid ->get y position
028   $TargetPosZ =$TargetAsteroid ->get z position
029   
030   * checken ob Drone schon in Scanreichweite ist
031   while$Dist.to.Target > 17000
032 @ =$RoidScanDrone ->follow $TargetAsteroid with precision2000m : timeout=5000ms
033   $Dist.to.Target =get distance between $RoidScanDrone and $TargetAsteroid
034   end
035   
036   * tja... und hier liegt der hase im pfeffer... das funzt irgendwie nicht
037   START$RoidScanDrone ->command[ACTION_SCAN]: arg1=$TargetAsteroid, arg2=null, arg3=null, arg4=null
038   
039   
040   
041   * nur zum testen... ich will immer alles genau wissen...
042   write to player logbook $TargetAsteroid
043   
044   return null

wenn jemand ne Idee hat wie ich den Scanvorgang einleite bitte Posten

danke schon im voraus :x2:
User avatar
GothicK
Posts: 248
Joined: Fri, 6. Feb 04, 14:47
x3tc

Post by GothicK »

Ich hab mir das auch mal angeschaut.
Aber keine Möglichkeit gefunden, den Scan durchzuführen.
Zumindest nicht so, das der Spieler auch erfährt welchen Gehalt die Asteroiden haben.
Und die AutoMiningScripts machen auch einfach nur _alles_ platt.
Solong, GothicK
-Bla- [SKHG]
Posts: 391
Joined: Mon, 2. Feb 04, 20:20
x3

Post by -Bla- [SKHG] »

ich würde "find nearest asteroid" das ranfliegen und das scannen noch in einen loop setzen... sonst hört er ja nach dem ersten auf...

und bau doch in die drohne noch nen triplex scanner ein, und flieg am anfang in die mitte des sektors. dann hast du wohl die meisten roid auf der karte....

und zum von gothick angesprochenen problem, dass der spiele dann den gehalt des roids nicht weiss...
ich würde diesen mit den koordinaten des roids ins logbuch schreiben. dann hast du wenigstens die möglichkeit, die grössten roids nachher mit dem eigenen schiff zu scannen... ist dann einfach die low end variante

RoidScanSoftware MK1

für MK2 müssten wirs dann noch schaffen, die info in die spieler DB zu transferieren (per skript)... :wink:
User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 »

Duplex und Triplex scanner hab ich schon versucht aber die drone hat dann irgendwie eine 0m scannreichweite (hab sie in dein anderes system flattern lassen und hab nix ausser der drone selbst gesehen :gruebel: )

zum inhalt des asteroiden hab ich folgendes rausgefunden

Code: Select all

026   * checken ob Drone schon in Scanreichweite ist
027   while$Dist.to.Target>17000
028 @ =$RoidScanDrone ->follow$TargetAsteroidwith precision2000m : timeout=5000ms
029   $Dist.to.Target =get distance between$RoidScanDroneand$TargetAsteroid
030   end
031   
032   * tja... und hier liegt der hase im pfeffer... das funzt irgendwie nicht
033   
034   $wareType =get ware type of SectorObject$TargetAsteroid
035   
036   
037   * nur zum testen... ich will immer alles genau wissen...
038   *write to player logbook $objekt
039   write to player logbook$wareType
040   
041   
042   returnnull
im logbuch steht dann zumindestens schon mal "Unbekanntes objekt"
....
ich werds schon noch schaffen :x2:

EDIT: ach ja... was den spawnpunkt betrifft ... ich habs hinbekommen die drone unter dem spielerschiff spawnen zu lassen

Code: Select all

001   $sec =get player ship
002   $y2 =$y-250
003   
004   * Drone erstellen und umbauen
005   $RoidScanDrone =create ship: type=Kampfdrohneowner=Playeraddto=$secx=$xy=$yz=$z
dabei fällt mir gerade auf dass "y2" nicht in zeile 5 auftaucht... (na wenn das mal nicht der fehler für den spawnpunkt in der mitte des systems war) :gruebel: :mrgreen:
User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 »

EDIT: ach ja... was den spawnpunkt betrifft ... ich habs hinbekommen die drone unter dem spielerschiff spawnen zu lassen

Code: Select all

001   $sec =get player ship
002   $y2 =$y-250
003   
004   * Drone erstellen und umbauen
005   $RoidScanDrone =create ship: type=Kampfdrohneowner=Playeraddto=$secx=$xy=$yz=$z
dabei fällt mir gerade auf dass "y2" nicht in zeile 5 auftaucht... (na wenn das mal nicht der fehler für den spawnpunkt in der mitte des systems war) :gruebel: :mrgreen:
hmm... gestern gings noch, heute nicht mehr :rant: :headbang: :doh: :gruebel:[/quote]
User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 »

ich glaub ich gebs erstmal auf...
ist doch nicht so einfach wie ich dachte... :oops:

weil:
ich bekomme es nicht hin das die drone am playership spawnt
und mehr als einen astro anfliegen is auch nicht drinn (hab ne endlosschleife gebastelt -> PC-Absturz)
und das scannen will auch nicht klappen... :o :(

:rant: *argh* ich platz gleich :evil:
Venom1
Posts: 224
Joined: Fri, 6. Feb 04, 19:49
x2

Post by Venom1 »

Verdammt schade :( die Idee fand ich nämlich echt gut :thumb_up:
User avatar
o1ofco2
Posts: 1035
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 »

ja ich weis... könnte man gut gebrauchen sowas...

aber wenns nicht klappen will.... :(

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