Mehrere Menüs möglich?

  • #10, by sebastianWednesday, 10. February 2016, 08:28 8 years ago
    Frage zu deinem plan:
    Kann der spieler/Schüler frei speichern oder soll es automatisch den Fortschritt sichern?

    So oder so macht es sinn sich hier das autosave System genauer anzuschauen, da du dort gewisse ids direkt bestummen kannst.

    Da du den namen des Schülers oder eine Identifikation brauchst, die du in eine variable speichern kannst, müsstest du schauen, dass du entweder per lua ein eingabefeld bastelst oder (was einfacher ist) ein zahlenfeld, wo jeder Schüler seine "id" eintippen kann.
    ---
    Ganz alternativ kannst du versuchen dein ursprüngliches Menü mit autosaves zu realisieren

    Thread Captain

    2346 Posts


  • #11, by georgmoensWednesday, 10. February 2016, 10:39 8 years ago
    Ich habe gerade mal probiert, was so auf die Schnelle möglich sein könnte. Also:
    - Zuerst mal deckt ein Objekt tatsächlich das Speicherfeld ab, das Bildchen ist nicht mehr zu sehen.
    . Das Objekt deckt aber nicht die Schrift ab, die unter dem Speicherfeld steht. Das kann man lösen, wenn man einfach keine Schrift zuweist.
    - Aber, und das ist ja auch schon von Sebastian angesprochen worden: Das System speichert ja einen Platz nach dem anderen ab. Und erst wenn die voll sind, kann man einen beliebigen Platz anklicken.
    Nehmen wir mal an, es sitzt an einem PC im Computerraum immer derselbe Schüler einer Klasse. Und nehmen wir mal weiter an, dass in einer Schule 4 Klassen mit dem Programm arbeiten. Dann könnte man eine Matrix mit 4x4 Speicherfeldern erstellen, denn ein Feld pro Spieler ist definitiv bei Kindern zu wenig. Es gibt 4 Objekte mit Grafiken, also sozusagen Masken mit Schlitz. Ein Objekt deckt jeweils 3 Reihen der Matrix ab. Welches Objekt das ist, wird durch eine Variable bestimmt, die am Anfang des Spiels durch irgendeine Anmeldung umgeschaltet wird.
    Es bleibt aber das Problem: Anfangs lässt sich nicht in jedes Feld speichern.Das mit den autosaves verstehe ich nicht. Da fehlt definitiv mal wieder die Dokumentation. Klickst du auf Hilfe, kommt das englische Wiki. Klickst du auf Manual, kommt das englische Manual. Klickst du dort auf "Create a Save Menu" kommt ---- nix. Ich habe noch das alte Handbuch und da steht unter Autosave, dass kein Screenshot angelegt wird. Und deswegen lasse ich es lieber bei der Lösung, dass unterschiedliche Spiele installiert werden müssen.
    Mein Problem ist sicher auch ein sehr exotisches, denn wer bastelt schon Spiele für Schulen?
    Trotzdem Dank an machtnix und sebastian und herzliche Grüße
    Georg

    Newbie

    87 Posts

  • #12, by turricanWednesday, 10. February 2016, 10:48 8 years ago
    Also tatsächlich ist mein Projekt auch für Schulen! grin
    Allerdings ist die Spielzeit auf eine Unterrichtseinheit ausgelegt. Ich habe zwar auch Speicherstände - werde aber nicht extra abfangen, welcher Schüler da nun davor sitzt und vertraue darauf, dass, falls die Schüler Speicherstände finden, sie dennoch das ganze Spiel spielen...
    Aber zu Deiner Speicherproblematik:
    Ich habe in einer Schule bereits einen Testlauf gemacht und war dort überrascht: die Schüler hatten alle ein eigenes Nutzerprofil innerhalb einer VM, die bei jedem Start neu geladen und zurückgesetzt wurde. Ich verlasse mich jetzt nicht darauf, dass das an jeder Schule so ist, aber damit wäre Dein Problem gelöst...

    Newbie

    43 Posts

  • #13, by georgmoensWednesday, 10. February 2016, 14:55 8 years ago
    @ Turrican
    Schön, dass ich nicht alleine bin! smile
    Aber wenn das bei jedem Start zurückgesetzt wird, bedeutet das nicht auch, dass die Speicherstände alle gelöscht werden? Ich weiß von vielen Schulen, die sogenannte Wächterkarten einsetzen um zu verhindern, dass die Schüler auf der Partition C: alles durcheinanderbringen. Und genau dort werden ja auch die Speicherstände abgelegt.
    Ansonsten wäre das Problem gelöst, da hast du sicher Recht. Aber wenn man so ein Programm macht, sollte es ja eigentlich für alle gehen.
    Was mir noch eingefallen ist: Wenn man nun den Lehrer, der für die PCs zuständig ist, bittet, einmal auf allen Speicherplätzen die Anfangsszene zu laden, dann müsste doch die Idee mit dem Abdecken umsetzbar sein.
    Wie machtnix gesagt hat: Tricksen, tricksen, tricksen....

    Newbie

    87 Posts

  • #14, by MachtnixWednesday, 10. February 2016, 22:51 8 years ago
    Ich würde das Autosave-System bevorzugen. Man kann im Spiel die Autosave-Nummern abhängig von der Bedingung abspeichern, welche ID gerade eingeloggt ist. Also z.B. wenn ID=4, speichere Autosave #7 und #8. Dazu muss nicht mal ein Menü geöffnet werden, das Speichern und Abrufen geht auf jeder Kulisse. Mit Bedingungen und Werten lässt es sich gut einrichten, dass jeder Schüler nur seine Nummer speichern und laden kann. Und das funktioniert auch auf mehreren Kulissen/Menüs.

    Nachteil: es sind kein Screenshot und kein Datum vorhanden.

    Ansatz:
    http://wiki.visionaire-tracker.net/wiki/CreateScreenshot_(CMS). Ich habe es noch nicht ausprobiert. So wie ich das zu verstehen glaube, muss im vis-Ordner ein Unterordner namens "Screenshots" angelegt sein und dort werden die Bilder abgelegt.
    Offenbar liegen dann aber die Sicherungsdateien und die Screenshots auf verschiedenen Laufwerken in verschiedenen Ordnern...

    Man muss also nur hinbekommen, dass beim Speichern von Autosave #7 Screenshot 7 erzeugt wird und beim Laden derselbe Shot auf das Menü gelegt wird. Also leider genau das, was beim normalen Speichern schon automatisch erfolgt.

    Laut Hilfe soll es möglich sein, bei Eingabe eines Spielnamens in der ved-Datei die Savedateien im Ordner der vis-Datei anlegen zu können anstatt in dem Standard-Profil-Ordner. Das würde immerhin das Problem beseitigen, auf C: speichern zu müssen (was ich übrigens extrem beknackt finde. Ich benutze diese unendlich verschachtelten "Dokumente und eigenen Einstellungen niemals!" Und - wie beschrieben - ist C: auch oft gesperrt.).

    Allerdings hat das noch nie geklappt.

    Ich versuch's weiter. Interessiert mich nämlich auch (nein, nicht für Schule), aber die getrennten Logins sind schon verlockend...

    Machtnix

    Thread Captain

    1097 Posts

  • #15, by MachtnixThursday, 11. February 2016, 17:23 8 years ago
    Also, das mit den Screenshots bekomme ich nicht hin. Visionaire speichert manchmal zwar einen Screenshot in ganzer Bildschirmgröße 800x600 und zwar immer denselben vom Start des Spiels(!) - egal, an welcher Stelle im Spiel ich das Script aufrufe und welche Kulisse gerade zu sehen ist. Dieser Screen wird nicht überschrieben; ich weiß nicht, wie ich die "clear"-Option auf falsch oder wahr setzen soll. Nach der Beschreibung soll ja "Überschreiben" standardmäßig voreingestellt sein, wird aber nicht gemacht.

    Schade, dass "Autospeichern" nicht mit Screenshot ausgerüstet wurde. Bei Konsolenspielen (z.B. lade an der Stelle, an der du das Spiel beendet hast) ist das ja Standard. Das kann man in Vis wohl nur ohne Screenshot hinbekommen.

    :-( Machtnix

    Thread Captain

    1097 Posts

  • #16, by sebastianThursday, 11. February 2016, 18:06 8 years ago
    Schreib mal bitte das Script, welches du zum kreieren des screenshots nutzt

    Thread Captain

    2346 Posts

  • #17, by MachtnixThursday, 11. February 2016, 18:26 8 years ago
    Ich habe 1:1 das Script als Definition aus dem Wiki verwendet (zuvor einen Ordner screenshots angelegt):
    -- add this as an execute script action inside of a key input; change "filename to whatever you like
     
    -- save to "screenshots" folder as "filename_(date)_(time).png"
    local time = os.date("%Y-%m-%d_%Hh-%Mm-%Ss")
    createScreenshot("screenshots/filename_" .. time .. ".png")
    
    Ich habe nur filename_ durch Spieler1_ ersetzt.
    Dann habe ich createScreenshot("filename", {flags=1, clear}) an bestimmten Stellen im Spiel aufgerufen, z.B. beim automatischen Speichern oder bei Aktionen. Einfach zum Testen. Was diese {}-Klammern und die flag-Anweisung bedeuten, weiß ich nicht.

    In der "messages.log" stand dann eine Fehlermeldung mit dem Hinweis, es können nur Dateien mit .png-Endung gespeichert werden. Da brach bei mir das Verständnis komplett weg, denn WENN gespeichert wurde, dann IMMER nur die png-Datei (wie im Script vorgegeben...). Bahnhof? Hallo?

    Machtnix

    Thread Captain

    1097 Posts

  • #18, by sebastianThursday, 11. February 2016, 19:41 8 years ago
    Heißt das die variable "time" setzt du nur einmal und beim screenshot erstellen wird immer die selbe zeit verwendet? Deswegen wird das bild überspeichert. Das clearflag kannst du eigentlich weglassen.
    Ist es wirklich das selbe bild egal wi du dann speicherst oder aktualisiert sich nur nicht die thumbnail.?

    Thread Captain

    2346 Posts

  • #19, by MachtnixThursday, 11. February 2016, 20:09 8 years ago
    Die Zeit wird immer aus der lokalen Variable local time neu eingelesen. Jeder Scriptaufruf liest die Rechnerzeit aus und legt ein File an. Die Zeit ist deshalb immer aktuell.
    Aber es ist immer dasselbe Bild und zwar vom Anfang der Kulisse (dort steht bei mir ein Startbild, deshalb weiß ich das). Auch wenn dieses Bild im weiteren Verlauf des Spiels gar nicht aktiv ist und alle Speicherpunkte (also die normalen) den richtigen Screenshot zeigen. Er wird aber nicht überschrieben (sonst wäre die Zeit ja aktuell) noch gibts ein anderes Motiv.

    Ich vermute, dass beim ersten Aufruf genau EIN Screenshot angelegt wird. Ich konnte noch nicht schlüssig nachvollziehen, WAS genau eigentlich passiert und warum nur manchmal ein ZWEITER Screenshot im selben Spiel angelegt wird (wie es ja eigentlich sein soll), wenn ich das Script aufrufe. Aber weshalb es dasselbe Motiv ist, kann ich mir nicht erklären.

    Allerdings: wenn der Timestamp in den Filenamen eingetragen wird, kann ja niemals ein File gleichen Namens existieren. Das ist logisch.
    Example 1: basic save screenshot to x folder (if a file with the same name exists: it will be automatically overwritten)

    Dann müssten eigentlich bei jedem Aufruf neue Files hinzugefügt werden. Aber genau das passiert eben nicht. Im Moment bin ich etwas ratlos, wie dieses System funktioniert...

    Hört sich sicher konfus an, aber genauso fühle ich mich auch.

    Machtnix

    Thread Captain

    1097 Posts

  • #20, by sebastianThursday, 11. February 2016, 20:42 8 years ago
    Bist du sicher, dass das Bild (wenn auch viseuell nicht) überhaupt neu gespeichert wird? Ändert sich von dienem vorhandenen Bild das Erstellungsdatum in den Dateieigenschaften?

    Ich nutze folgendes für eine Screenshotfunktion:
    local time = os.date("%Y-%m-%d_%H-%M-%S")
    createScreenshot("screenshots/screenshot_" .. time .. ".png")
    


    wenn ich das jetzt vergleiche mit deinem Script, hast du %Ss und nicht %S zum Schluss stehen...

    Speichert dann relativ zur .ved datei im Ordner screenshots. Ordner screenshots muss natürlich existieren.

    Thread Captain

    2346 Posts