Menü mit eigem Lade/Speicher-Kasten

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Sylana voisin
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 18
Registriert: 10.10.2002, 15:53
Wohnort: ganz tief drin in AGS!!

Menü mit eigem Lade/Speicher-Kasten

Beitrag von Sylana voisin »

Hier nun mein Menü:
-------------------------------------------------------------------------------------------------------------------
[Menü mit eigenem Speicher/Ladebildschirm]
-------------------------------------------------------------------------------------------------------------------
GUI 3 : Menü : Button (Spielen)=0 : Button (Laden)=1 : Button(Speichern)=2 : Button(Beenden)=3
Button (Slider Geräusche 0-255 )=4 : Button (Slider Musik 0 - 100 )=5
GUI 4 : Ladeinterface : Button (Laden)=0 : Button (Abbruch)=1 : Textbox Object=2 : Listbox Object=3
GUI 5 : Speicherinterface : Button (Speichern)=0 : Button (Abbruch)=1 : Textbox Object=2 : Listbox Object=3
GUI 6 : Warnmeldungsinterface : Button (Abbruch)=0
--------------------------------------------------------------------------------------------------------------------

if (interface == 3) {      // wenn Menü
if (button == 0) {             //weiterspielen
GUIOff(3);                     // Menü ausschalten
GUIOn(0);                     // spieleinterface einschalten

} // ende button 0


if (button == 1) {             // Laden

ListBoxSaveGameList(4,3);             // Fülle Liste mit Speicherständen
GUIOff(3);                  // Menü ausschalten
GUIOn(4);                   // Schalte Ladeinterface ein

} // ende button 1


if (button == 2) {             // Speichern
int index;
SetTextBoxText(5,2,"");              // Leere Eingabefeld
ListBoxSaveGameList(5,3);             // Fülle Liste mit Speicherständen
index=ListBoxGetNumItems(5,3);          // Zähle, wieviele Speicherstände drin sind
GUIOff(3);                  // Menü ausschalten
if (index>9){                   // Wenn Speicherstände 10 (maximum)
GUIOn(6);                // Warnmeldung interface einschalten
} // Ende index
GUIOn(5);                 // Schalte Speicherinterface ein
} // ende button 2



if (button == 3) {             // Beenden
QuitGame(0);                     // ende ohne erneute abfrage

} // ende button 3


if (button == 4) {             // Volume Geräusche
//SetSliderValue(3,4,());
SetSoundVolume(GetSliderValue(3,4));
PlaySound(19);                  // Testsound
} // ende button 4


if (button == 5) {             // Volume Musik
// SetSliderValue(3,5,());
SetMusicMasterVolume(GetSliderValue(3,5));
} // ende button 5

} // ende interface 3

-------------------------------------------------------------------------------------

if (interface == 4) {                // Wenn Ladeinterface
   
    int index;
    if (button == 0) {             // wenn Laden gedrückt
index=ListBoxGetSelected(4,3);       // nimm Speicherstand
RestoreGameSlot(savegameindex[index]); // Spielstand wieder herstellen

    } // ende button 2
   
   
if (button == 1) {             // Wenn Abbruch gedrückt
       GUIOff(4);               // schliesse ladeinterface
GUIOn(3);               // öffne Menü
    } // ende button 1
   
    } // ende interface4
   
-------------------------------------------------------------------------------------------   

