Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Newbies => Thema gestartet von: Bernard13 am 10. Oktober 2007, 19:49:38
-
Hi,
ich wollte mal wissen wie man selbst einen Charakter
erstellen kann. Ungefähre Vorstellungen wie das geht hab
ich schon. Aber genaues weiß ich nicht.
euer
Bernard13
-
Bei der Erstellung eines Charakters ist die meiste Arbeit eigentlich die Zeichenarbeit.
Anleitung:
1. Zeichne deinen Charakter. Richte dich bei der Animierung am besten nach den Vorlagen, die man von Seite aus herunterladen kann. (Wie zum Beispiel Bernard):
(http://img232.imageshack.us/img232/3894/bernardwu7.png) (http://imageshack.us)
2. Du kopierst die einzelnen Frames der Animation (Die Rosa Kästchen) und importierst sie einzeln bei AGS.
(http://img262.imageshack.us/img262/1619/unbenanntgx3.png) (http://imageshack.us)
3. Du brauchst 2 Views, um einen Charakter zu erstellen. Der erste ist für die Geh- und Stehanimation, der zweite für die Sprechanimation. In jedem View erstellst du 4 Loops (Mit dem Button ganz unten) und fügst da deine neu importierten Charakter-Sprites ein. Und zwar nach dieser Reihenfolge:
- 1. Loop: Animation, in der der Charakter in Richtung Spieler läuft.
- 2. Loop: Animation, in der der Charakter nach links läuft.
- 3. Loop: Animation, in der der Charakter nach rechts läuft.
- 4. Loop: Animation, in der der Charakter in vom Spieler weg läuft.
Lass dich nicht davon beirren, dass du keine Frames hast, in denen der Charakter nach links läuft; du nimmst einfach die Rechts-Frames und spiegelst sie. (Unter den Frames im View sind Knöpfe; einer davon heißt "NORMAL". Auf diesen klickst du, dann werden die Frames gespiegelt.
Um dann noch der Animation Töne hinzuzufügen, schaust du wieder auf die Knöpfe unter den Frames. Dort steht überall "NO SND". Schau bei den anderen Charakterviews, bei welchen Frames Töne kommen müssen und stelle den gleichen Ton wie bei ihnen ein.
4. Du hast die Kartei "Characters" bei AGS. Hier nimmst du einfach den nächstbesten "dummy". Du änderst seinen "Normal View" in die Nummer deiner Geh- und Stehanimation. Den "Talk-View" änderst du in die Nummer deiner Sprechanimation. Dann änderst du noch den Namen und den Script-Namen und du hast einen neuen Charakter.
Natürlich musst du dann noch das Handlungsscript dazu schreiben, aber dazu kommen wir, wenn du soweit bist ;).
-
Danke für das Tutorial, Timer, das steht allerdings genauso ausführlich in der AGS-Wiki. Weniger ausführlich im Tutorial, das bei AGS dabei ist.
bernard13: Das Forum hier ist kein Ersatz für Eigeninitiative. Lies die Hilfedatei, schau ins AT-AGS-Forum (http://www.adventure-treff.de/forum/viewforum.php?f=7) oder ins AGS-Forum selbst, bevor Du ständig einen thread nach dem anderen aufmachst.
Falls Du wirklich derartig schlimme Probleme hast, mit AGS zurecht zu kommen, oder kein Wort englisch kannst, mach einen "Hilfe für bernard13"-thread auf und schreib deine Fragen dort rein.
Andernfalls sehe ich mich leider gezwungen, deine threads nicht nur zu schließen, sondern zu löschen.
-
Danke.
Das werd ich machen denn ich
hab sehr wenige Englischkenntnisse.
Danke für die Charakteranleitung.
Bernard13
-
Dann übersetz die seite am besten mit Google und habe etwas Fantasie.(Die Googleübersetzung war wahrscheinlich Achmeds Englisch/Deutschlehrer ;) )
-
"Etwas" Phantasie ist gut... ;D
Ich habe mal den ersten Post dieses Threads in einen Online-Übersetzer eingegeben:
Rear one, I wanted to know times as one a character to provide can. Approximate conceptions as goes have I already. But I do not know details. of you Bernard13
Ich denke, dass selbst Achmed bessere Grammatik beherrscht... ;)
-
Da kippt jeder der nur etwas Ahnung von der englischen Sprache hat, aus den Latschen. ;)
-
...und jeder Englisch-Lehrer würde einen Herzinfakt kriegen.
Und so müsste es heißen, wenn es richtig übersetzt wurde:
Hi,
I want to know how I can make a character by myself. I have some Ideas how it could work jet, but I don´t really know exactly how.
Yours,
Bernard13
Falsche Übersetzungen sind Unbeabsichtigt, Übersetzung nur Sinngemäß.
-
Das mit dem Handlungsskript hab ich trotzdem nich so
ganz gecheckt. Kann mir mal noch bitte jemand erklären
was da rein muss?
Danke
Bernard13
-
Bei jedem Charakter ist ein Knopf: "Interaction...".
Auf diesen klickst du. Dann kannst du das Handlungsscript für der Charakter hineinschreiben. Das machst du im Grunde genommen genau wie bei Hotspots. Nur schreibst du diesmal nicht alles bei "Any Click on Charakter" hinein. Die Anredefunktion musst du nämlich bei "Talk to Charakter" hineinschreiben - sie könnte dann wie folgt lauten:
if (MovePlayer (x-Koordinate, y-Koordinate)) {
FaceCharakter (player.ID, cAnsprechpartner.ID);
FaceCharacter (cAnsprechpartner.ID, player.ID);
dIrgendeiinDialog.Start ();
}
Beispiel für die "Any Click on Charakter"-Funktion:
if (UsedAction (A_LOOK_AT)) {
if (any_click_move (x-Koordinate, y-Koordinate, DIR_RIGHT)) {
player.say ("Oh, was für ein hässlicher Kerl!");
}
}
Soweit verstanden? Wenn nicht, erkläre ich es gerne noch genauer... ;)
-
Und immer dran denken: man spart sich viel Arbeit, wenn man den Koordinaten-if-Block nach außen setzt und innen die Verben unterscheidet. :)
Ein gekürztes Beispiel aus Bernards Room:
// script for Hotspot 7 (Bücher): Any click on hotspot
if (MovePlayer (215, 133)) {
FaceDirection(player.ID, DIR_UP);
Wait(5);
if (UsedAction (A_LOOK_AT)) {
if (booksecretfound) player.Say("Alles Attrappen.");
else {
player.Say("Meine Lieblingsbücher.");
player.Say("Von Physik bis Astronomie ist alles dabei.");
}
}
else if (UsedAction(A_OPEN)) {
if (booksecretfound) {
if (oBookdoor.X==208) {
player.Say("Genau ... hier drücken, ...");
player.Say("Dann hier ziehen ...");
player.Say("Und voilà!");
PlaySound(94);
oBookdoor.Visible=true;
...
oBookdoor.X=209;
}
else player.Say("Wozu? Es ist leer.");
}
else Unhandled();
}
else if (UsedAction (A_PICK_UP)) {
if (booksecretfound) player.Say("Ich trag das Ding nicht durch die Gegend.");
else player.Say("Oh, die kenne ich schon auswendig.");
}
else Unhandled ();
}
-
Bei den Charakter-Interaktionen würde ich das aber nicht machen. Denn wenn man bei der "Talk to Charakter"-Funktion nicht will, dass die Spielfigur zur anzusprechenden Person hinläuft und deshalb das "if (MovePlayer (...))" in dieser Funktion weg lässt, es aber in die "Any Click on Charakter"-Funktion an oberster Stelle schreibt, läuft der Charakter trotzdem hin.
-
Jo, stimmt.
Man könnte auch "if (!UsedAction(A_TALK_TO) && MovePlayer(x, y))" benutzen.
-
Das geht natürlich auch. ;)
-
Ja, danke noch mal
Vielleicht kann ich den neuen Character
(Mr. Miller- der chemielehrer) bald vorstellen.
Bernard13
-
über den namen solltest du nochmal nachdenken ;)
oder ist das der onkel von dave MILLER?