Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Thema gestartet von: Mister L am 18. Oktober 2007, 15:16:46
-
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... :-\
-
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...
-
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;
...
-
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.
-
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.