if (interface == 5) {               // wenn Speicherinterface
string text;
int index;
if (button == 1) {            // wenn Abbruch gedrückt,
GUIOn(3);               // öffne Menüinterface
GUIOff(5);             // schliesse Speicherinterface
    } // ende button 1

               
    if (button == 0) {             // Wenn Speichern gedrückt
       index=ListBoxGetNumItems(5,3);       // Zähle Speicherstände
       if (index<10) {             // wenn weniger als 10
          GetTextBoxText(5,2,text);       // nimm eingegebenen text
          GUIOff(5);             // Schliesse Speicherinterface
          GUIOn(0);
          SaveGameSlot(index+1,text);       // speichere Spiel (eingabe als name)
       } // ende index
       else {                // wenn Speicherstände 10
          index=ListBoxGetSelected(5,3);    // Nimm markierten Spielstand
          GetTextBoxText(5,2,text);       // nimm eingegebenen Text
          GUIOff(5);          // Schliesse Speicherinterface
          GUIOn(0);
          SaveGameSlot(savegameindex[index],text);    // Überschreibe markierten Spielstand
    } // ende else
    } // ende button 0
   
   
   
   
} // ende interface 5

--------------------------------------------------------------------------------------------


    if (interface == 6) {               // wenn Warnmeldung interface
      if (button==0) {            // wenn Abbruch gedrückt
       GUIOff(6);            // Warmeldung schliessen
GUIOn(5);
      }// ende Button 0
      
    } // ende interface6
   
-----------------------------------------------------------------------------------------------
ich hoffe, es kann jemand gebrauchen ;)
Nur ein Genie
kann meinem geistigen Wirrwar folgen ;)
Benutzeravatar
Azrael
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 124
Registriert: 13.05.2003, 16:46
Kontaktdaten:

Re:Menü mit eigem Lade/Speicher-Kasten

Beitrag von Azrael »

Bin leider noch Anfänger. Wie kann ich dieses Script einbauen ? Einfach ins globale dazukopieren ?

Bezieht sich das Script NUR auf Speichern/Laden-Menüs oder ändert sich damit auch mein GUI - Menü (Nimm, Benutze, Gehe zu, usw.) ... (das ist eigentlich nicht ändern will) ?
Benutzeravatar
Campusanis
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 108
Registriert: 06.01.2003, 13:22
Kontaktdaten:

Re:Menü mit eigem Lade/Speicher-Kasten

Beitrag von Campusanis »

Also, die GUI, die du im Spiel verwendest, wird damit nicht verändert (vorausgesetzt, deine Spiel-GUI hat die Nummer 0).
Um es einzubauen, benutzt du einfach "Edit Script" bei der jeweiligen GUI (speichern, laden usw...)

Campusanis
Lust auf eine Mystery-Horror-Fortsetzungsgeschichte? Das Psychospiel
Sinitrena

Beitrag von Sinitrena »

Hi,
ich hab dringend Hilfe beim erstellen von speicher und lade menüs gebraucht und bin froh das hier geunden zu haben. Restmal danke dafür. Ich habe allerdings noch zwei Probleme damit:
1. Wenn noch nicht alle Spielstände voll sind, dann möchte ich auch die Möglichkeit geben über einen bereits existierenden Spielstand zu speichern. Kann mir jemand sagen, wie ich das Script dazu ändern muß, dass das funktioniert?
2. Ich hätte es gerne, dass ein Spielstand den ich im Speichermenu auswähle in die Text Box kopiert wird, dass man also im Grunde keinen neuen Namen eingeben muß, wenn man das nicht will, und das Feld nicht einfach leer bleibt, wenn man es versucht.
Ich hoffe es ist verständlich was ich meine.
Vielen Dank für die Hilfe, schon mal im Vorraus
Henck

Beitrag von Henck »

Mal ne Frage, sind die Interface-IDs fest in AGS einprogrammiert, also ist Interface 4 das richtige Ladeinterface, dass man auch über den Befehl restoregamedialog() (oder so ähnlich) aufrufen kann? Oder kann man die (IDs der) GUIs individuell erstellen?
Guest

Beitrag von Guest »

Ich habs haargenauso kopiert das Script hier (nur eben IDs meiner Buttons, GUIs.. angepasst), aber wenn ich ein Spiel speichere, wird es in der Listbox nicht angezeigt (gespeichert wird es aber!), wenn ich erneut speichern will. Was ist daran falsch? Das Script ist ja geblieben!
Antworten