PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Etwas schreiben, was der Held sagt



Gimero
26.12.2006, 20:51
Kann man so en Menü machen, dass die ganze zeit während des Spiels läuft,
indem man einen Satz schreiben kann und dann sagt der Spieler das?

Blank
26.12.2006, 21:33
Wie soll der Spieler den Satz denn wo eingeben? ^^''

Sammy
26.12.2006, 22:12
Ich glaub, er meint eine Art Cheat oô
Sowas Ähnliches hab ich schon mal irgendwo gesehen...
Die ganze Zeit während des ganzen Spiels hat man die Möglichkeit ohne irgendwie ein Menü aufzurufen, einen bestimmten Satz oder so einzugeben, und wenn man dann Enter drückt, hört man de Satz dann gesprochen oder wie meinst du das?^^

Tiro&Millet
26.12.2006, 22:17
Ja, mit Ineluki's Keypatch (http://ipx22052.ipxserver.de/rpg-maker/ressourcen2/programme/InelukiKeyPatchv1.2.exe) kannst du die gedrückten Tasten auslesen, ein Paralleles Event fragt diese ab und stellt sie als Pictures da, (in einer Textbox als normaler Text ginge auch,aber das ist ungleich schwieriger, müßtest du mit Textvariablen [den Heldnamen] arbeiten, z.B. wenn gedrückte Taste ist a, dann Heldnamen 0001 setzen zu a usw., die spätere Meldung, hervorgerufen durch das Drücken der Enter, oder wasweißich- Taste). Viel Glück!^^

Edit:
@ Nerox

Dafür müßte man noch eine TTS- Engine einbinden, noch viel schwieriger, lass es besser. xD

Gimero
26.12.2006, 23:46
ne ich glaub ihr versteht mich falsch:
also ich meine dass zum beispiel unten des bildschirms die ganze zeit so en
"block" ist, bei dem so en "block" ist, wo man zum beispiel das wort "block"
hinschreiben kann.

Dann sieht man ne sprechblase über dem Hero für 3 sekunden oder so und dann sind wir alle glücklich

da ich diesen text ohne bewusstsein geschrieben habe schreibe ich nochmal ruhig:

Bei manchen Spielen (PC) ist die ganze zeit ein block an der Seite oder so geklebt wo manche infos oder sowas steht.
(Beispiel: bei einem Autorennspiel sieht man sein Sprit oder sowas)

GENAU DAS will ich bei meinem Spiel auch haben, nur das da nicht steht,
wieviel Sprit mein Hero hat, sondern steht da ein Eingabefeld, bei dem ich
zum Beispiel: "Ich habe ein Laden der Tante Emma heißt" schreiben kann.

Dann kommt ne sprechblase überm helden in der steht:
"Ich habe ein Laden der Tante Emma heißt"

geht des?

Blank
26.12.2006, 23:59
ne ich glaub ihr versteht mich falsch:
also ich meine dass zum beispiel unten des bildschirms die ganze zeit so en
"block" ist, bei dem so en "block" ist, wo man zum beispiel das wort "block"
hinschreiben kann.

Dann sieht man ne sprechblase über dem Hero für 3 sekunden oder so und dann sind wir alle glücklich

da ich diesen text ohne bewusstsein geschrieben habe schreibe ich nochmal ruhig:

Bei manchen Spielen (PC) ist die ganze zeit ein block an der Seite oder so geklebt wo manche infos oder sowas steht.
(Beispiel: bei einem Autorennspiel sieht man sein Sprit oder sowas)

GENAU DAS will ich bei meinem Spiel auch haben, nur das da nicht steht,
wieviel Sprit mein Hero hat, sondern steht da ein Eingabefeld, bei dem ich
zum Beispiel: "Ich habe ein Laden der Tante Emma heißt" schreiben kann.

Dann kommt ne sprechblase überm helden in der steht:
"Ich habe ein Laden der Tante Emma heißt"

geht des?

Soweit ich weiß nicht, aber frag mal einen von den Technik-Freaks. :A

Gimero
27.12.2006, 00:04
welchen? / wo?

Blank
27.12.2006, 00:11
Tiro, Ineluki, csg, ich weiß doch auch nicht. ô.o

Phönix Tear
27.12.2006, 01:53
Kommt auf die Länge des Textes an. Mit dem 2k3 könnte man immerhin ... öhm ... evtl 39 Buchstaben darstellen. Mit dem 2k nur 19, was etwas wenig ist.
"Ich habe einen Laden der Tante Emma heißt", sind immerhin schon 34 Buchstaben und 37 Zeichen. Möglich ist es schon, ich hab mich mal an sowas ähnlichem probiert. Das ist leider nie sehr weit gekommen weil ich den Screenshot-Patch nutzen musste (18 Zeichen waren mir zu wenig :S) und es dementsprechend extrem langsam wurde... Wenn dir aber 18 bzw. 38 Zeichen reichen (2 Pictures fallen weg, 1 für das Menü selbst und 1 für den Anzeige strich, der einem sagt wo im Text man gerade ist ;) ) sollte das gehen. Es ist allerdings eine üble Fummelei mit den Buchstaben Pictures, deren Koordinaten und den Abständen zwischen den Buchstaben.
Im Grunde müsste ein solcher Code so aussehen:
Als erstes kann man rechts in dem Menü eingeben was der Held sagen soll. Dazu brauchst du eine vorgegebene Textarea. Im Fall des Makers machen wir das einfach mit 4 Variablen fest (X-Min, X-Max, Y-Min und Y-Max). Dann brauchst du für jedes Zeichen ein Picture und am besten eine kleine Datenbank die dir die breite der einzelnen Zeichen ausgibt (macht es einfacher). Sobald der Spieler nun die Textarea benutzen will wird der Tastenpatch aktiviert der eine Eingabe abwartet. Sobald etwas gedrückt wird rechnet man die Eingabe zum entsprechenden Buchstaben um und lässt diesen auf den aktuellen Koordinaten anzeigen. Danach addiert man zur "Aktuelle Koordinate X" den Wert der breite des Buchstaben + den Abstand den die Buchstaben haben sollen (z.B. 2 Pixel). Sollte nun die neue X-Koordinate über der "X-Max" Koordinate der Textarea liegen muss in die nächste Zeile gesprungen werden. Also z.B. "Aktuelle Koordinate X" = "X-Min" und "Aktuelle Koordinate Y" + 8.
Wenn die Textarea dann auch in Y-Richtung zu klein sein sollte müsste man da auch noch eine Abfrage einbaun, aber das lasse ich jetzt erstmal weg, da es mit 18, bzw. 38 Zeichen eher unwahrscheinlich ist das man mehr als die ganze rechte Bildschirmhälfte braucht...
So, nun hast du die Anzeige fertig. Natürlich muss man auch jeden Buchstaben in einer Variable einspeichern. Das geht wohl am besten über Variablennummern. Also:

<>Change Variable "Variablen Nummer" = 50
<>
<>!Lable 1!
<>
<>Taste wurde gedrückt und ID in die Variable "Tasten ID" gespeichert
<>
<>Change Variable "[Var Nr "Variablen Nummer"]", set "Tasten ID"
<>Change Variable "Variablen Nummer" +1
<>
<>Falls noch ein Buchstabe eingegeben werden soll:
<>Goto !Lable 1!
<>
Joa, der Aufbau sollte eigentlich bekannt sein ^^.
Am Ende hat man also eine Reihe von ca 45 Variablen (7 Leerzeichen), falls der Spieler alle Zeichen ausnutzen will. Nun kommt es zur Anzeige. Damit das auch alles schön aussieht würde ich mindestens 3 verschiedene Sprechblasen in unterschiedlichen Größen empfehlen. Eine für 1 Zeichen, eine für 10 und eine für 38, z.B..
Dabei musst du natürlich wieder auf die Koordinaten achten. Wenn der Held ganz oben links in der Ecke steht hat er natürlich nicht die üblichen Koordinaten wie wenn er in der Mitte des Bildschirms steht...
Also musst du diese auch berücksichtigen. Hast du diese nun berechnest du daraus eigentlich wieder eine neue Textarea, nur diesmal mit den Werten der Sprechblase. Z.B:

<>Change Variable "Min X", set [(Hero) X-Coord.]
<>Change Variable "Max X", set [(Hero) X-Coord.]
<>Change Variable "Min Y", set [(Hero) Y-Coord.]
<>Change Variable "Max Y", set [(Hero) Y-Coord.]
<>Change Variable "Min X" - 20 //kleine Sprechblase
<>Change Variable "Max X" + 20
<>Change Variable "Min Y" - 50
<>Change Variable "Min Y" - 20
<>
So könnte evtl die Berechnung der neuen Koordinaten aussehen. Jetzt kommt wieder das gleiche wie bei der Eingabe durch den Spieler, nur das diesmal der Computer die Eingaben vornimmt, basierend auf den eingelesenen IDs.
Also:

<>Change Variable "Variablen Nummer", set 50
<>
<>Change Variable "Tasten ID", set "VarNr["Variablen Nummer"]"
<>Fork Variable "Tasten ID" = 1
<><>Show Picture '1' "a" at [Aktuelle Koordinate X | Aktuelle Koordinate Y]
<>Else:
<>Fork Variable "Tasten ID" = 2
<><>Show Picture '1' "b" at [Altuelle Koordinate X | Aktuelle Koordinate Y]
<>Else:
<>...
<>End:
<>
<>Call Event "Zeichenbreite"
<>Change Variable "Aktuelle Koordinate X" + "Aktuelle Zeichenbreite"
<>Change Variable "Aktuelle Koordinate X" + 2
<>Call Event "Textarea Kontrolle"
<>
<>Change Variable "Variablen Nummer" + 1
<>
<>Das ganze nochmal, nur diesmal mit Picture 2
<>
Dabei darf man natürlich wieder nicht die Abfrage vergessen, welche kontrolliert ob man über den Rand der Textbox hinausschreibt (Textarea Kontrolle)...
Ein großes Problemfeld dabei ist, wesshalb man den Herstellern des Makers auch nochmal saftig in den Allerwertesten treten sollte, dass man den Pictures keine ID über eine Variable zuweisen kann. Dies hat zur Folge das du bei der Eingabe wie Anzeige für alle 38 Pictures alle 26 Abfragen (+/- die Sonderzeichen) für jeden Buchstaben in unserem Alphabet machen musst. Das sind immerhin 1064 Fork Conditions, die absolut unnötig wären, wenn man Picture IDs über Variablen vergeben könnte T_T.
Aber egal, ist nicht zu ändern.
Du solltest dir aber auf jeden Fall im klaren darüber sein das es keinen Sinn für dich hat, dich an dieses Feature zu wagen, wenn du:
a) den oben beispielhaft dargestellten Code nicht verstehst
b) keine Lust hast dich durch wahrlich mehr als 1000 Forks zu quälen oder du eine gute Beziehung zu den Herstellern des Makers hast (oder den XP besitzt ^^)

Wie bereits gesagt, dies ist ein sehr seeehr grober Aufriss von dem was man brauchen würde um dieses Feature zu skripten, und es ist bei weitem keins der einfachen... Wenn du meinst das es die Arbeit wert ist ca 2500 Forks zu erstellen kannst du es gerne machen, jedoch solltest du zumindest über die grundlegenden Fertigkeiten mit dem Maker verfügen, sonst führt das schnell zu seinem Ende.

mfg
Phönix Tear

P.S:
Eventuelle Fehler, Ungereimtheiten, Aggressivitäten oder Sonstiges bitte überlesen. Es ist schon spät ^^°

Edit:
Ich habs oben schon angedeutet. Mit dem XP wäre die Sache natürlich eine völlig andere, wobei ich dazu nichts sagen kann, da ich ihn nie benutzt habe. Ich weiß nur das es da besser funktionieren würde ;)

Edit:
@Caine Luveno:
Ops, ich dachte der 2k3 könnte nur 40 Anzeigen ^^°. Nya, hab ihn bis jetzt auch nur ein mal für 5 Minuten benutzt und bin dann freudig wieder zum 2k umgewechselt :P

Caine Luveno
27.12.2006, 20:31
Mit dem 2k3 wären theoretisch 49 Buchstaben möglich ^^°

Mit dem XP unendlich... insofern, würde ich dafür den XP verwenden. Ruby ist auch nicht so schwer wie man glaubt. Man macht eigentlich nichts anderes als sonst mit dem Maker mit zwei Unterschieden:

1. Man klickt sich seinen "Text" nicht mehr zusammen sondern schreibt in

2. Man hat wesentlich mehr Möglichkeiten bzw. unbegrenzte möglichkeiten da ein Ruby Script theoretisch alles kann was ein normales Programm auch kann

Denn siehe: Die Event Befehle des Makers mussten wir auch erst alle lernen, mit den Ruby Befehlen ist es kaum was anderes. Es sind bloß ein paar mehr....

makenshi
28.12.2006, 11:03
Denn siehe: Die Event Befehle des Makers mussten wir auch erst alle lernen, mit den Ruby Befehlen ist es kaum was anderes. Es sind bloß ein paar mehr....

Hm , also irgendwo find ich es nicht gut das du versuchst eine handfeste Programmiersprache wie Ruby so runterzuregeln. ^^
Eine Programmiersprache besteht aus mehr als aus ein paar Befehlen. Besonders da Ruby eine OO Sprache ist. Da gehören noch einige Fähigkeiten im mathematischen wie auch logischen Bereich zu um so eine lernen zu können. Vom abstrakten Denkvermögen mal ganz zu schweigen.

