Telefon / wählen

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Pawnshop Orchestra
Frischling
Frischling
Beiträge: 4
Registriert: 27.11.2006, 11:41
Kontaktdaten:

Telefon / wählen

Beitrag von Pawnshop Orchestra »

Erstmal ein herzliches Hallo miteinander. Seit dem Wochenende arbeite ich fleißig an einem kleinen Adventure und bin schon ein wenig besessen.
Nun würde ich gerne die klassische Telefontastatur in mein Spiel einbauen (Zak McKracken, Maniac Mansion...)
Mir fehlt da aber a) so ein wenig der erste Ansatz und b) auch die Grafik. Vielleicht weiß ja einer von Euch ein Tutorial dazu oder so.
Hab auch schon hier das Forum dursucht aber nur Telefon-Threads ohne die Wählscheibe gefunden....
Benutzeravatar
Kleener_Apfel
Adventure-Treff
Adventure-Treff
Beiträge: 2817
Registriert: 30.11.2003, 18:41

Beitrag von Kleener_Apfel »

Hmm weiß nicht ob das in etwa ist was du dir vorgestellt hast, aber hier scheints ne Art Lösungsansatz zu geben

http://new.bigbluecup.com/yabb/index.php?topic=18314.0
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Hab auch schon hier das Forum dursucht aber nur Telefon-Threads ohne die Wählscheibe gefunden....
Wenn ich das richtig verstehe, willst du kein Tastentelefon, richtig? Dass macht die Sache ein wenig komplizierter, weil man sehr viel mehr mit Grafik arbeiten muss als bei einem Tastentelefon (da würde man nur das Bild des Telefons selbst brauchen, und die Tatsache, dass man eine Taste betätigt hat könnte man mit einem Sound anzeigen). Für jemanden, der sich nicht mit Scripting auskennt würde ich also ein Tatsentelefon empfehlen.
Aber egal, was muss man bei einer Wählscheibe beachten:
1. Die Grafik:
Wenn du ein Referenzbild brauchst (so verstehe ich dass zumindest), dann kannst du einfach bei Google suchen, dass fördert einiges an brauchbaren Ergebnissen zutage.
2. Das Wählen (ohne Animation):
Im Prinzip musst du prüfen, welche Zahl gewählt wurde und an welcher Position (also als erste Zahl, als zweite, usw). Ich würde dass so machen, dass ich ein int position mache, dass speichern an welcher Position ich gerade bin und für jede einzelne Position einen einzelnen int, der dann speichert welche Zahl gewählt wurde. Wenn man bei der letzten Position ist wird dann geprüft, ob die einzelnen Werte übereinstimmen mit dem was der Spieler eigentlich wählen sollte. (Man kann das auch über repeatedly execute machen, aber da kann es unter Umständen passieren, dass der Spieler schneller tippen muss als er will/kann (vgl eines der Ben Jordan Spiele von Grundislav, das hatte meines Wissens so ein Problem) oder es können Wartezeiten entstehen
3. Das Telefon zurücksetzen:
Ein wichtiger Punkt, den man nicht vergessen darf: Wenn eine Nummer angenommen wird (also geprüft ob sie richtig gewählt wurde) müssen die ints danach zurückgesetzt werden, außerdem wenn man auflegt oder den Raum verlässt (sonst entsteht ein unschöner Bug, der möglicherweise sogar verhindert, dass man das Spiel beenden kann.
4. Die Animation:
Ich würde es grundsetzlich so machen, dass die Wählscheibe ein Objekt ist und die einzelnen Ziffern Hotspots, wobei ein Klick auf das Objekt nichts tut. Die Animation müsste je nach gewählter Zahl unterschiedlich sein (das Rad wird unterschiedlich weit gedreht) - du benötigst also im Prinzip 10 verschiedene Animationen dafür (0-9). Wenn auf eine Zahl geklickt wird, setzt du zunächst view und loop für das Objekt und startest dann die Animation.

So, ich denke dass war alles wichtige (zwar etwas theoretisch, aber wenn du noch Fragen hast, frag). Die Scripting-Befehle und Kapitel die du vielleicht nachlesen möchtest:
int
SetView
Animate (object)
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
Benutzeravatar
Mister L
Rätselmeister
Rätselmeister
Beiträge: 1913
Registriert: 21.03.2005, 01:55
Kontaktdaten:

Re: Telefon / wählen

Beitrag von Mister L »

Pawnshop Orchestra hat geschrieben:...die klassische Telefontastatur in mein Spiel einbauen (Zak McKracken, Maniac Mansion...)
In den Spielen gab's allerdings auch nur Druckknöpfe. Den Telefontastaur-Screen aus Maniac-Mansion-Deluxe könntest du dir ja leicht aus dem Spiel grabben.
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"
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Pawnshop Orchestra: irgendwie widersprichst Du Dir...willst Du nun ein Telefon mit Tastatur oder eins mit Wählscheibe?
Use gopher repellent on funny little man
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Das ist im Prinzip egal, meine Erklärung funktioniert für beides :lol:
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
Anonymous1

Beitrag von Anonymous1 »

Ich hab da auch eine Frage: Angenommen ich will, dass mein Charakter durch einen Schalttafel einen bestimmten Code eingibt (z.B. "1234", nicht zufallgeneriert!).

Wie soll ich das Programm sagen, welcher Code richtig ist und was er machen soll, wenn der Code falsch ist?
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Das kannst du im Grunde genau wie beim Telefon machen. Du kannst es entweder in rep_ex oder nach jeder Eingabe, oder nach der vierten Eingabe (wenn klar ist, dass es nur vier Zahlen sind, sonst würde das dem Spieler vielleicht einen Tipp geben, den er gar nicht bekommen soll), oder, was in dem Fall wohl am sinnvollsten wäre, beim klicken auf eine Bestätigungstaste (OK-Knopf, oder sowas)
Du speicherst den ersten Wert in int eins, den zweiten in int zwei, usw (sind natürlich nur Beispiele, du kannst die ints auch anders benennen)
Die Abfrage lautet dann:
if ((eins==1)&&(zwei==2)&&(drei==3)&&(vier==4)) {
//das was passieren soll, wenn der Code stimmt
}
else {
das was passieren soll, wenn der Code nicht stimmt
}
Eigentlich einfach, oder?
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Ich versteh die Frage nicht ganz...liegt das Problem bei der Tastatureingabe oder wirklich nur bei der Auswertung?

Ich mach mal ein Beispiel: Jede Taste ruft die Funktion type auf, der Parameter ist die Taste:

Code: Alles auswählen

String typed;

function type(int i) {
  typed=typed.Append(String.format("%d", i));

  if (typed.Length<4) return;

  if (typed=="1234") {
    typed="";
    // Safe öffnen, etc.
  }
  else {
    typed="";
    // GUI ausmachen, player.Say("Nichts passiert"); etc.
  }
}
Dann in der onClick-Funktion der Buttons, z.B. bei Button 1:

Code: Alles auswählen

  type(1);
EDIT: Sinitrena hat zwischendrin gepostet
Use gopher repellent on funny little man
Anonymous1

Beitrag von Anonymous1 »

Ich hätte meine Frage etwas anders formulieren sollen. Aber naja, ihr kennt mich ja. :wink:

Aber wie gesagt: Es soll eine Art Codeabfrage im Stil von Monkey Island sein, wo man eine bestimmte Kombination eingeben muss, damit das Programm gestartet wird. Ich werde erstmal den Befehl im Skript einbauen und schaun, ob es klappt.

Ich mach erstmal eine Photokopie vom Befehl.
Sinitrena hat geschrieben:Eigentlich einfach, oder?
Ich denke schon. AGS ist vom Prinzip ziemlich simpel. Da sollte es eigentlich klappen. :wink:
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Mulle The Maniac hat geschrieben:Ich mach erstmal eine Photokopie vom Befehl.
?

Die Frage wäre also gewesen: Wie mache ich es, dass AGS z.B. zufällig einen zweiteiligen Piratenkopf und eine Stadt auswählt und dann die Eingabe überprüft?

Verrate uns einfach das Abfragesystem, dann können wir Dir gerne weiterhelfen ;)
Use gopher repellent on funny little man
Antworten