Ergebnis 1 bis 20 von 29

Thema: Notizbuch für Quests (Logbuch)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Hallo Centipede und danke für deinen Vorschlag,

    nutze den rm2k (sorry, dass ichs vergessen hab zu erwähnen), werde mir den Patch mal anschauen.

    Zitat Zitat von Centipede Beitrag anzeigen
    Ja, mit dem Befehl "Menü Aufrufen"
    Ja das würde gehen, war mir auch schon klar. Was ich eher meinte wären aber die einzelnen Rubriken des Menüs (Gegenständen, Ausrüstung usw.) anstatt nur das komplette Menü.

    Ich habe leider auch kein Skript gefunden bisher, würde mir das gerne mal anschauen, wie so ein Logbuch aufgebaut ist. Können werde ichs sicherlich, nur fehlt mir da mal wieder der Ansatz zum Aufbau

  2. #2
    Zitat Zitat
    Ja das würde gehen, war mir auch schon klar. Was ich eher meinte wären aber die einzelnen Rubriken des Menüs (Gegenständen, Ausrüstung usw.) anstatt nur das komplette Menü.
    Das ist mit den Standart Funktionen nicht möglich.
    Dann müsstest du ein komplett eigenes Menü basteln!

    Willst du den ein Ringmenü oder ein Map-Menü machen?

    Hier mal 2 Beispiele von mir :

    Ring Menü
    Map Menü

    Und hier Skripte für eigene Menü´s :

    http://www.rpg2000.4players.de:1061/.../Ringmenue.zip
    http://www.rpg2000.4players.de:1061/...ringmenue2.zip
    http://www.rpg2000.4players.de:1061/...pingskript.zip
    http://www.rpg2000.4players.de:1061/scripts/menuskr.zip
    http://www.rpg2000.4players.de:1061/...Menuskript.zip

    MfG

  3. #3
    Vielen Dank!

    Habe mir mal ein paar der Skripte geladen und angesehen. Werde mich da mal durcharbeiten und testweise ein Menü mal erstellen.

    Aber wie wäre der Ansatz für ein Logbuch? Gut, das Erste wäre ja ein Show Picture für den Hintergrund, danach das Anzeigen einzelner Einträge.

    Wenn ich eine Umrandung nehmen möchte, anstatt zB. einen Pfeil, müsste ich ein Picture dafür erstellen oder? Naja mal sehen, ich denke ein Pfeil als Cursor ist auch nicht schlecht.

    Also für das Logbuch verstehe ich folgendes:

    > Show Picture "Hintergrund"
    > If Var. "Aufgabe1" = 1
    > Show Picture "Aufgabe1"

    Dann müsste ich irgendwie noch integrieren, dass man die einzelnen Pictures auswählen kann

    > Enter Passwort 5 - warten auf eingabe
    > If Var. Passwort = 5
    > Show Message: Beschreibung der Aufgabe

    Nur wie bekomme ich das Ganze dann in ein Event hinein? Oder muss dann für jeden Eintrag der Aufgabe ein separates Common Event erstellt werden

    Blick da irgendwie noch nicht ganz durch

    Edit: Das Menü hab ich jetzt soweit verstanden, werde es selbst mal ausprobieren, um es mir besser einzuprägen.

    Fürs Logbuch hätte ich da eine Idee: Damit das Ganze nicht in Common Events ausharrt (sondern nur einen einzigen Punkt dafür), könnte ich doch eine Map extra dafür anlegen. So könnte man dann dorthin teleportieren und danach wieder zurück. Man müsste nur einen Punkt im Common Event setzen, dass der Ort, wo der Held sich gerade befindet, gemerkt wird, und dann automatisch zurückteleportiert wird.

    Naja mal sehen ...

    Geändert von Jadoo (07.04.2007 um 19:07 Uhr)

  4. #4
    Zitat Zitat
    Wenn ich eine Umrandung nehmen möchte, anstatt zB. einen Pfeil, müsste ich ein Picture dafür erstellen oder?
    Ja. Ist am besten!

    Zitat Zitat
    Also für das Logbuch verstehe ich folgendes:

    > Show Picture "Hintergrund"
    > If Var. "Aufgabe1" = 1
    > Show Picture "Aufgabe1"
    Warum nimmst du ne Variable??
    Nimm leiber nen Switch, und wenn der Held die Aufgabe gelöst hat, kommt der Switch auf AUS. dann erscheint die Aufgabe auch nicht mehr im Log!
    So würde ich das machen!

    Zitat Zitat
    Dann müsste ich irgendwie noch integrieren, dass man die einzelnen Pictures auswählen kann

    > Enter Passwort 5 - warten auf eingabe
    > If Var. Passwort = 5
    > Show Message: Beschreibung der Aufgabe
    Das kannste soweit machen!

    Zitat Zitat
    Nur wie bekomme ich das Ganze dann in ein Event hinein? Oder muss dann für jeden Eintrag der Aufgabe ein separates Common Event erstellt werden
    Ein Comment Event reicht aus!

    Zitat Zitat
    Fürs Logbuch hätte ich da eine Idee: Damit das Ganze nicht in Common Events ausharrt (sondern nur einen einzigen Punkt dafür), könnte ich doch eine Map extra dafür anlegen.
    Würde ich nicht machen, da wenn der Held zurück auf die Ausgangsmap teleportiert wird, alle Events der Ausgangsmap wieder auf den Anfang gesetzt
    werden!

    Das heißt : Der Spieler kann so vor z.b. Monster flüchten die ihn verfolgen.
    Er ruft das Menü auf, und beendet es wieder und dann si das Monster nicht mehr hinter ihm!
    (mal so als beispiel)


    MfG

  5. #5
    Hallo,

    Zitat Zitat von Centipede Beitrag anzeigen
    Warum nimmst du ne Variable??
    Nimm leiber nen Switch, und wenn der Held die Aufgabe gelöst hat, kommt der Switch auf AUS. dann erscheint die Aufgabe auch nicht mehr im Log!
    So würde ich das machen!
    Ich würde da lieber eine Variable nehmen, weil man dann jeweils nur eine braucht, wenn es zB. wie folgt aussehen soll:

    Aufgabe noch nicht erhalten (Var. = 0)
    Aufgabe erhalten, aber noch nicht gelöst (Var. = 1)
    Aufgabe gelöst (Var. = 2)

    Außerdem würde es das Spiel stören, wenn ich zB. denselben Switch der Aufgabe nehmen würde. Wenn ich den dann nämlich ausschalte, würden bestimmte Events dann auch ausgeschaltet werden oder sogar wieder von Neuem beginnen.

    Sollte ich die bereits gelösten Aufgaben nicht mehr anzeigen lassen, könnte ich sicherlich einen Switch nehmen - einen unabhängigen Switch natürlich, was das andere s.o. betrifft. Geht aber eben auch per Variable.

    Zitat Zitat
    Zitat Zitat
    Nur wie bekomme ich das Ganze dann in ein Event hinein? Oder muss dann für jeden Eintrag der Aufgabe ein separates Common Event erstellt werden
    Ein Comment Event reicht aus!
    Überlege gerade .... eventuell könnten auch 2 Common Events benötigt werden, wenn man in diesem Logbuch zB. eine weitere Seite erstellt, sollte die erste bereits voll sein.

    Bin gerade dabei mal ein Menü zu erstellen, ich denke wenn ich das erstmal drin habe wirds auch leichter mit dem Logbuch klappen.

  6. #6
    Zitat Zitat
    Außerdem würde es das Spiel stören, wenn ich zB. denselben Switch der Aufgabe nehmen würde. Wenn ich den dann nämlich ausschalte, würden bestimmte Events dann auch ausgeschaltet werden oder sogar wieder von Neuem beginnen.
    Alternativ könnte man natürlich einen gesonderten Switch nehmen, einen "ExtraSwitch"
    Aber machs, wie du willst!
    Im Endeffekt ist es ja auch egal!

    Zitat Zitat
    Bin gerade dabei mal ein Menü zu erstellen, ich denke wenn ich das erstmal drin habe wirds auch leichter mit dem Logbuch klappen.
    Ja, probier einfach etwas herum, das ist gar nicht so schwer!

    MfG

  7. #7
    Ja, den "Extra-Switch" meinte ich ja auch dann, deswegen ist es ja auch egal ob nun Switch oder Variable. Wobei die Variable natürlich den Vorteil hat, dass man sie, bei verändertem Wert, auch noch für weitere Zwecke einsetzen kann, zB. siehe oben.

    Zitat Zitat
    das ist gar nicht so schwer!
    Ist es auch nicht. Man muss nur wissen wie es geht und das Prinzip verstehen. Ist bei mir meistens der Ansatz, der fehlt, sozusagen: "Wo fange ich jetzt an?". Naja, manchmal sind es sehr kleine Dinge, die einem in bestimmten Momenten nicht einfallen. Alsbald aber doch, dann kommt: "Achsooooooo, das war es, menno!"


  8. #8
    Naja, dann probier mal!
    Wenn du noch fragen hast, werd ich sehen ob ich dir vielleicht helfen kann!

    *ab ins Bett*

    MfG

  9. #9
    Juhu ... das Zugriffsmenü ist fertig und funktioniert prima

    Zitat Zitat
    Zitat Zitat
    Kann man das Menü/Logbuch auch später noch machen, wenn das Spiel bereits fortgeschritten ist
    Ja klar!
    Mir ist aber etwas aufgefallen: Das man es später noch einbauen kann, ist sicherlich kein Problem. Aber man sollte etwas beachten, nämlich: Hat man zB. auf einer Map einen Lichteffekt als Show Picture im Parallelen Prozess laufen, muss dieses eine höhrere ID haben als die Pictures im Menü. Hat man zB. 4 Bilder insgesamt im Menü, so muss überall, wo ein Bild auftaucht (zB. Lichteffekt) dieses auf ID 5 gesetzt werden, sonst ist das Menü nicht aufrufbar. Oder man deaktiviert eben das Menü dann.

    Nun hab ich aber immernoch Fragen zum Logbuch: Dieses funktioniert ja ähnlich einem Menü, weil man eben darin auch navigieren kann. Deshalb kann ich mir immernoch nicht vorstellen, dass dafür ein Common Event ausreicht. Das Menü alleine braucht ja schon 3 Events + je ein Event für je einen Menüeintrag.

  10. #10
    Zitat Zitat
    Mir ist aber etwas aufgefallen: Das man es später noch einbauen kann, ist sicherlich kein Problem. Aber man sollte etwas beachten, nämlich: Hat man zB. auf einer Map einen Lichteffekt als Show Picture im Parallelen Prozess laufen, muss dieses eine höhrere ID haben als die Pictures im Menü. Hat man zB. 4 Bilder insgesamt im Menü, so muss überall, wo ein Bild auftaucht (zB. Lichteffekt) dieses auf ID 5 gesetzt werden, sonst ist das Menü nicht aufrufbar. Oder man deaktiviert eben das Menü dann.
    Ich schreib mir das immer auf, welche Picture,w elche ID haben, dann kann nix passieren! ^^

    Zitat Zitat
    Nun hab ich aber immernoch Fragen zum Logbuch: Dieses funktioniert ja ähnlich einem Menü, weil man eben darin auch navigieren kann. Deshalb kann ich mir immernoch nicht vorstellen, dass dafür ein Common Event ausreicht. Das Menü alleine braucht ja schon 3 Events + je ein Event für je einen Menüeintrag.
    Warum nicht?
    Nimm ein Comment Event und stell die Start Kondition auf "Rufen"
    Dann machst du immer Forks in denen Abgefragt wird, ob der Switch/Variable An/Aus ist/welchen Wert die Vari hat.
    Darunter kommt dann einfach der restliche Code.
    Das ist nicht schwer!

  11. #11
    Hallo,

    du meinst ein Common Event, wo per Forks alle Variablen abgefragt werden und am Schluss dieser "Abfrage" dann der Code, der die bestimmten Aufgaben und Bilder dann anzeigt, je nachdem welche Variable aktiv ist?

    OK, dann versteh ich schon so ungefähr. Muss es nur mal umsetzen und probieren ...

  12. #12
    Ein Logbuch...
    In deiner PN hast du ja angesprochen, dass du es so haben willst, dass die Aufträge in der Reihenfolge aufgelistet werden wie man sie findet (nach Datum sortiert zozusagen).
    Ich werde mal versuchen das so gut wie möglich zu erklären.

    Um ein vernünftiges Logbuch zu bauen brauchst du als erstes eine "Liste" in der du die Aufträge, bzw. deren IDs einträgst. Ich werde als Beispiel diese benutzen:
    Zitat Zitat
    1: "Die einsame Mine"
    2: "Des toten Mann's Truhe"
    3: "Ein frischer Fisch am Morgen"
    4: "Schatten von Angmar"
    Die Zahl steht natürlich jeweils für die ID welche dieser Auftrag im Maker hat. Am besten legst du dir gleich eine Liste (z.B. in Word) an in der du alle Aufträge mit Erläuterung abspeicherst.
    Die Liste im Maker lässt sich am besten durch eine Reihe von Variablen (z.B der Bereich von Variable 100 bis Varibale 200) herstellen. Jede dieser Variablen hat nun einen Wert. Zu Beginn des Spiels ist dieser Wert 0. Bekommt man den ersten Auftrag wird die Variable 100 auf die ID dieses Auftrages gesetzt. Beim zweiten Auftrag entsprechend die Variable 101.
    Problem bei der Sache ist nun, das es sein kann, das der Variablenplatz aufgebraucht wird. Daher empfiehlt sich, bei z.B. Variable 1000 anzufangen und bis 1300 freizulassen (nur für alle Fälle ).
    Es ist nun also sehr wichtig, das diese Variablen auch nur von den Aufträgen und deinem Questlog angetastet werden. Ansonsten heißt es "Finger weg!".
    So, wie genau sieht jetzt ein einzelner Auftrag aus, bzw. woraus besteht er?
    Zitat Zitat
    Zutaten für einen guten Auftrag

    - Ein guter Titel
    - Eine kurze aber prägnante Beschreibung

    - Eine ID
    - Eine Zustandsvariable (erledigt / nicht erledigt / z.T. erledigt)
    - Evtl Belohnung (Geld / Item)
    - Bild das den Auftragsort oder den Questgeber zeigt
    Wir haben also nun unsere Variablenliste von 1000 - 1500 und pro Auftrag ein bis zwei Variablen (Zustand und Belohnung). Die Belohnung lasse ich jetzt der Einfachheit halber weg.

    Die Liste ist jedoch noch nicht ganz komplett. Wir benötigen noch soetwas wie "Zeiger", bildlich gesprochen "Finger" die immer genau auf einen Eintrag in der Liste zeigen. Veranschaulichen kann man sich dies mit einem 1000 Meter hohen Schrank mit Schubladen. Auf jeder "Etage" des Schrankes befindet sich eine Schublade. Diese Schubladen sind durchnummeriert (von 1000 bis 1500). Nun haben wir mehrere Fahrstühle (oder eben "Finger") die an der Vorderseite dieses Schrankes auf und ab fahren. Dabei lässt sich die Position jedes einzelnen Fahrstuhles eindeutig mit einer Nummer bestimmen. Diese Nummer ist die Nummer der Schublade vor der er sich gerade befindet. (Ich denke ich muss nicht erwähnen, dass man nur über diese Fahrstühle auf die Schubladen zugreifen kann, denn wer will schon 1000 Meter an einem Schrank hochklettern?)
    Was müssten wir nun tun um z.B. auf die Schublade 1025 zuzugreifen?
    Genau! Wir sagen einem von unseren Fahrstühlen, den wir z.B. "Aktuell" nennen, er soll zur Nummer 1025 hochfahren (wir würden also bildlich in ihm auf die 1025 drücken). Er saust hoch und gewährt uns zutritt zu dieser Schublade.
    Andersherum geht es natürlich auch. Stell dir vor wir schicken den Fahrstuhl zu der Schublade in der z.B. ein Teddy liegt. Der Fahrstuhl fährt einfach so lange weiter bis er eine solche Schublade gefunden hat. Wir brauchen dann nichts weiter zu tun, als uns den Inhalt der Variable "Aktuell", also bildich die Position des Fahrstuhles, anzeigen zu lassen, und schon haben wir die Schublade.

    Genau dies machen wir auch mit der Liste, nur dass jede Schublade eine ID ist, hinter der Titel, Beschreibung, Belohnung, Zustand und Bild des Auftrages versteckt sind und die Fahrstühle in wirklichkeit normale Variablen sind, die mit ihren Werten auf irgend eine Variable zeigen.

    Nochmal zusammenfassend: Was brauchen wir für unsere Liste?
    Zitat Zitat
    - 500 freie Variablen (Bereich von z.B. 1000 - 1500)
    - 1 Variable "Aktuell"
    - 1 Variable "Kontrolle"
    - 1 Variable "Seite Anfang"
    - 1 Variable "Seite Ende"
    Wofür wir die Seiten-Variablen brauchen wirst du später erfahren.
    Nun aber zurück zu unserem Auftrag. Ich spiele dabei einfach ein Beispiel durch:
    Der Hauptheld kommt in das erste Dorf und spricht dort einen Mann an. Dieser bittet ihn darum ihm einen Fisch zu besorgen, er hätte am Morgen immer solchen Hunger. Der Held willigt ein.
    Was passiert technisch dahinter? Wie wir wissen hat der Auftrag: "Ein frischer Fisch am Morgen" die ID 3 (diese hast du dir niedergeschrieben). Wir müssen nun also herausbekommen, welche Variable in unser Liste frei ist. Dazu setzen wir die Variable "Aktuell" auf 1000, den Start unserer Liste.
    Der Code sieht dann so aus:
    Zitat Zitat
    <>Change Variable "Aktuell", set 1000
    <>
    <>!Lable 1!
    <>
    <>Change Variable "Kontrolle", set [VarNr: "Aktuell"]
    <>Fork Variable "Kontrolle" != (ungleich) 0
    <><>Change Variable "Aktuell" + 1
    <><>!Goto Lable 1!
    <>End:
    <>
    <>Change Variable [VarNr: "Aktuell"], set 3
    Um das Questlog später übersichtlicher zu gestalten, solltest du einige einzelne CEs anlegen, welche deine Liste für dich verwalten. Das erste CE hieße z.B. "Springe zur ersten freien Stelle" (im Maker geht allerdings nur weniger, z.B. "ZurErstFreistelle").
    Der Code wäre dann dieser:
    Zitat Zitat
    ZurErstFreistelle

    <>Change Variable "Aktuell", set 1000
    <>!Lable 1!
    <>Change Variable "Kontrolle", set [VarNr: "Aktuell"]
    <>Fork Variable "Kontrolle" != (ungleich) 0
    <><>Change Variable "Aktuell" + 1
    <><>!Goto Lable 1!
    <>End:
    Sobald du diesen Code ausführst weißt du, dass dein Fahrstuhl "Aktuell" nun bei der ersten Schublade hält, in der nichts drinn ist. Die Lable-Schleife läuft so lange weiter, bis die Varibable "Kontrolle" einen Wert enthält der nicht 0 ist. "Kontrolle" entspricht hierbei dem Inhalt der Schublade mit der Nummer "Aktuell".
    Nun bist du also an dieser Stelle, jetzt willst du dort die ID deines Auftrages hinterlegen. Das machst du dann so:
    Zitat Zitat
    <>...
    <>Show Massage: "Ich habe jeden Morgen solchen Hunger. Könntet ihr nicht so nett sein und für mich einen Fisch angeln? Ich würde euch auch bezahlen!"
    <>Show Choice ["Ich besorge ihnen den Fisch!" / "Tut mir leid, ich hab zu tun."]
    <><>["Ich besorge ihnen den Fisch"] Case
    <><><>Show Massage: "Das ist aber nett von ihnen."
    <><><>Call Event: "ZurErstFreistelle"
    <><><>Change Variable [VarNr "Aktuell"], set 3
    <><>["Tut mir leid, ich hab zu tun."] Case
    <><><>Show Massage: "Das ist schade..."
    <>End Case
    <>...
    Auf dem Weg zurück begegnet man nun aber noch einer Frau, welche in voller Sorge erklärt, dass ihr Mann seit zwei Tagen verschollen sei. Er hatte zu einer alten Mine gehen wollen, da er dort noch unentdeckte Bodenschätze vermutete, doch nun sei seine Rückkehr schon einen Tag überfällig.
    Wiedermal ein neuer Code:
    Zitat Zitat
    <>...
    <>Show Massage: "Mein Mann ist schon seit zwei Tagen verschwunden. Könnten sie so nett sein und sich nach ihm umsehen?"
    <>Show Choice ["Klar" / "Hab besseres im Sinn"]
    <><>["Klar"] Case
    <><><>Show Massage: "Das ist aber nett von ihnen."
    <><><>Call Event: "ZurErstFreistelle"
    <><><>Change Variable [VarNr "Aktuell"], set 1
    <><>["Tut mir leid, ich hab zu tun."] Case
    <><><>Show Massage: "Das ist schade..."
    <>End Case
    <>...
    Es wird wohl schnell deutlich, dass sich dieser Codeschnipsel überall weider verwenden lässt.
    Wie sieht nach diesen beiden Aktionen nun unsere Liste aus?
    Zitat Zitat
    Variable 1000: Wert 3
    Variable 1001: Wert 1
    Variable 1002: Wert 0
    ...
    Für weitergehende Erklärungen füge ich jetzt noch 10 weitere Aufträge mit unterschiedlichen IDs an. Die Geschichten dazu können uns egal sein.
    Die Liste sieht nun z.B. so aus:
    Zitat Zitat
    Variable 1000: Wert 3
    Variable 1001: Wert 1
    Variable 1002: Wert 18
    Variable 1003: Wert 9
    Variable 1004: Wert 5
    Variable 1005: Wert 256
    Variable 1006: Wert 45
    Variable 1007: Wert 73
    Variable 1008: Wert 99
    Variable 1009: Wert 11
    Variable 1010: Wert 24
    Variable 1011: Wert 51
    Variable 1012: Wert 0
    ...
    Nun kommen wir zum eigentlichen Teil des Questlogs. Ich gehe dabei davon aus, dass du es über einen Menüpunkt deines eigenen Menüs aufrufst.
    Als erstes brauchen wir ein Hintergrundbild, 3 Cursor, 10 Auftragsüberschriften, 1 Bild und eine Erklärung.
    Das sähe z.B. so aus:

    Cursor 1 dient dazu, direkt einen Auftrag auszuwählen. Belohnung, Beschreibung und Bild wechseln sofort mit der Bewegung des Cursors 1.
    Cursor 2 und 3 dienen zum Umblättern, sollte man mehr als 10 Quests haben.
    Nun aber zum Technischen. Ich kann dir hier nicht den gesammten Code zum Questlog posten, dass könnte ich auch nicht einfach so fehlerfrei runterschreiben, daher versuche ich lieber es möglichst gut zu erklären.
    Die größte Herausforderung bei einem Questlog ist es, immer die richtigen Quests anzeigen zu lassen und das umblättern ordentlich hinzubekommen. Durch unserer Liste ist dies aber nun ganz einfach. Für eine bessere Übersicht solltest du neben dem CE für das QL noch ein weiteres erstellen, in dem du dann das Anzeigen des Bildes, der Belohnung und der Beschreibung einbaust.
    Dieses sähe dann z.B. so aus:
    Zitat Zitat
    <>Fork Variable "Anzeige ID" = 1
    <><>Show Picture '2' "Beschreibung Auftrag 1" at [160|120]
    <><>Show Picutre '3' "Bild Auftrag 1" at [160|120]
    <><>Show Picture '4 "Belohnung Auftrag 1" at [160|120]
    <>Else:
    <>Fork Variable "Anzeige ID" = 2
    <><>Show Picutre '2' "Beschreibung Auftrag 2" at [160|120]
    <><>...
    <>Else:
    <>...
    <>End:
    Natürlich kannst du Beschreibung, Bild und Belohnung in ein Picture packen. Das macht die Sache sogar noch einfacher.
    Den Titel des Autrages musst du anders anzeigen lassen. Da kommt leider ne Menge Arbeit auf dich zu. Da die Aufträge variabel sind, können sie theoretisch an jeder Stelle im Questlog stehen. Das heißt du brauchst für jeden Quest bei 10 angezeigten Aufträgen gleichzeitig auch 10 Show Pictures.
    Daher würde ich dir empfehlen nur 5 Aufträge pro Seite zu machen.
    Beim Aufrufen muss nun Folgendes geschehen:
    Zitat Zitat
    <>Change Variable "Seite Anfang", set 1000
    <>Change Varbale "Seite Ende", set 1004
    <>Call Event: "ZurErstFreistelle"
    <>Fork Variable "Aktuell" < 1004
    <><>Change Variable "Seite Ende", set "Aktuell"
    <>End:
    Hier wird nur der Variablenbereich abgesteckt in dem wir uns momentan befinden. Das Umblättern sieht so aus:
    Zitat Zitat
    <>Call Event: "ZurErstFreistelle"
    <>Fork Variable "Aktuell" > "Seite Ende"
    <><>Change Variable "Seite Anfang", set "Seite Ende"
    <><>Change Variable "Seite Anfang" + 1
    <><>Change Variable "Seite Ende" + 5
    <><>Fork Variable "Aktuell" < "Seite Ende"
    <><><>Change Variable "Seite Ende", set "Aktuell"
    <><>End:
    <>End:
    Hier muss gleich zwei mal überprüft werden, ob das Ende der Liste erreicht ist. Einmal ist das umblättern nur dann möglich wenn unser Bereich noch nicht an das "Nichts" grenzt. Zum anderen wird die oberere Grenze zurückgezogen, sollte sie versehentlich über den Rand gerutscht sein.

    Nun zur Anzeige:
    Zitat Zitat
    <>Change Variable "Anzeige Picture ID", set 5
    <>Change Variable "Aktuell", set "Seite Anfang"
    <>Change Variable "Kontrolle", set [VarNr "Aktuell"]
    <>Change Variable "Auftrag Schrift Scene X", set 110
    <>Change Variable "Auftrag Schrift Scene Y", set 80 //Musst du beides anpassen
    <>Call Event: "Auftrag Anzeigen"
    <>Change Variable "Aktuell" + 1
    <>Change Variable "Anzeige Picture ID" + 1
    <>Fork Variable "Aktuell" < "Seite Ende"
    <><>Change Variable "Kontrolle", set [VarNr "Aktuell"]
    <><>Change Variable "Auftrag Schrift Scene Y" + 20
    <><>Call Event: "Auftrag Anzeigen"
    <>End:
    <>Change Variable "Aktuell" + 1
    <>Change Variable "Anzeige Picture ID" + 1
    <>Fork Variable "Aktuell" < "Seite Ende"
    <><>Change Variable "Kontrolle", set [VarNr "Aktuell"]
    <><>Change Variable "Auftrag Schrift Scene Y" + 20
    <><>Call Event: "Auftrag Anzeigen"
    <>End:
    <>Change Variable "Aktuell" + 1
    <>Change Variable "Anzeige Picture ID" + 1
    <>Fork Variable "Aktuell" < "Seite Ende"
    <><>Change Variable "Kontrolle", set [VarNr "Aktuell"]
    <><>Change Variable "Auftrag Schrift Scene Y" + 20
    <><>Call Event: "Auftrag Anzeigen"
    <>End:
    <>Change Variable "Aktuell" + 1
    <>Change Variable "Anzeige Picture ID" + 1
    <>Fork Variable "Aktuell" < "Seite Ende"
    <><>Change Variable "Kontrolle", set [VarNr "Aktuell"]
    <><>Change Variable "Auftrag Schrift Scene Y" + 20
    <><>Call Event: "Auftrag Anzeigen"
    <>End:
    Der Großteil wiederholt sich einfach. Hierbei lasse ich meinen Aktuell-Fahrstuhl immer eine Etage höher fahren und hohle mir den Inhalt der Schublade.
    Nun brauchst du noch das "Auftrag Anzeigen" CE:
    Zitat Zitat
    <>Fork Variable "Kontrolle" = 1
    <><>Fork Variable "Anzeige Picture ID" = 5
    <><><>Show Picture '5' "Auftrag 1 Titel" at [Auftrag Schrift Scene X | Auftrag Schrift Scene Y]
    <><>Else:
    <><>Fork Variable "Anzeige Picture ID" = 6
    <><><>Show Picture '6' "Auftrag 1 Titel" at [Auftrag Schrift Scene X | Auftrag Schrift Scene Y]
    <><>Else:
    <><>Fork Variable "Anzeige Picture ID" = 7
    <><><>Show Picture '7' "Auftrag 1 Titel" at [Auftrag Schrift Scene X | Auftrag Schrift Scene Y]
    <><>Else:
    <><>Fork Variable "Anzeige Picture ID" = 8
    <><><>Show Picture '8' "Auftrag 1 Titel" at [Auftrag Schrift Scene X | Auftrag Schrift Scene Y]
    <><>Else:
    <><>Fork Variable "Anzeige Picture ID" = 9
    <><><>Show Picture '9' "Auftrag 1 Titel" at [Auftrag Schrift Scene X | Auftrag Schrift Scene Y]
    <><>Else:
    <><>Fork Variable "Anzeige Picture ID" = 10
    <><><>Show Picture '10' "Auftrag 1 Titel" at [Auftrag Schrift Scene X | Auftrag Schrift Scene Y]
    <><>End:
    <>Else:
    <>Fork Variable "Kontrolle" = 2
    <><>Fork Variable "Anzeige Picutre ID" = 5
    <><><>...
    <><>End:
    <>Else:
    <>...
    <>End:
    Die Cursorbewegung läuft dann wie in jedem anderen Menü auch. Allerdings kannst du, um zu ermitteln welcher Auftrag gerade unter deinem Cursor ist, diese Rechnung benutzen:
    Zitat Zitat
    Ausgewählter Auftrag = "Seite Anfang" + (Aktuelle Menüposition (startend bei 1) - 1)
    Sollte funktionieren ^^°

    Leider fange ich selber an, an der Verständlichkeit des obigen Textes zu zweifeln. Mag daran liegen das ich heute aus dem Urlaub gekommen bin und abgesehen von zwei, drei 15 Minütigen Nickerchen auf unbequemen Sitzen im Zug seit nunmehr 36 Stunden keinen Schlaf mehr hatte. Ich werde mich gleich ins Bett verziehen, wollte nur noch den Text so einigermaßen zuende bringen. Bis morgen hätte ich es bestimmt vergessen ^^°

    mfg
    Phönix Tear

  13. #13
    Hallo,

    erstmal vielen Dank für die Mühe mit der ausführlichen Erklärung ... habe mir den Beitrag mal gedruckt, um ihn auch ohne Browser durcharbeiten zu können.

    Bin die Erklärung nun zweimal durchgegangen, werde es aber nochmals in aller Ruhe machen. Das Prinzip habe ich aber soweit verstanden.

    Eines aber erstmal:

    Zitat Zitat
    In deiner PN hast du ja angesprochen, dass du es so haben willst, dass die Aufträge in der Reihenfolge aufgelistet werden wie man sie findet (nach Datum sortiert zozusagen).
    Hab mir sicherheitshalber die PN nochmal angesehen, aber nein - hab das nicht erwähnt dort ... musst du wohl verwechselt haben mit dem Thread aus 2004, den ich verlinkt habe. Den hatte ich ganz zu Anfang hier gelesen und mir dann heute gedacht, ich frag mal, weil du es ja damals dort erklärt hattest (aber leider die Bilder nicht mehr existieren).

    Ich bin schon eine ganze Weile am überlegen, wie ich das Logbuch am Besten aufbauen könnte. So wie ich es aus deiner Beschreibung verstanden habe, ist es eine komplizierte Methode, auch wenns nachher schön aussehen würde.

    Die Beschreibungen als Bild anzuzeigen ist sicherlich eine tolle Idee - was mich dann aber stört ist folgendes: Die Überschriften für jede Quest müssen ja schon als Bild dargestellt werden - die Beschreibungen würden sich aber auch per Show Message aufrufen lassen, sobald man eine Quest ausgewählt hat.

    Außerdem könnte ja jemand auf die Idee kommen, sich den Ordner "Pictures" anzugucken und schon vor dem Spielen erfahren, was es für Aufgaben geben wird. Die Beschreibung dann als Message anzuzeigen würde dies dann ausschließen

    Eine andere Art für ein Logbuch habe ich in der Demo "Der Bote des Königs" gesehen. Dort kann man die Quests erst getrennt in einer Show Choice auswählen (ob Haupt- oder Nebenquest). Danach werden die Aufgaben dann als Message angezeigt (bei mehreren Aufträgen habe ich jetzt nicht nachgesehen wie es ausschaut).

    Ich stelle mir das Logbuch so vor:

    1. aufrufbar über einen eigenen Eintrag im Menü
    2. Hintergrundbild wird angezeigt (man könnte hier einen Notizblock darstellen oder sowas)
    3. Da mehr als 3 Aufgaben aufgelistet werden sollen, werde ich die Überschriften als Pictures nehmen müssen ist klar - also werden dann über das Hintergrundbild alle vorhandenen Aufgaben eingeblendet.
    4. Neben den Aufgaben sollte sich dann ein Cursor befinden, mit welchem man zwischen den Aufgaben navigieren kann
    5. Wählt man eine Aufgabe aus, so wird ein Picture eingeblendet, über welchem man dann eine transparente Message anzeigen lässt (das Picture natürlich passend zum Logbuch und anders als eine normale Textbox, damit man den Unterschied erkennt und das Ganze auch gut aussieht) - als weitere Hilfe bei wichtigen Quests könnte man dann auch ein Faceset anzeigen lassen oder an anderer Stelle ein Bild (zB. eine Karte oder einen Screenshot von dem Ort wo sich die Quest befindet)
    6. Sollte man mehr Aufgaben haben als Pictures sich anzeigen lassen, dann natürlich noch zwei weitere Bilder, die ein vor/zurück geben sollen - vielleicht noch einen "Zusatzbutton" zum Verlassen des Logbuches.

    Was ich nun noch nicht sicher weiß ist, was mit den erledigten Aufgaben geschehen soll, ob sie weiterhin angezeigt werden sollen. Hier würde ich dann das bevorzugen, was von der Umsetzung her einfacher ist.

    Für den Fall, dass bereits erledigte Aufgaben weiterhin angezeigt werden, würde ich die Überschriften dann farblich anders gestalten (eventuell noch ein Häkchensymbol dahinter) - sodass man also die einzelnen Quests unterscheiden kann.

    Natürlich könnte man auch mehrere Seite im Logbuch machen, wo der Spieler dann auswählen kann, ob er aktuelle Quests sehen will, bereits erledigte, oder sogar eine Statistik ("Du hast bereits X Aufgaben gelöst") - Möglichkeiten gibt es da eben viele.

    Wie sieht es also mit der Umsetzung für diese Art von Logbuch aus? Ich denke dass sie etwas einfacher ist. Es ist übrigens auch egal, welche Reihenfolge die Aufträge im Logbuch haben, zumal jeder sicherlich unterschiedlich spielt und zuerst an anderer Stelle sich aufhält, als die erste aller Aufgaben wirklich wäre.

    Erstmal bis dann, werden heute Mittag mal ein wenig herumprobieren um zu schauen, ob ichs irgendwie hinbekomme.

Berechtigungen

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