+ Antworten
Ergebnis 1 bis 13 von 13
  1. #1
    Planierer Avatar von Pirat92
    Registriert seit
    30.08.2009
    Ort
    Bremen
    Beiträge
    37

    Standard Automatische Savegames

    Hallo ich bin´s schon wieder

    Ich suche schon lange nach einer Möglichkeit per Aufruf im Script das Spiel zu speichern, aber ich hab nichts gefunden. Gibt es überhaupt eine Möglichkeit dafür oder gibt es vielleicht ein workarround oder ähnliches?

    Gruß Pirat92

  2. #2
    Holzfäller Avatar von Noigi
    Registriert seit
    31.12.2007
    Beiträge
    118

    Standard AW: Automatische Savegames

    Was hast du denn Gemeines für die Spieler geplant?

    Es ist definitiv möglich, per Skript zu speichern. Ich habe da keine Erfahrung, aber nehme an dass sich die passende Funktion leicht in _G (utilscripts:g [DEdK Script - Wiki]) finden lässt.

  3. #3
    Planierer Avatar von Pirat92
    Registriert seit
    30.08.2009
    Ort
    Bremen
    Beiträge
    37

    Standard AW: Automatische Savegames

    Es ist definitiv möglich, per Skript zu speichern. Ich habe da keine Erfahrung, aber nehme an dass sich die passende Funktion leicht in _G (utilscripts:g [DEdK Script - Wiki]) finden lässt.
    Oha ganz schön viel
    Also ich hab jetzt beim ersten durchschauen das hier gefunden:
    Code:
    SaveGame
    fals es wichtig ist das ganze stand unter AC
    und was muss ich jetzt damit machen
    gib´s da irgentwelche Parameter oder wie muss ich das ins Scribt einfügen?

    Was hast du denn Gemeines für die Spieler geplant?
    Ich schreib grade für meine Werwolf funktion eine Spezielfähigkeit für einen Werwolf Hero . Aber dabei gibs manchmal probleme mit der Logic.MoveSettler Table.(aber nur ganz selten), deshalb soll das Spiel vorsichtshalber vorher gespeichert werden.

    Und in meiner Map gibs ein paar Stellen in dennen es ziemlich ärgerlich wäre, wenn man vergisst zu speichern

  4. #4
    Holzfäller Avatar von Noigi
    Registriert seit
    31.12.2007
    Beiträge
    118

    Standard AW: Automatische Savegames

    Zitat Zitat von Pirat92 Beitrag anzeigen
    Also ich hab jetzt beim ersten durchschauen das hier gefunden:
    Code:
    SaveGame
    fals es wichtig ist das ganze stand unter AC
    und was muss ich jetzt damit machen
    gib´s da irgentwelche Parameter oder wie muss ich das ins Scribt einfügen?
    Alle Inhalte von _G (also auch die Inhalte der Tabelle) sind im Grunde globale Variablen, die im Skript verfügbar sind. Man kann also Typ und ggf. Inhalt abfragen:
    Code:
    Message(type(SaveGame))
    Ich würde jetzt die Einträge, die aussehen als ob sie das machen was du willst (mit 'Savegame' o.Ä. im Namen) auf diese Art überprüfen und gucken, ob da Funktionen dabei sind - mit denen (und den Parametern) dann Rumprobieren.

  5. #5
    Schwertkämpfer Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,439

    Standard AW: Automatische Savegames

    Lass doch einfach ein Widget alle 15 Minuten aufgehen, wo ans Speichern erinnert wird.
    Oder einfach nur so ne Message auf dem Bildschirm.
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  6. #6
    Sägewerker Avatar von Flodder
    Registriert seit
    12.07.2006
    Ort
    Wilstedt (Niedersachsen)
    Beiträge
    177

    Standard AW: Automatische Savegames

    Zitat Zitat von Pirat92 Beitrag anzeigen
    Ich suche schon lange nach einer Möglichkeit per Aufruf im Script das Spiel zu speichern, aber ich hab nichts gefunden. Gibt es überhaupt eine Möglichkeit dafür oder gibt es vielleicht ein workarround oder ähnliches?
    Gruß Pirat92
    Wie wärs denn, wenn Du einfach mal versuchst die Funktion der Taste F6 zu "hacken"? Das ist normalerweise die Schnellspeichertaste im Game.

    Gruss
    Flodder
    Geändert von Flodder (03.10.2009 um 05:15 Uhr)
    Sinnlos ist ein Leben ohne Sinn für nnisnU!

  7. #7
    Planierer Avatar von Pirat92
    Registriert seit
    30.08.2009
    Ort
    Bremen
    Beiträge
    37

    Standard AW: Automatische Savegames

    Erstmal danke für die vielen Antworten


    Lass doch einfach ein Widget alle 15 Minuten aufgehen, wo ans Speichern erinnert wird.
    Oder einfach nur so ne Message auf dem Bildschirm.
    Auf meiner Map würde das gehen, aber in der "Werwolf" Funktion muss immer zu einem bestimmten Zeitpunkt gespeichert werden, wenn einfach nur eine Nachricht kommt könnte der Spieler die ja einfach ignorieren und irgentwann würden die Nachrichten auch nerven

    Wie wärs denn, wenn Du einfach mal versuchst die Funktion der Taste F6 zu "hacken"? Das ist normalerweise die Schnellspeichertaste im Game.
    Das klingt schon mal ganz vielversprechend , aber ich hab keine Ahnung wie das geht. Im Forum und im Wiki hab ich dazu nichts gefunden. Ich werd aber nochmal genauer Suchen.

    Ich würde jetzt die Einträge, die aussehen als ob sie das machen was du willst (mit 'Savegame' o.Ä. im Namen) auf diese Art überprüfen und gucken, ob da Funktionen dabei sind - mit denen (und den Parametern) dann Rumprobieren.
    Hab ich gemacht und das ist dabei rausgekommen :
    Code:
    Save = nil
    SaveGame = nil
    GetSaveGameName = nil
    IsSaveGameValid = nil
    MainMenuWindow_SaveGame = nil
    
    MainWindow_SaveGame_SlotOnScreen = number (8)
    MainWindow_SaveGame_SaveListOffset = number (0)
    MainWindow_SaveGame_MaximumSlots = number (100)
    MainWindow_SaveGame_LoadListOffset = number (0)
    
    
    MainWindow_SaveGame_DoOverwriteSaveGame = Funktion
    MainWindow_SaveGame_DoSaveGame = Funktion
    MainWindow_SaveGame_CreateSaveGameDescription = Funktion
    MainWindow_SaveGames_Sort = Funktion
    QuickSave = Funktion
    QuickSave() Funktioniert (ohne Parameter).
    Jetzt muss ich nur noch die Nachricht "Spielstand wurde gespeichert" wegkriegen und dem Spielstand einen Namen geben

  8. #8
    Planierer Avatar von Pirat92
    Registriert seit
    30.08.2009
    Ort
    Bremen
    Beiträge
    37

    Standard AW: Automatische Savegames

    QuickSave hat 2 Nachteile . Es überschriebt immer den ersten Speicherslot und man kann keinen Namen angeben.

    Eine zweite Möglichkeit ist:
    Code:
    MainWindow_SaveGame_DoSaveGame( 4, MainWindow_SaveGame_GenerateList( ? ))
    Die Zahl am Anfang gibt den SpeicherSlot an, aber keine Ahnung, was MainWindow_SaveGame_GenerateList() macht .
    Wenn der Angegebene Speicherslot leer ist funktionier es Super, aber wenn er schon belegt ist kommt die Abfrage ob der Spielstand überschrieben werden soll und man muss erst auf den Ja-Button klicken, während das Spiel weiterläuft. Es gibt auch noch MainWindow_SaveGame_DoOverwriteSaveGame() aber die Funktion hat anscheinnend keine Parameter . Hat vielleicht jemand eine Idee?

    Hier nochmal eine vollständige Liste aller Save Befehle:
    Code:
    MainWindow_SaveGame_CreateSaveGameDescription()
    MainWindow_SaveGame_DoOverwriteSaveGame()
    MainWindow_SaveGame_DoOverwriteUpdateButton()
    MainWindow_SaveGame_DoSaveGame( _slot, _NameList)
    MainWindow_SaveGame_GenerateList()
    MainWindow_SaveGame_ScrollDownButton()
    MainWindow_SaveGame_ScrollUpButton()
    MainWindow_SaveGame_UpdateButton( _Slot, _NameList)
    MainWindow_SaveGames_Sort( _left)
    QuickSave()
    
    Mission_OnSaveGameLoaded
    Dbg_SaveCutscenes
    GetSaveGameNames
    GetSaveGameString
    Save
    SetStringNoSave
    SetValue
    SetValueNoSave
    IsSaveGameValid
    SaveGame
    MainWindow_SaveGame_LoadListOffset
    MainWindow_SaveGame_MaximumSlots
    MainWindow_SaveGame_SaveListOffset
    MainWindow_SaveGame_SlotOnScreen
    MainMenuLoadWindow
    MainMenuWindow
    MainMenuWindow_LoadGame
    MainMenuWindow_SaveGame
    überall wo der Parameter _NameList angegeben werden muss, muss man MainWindow_SaveGame_GenerateList() einsetzen

  9. #9
    Sägewerker Avatar von Flodder
    Registriert seit
    12.07.2006
    Ort
    Wilstedt (Niedersachsen)
    Beiträge
    177

    Standard AW: Automatische Savegames

    Zitat Zitat von Pirat92 Beitrag anzeigen
    QuickSave hat 2 Nachteile . Es überschriebt immer den ersten Speicherslot und man kann keinen Namen angeben.
    Ein weiterer Nachteil wäre, dass nach verlassen des Spiels der Quicksave weg ist.
    Zitat Zitat von Pirat92 Beitrag anzeigen
    Eine zweite Möglichkeit ist:
    Code:
    MainWindow_SaveGame_DoSaveGame( 4, MainWindow_SaveGame_GenerateList( ? ))
    ...und damit bist Du schon sehr nah dran Pirat92!

    Jede Map generiert eine neue Slotlist und die ist -weiss nicht genau wie gross-, aber sehr gross!

    Uninteressant was in (?)) steht. Es reichen die ()).
    Da braucht gar nichts drin stehen.

    Versuchs mal so:
    Speichern auf den ersten Speicherslot mit dem Eintrag 1:
    Code:
    MainWindow_SaveGame_DoSaveGame( 1 -1,MainWindow_SaveGame_GenerateList())
    Speichern auf den zweiten Speicherslot mit dem Eintrag 2:
    Code:
    MainWindow_SaveGame_DoSaveGame( 1 ,MainWindow_SaveGame_GenerateList())
    Speichern auf den dritten Speicherslot mit dem Eintrag 3:
    Code:
    MainWindow_SaveGame_DoSaveGame( 2 ,MainWindow_SaveGame_GenerateList())
    ... und so weiter!

    Damit im ersten slot wirklich auch 1 erscheint MUSS 1-1 eingetragen werden. Wenn man dort 1 einträgt, erscheint der Speicherstand zwar im ersten Slot, wird aber als zweiten Speicherstand ausgewiesen.

    Die obigen Codezeilen einfach da hinschreiben, wo es passieren soll. Selbstversuche brachten 100 prozentigen Erfolg. Selbst bei 10 Einträgen. Und da war slotmässig noch lange nicht sense.

    Gruss
    Flodder
    Sinnlos ist ein Leben ohne Sinn für nnisnU!

  10. #10
    Planierer Avatar von Pirat92
    Registriert seit
    30.08.2009
    Ort
    Bremen
    Beiträge
    37

    Standard AW: Automatische Savegames

    Versuchs mal so:
    Speichern auf den ersten Speicherslot mit dem Eintrag 1:
    Code:
    MainWindow_SaveGame_DoSaveGame( 1 -1,MainWindow_SaveGame_GenerateList())

    Speichern auf den zweiten Speicherslot mit dem Eintrag 2:
    Code:
    MainWindow_SaveGame_DoSaveGame( 1 ,MainWindow_SaveGame_GenerateList())

    Speichern auf den dritten Speicherslot mit dem Eintrag 3:
    Code:
    MainWindow_SaveGame_DoSaveGame( 2 ,MainWindow_SaveGame_GenerateList())

    ... und so weiter!
    woher weist du das Alles ?

    kann ich auf die Art auch einen Spielstand überschrieben, ohne das Abgefragt wird ob er überschrieben werden soll?
    Edit: vielleicht indem man irgentwie MainWindow_SaveGame_DoOverwriteSaveGame() einbringt

    Die obigen Codezeilen einfach da hinschreiben, wo es passieren soll. Selbstversuche brachten 100 prozentigen Erfolg. Selbst bei 10 Einträgen. Und da war slotmässig noch lange nicht sense.
    Ja es gibt 100 slots .

    Edit: Hey ich bin seit eben Planierer
    Geändert von Pirat92 (03.10.2009 um 12:11 Uhr)

  11. #11
    Sägewerker Avatar von Flodder
    Registriert seit
    12.07.2006
    Ort
    Wilstedt (Niedersachsen)
    Beiträge
    177

    Standard AW: Automatische Savegames

    Zitat Zitat von Pirat92 Beitrag anzeigen
    kann ich auf die Art auch einen Spielstand überschrieben, ohne das Abgefragt wird ob er überschrieben werden soll?
    Naja, mit der Vergabe der gleichen Nummerierung wird zwar der ensprechend gleiche Speichestand überschrieben, aber leider nicht ohne Hinweismeldung. Da muss man was anderes machen.

    Fragt sich nur, ob das bei Deiner Map notwendig ist.
    Bedenke: 100 Speicherslots!
    Sinnlos ist ein Leben ohne Sinn für nnisnU!

  12. #12
    Planierer Avatar von Pirat92
    Registriert seit
    30.08.2009
    Ort
    Bremen
    Beiträge
    37

    Standard AW: Automatische Savegames

    Zitat:
    Zitat von Pirat92
    kann ich auf die Art auch einen Spielstand überschrieben, ohne das Abgefragt wird ob er überschrieben werden soll?

    Naja, mit der Vergabe der gleichen Nummerierung wird zwar der ensprechend gleiche Speichestand überschrieben, aber leider nicht ohne Hinweismeldung. Da muss man was anderes machen.

    Fragt sich nur, ob das bei Deiner Map notwendig ist.
    Bedenke: 100 Speicherslots!
    Naja ich weis ja noch nicht welche Speicherslots während des spielens der Map leer sind und welche belegt, ich könnte höchstens versuchen eine Funktion zu finden die überprüft ob ein Speicheslot leer ist und wenn für jeden Spielstand ein neuer Speicherslot benutzt werden würde, würde es doch irgentwann total unübersichtlich werden.

    Es muss doch auch eine Möglichkeit geben Speicherslots wieder per Script zu löschen?

    Edit: gibs eigentlich in Lua einen Befehl mit dem man den Ordner save_1 löschen kann?
    ich hab os.remove() ausprobiert, aber das klappt nicht.
    Geändert von Pirat92 (03.10.2009 um 16:53 Uhr)

  13. #13
    Sägewerker Avatar von Flodder
    Registriert seit
    12.07.2006
    Ort
    Wilstedt (Niedersachsen)
    Beiträge
    177

    Standard AW: Automatische Savegames

    Zitat Zitat von Pirat92 Beitrag anzeigen
    Naja ich weis ja noch nicht welche Speicherslots während des spielens der Map leer sind und welche belegt, ich könnte höchstens versuchen eine Funktion zu finden die überprüft ob ein Speicheslot leer ist und wenn für jeden Spielstand ein neuer Speicherslot benutzt werden würde, würde es doch irgentwann total unübersichtlich werden.
    Du musst davon ausgehen, dass der Spieler auch zwischendurch manuell speichern wird. Ungewiss, wie oft er das macht. Mit Sicherheit gibt es Spieler, die 10 oder auch mehr Speicherstände anlegen. Beim Überschreiben per Funktion ohne Meldung ist der Frust eigentlich schon vorprogrammiert.

    An Deiner Stelle würde ich das nicht machen. Den Spieler per Kurzbriefing einfach nur darauf hinweisen, an dieser oder jener Stelle zu speichern. Macht er das nicht, ist das sein Problem.
    Zitat Zitat von Pirat92 Beitrag anzeigen
    Es muss doch auch eine Möglichkeit geben Speicherslots wieder per Script zu löschen?
    Macht die Funktion ja. Das Problem bei Deinem Wunsch ist doch das Meldefenster beim Überschreiben.
    Zitat Zitat von Pirat92 Beitrag anzeigen
    Edit: gibs eigentlich in Lua einen Befehl mit dem man den Ordner save_1 löschen kann? ich hab os.remove() ausprobiert, aber das klappt nicht.
    Kann ich leider nicht beantworten. Dann müsstest Du u.U. auch noch den Pfad wissen, wo bei jedem Spieler gespeichert wird und der kann sehr unterschiedlich sein.
    Sinnlos ist ein Leben ohne Sinn für nnisnU!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Mission 13 Montecito: Savegames
    Von SpiderFive im Forum Siedler 6 AeK Lösungen
    Antworten: 1
    Letzter Beitrag: 28.04.2009, 12:34
  2. Savegames
    Von Busfahrer im Forum Probleme Wünsche Ideen
    Antworten: 7
    Letzter Beitrag: 19.03.2009, 14:05
  3. Probleme mit den Savegames!
    Von TheDarkestHate im Forum Technik Ecke
    Antworten: 3
    Letzter Beitrag: 20.10.2008, 18:40
  4. 022 Savegames
    Von SpiderFive im Forum Siedler 6 AeK Tipps und Tricks
    Antworten: 1
    Letzter Beitrag: 03.10.2007, 20:47

Stichworte

Berechtigungen

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