Sicherlich , es ist kein Hexenwerk. Nur sind es kaum einfach ein paar mehr Befehle die man lernen muss. Bei weitem nicht.

Kelven
28.12.2006, 11:17
Für dieses Problem würde ich auch den XP empfehlen, da es über die Draw_Text_Methode ohne Probleme möglich ist an beliebiger Stelle auf dem Screen Text erscheinen zu lassen. Der müßte dann nur mit einer geeigneten Methode über Tastatureingabe eingelesen werden, aber dafür gibt es sicherlich Scripte. Was ich aber nicht verstehe ist der Sinn hinter diesem Feature. Was bringt es, wenn über dem Held der Text per Sprechblase auftaucht? Oder soll das Spiel auf den Text reagieren? Dafür bräuchtest du aber einen vernünftigen Parser und so einen zu scripten ist ziemlich aufwändig.

~Hauptmann Krey~
01.01.2007, 18:35
Vielleicht ist das als eine Art Anti-Langeweilegag gedacht.
Ich mein, man kann sich vor z.B. nen König stellen und sagen "F*ck dich!"
Dann kann man:

davon Screen machen, an Freunde schicken.
sich freuen
über den Sinn des Features nach denken
und so on..


What ever

Cloud der Ex-Soldat
02.01.2007, 11:38
Also mal ganz ehrlich! Eigentlich ist sowas total einfach xD
Man erstellt Helden mit den Namen:

BS1
BS2
BS3
BS4
BS5

usw. ... "BS" soll für Buchstabe stehen.
Dann halt den ganzen Enterpasswordshice durch den
Ineluki Tastenpatch bisschen hier und da. Wobei die "BS"
immer umbennat wird.

Textbox Eingabe:


\n[1]\n[2]\n[3]\n[4]

Textbox Ausgabe:


GANS

Ok, ich weiß ich kann mich nicht so ausdrücken, aber vielleicht wisst ihr was ich meine^^, bezweifle ich allerdings xD.
Vielleicht sollte ich mal ein Skript machen...

Caine Luveno
02.01.2007, 19:45
Hm , also irgendwo find ich es nicht gut das du versuchst eine handfeste Programmiersprache wie Ruby so runterzuregeln. ^^
Eine Programmiersprache besteht aus mehr als aus ein paar Befehlen. Besonders da Ruby eine OO Sprache ist. Da gehören noch einige Fähigkeiten im mathematischen wie auch logischen Bereich zu um so eine lernen zu können. Vom abstrakten Denkvermögen mal ganz zu schweigen.

Sicherlich , es ist kein Hexenwerk. Nur sind es kaum einfach ein paar mehr Befehle die man lernen muss. Bei weitem nicht.

Jein. Die Logik von OO Programmiersprachen (wie z.B. mein Liebling Object Pascal auch eine ist ^^) ist relativ leicht nachzuvollziehen. An mathematischem reicht mir mein Wissen bis 10. Klasse Realschule bzw. 9. (hab die hälfte der 10 nämlich schon wieder vergessen ^^).

Ok, Logik und Abstraktion sind zwei relativ wichtige Faktoren. Wer ein 2k oder 2k3 Script schreiben will benötigt diese Fähigkeiten aber eben so sehr wie bei Ruby.

Das größte Problem, was viele Leute wohl damit haben ist sich den Syntax zu merken. Das krieg ich selbst nach 5 Jahren programmieren (OP, C++, Java) nur teilweiße auf die Reihe. Zum Beispiel das ableiten eigener Klassen -_-°

Der Maker (2k, 2k3) nimmt einem was das Scripten angeht eine Menge ab was man beim XP neu lernen und selber machen muss. Auch ist der Debugger vom XP finde ich nicht ausreichend. Aber das ist eine andere Sache.

Und abgesehen davon ist Ruby noch eine relativ tolerante und einfache Programmiersprache. Sie ist ni9cht gar so strikt wie Pascal beim der Interpretation des Codes, aber sieht auch nicht halb so Kryptisch aus wie C++. Ohne Ruby zu können kann ich die Scripte dennoch verstehen und nachvollziehen und zumindest leicht modifizieren.

Borg138
04.01.2007, 15:19
@Cloud der Ex-Solda
meinst du sowas in der art? wär doch einfacher
http://rapidshare.com/files/10179814/aehm.rar