Ergebnis 1 bis 20 von 29

Thema: Notizbuch für Quests (Logbuch)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #23
    Ersmal zu Frage 2:
    Ne, das Logbuch von der ersten Methode hat nur dann ein "Loch" wenn du überhaupt keine Einträge hast. Dadurch das jedes Mal, wenn du einen Auftrag bekommst, die erste Freistelle in der Liste gesucht wird (welche logischerweise immer am Ende deiner Liste ist), kann garkein Loch entstehen.
    Solltest du später einen Auftrag löschen - also seine Varibale wieder auf 0 setzen - müsste man noch einen Nachrück-Algorithmus bauen. Das wäre allerdings auch nicht weiter schwer:
    Zitat Zitat
    Nachrücken

    <>Call Event: "ZurErstenFreistelle"
    <>Change Variable "Verschiebung 1", set "Aktuell"
    <>Change Varibale "Verschiebung 2", set "Aktuell"
    <>Change Variable "Verschiebung 2" + 1
    <>Change Variable "Verschiebungs Inhalt", set [VarNr: "Verschiebung 2"]
    <>!Lable 1!
    <>Change Variable [VarNr: "Verschiebung 1"], set "Verschiebungs Inhalt"
    <>Change Varibale "Verschiebung 1" + 1
    <>Change Varibale "Verschiebung 2" + 1
    <>Change Variable "Verschiebungs Inhalt", set [VarNr: "Verschiebung 2"]
    <>Fork Varibale "Verschiebungs Inhalt" != 0
    <><>!Goto Lable 1!
    <>End:
    <>
    Was macht dieser Code?
    Nun, hier haben wir wieder zwei Fahrstühle ^^, nämlich "Verschiebung 1" und "Verschiebung 2". Außerdem noch eine Kiste die "Verschiebungs Inhalt" heißt.
    Nun fahren wir beide Fahrstühle zur ersten Schublade ohne Inhalt. Daraufhin lassen wir Fahrstuhl 2 (also "Verschiebung 2") eine Etage weiter nach oben Fahren. Da wir eine Lücke haben ist diese Schublade logischerweise gefüllt. Nun packen wir alles aus Schublade 2 (also auf der Etage bei der "Verschiebung 2" gerade ist) in unsere Kiste "Verschiebungs Inhalt". Danach schicken wir diese Kiste an "Verschiebung 1", der ja eine Etage weiter unten ist, und packen die Kiste dort in die Schublade.
    Nun fahren beide Fahrstühle eine Etage weiter nach oben, packen die Kiste erneut und schicken sie nach unten. Das geht so lange weiter bis Fahrstuhl 2 eine weitere leere Schublade entdeckt.
    Da ich davon ausgehe das maximal ein Loch auf einmal entsteht ist damit das Ende der Liste erreicht und die Prozedur kann beendet werden.
    Fertig ^^

    Nun zur Frage 1:
    Das sollte auch nicht weiter das Problem sein. Wenn du dir meinen Skript anschaust musst du dort in das CE "Questlog" schaun. Dort steht die Cursor-Bewegung drinn.
    Unter dem "Lable 1" wird die Tasteneingabe abgewartet. Drückt man Pfeil unten oder Pfeil oben soll der Cursor bewegt werden. In der Makersprache bekommt meine Variable "QL Passwort" also entweder den Wert "1" (für oben) oder "4" (für unten).
    Nun musst du in die Fork-Verschachtelung schauen. Dort wird gleich ganz oben abgefragt ob "QL Passwort" 1 ist. Und etwas weiter unten ob sie 4 ist.
    Der Code in den Forks ist dabei nahezu identisch.
    Er lautet bei 1:
    Zitat Zitat
    <>Play SE: "Cursor 1"
    <>Change Variable "QL Menüposition" + 1
    <>Change Variable "Cursor Y" + 12
    <>Fork Variable "QL Menüposition" >= 11
    <><>Change Variable "QL Menüposition", set 1
    <><>Change Variable "Cursor Y", set 33
    <>End:
    <>Move Picture '13' (["Cursor X" | "CursorY"]) in 0,1 secs [do not wait until key hit]
    <>Call Event: "Spezifikationen Anze"
    Das wichtige ist dabei das markierte. Dort wird das CE aufgerufen, welches das Bild, die Beschreibung und die Belohnung anzeigt. Dieses Call-Event musst du einfach in den Forks für 1 und 4 entfernen. Dafür packst du es bei der Fork für 5 rein in der aktuell nur steht:
    Zitat Zitat
    <>Note:
    <>Note: Soll hier was passieren? ^^°
    <>Note:
    Nun musst du reinschreiben:
    Zitat Zitat
    <>Call Event: "Spezifikationen Anze"
    Damit bist du auch schon fertig. Allerdings sollte nun beachtet werden, dass die Spezifikationen des Auftrages bei dem du Enter gedrückt hast auch bestehen bleiben wenn du den Cursor weiterbewegst. Dazu empfehle ich ein "Erase Picture" Befehl bei der Cursorbewegung einzubaun. Setzt einfach in der Fork für 1 und 4 ein:
    Zitat Zitat
    <>Erase Picture: '12'
    <>Play SE: "Cursor 1"
    <>...
    Damit wäre auch das Problem behoben

    mfg
    Phönix Tear

    Edit:
    Habs gerade getestet und es fehlt noch was, bzw. ist noch was zu viel.
    In den Forks für 2 und 3 (bei denen die Seite gewechselt wird), muss das Call Event ebenfalls weg. Außerdem noch beim Menüaufruf. (Lösch es im CE "Questlog" einfach überall wo du es siehst, außer in der Fork für 5 )

    Edit 2:
    Mir fällt gerade auch noch auf, dass es einen Fehler in der Anzeige des Seitencursors gibt. Ist man auf Seite 1 wird der linke anstatt des rechten Pfeils gelb iluminiert. Du müsstest in der Fork dafür bei "Seite = 1" den Picture von "Questlog Seitencursor Gelb unten" auf "Questlog Seitencursor Gelb oben" ändern (insgesamt drei mal, einmal beim Aufruf des Menüs und in den Forks zum ändern der Seite).

    Geändert von Phönix Tear (15.04.2007 um 11:44 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •