PDA

View Full Version : Items beamen



sander
18-10-2011, 09:12
Es gibt bereits ein fertiges Skript zum Waren bergen in der Skript Bibliothek, dieses habe ich lediglich um das Duranium extrahieren erweitert.
Allerdings verfügen einige Schiffe zusätzlich über lose herumliegende Items, im speziellen bei einigen NPC Schiffen. Gibt es eine Möglichkeit diese ebenfalls "automatisch" zu bergen?


1 //Die* ID* des* Schiffes,* dass* die* Waren bergen* soll,* einfach* in* der* nächsten* Zeile* eintragen.
2
3 Var* myShip* As* CMyShip* =* New* CMyShip(1351021);
4 Var* ship* As* CShip;
5 Var* goods* As* New* CGoodsInfoEnumerator();
6
7 //iterate* all* ships* in* the* SRS
8 For(Each* ship* In* myShip.SRS)
9 {
10 * * //if* the* owner* is* 3* (NobodyNiemand)* then* its* a* wreck
11 * * If(ship.UserID* =* 3)*
12 * * {
13 * * * * goods* =* New* CGoodsInfoEnumerator();* //create* iterator* for* the* goods
14 * * * * WriteLine("Try* to* get* goods* from* "* &* ship.Name* &* "* ("* &* ship.ShipID* &* ")* ...");
15 * * * * While* (goods.Next())* {* //iterate* every* good...
16 * * * * * * If* (ship.StockRoom.Amount(goods.CurrentWarenInfo.Good sType)* >* 0)* {* //...if* there* are* some* of* this* goods* in* the* wreck...
17 * * * * * * * * myShip.Action.TransferFromShip(ship.ShipID,* ship.StockRoom.Amount(goods.CurrentWarenInfo.Goods Type),* goods.CurrentWarenInfo.GoodsType);* //...beam* the* amout* of* the* goods* to* your* ship
18 * * * * * * }
19 * * * * }
20 * * * *
21 * * * * //* Nachdem* die* Waren* geborgen* wurden,* dass* Duranium* aus* dem* Wrack* extrahieren
22 * * * * If* (ship.Hull* >* 5* and* (myShip.Energy* +* myShip.EmergencyBattery)* >* 0* and* myShip.StockRoom.FreeStorage* >* 0){
23 * * * * * * myShip.Action.ActivateTractorBeam(ship.ShipID);
24 * * * * * * myShip.Action.ExtractFromWreck((ship.Hull* -* 5));
25 * * * * * * myShip.Action.DeactivateTractorBeam();
26 * * * * }
27 * * }
28 }
29

Sargraner
18-10-2011, 09:33
Nein. Items-Beamen geht nicht per Script. Auch nicht scannen, aktivieren, vernichten usw. Items sind für Scripte ein Schwarzes Loch (mit Ausnahme der Sprungportalitems).

sander
18-10-2011, 11:07
Danke dir für die Antwort. Dann muss man die Schiffe eben doch noch einmal händisch durchsuchen.

Sargraner
18-10-2011, 17:46
Das Einzige was man machen kann ist anhand des Frachtraums und der Materialsumme herausfinden, ob ein Schiff Items im Lagerraum hat.