PDA

View Full Version : Schiff1 = Schiff2



quor
10-05-2013, 23:13
Nun ein neues Problem.

Ich habe also ein Script, was wählen läßt ob man lieber alleine fliegen oder die Flotte mitnehmen will.

Mit der Flotte kann ich im unteren Code fliegen:-)
Aber wenn das Schiff alleine fliegen soll,
muss ich irgendwie die "ship" die Variable in der Flugfunktion und "Ship0" die allgemeine Schiffsvariable gleichsetzen.

Nur wie?

Ship As Ship0;
Das funktioniert nicht. Andersherum auch nicht. "=" oder "is" hilft auch nicht.


Var dropBoxVal As Integer;
If(Request.Form.ContainsKey('DropDown'))
{
dropBoxVal = Request.Form.Item('DropDown');
row = tab.AddRow();
row.Cells.Item(1).Add(CStr(dropBoxVal));
If(dropBoxVal = Ship0.ShipID)
{
Ship As Ship0;
row.Cells.Item(0).Add('SchiffsID:');
flug();
}
Else
{
Var fleet As New CMyFleet(dropBoxVal);
row.Cells.Item(0).Add(CStr(fleet.FleetID))
For (Each Ship In fleet.Ships)
{
flug();
}
}

Function flug()
{
Ship.Action.LeaveOrbit();
Ship.Action.Fly(1, EShipDirection.up);
}
}

Elchi
11-05-2013, 22:03
Ship = Ship0 sollte eig, funktionieren

quor
11-05-2013, 22:50
Stimmt funktioniert, Danke.

Vielleicht hatte ich Ship0 in dieser Variante vorne stehen.

Elchi
12-05-2013, 00:40
und noch ein Tipp:



Var Action As CBaseShipManager;

Var dropBoxVal As Integer;
If(Request.Form.ContainsKey('DropDown'))
{
dropBoxVal = Request.Form.Item('DropDown');
row = tab.AddRow();
row.Cells.Item(1).Add(CStr(dropBoxVal));
If(dropBoxVal = Ship0.ShipID)
{
Action = Ship0.Action;
row.Cells.Item(0).Add('SchiffsID:');
flug();
}
Else
{
Var fleet As New CMyFleet(dropBoxVal);
Action = fleet.Action;
row.Cells.Item(0).Add(CStr(fleet.FleetID));
flug();
}


Function flug()
{
Action.LeaveOrbit();
Action.Fly(1, EShipDirection.up);
}
}

Den Inhalt der Funktion flug() kannst du so auch direkt hinter else tun

quor
21-05-2013, 21:56
Die Action so zu definieren ist ne gute Idee,

aber ich habe ne Positionsüberprüfung eingebaut, die guckt ob wirklich jedes Schiff der gewählten Flotte am Sprungpunkt ist.
Wenn das so ist fliegt dieses Schiff los und das nächste wird gecheckt.

Aber vielen Dank.