EnglishGermanFrenchRussianItalianSpanish
Log inRegister
 
Gelandete Schiffe abfragen
Post new topic Reply to topic
View previous topic :: View next topic
Author Message
HashtagMC





Joined: 23 Nov 2014

Location: Germany

PostPosted: Mon, 26. Oct 15, 22:02    Post subject: Gelandete Schiffe abfragen Reply with quote Print

Der Scripteditor hat unter Generel Object Commands den Befehl <RetVar/IF> = <RefObj> -> get number of landed ships. Der gibt aber nur die Anzahl der gelandeten Schiffe zurück, nicht diese selbst.

Meine Frage lautet also: Wie bekomme ich alle auf einem Schiff gelandeten Schiffe geliefert (vorzugsweise als Array)?



Im Moment habe ich folgendes Script:
Code:

$number = [THIS] > get number of landed ships
$i = 0
while $i < $number
    $ship = [THIS] -> find ship:class or type=null race=Player flags=[DOCKEDAT] refobj=null maxnum=null with homebase=[THIS]
    //Aktion für das Schiff
    $i = $i + 1
end
return null


Damit soll für alle Schiffe, die auf THIS gelandet sind und THIS als homebase haben eine Aktion ausgeführt werden. Blöderweise findet das Script aber dann x mal das selbe Schiff, bei 31 gelandeten Schiffen führt es dann 31 mal eine Aktion auf dem ersten Schiff aus.


_________________
My scripts' t-files use the namespace xx11xx (e.g 491101, 441101, ... )
[list]
[*]Script: Explore Universe
[*]Script: Homebase to shipname
[/list:u]
Update the damned f***ing obsolete antiquated bulletin board software! Evil or Very Mad
Back to top
View user's profile Send private message Visit poster's website
X2-Illuminatus
Moderator (Deutsch)
Moderator (Deutsch)

MEDALMEDALMEDAL

Joined: 02 Apr 2006
Posts: 20717 on topic

Thank you for registering your game
PostPosted: Mon, 26. Oct 15, 23:02    Post subject: Reply with quote Print

Den Befehl <RetVar> = <RefObj> get ship array from sector/ship/station sollte es bereits in X2 geben, wenn ich mich recht entsinne, und dort auch in den Universe and Sector Commands zu finden sein.


_________________
Besteht Interesse an einem Nopileos-Hörbuch?

Farnhams Legende und Nopileos als E-Books!

"People who think they know everything are a great annoyance to those of us who do." - Isaac Asimov

"If it's not impossible, there must be a way to do it." - Sir Nicholas Winton
Back to top
View user's profile Send private message
HashtagMC





Joined: 23 Nov 2014

Location: Germany

PostPosted: Mon, 26. Oct 15, 23:45    Post subject: Reply with quote Print

Ja, den Befehls gibts. Besten Dank.

Skript sieht jetzt so aus:
Code:

$ships = [THIS] -> get ship array from sector/ship/station
$arraysize = size of array $ships
$arraysize = $arraysize - 1
$i = 0
while $i < $arraysize
    $ship = $ships[$i]
    = $ship -> call script plugin.hmc.hbname:
    $i = $i + 1
end
return null

Theortetisch sollte das alle gelandeten Schiffe umbenennen (plugin.hmc.hbname). Klappt aber net.

//Edit: Sehe grade, dass immer eins über bleibt. Durch das Entfernen von $arraysize = $arraysize - 1 gelöst. Dachte eigentlich, dass das so müsste, weil Arrays ja bei 0 anfangen und ein 30 langes Array also bei Position 29 endet.


_________________
My scripts' t-files use the namespace xx11xx (e.g 491101, 441101, ... )
[list]
[*]Script: Explore Universe
[*]Script: Homebase to shipname
[/list:u]
Update the damned f***ing obsolete antiquated bulletin board software! Evil or Very Mad
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic Reply to topic
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Control Panel
Login Data
The time now is Wed, 18. Jul 18, 02:50

All times are GMT + 2 Hours

[ Disclaimer / Impressum ] | [ Privacy Policy / Datenschutz ]

Board Security

Copyright © EGOSOFT 1989-2018
Powered by phpBB © 2001, 2005 phpBB Group
Template created by Avatar & BurnIt!
Debug: page generation = 0.05801 seconds, sql queries = 17