Results 1 to 5 of 5

Thread: Schiff1 = Schiff2

  1. #1

    Schiff1 = Schiff2

    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?
    Code:
    Ship As Ship0;
    Das funktioniert nicht. Andersherum auch nicht. "=" oder "is" hilft auch nicht.

    Code:
    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);
        }
      }
    Ich schreibe kompliziert, weil ich 102 Tasten habe.

  2. #2
    Senior Member
    Join Date
    Nov 2011
    Posts
    150
    Ship = Ship0 sollte eig, funktionieren
    Gelb und grau - Proximo ist schlau,
    Proxi ist ein Held, gebt ihm euer Geld,
    Ihr seid alle dumm und meckert doch nur rum,
    seid nicht so unfair, sonst bekommt ihr keine Updates mehr

  3. #3
    Stimmt funktioniert, Danke.

    Vielleicht hatte ich Ship0 in dieser Variante vorne stehen.
    Ich schreibe kompliziert, weil ich 102 Tasten habe.

  4. #4
    Senior Member
    Join Date
    Nov 2011
    Posts
    150
    und noch ein Tipp:

    Code:
    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
    Gelb und grau - Proximo ist schlau,
    Proxi ist ein Held, gebt ihm euer Geld,
    Ihr seid alle dumm und meckert doch nur rum,
    seid nicht so unfair, sonst bekommt ihr keine Updates mehr

  5. #5

    Cool Danke

    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.
    Ich schreibe kompliziert, weil ich 102 Tasten habe.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •