Timer?
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
Timer?
Ihr kennt doch sicher alle diese "Langeweileanimation" aus Spielen - wenn man lang nichts im Spiel macht und der Charakter dann irdendwas sagt, die Schultern zuckt, oder schnarcht.
Gibt es vielleicht irgendeine Funktion, ein TImer oder so, der überprüft, wie lang die letzte Aktion her ist?
Ähnlich will ich es auch mit einer Herdplatte machen, auf der verbrennt, was man zu lange liegen lässt. Wie kann man da die Zeit messen? Reicht da eine normale while-schleife?
Gibt es vielleicht irgendeine Funktion, ein TImer oder so, der überprüft, wie lang die letzte Aktion her ist?
Ähnlich will ich es auch mit einer Herdplatte machen, auf der verbrennt, was man zu lange liegen lässt. Wie kann man da die Zeit messen? Reicht da eine normale while-schleife?
Danke, Adventuretreff! <3
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Ich hatte ein ähnliches Problem. Guckst du hier:
http://www.adventure-treff.de/forum/vie ... php?t=9019
Es würde genügen einen Timer zu starten, wenn das Teil auf dem Herd liegt und dann eine aktion ausführen zu lassen, wenn der Timer abgelaufen ist. Das Spiel läuft währenddessen normal weiter.
Die Langeweile-Animation kannst du über IdleView einstellen, das ist in der AGS-Hilfe ganz gut erklärt.
http://www.adventure-treff.de/forum/vie ... php?t=9019
Es würde genügen einen Timer zu starten, wenn das Teil auf dem Herd liegt und dann eine aktion ausführen zu lassen, wenn der Timer abgelaufen ist. Das Spiel läuft währenddessen normal weiter.
Die Langeweile-Animation kannst du über IdleView einstellen, das ist in der AGS-Hilfe ganz gut erklärt.
My MMM-Episodes: #7 "Right said Fred", #32 "Secret of Maniac Mansion", # 33 "Carry on Smiley", H05 "Escape from Maniac Mansion", #45 "Maniac Monday", #54 "CSI:RONVILLE", #58 "The People's Court", #70 "Maniac Mansion Begins", #74 "The Curse of King RootenTooten", #93 "Murder a.t. Moonshine Mansion"
- neon
- Adventure-Treff
- Beiträge: 29982
- Registriert: 08.07.2004, 10:55
- Wohnort: Wiesbaden
- Kontaktdaten:
Hihi, ich muß schon wieder an Little Computer People Project denken, der Typ hat nach 'ner Weile angefangen, von innen gegen die Monitorscheibe zu klopfen. Das Geräusch war göttlich.
Macht doch mal sowas.
Macht doch mal sowas.
"Ich habe mich so gefühlt, wie Sie sich fühlen würden, wenn sie auf einer Rakete sitzen, die aus zwei Millionen Einzelteilen besteht - die alle von Firmen stammen, die bei der Regierungsausschreibung das niedrigste Angebot abgegeben haben"
- John Glenn nach der ersten Erdumrundung 1962
- John Glenn nach der ersten Erdumrundung 1962
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Hmmm, das wäre mal ein netter Gag. Vielleicht bau ich das in meine akuelle MMM-episode noch mit rein!neon hat geschrieben:...der Typ hat nach 'ner Weile angefangen, von innen gegen die Monitorscheibe zu klopfen. Das Geräusch war göttlich.
Macht doch mal sowas.
My MMM-Episodes: #7 "Right said Fred", #32 "Secret of Maniac Mansion", # 33 "Carry on Smiley", H05 "Escape from Maniac Mansion", #45 "Maniac Monday", #54 "CSI:RONVILLE", #58 "The People's Court", #70 "Maniac Mansion Begins", #74 "The Curse of King RootenTooten", #93 "Murder a.t. Moonshine Mansion"
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Die IdleView ist ja ein Loop, der immer wieder durchlaufen wird, wäre nicht so günstig. So etwas müßte man skripten, ist aber mit Timern nicht allzu schwer.
Angenommen, der Charakter soll nach 20 Sekunden etwas machen. Das wären 800 Gameloops. Also schreibt man an den Anfang der on_mouse_click() und der on_key_press() jeweils SetTimer(1, 800);, damit jeder Klick und jede Tastatureingabe den Timer zurücksetzen.
In die rep_ex() kommt dann eine Abfrage rein:
Wenn das Idle timeout auch auf 800 gestellt ist, sollte unmittelbar beim Beginn der IdleAnimation der Sound abgespielt werden.
Angenommen, der Charakter soll nach 20 Sekunden etwas machen. Das wären 800 Gameloops. Also schreibt man an den Anfang der on_mouse_click() und der on_key_press() jeweils SetTimer(1, 800);, damit jeder Klick und jede Tastatureingabe den Timer zurücksetzen.
In die rep_ex() kommt dann eine Abfrage rein:
Code: Alles auswählen
function repeatedly_execute() {
...
if (IsTimerExpired(1)) PlaySound(x);
}
Use gopher repellent on funny little man
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Falls du mit Sprache keine "Sprachausgabe" sondern Text meinst kannst du das mit
qDisplaySpeechBackground
ansagen lassen, ohne das Spiel zu unterbrechen.
qDisplaySpeechBackground
ansagen lassen, ohne das Spiel zu unterbrechen.
My MMM-Episodes: #7 "Right said Fred", #32 "Secret of Maniac Mansion", # 33 "Carry on Smiley", H05 "Escape from Maniac Mansion", #45 "Maniac Monday", #54 "CSI:RONVILLE", #58 "The People's Court", #70 "Maniac Mansion Begins", #74 "The Curse of King RootenTooten", #93 "Murder a.t. Moonshine Mansion"
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
KHriS, wie Christian
Den anderen Avatar hab ich jetzt schon so lange, es wurde Zeit für was neues. Isoart wollte ich schon immer mal probieren, und die Kippen waren das Erstbeste in der Nähe des Computers. Ich mach bald was neues, finds selber nicht unbedingt prickelnd
Den anderen Avatar hab ich jetzt schon so lange, es wurde Zeit für was neues. Isoart wollte ich schon immer mal probieren, und die Kippen waren das Erstbeste in der Nähe des Computers. Ich mach bald was neues, finds selber nicht unbedingt prickelnd
Use gopher repellent on funny little man
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55