Hauptmenü

Neuigkeiten:

Bitte unterstützt uns und bestellt über diese Links bei Amazon  oder HumbleBumble!

GUI-Button ausschalten?

Begonnen von Mister L, 18. Oktober 2007, 15:16:46

Vorheriges Thema - Nächstes Thema

Mister L

Ich möchte im Verben-GUI einen Button zeitweilig abschalten. (Etwa so wie der 'Fight'-Button bei Indy3, der nur bei Bedarf auftaucht.)
Gibt es eine solchen Befehl? Hab schon die AGS-Hilfe durchsucht, aber nix passendes gefunden...  :-\

Timer

Wenn du dem Button einen Scriptnamen gibst, müsste es eigentlich ganz einfach mit "ButtonScriptName.Enabled = false;" gehen.
Komplizierter wird es allerdings, wenn man die Funktion per Rechtsklick aufrufen kann...

KhrisMUC

Eventuell wäre GUIButton.Visible besser geeignet; es kommt drauf an, wie der abgeschaltete Button aussehen soll.
Um den Button auch MMM-technisch abzuschalten, reicht das aber nicht. Ich z.B. spiele ausschließlich mit den Shortcuts; die Buttons klicke ich fast nie an.

Entweder muss man also auch in on_key_press (am Ende in der while-Schleife) den Tastendruck abfangen, oder man baut gleich eine entsprechende Abfrage an den Anfang der Funktion SetAction ein:

function SetAction (int new_action){
  if (player_stumm && new_action==A_TALK_TO) return;
  ...

Rayman

Wie kann ich in einer Episode die Tasten F1, F5, F8, Leertaste und Strg + C deaktivieren,
bzw die Options-GUIs? Ich will das die Speicher-, Lade-, Neustart-, und Pausen-Funktion zeitweilig ausbleibt.

KhrisMUC

Anfang von on_key_press:

  int k = keycode;
  if (keys_disabled && (k == 3 || k == 32 || k == 363 || k == 366)) return;


Einfach keys_disabled auf true setzen, danach wieder auf false.