Spieler soll den Namen der Spielfigur selbst bestimmen?
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Spieler soll den Namen der Spielfigur selbst bestimmen?
Gab es das schon mal, dass der Spieler durch Tastatureingabe den Namen seiner Figur selbst festlegt?
Weiß jemand ob bzw. wie man das in AGS umsetzen kann?
Weiß jemand ob bzw. wie man das in AGS umsetzen kann?
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"
-
- Hobby-Archäologe
- Beiträge: 163
- Registriert: 28.04.2005, 16:26
- Wohnort: Mönchengladbach
Was AGS angeht, fällt mir da spontan nur "Poseidon 12" von Yahtzee ein...
Per Text- oder Inputbox den Namen abfragen, und dann "player.name" auf den Wert setzen.
Code: Alles auswählen
String Character.Name
Gets/sets the name of the character, as set in the AGS Editor. This is the full name, not the script name.
- 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:
Ja, sowas könnte man auch an andere Stelle in einem Adventure benutzen. Ich erinnere mich da gerade an den "Kondom-Einkauf" oder das "Telefonat auf der Straße" im alten Leisure Suit Larry 1.
Nur selber kann ich so eine Funktion nicht austüfteln.
Würde mich sehr freuen, wenn sich mal jemad damit befasst, der sich mit sowas auskennt.
Nur selber kann ich so eine Funktion nicht austüfteln.
Würde mich sehr freuen, wenn sich mal jemad damit befasst, der sich mit sowas auskennt.
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"
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Da brauchst Du keine großartige Funktion, ein einfachesreicht völlig.
Da wird dann halt die graue Standardbox angezeigt, ist aber mit einem GUI mit Textbox auch schnell erledigt:
Im Spiel dann ein simples:
Code: Alles auswählen
player.Name = Game.InputBox("Wie heißt Du?");
Da wird dann halt die graue Standardbox angezeigt, ist aber mit einem GUI mit Textbox auch schnell erledigt:
Code: Alles auswählen
function on_key_press(int keycode) {
...
if (keycode==13) { // return
if (gNameprompt.Visible && lblName.Text!="") {
player.Name=lblName.Text;
gNameprompt.Visible=false;
}
}
}
Code: Alles auswählen
player.Say("Hallo, ich bin %s!", player.Name);
Use gopher repellent on funny little man
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Ahja, besten Dank schonmal.
Muss ich unbedingt mal austesten!
EDIT:
Das mit der grauen Textbox klappt schon mal.
Bei dem GUI mit Textbox hab ich jetzt das Problem, dass ich die Eingabe in der Textbox nicht mit Return beenden kann.
Was mache ich da jetzt falsch?
Muss ich unbedingt mal austesten!
EDIT:
Das mit der grauen Textbox klappt schon mal.
Bei dem GUI mit Textbox hab ich jetzt das Problem, dass ich die Eingabe in der Textbox nicht mit Return beenden kann.
Was mache ich da jetzt falsch?
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"
-
- Frischling
- Beiträge: 9
- Registriert: 05.02.2007, 13:55
- Wohnort: Berlin
- Kontaktdaten:
Ging bei mir auch nicht. Dann habe ich das in interface_click() getan:Mister L hat geschrieben:Bei dem GUI mit Textbox hab ich jetzt das Problem, dass ich die Eingabe in der Textbox nicht mit Return beenden kann.
Code: Alles auswählen
if (interface == NAMEPROMPT) {
if (gNameprompt.Visible && lblName.Text!="") {
player.Name=lblName.Text;
gNameprompt.Visible=false;
player.Say("Du heisst: %s", player.Name);
}
else player.Say("Du hast nix eingegeben!");
}
Aus der AGS-Anleitung:
If a text box is on a currently displayed GUI, all standard keypresses (ie. letter keys, return and backspace) are diverted to the textbox instead of being passed to the on_key_press function. When the player presses Return in the text box, the interface_click function is called with the text box's GUI and object number. You can then use the TextBox.Text property to retrieve what they typed in.
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Ich war jetzt ziemlich baff, dass das nicht funktioniert, weil ich das - soweit ich mich erinnern konnte - bereits so verwendet habe (siehe auch hier). Zumindest war ich mir sicher, auf keinen Fall die interface_click benutzt zu haben.
Hab dann den Grund gefunden:
Dieser Teil der Anleitung stammt noch aus interface_click-Zeiten, ist somit also veraltet.
Aktuell wählt man im GUI-Editor die Textbox aus und doppelklickt auf "Activate". Man bekommt dann eine Funktion "[Name der Textbox]_Activate" im global script, die nach dem Enter drücken ausgeführt wird, genau wie die _Click-Funktion bei Buttons.
Dort muss dann rein:
Hab dann den Grund gefunden:
Dieser Teil der Anleitung stammt noch aus interface_click-Zeiten, ist somit also veraltet.
Aktuell wählt man im GUI-Editor die Textbox aus und doppelklickt auf "Activate". Man bekommt dann eine Funktion "[Name der Textbox]_Activate" im global script, die nach dem Enter drücken ausgeführt wird, genau wie die _Click-Funktion bei Buttons.
Dort muss dann rein:
Code: Alles auswählen
gNameprompt.Visible=false;
player.Name=lblName.Text;
Use gopher repellent on funny little man
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Klasse, jetzt klappt's auch bei mir.
Ging ja viel einfacher als ich dachte.
Ging ja viel einfacher als ich dachte.
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"
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Wie ja oben schon steht ist das eigentlich ganz einfach, aber empfehlenswert? Es kann nämlich zu reichlich Verwirrung bei den Spielern führen (http://new.bigbluecup.com/yabb/index.php?topic=25743.0)
jk
jk
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"
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Autsch.
Ja, eigene Tastatureingaben sind natürlich eine große Verantwortung...
Ja, eigene Tastatureingaben sind natürlich eine große Verantwortung...
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"