PDA

View Full Version : überprüfen ob id zum eigenen Spieler gehört



ker
11-03-2012, 15:35
Wenn man testen möchte, ob ein Schiffs, von dem man nur die Schiffs-ID, einem selbst gehört, muss man die komplette Schiffsliste durchlaufen und alle Schiffs-IDs vergleichen.
Das gleiche gilt für Kolonien, auch wenn da die Liste generell etwas kleiner ist.

Es wäre sehr praktisch, wenn es eine Funktion geben würde, mit der man testen kann, ob ein Schiff oder eine Kolonie einem selbst gehört.
Ich bin mir sicher, dass das auch sehr viel ressourcenschonender ist, als jedesmal die ganzen Listen zu durchlaufen.

Gruß

/ker

DarkMo
11-03-2012, 20:20
siehste, jetz weis ich wieder, was ich die ganze zeit hier anbringen wollt ><

den gedanken hatt ich nämlich auch. CBaseShip ne static function geben, die ne ncc annimmt und true zurück gibt, wenn das schiff dem scriptbesitzer gehört oder false, wenn nicht. das is nämlich absolut ätzend, wenn man sich sone fehlerquelle im script anschauen muss :/ man kann den fehler einfach ned abfangen, wenn da mit ner falschen ncc nen cmyship gebaut wird. plopp crasht das ganze script :/

ker
12-03-2012, 16:02
jop... im moment durchlaufe ich bei extension-start die liste der eigenen schiffe und vergleiche sie mit den ids die in meiner manuellen liste stehen...
aber als mir ein schiff aus der manuellen liste zerstört wurde ist die extension natürlich sofort abgestürzt...

DarkMo
12-03-2012, 22:11
zumals ja au ned grade laufzeit optimiert is, wenn man laufend die komplette schiffsliste durchleiert, nur um das schiff zu finden >< dann haste den check 3 4 ma in script (oder mehr, wer weis ^^) un die ganze scriptzeit geht allein für den mist drauf ><

Elchi
13-03-2012, 16:03
man kann ja alle ids der eigenen Schiffe in eine CIntegerList tun und dann mit CIntegerList.Contains(Integer) kommen. Dann muss man die Schiffsiste nur einmal durchlaufen.

lg
Elchi