Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Newbies => Thema gestartet von: Kiwa am 11. Januar 2013, 17:31:37

Titel: Fragen zu Starterpacks
Beitrag von: Kiwa am 11. Januar 2013, 17:31:37
Hallo zusammen,

ich dachte mir mal die AGS Starterpacks (Bernard3.2.1 und BernardC64) auszuprobieren. Bei meinem Kumpel laufen die Sachen ohne Fehler. Bei mir gibt es aber 2 "Fehler", jeweils einen je Starterpack.

Starterpack Bernard 3.2.1:
Ich hab das Bernard Starterpack für AGS3.2.1 gestartet (mit AGS 3.2.1 natürlich) doch der Sound beim Startbildschirm wird nicht abgespielt bzw. ist nicht zu hören. Alle anderen Sounds (wenn Bernie rumläuft, Türen geöffnet/geschlossen werden usw.) sind alle zu hören. Was muss ich machen damit auch die Startmelodie läuft? Ich habe noch nix geändert, bin noch Anfänger mit AGS. Ich habe mal ausprobiert unter der Rubrik "Audio" in AGS die Musicfiles einzeln abzuspielen - diese werden auch abgespielt aber es ist nix zu hören. Die Soundfiles kann ich unter AGS auch einzeln abspielen und diese sind auch zu hören(wie auch im Spiel). Was ist da los?

EDIT: Hat sich erledigt. Ich hatte AGS in einer virtuellen Umgebung laufen, ohne virtuelle Umgebung ist die Musik da. Warum nur die Musik weg war und die Soundeffekte nicht kann ich aber nicht sagen.

Starterpack Bernard C64:
Grafikproblem. Das gesamte Bild ist nach oben verschoben(im Vollbildmodus). Man kann also den oberen Teil der Grafik nicht sehen. Das ist immer so (also vom Startbildschirm bis ins Spiel). Was muss ich tun damit es richtig angezeigt wird. Ich habe als Monitor einen HD-TV im 16:9 Format ca. 60cm Diagonale welcher aber über VGA angeschlossen ist (hab kein HDMI Port am PC).

EDIT: Dafür hab ich aber eine neue Frage. Wie schafft man es das bei einer Explosion kurz der ganze Bildschirm wackel, samt Spieler? So ein Effekt sieht man manchmal in bestimmten Epis.

Danke schonmal für konstruktive Hilfe.

Sollten diese Themen schonmal hier irgendwo beschrieben worden seien wäre ich dankbar für einen Verweis darauf.

Gruß Kiwa
Titel: Re: Fragen zu Starterpacks
Beitrag von: Rocco am 13. Januar 2013, 13:10:07

EDIT: Dafür hab ich aber eine neue Frage. Wie schafft man es das bei einer Explosion kurz der ganze Bildschirm wackel, samt Spieler? So ein Effekt sieht man manchmal in bestimmten Epis.

Aus der AGS - Hilfe:

Zitat
ShakeScreen
ShakeScreen (int amount)

Shakes the screen to simulate, for example, an earthquake. AMOUNT is how much the screen shakes: 1 is hardly anything, and 25 is a lot.
Example:

ShakeScreen(5);

will shake the screen a little.
See Also: ShakeScreenBackground



--------------------------------------------------------------------------------

ShakeScreenBackground
ShakeScreenBackground (int delay, int amount, int length)

Shakes the screen to simulate, for example, an earthquake. The game is not paused while the screen shakes - it will continue in the background.
DELAY specifies the 'shakiness' of the shake - 2 is the lowest you can pass for this, and will create the most shaky screen.

AMOUNT specifies the ferociousness of the shake - ie. how much the screen moves by when it does shake. Here, 1 is a very tiny shake, up to about 30 for a ferocious shake.

LENGTH specifies how long the shake lasts for, in game loops. For example, 80 would be equivalent to 2 seconds at the default game speed.

You can abort any current background shake that is in progress by calling this command with the LENGTH parameter as zero.

Example:

ShakeScreenBackground (4, 10, 80);

will shake the screen a little for 2 seconds.
See Also: ShakeScreen
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 13. Januar 2013, 14:18:20
Danke Rocco! Sowas hab ich gesucht.
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 13. Januar 2013, 16:16:41
Da die AGS Hilfe nur in Englisch vorhanden ist würde ich mich sehr freuen hier noch ein paar Tipps zu bekommen.
Bin gerade auf den Geschmack von AGS 3.2.1 gekommen(bin noch Anfänger). Ich benutze das Bernhard Starterpack 3.2.1

Thema laufen:
Wenn die Spielfigur irgendwo automatisch hinlaufen soll(auch mit Raumwechsel) dann macht man das doch mit der Funtion Walk(x,y) mit x und y als Zielkoordinaten und ChangeRoom. Nun braucht die Spielfigur eine bestimmte Zeit die Strecke abzulaufen. Dafür gibt es die Wait(Zeit)-Funktion mit Angabe der Zeit wie lange gewartet werden soll. Woher weiß man wie lange die Spielfigur unterwegs ist. Ich probiere hundertmal aus ob die Zeit nun stimmt oder nicht, gibt es da nicht vielleicht eine leichtere Methode oder macht ihr das auch so?

z.B.
player.FaceDirection(eDirRight);
player.Walk(313, 126);
Wait(95);
player.FaceDirection(eDirUp);
player.ChangeRoom(11, 22, 133);

Wenn man das Wait weglässt wird die Spielfigur sofort an die Zielkoordinate "gebeamt" ohne zu laufen. Erscheint das so weil AGS dann die Laufanimation so schnell abspielt das man es als Mensch nicht mehr sehen kann?

Thema Türen:
Wie macht man es das die Spielfigur automatisch herumläuft und dabei Türen öffnet oder schließt? Im Moment trickse ich noch mit den Hotspots und Türobjekten und  Visible. Ich schalte das Türobjekt/den Hotspot sichtbar oder nicht. So entsehen aber Bugs im Spiel weil Türen plötzlich wieder offen sind obwohl diese geschlossen sein müssten usw. Im Tutorial habe ich was von einem globalen Türenskript gelesen. Hat das damit was zu tun?

Danke schonmal. Ich muss sagen das arbeiten mit AGS ist garnicht so schlimm wie ich erst dachte.

Gruß Kiwa
Titel: Re: Fragen zu Starterpacks
Beitrag von: mukk am 13. Januar 2013, 16:24:10
der Walk-Befehl hat noch mehr Optionen:

Character.Walk(int x, int y, optional BlockingStyle, optional WalkWhere);

Wichtig für dich ist "optional BlockingStyle", das sagt dem Script, ob es warten soll, bis der Charakter da ist oder nicht. Wenn du das weglässt ist der Standard eNoBlock, also springt das Script direkt zum nächsten Befehl. Wenn du aber eBlock hinter das Komma setzt, wartet das Skript, bis der Charakter bei den Koordinaten angekommen ist.

Türen werden hier gut erklärt: http://www.adventure-treff.de/fanadv/tutorials/ags_mmm.php (http://www.adventure-treff.de/fanadv/tutorials/ags_mmm.php)
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 13. Januar 2013, 20:07:06
Danke mukk. Der eBlock Parameter hat mir sehr geholfen. Das macht die Sache schon erheblich einfacher.

Das Tutorial habe ich mir (da wo es um die Türen geht) durchgelesen. Dort wird beschrieben wie man sie mit der Maus öffnet (also im Spiel klickt der Spieler auf die Tür und will diese öffnen), sofern ich das richtig verstanden habe.

Was ich aber suche ist eine Lösung für folgende Situation (also Beispiel):
Bernie ist in seinem Zimmer und es klingelt an der Haustür.
Bernie geht also zur Haustür. --> Das soll nicht gespielt werden sondern automatisch ablaufen
Dazu muss Bernie seine Zimmertür öffnen und im Flur wider hinter sich schließen, und in den nächsten Räumen ebenso

Im Starterpack ist folgende Codezeile zu finden wenn man als Spieler die Tür mittels öffnen-Befehl aus dem Verben-GUI öffnet, oder per rechtsklick(öffnen ist dann vorausgewählt).

function hTuer01_AnyClick()
{
  if(Door[eTuerBernardsZimmer].Click()==0) Unhandled();
}

Ich habe also die Unhandeled Funktion gesucht. Im GlobalScript.asc gibt es die auch aber da steht nix von Türen drin.
Da in meiner Situation nicht geklickt wird(Bernie soll ja selber die Tür öffnen und schließen, quasi als Cutscene) ist der Code aus der AnyClick Funktion wohl nicht verwendbar für genanntes Problem. Und was bedeutet der Wert Click==0 ? Die Zeile soll doch bedeuten "wenn Click==0 dann führe die Funktion Unhandeled aus", oder nicht? Was wird aber ausgefürt wenn Click ungleich 0 ist? Es wird hier nirgends eine Funktion für diesen Fall zugewiesen.

Gehe ich richtig in der Annahme das generell nur die asc-Dateien bearbeiten werden müssen oder muss auch was in den ash-Dateien geändert werden. Es geht um AGS  in der Version 3.2.1

Danke für Hilfe!
Titel: Re: Fragen zu Starterpacks
Beitrag von: mukk am 13. Januar 2013, 20:44:47
mh, du könntest einfach schummeln ;)

Bernie geht zur Tür, du machst das Objekt der offenen Tür in dem Raum sichtbar, änderst Bernies View auf einen nicht belegten, so dass er unsichtbar wird und machst die offene Tür wieder aus, die Sounds dazu musst du manuell anmachen, dann schickst du Bernie zur Haustür mittels player.changeroom, machst ihn direkt wieder sichtbar (View auf den Alten ändern) und schwups, fertig is der Wurstsalat
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 13. Januar 2013, 22:35:24
Naja, schummel oder nicht - das ist hier ja nicht die Frage. Es soll Bugfrei laufen, darauf kommt es mir im Moment an.

Erzähl mir mehr vom View. Kannst du mir das was du beschrieben hast als Code geben?

Bis jetzt hab ich wie folgt "geschummelt":
Tür öffnen:
if (!oTuer01.Visible)
        {  
          hTuer01.Enabled = true;       
          oTuer01.Visible = false;
          aSound2.Play(); //Tür öffnen Sound
          Wait(5);
        }
===> hat aber nicht funktioniert. Leider.

Tür schließen:
hTuer02.Enabled = true;
oTuer02.Visible = false;
aSound3.Play(); //Tür schließen Sound
Wait(5);

===> das funktioniert!

Seltsam oder?

EDIT: Wie kann man mit Esc Sequenzen abbrechen(wenn z.B. gerade die Walk-Funktion arbeitet)? Wäre besonders beim Testen hilfreich.

EDIT:Ich hatte beim Tür öffnen true und false vertaucht. Ein Bug bleibt aber trozdem
Titel: Re: Fragen zu Starterpacks
Beitrag von: Rocco am 13. Januar 2013, 22:55:51
Türen werden hier gut erklärt: http://www.adventure-treff.de/fanadv/tutorials/ags_mmm.php (http://www.adventure-treff.de/fanadv/tutorials/ags_mmm.php)
Ohh mann was für ein tipp.  >:( :cl
Dieses Tutorial ist ca. 8 Jahre alt und bezieht sich daher auch auf eine sehr alte Version von AGS.  ;)

Schau mal in die Zeile NEWS hier im Forum (ober dem Menü, da steht jetzt auch schon ziemlich lange was von einem aktuellen Tutorial erstellt von Endres), hier ist der Link dorthin -> http://www.maniac-mansion-mania.de/forum/index.php?topic=15.msg36729#msg36729
darin werden auch die Türen in den neuen SPs behandelt.

Zitat von: Kiwa
Wie kann man mit Esc Sequenzen abbrechen(wenn z.B. gerade die Walk-Funktion arbeitet)? Wäre besonders beim Testen hilfreich.
StartCutscene(); und EndCutscene(); - schau in der Hilfe nach wegen der Parameter!  ;D
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 13. Januar 2013, 23:31:08
@Rocco
Mit dem neuen Tutorial habe ich es auch schon versucht. Bin aber bei meinem Problem damit noch nicht weiter gekommen. Vielleicht verstehe ich nur was falsch. Im Tutorial wird erklärt wie man neue Türen anlegt. Darum geht es bei mir aber nicht. Ich will das Bernie in einer Cutszene selber Türen auf und zumacht. Ich werd aber auch nochmal das Tutorial durchlesen - vielleicht hab ich ja noch was übersehen.

EDIT: Ich hab jetzt den Fehler in meinem Code gefunden. Hatte nur einmal true und false vertauscht. Bin schon betriebsblind. Aber einen Trost hab ich noch - einen neuen Bug zum gleichen Thema. So wirds nie langweilieg  ;D

Der Tipp mit der Start- und EndCutscene() war genau das wonach ich suchte. Danke!
Titel: Re: Fragen zu Starterpacks
Beitrag von: mukk am 14. Januar 2013, 14:34:34
Ein View sind alle Sprites zu einem Objekt oder Charakter. Also bspw. Bernies Walk- oder Talk-Animationen. Überaschenderweise sind sie unter "Views" im Editor zu finden ;)
Wenn du den Charakter cBernard im Editor anklickst, siehst du rechts unten die zugeteilten Views.

Für kurze Zeit ändern tust du sie am besten mit Character.Lockview(int view)

also in deinem Fall:

cBernard.LockView(unbelegte Nummer);
-Skript während dem Bernard unsichtbar ist-
cBernard.UnlockView(); // setzt ihn wieder auf seinen normal view

bin mir nicht sicher, ob das auch seine Talk-Animation ersetzt. Müsstest du ausprobieren.
Wenn nein und du willst auch die ändern, geht das mit cBernard.SpeechView = -1;

if (!oTuer01.Visible)

müsste meiner Meinung nach if (oTuer01.Visible == false) fragen, weiß aber nich, warum du da unbedingt ne Funktion haben willst. Es reicht doch, die offene Tür einfach an zu machen. Der Hotspot ist doch für die Zwischensequenz auch egal  ???
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 14. Januar 2013, 18:24:28
if (!oTuer01.Visible)

müsste meiner Meinung nach if (oTuer01.Visible == false) fragen, weiß aber nich, warum du da unbedingt ne Funktion haben willst. Es reicht doch, die offene Tür einfach an zu machen. Der Hotspot ist doch für die Zwischensequenz auch egal  ???

Mit der Funktion meinte ich folgenden Code und Frage dazu:
function hTuer01_AnyClick()
{
  if(Door[eTuerBernardsZimmer].Click()==0) Unhandled(); Wo wird hier eine Funktion zugewiesen wenn Click() ungleich 0 ist? Was genau macht die Methode/Funktion Click()? Habe in der AGS Hilfe nix dazu gefunden.
}

Das mit der View werd ich noch ausprobieren falls meine "Lösung" garnicht geht. Im Moment scheint es zu funktionieren, aber das will ich lieber nicht zu laut sagen.
Titel: Re: Fragen zu Starterpacks
Beitrag von: mukk am 14. Januar 2013, 20:12:01
Unhandled() heißt keine Reaktion. Vielleicht versteh ich nich ganz was genau du vorhast, aber der Moment, in dem die Tür nicht angeklickt wird, ist jeder andere Moment im Spiel. Ich glaube nicht, dass du an der Funktion was ändern möchtest :)
Schummeln war wohl ne schlechte Fomulierung meinerseits. Du solltest das ganze schon so machen wie ichs beschrieben hab. Achte darauf, dass du nur die Grafiken an und aus machst, alles andere ist egal. Dann solltest du auch keine Bugs haben. Wenn du viele Zwischensequenzen bei genau dieser Tür hast und du nicht immer alls von Hand machen willst, könntest du eine Region vor der Tür zeichnen die den Spieler erkennt und in die du dein Skript schreibst. Die schaltest du dann in den Sequenzen an und danach wieder aus.
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 14. Januar 2013, 21:59:53
Das mit der Region hört sich gut an. Jetzt versuch ich im AGS-Editor die Region einzuzeichnen(im Raum). Ich konnte auch schon was einzeichnen und habe in der region0_WalksOnto() Funktion was reingeschrieben(als Test sollte die Spielfigur was sagen). Doch da tut sich nix. Man kann über die Region laufen und es passiert nix. In der AGS Hilfe steht leider auch nicht wie man das richtig einzeichnet. Dort stehen nur die AGS Script-Funktionen dazu. Muss man noch irgendwo im Editor was an- oder umschalten?

Nachtrag:
Und noch eine andere Frage:
Wie kann man Hotspots in Objekte umwandeln? Der Hotspot ist im Starterpack so vorhanden. Jetzt muss aber in meiner Epi dieser Gegenstand von der Spielfigur mitgenommen werden. Dazu muss wohl auch das Bild für den Raum nachgezeichnet werden, oder nicht. Wie macht ihr das?
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 16. Januar 2013, 19:23:33
Brauch nochmal eure Hilfe. Ich habe einen neuen Raum angelegt(nur unter Rooms im AGS-Editor, im Script oder woanders habe ich nichts verändert). Dieser wird auch angezeigt und man kann auch Charactere in den Raum plazieren. Doch leider sprechen sie nicht. Der normale Say-Befehl funktioniert nicht mehr, in allen anderen Räumen schon. Ich verwende das Mansion Starterpack 3.2.1 Wenn die Spielfigur in einem Raum vom Starterpack ist, kann sie reden, wenn man sie dann in den neuen Raum schickt (changeRoom) und DORT soll sie etwas sagen dann redet die Spielfigur nicht mehr und man kann auch sonst nix machen. Hab schon im Forum nach ähnlichen Problemen gesucht aber nichts passendes gefunden. Kann mir wer helfen?

EDIT: Folgendes habe ich inzwischen dazu herausgefunden. Es wird die room_AfterFadeIn() Methode des neuen Raumes nicht aufgerufen wenn der neue Raum betreten wird. Wiso nicht? Bei allen anderen Räumen geht es doch auch so. Muss man den neuen Raum noch in irgendeinem Script irgendwo eintragen? Danke für Hilfe, bin grad am verzweifeln...
Titel: Re: Fragen zu Starterpacks
Beitrag von: Tribble am 16. Januar 2013, 21:44:12
Zu der Sache mit dem mitzunehmenden Objekt: Es gibt eine Funktion Export Background (frag mich nicht, so der sich in den 3er-Versionen nun versteckt). Damit kannst du ihn als Grafikdatei abspeicher, die du dann mit jedem Bildbearbeitungsprogramm veränder kannst, um ihn anschließend neu zu importieren.

Zu der sache mit dem nicht ausgeführten Skript: Es ist nur eine ganz dumme Idee, aber kann es sein dass du deine Befehle versehentlich in BeforeFadeIn eingetragen hast? In diesem Fall würde AGS deine Befehle zwar ausführen, aber noch bevor der Raum angezeigt wird, so dass der Spieler davon nichts mitbekommt.

Alternativ würde ich raten, dass du irgendwo eine Klammer falsch gesetzt hast.
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 16. Januar 2013, 23:24:02
Danke Tribble für die Idee mit dem Export Background. Das werde ich mal ausprobieren.

Im Moment wurmt mich aber das andere Problem noch mehr.

BeforeFadeIn habe ich nicht benutzt.

Ich werde das Senario hier mal mit Code hinschreiben:
(wie schon erwähnt ist das Mansion Starterpack 3.2.1 geladen und es läuft)
- ein neuer Raum wurde hinzugefügt durch ein import eines schon vorhandenen Raumes eines anderen Starterpack der Version 3.2.1, der  Raum hat die Nr. 44
- ein weiterer neuer Raum (eigentlich ist es kein Raum sondern nur die Grafik für den Splitscreen beim telefonieren) wurde erstellt, diesmal wurde eine Grafik importiert, der Raum hat die Nr. 45, es gibt hier keine walkeableAreas, Hotspots oder Objekte
- das Spiel startet in Raum 44, es passieren ein paar Sachen, daraufhin geht die Spielfigur in Raum Nr. 45 -> player.ChangeRoom(45, 87, 135);
- jetzt müsste folgender Code ausgeführt werden:

function room_AfterFadeIn()
{
  player.FaceDirection(eDirUp);
  player.Say("TEXT");
  cFred.Say("TEXT");
  player.ChangeRoom(6, 140, 140);
}
Aber rein GARNIX wird davon ausgeführt. Weder der Text gesprochen noch der Raum Nr. 6 betreten.
Auch wenn man EnterRoom nimmt "geht" die Figur nicht in Raum Nr.6

Anzumerken ist eben das bei Raum Nr.44 die room_FadeIn Methode aufgerufen wird obwohl es auch ein neuer Raum im Starterpack ist. Aber dieser ist als crm-Datei importiert worden. Ich vermute das das damit was zu tun hat oder?

Nochmal in Kurzform:
Neuer importierter Raum Nr.44 -> room_AfterFadeIn() wird ausgeführt
Neuer Raum Nr.45 (kein Import) -> room_AfterFadeIn() wird NICHT ausgeführt
Titel: Re: Fragen zu Starterpacks
Beitrag von: mukk am 16. Januar 2013, 23:50:34
Hast du sonst noch was im Raum-Script stehen? Zeig mal den Teil vom Script, der den Spieler in Raum 45 schickt.

Bin mir nich sicher ob das was ändert, aber mach mal da wo du den Spieler hinschickst ne walkable area hin.
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 17. Januar 2013, 01:35:47
Hast du sonst noch was im Raum-Script stehen? Zeig mal den Teil vom Script, der den Spieler in Raum 45 schickt.

Es gibt 3 Funktionen im Raum-Script(alle anderen welche die Hotspots und Objekte beschreiben habe ich rausgeschmissen, als die noch drin waren war der Fehler aber auch da):
- room_Load() - > da steht nur drin welche Musik gespielt wird
- room_AfterFadeIn() -> da sagt der Spieler etwas und geht etwas herum, dann wird mit player.ChangeRoom(45, 87, 135); der Spieler erfolgreich in Raum Nr 45 geschickt
- room_Leave() -> die ist komplett leer, wenn ich ohne die Funktion das Spiel spiele stürzt AGS ab wenn der Spieler den Raum verlässt (deshalb ist die auch drin, aber leer)

Bin mir nich sicher ob das was ändert, aber mach mal da wo du den Spieler hinschickst ne walkable area hin.

Hab ich versucht und bin gescheitert, man kann dann zwar rumlaufen aber sonst nix, eigentlich müsste die Spielfigur was sagen und dann mit player.changeRoom nach Raum Nr 6 gehen, mit player.EnterRoom hat es auch nicht geklappt
Titel: Re: Fragen zu Starterpacks
Beitrag von: Bòógieman am 17. Januar 2013, 08:05:15
kann es sein, dass du die funktion AfterFadeIn einfach in das skript rein kopiert hast, aber das AfterFadeIn-event nicht mit der funktion verknüpft hast?
ist schon eine zeit lang her, dass ich AGS3 laufen hatte, aber wenn ich mich recht erinnere, findest du die events, wenn du den raum editierst (nicht das skript), dann gibt es im eigenschaftenfesnter ein symbol für die events (ein blitz)
hier muss für das gewünschte ereignis die funktion zugewiesen sein, sonst wird die nämlich nicht ausgeführt  ;)
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 17. Januar 2013, 11:44:57
Danke Boogieman, genau das ist es gewesen. Jetzt funktioniert es. Nochmal tausend Dank.

Nachtrag:
Mein altes Türenproblem ist jetzt auch gelöst:
Mein Fehler war das ich nur mit visible das Türobjekt (die offene Tür) sichtbar gemacht habe. So kam es aber zu Bugs weil die Tür im Spiel offen angezeigt wurde aber trozdem erst noch vom Spieler geöffnet werden musste damit man durchgehen konnte.
Richtig ist: Door[eDoorNumHaustuer].Open();

Danke an alle für eure Hilfe!

Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 20. Januar 2013, 02:28:47
Ich hab mitlerweile wieder neue Fragen (unter AGS 3.2.1):

1.
Folgende Situation:
Die Spielfigur ist in einem Raum und in einem anderen Raum macht eine andere Figur (ein NPC) etwas das als Cutscene zu sehen sein soll. Wie geht das genau?
Ich habe versucht das gleiche System anzuwenden wenn z.B. die Spielfigur TV schaut (im Mansion Starterpack) aber das hat nicht funktioniert.
Mittlerweile habe ich was zusammen geschustert das zwar einen ähnlichen Effekt hat aber dafür müsste die Spielfigur kurz unsichtbar werden und das schaffe ich auch nicht. Wer kann helfen, wer weiß rat?

2. Wie kann man während des Spiel die Schriftfarbe der Spielfigur ändern? Es geht darum eine Figur (NPC) zu hören obwohl die Spielfigur in einem andern Raum ist. Gibt es dafür einen eigenen Befehl? Ich dachte mir wenn die Spielfigur mit dem Rücken zum Spieler steht sieht dieser ja nicht das die Spielfigur redet (oder kann man die Munsbewegung deaktivieren?) und wenn dann die Schrieftfarbe sich ändert sieht es so aus als würde man die andere Figur hören. Ist nur eine Notlösung aber könnte klappen.

Hab schon viele Sachen ausprobiert aber nix hat geholfen. Aus anderen Hilfe-Threads bin ich auch nicht ausreichend schlau geworden.

Vielen Dank schonmal.
Titel: Re: Fragen zu Starterpacks
Beitrag von: ZAK am 20. Januar 2013, 04:45:01
1. das machst du mit "cChar.SetAsPlayer();" und nach der cutscene dann wieder zurück zum player "cPlayer.SetAsPlayer();".
Char = den Char den du dafür haben möchtest
Player = der Char der dein Player ist.

2. ich mache das immer mit dem Char der das auch sprechen soll.
z.B. cSyd.Transparency = 100;
      cSyd.EnterRoom(8, 150, 125, eDirLeft);
      cSyd.Say("Blabla...");
      cSyd.ChangeRoom(7, 280, 135);
      cSyd.Transparency = 0;
Titel: Re: Fragen zu Starterpacks
Beitrag von: Bòógieman am 20. Januar 2013, 11:13:28
mit SayAt kann man die chars sprechen lassen, ohne dass sie wirklich da sind
da kann man auch die position des textes angeben.
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 20. Januar 2013, 15:54:36
@ZAK
Das mit dem SetAsPlayer hat nun funktioniert. Ich hatte auch schon damit experimentiert aber immer noch irgendwie einen Dreher drin gehabt so das das Spiel nicht lief. Liegt vielleicht auch daran das mein Code mitlerweile so aussieht als wäre jemand mit der Kettensäge durchgerannt  ;D
Uff, muss mal dringend aufräumen in den Scripts...

@Boogieman
Dein Tipp war mal wieder genau das wonach ich suchte. Kaum weiß man wie es geht und schon funktioniert's.

Tausend Dank für eure Hilfe!
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 24. Januar 2013, 21:57:02
Hallo zusammen,

ich brauche mal wieder einen guten Tipp. Diesmal geht es um die Zeiteinstellung wie lange die Schrift stehen bleibt wenn jemand was sagt. Wo kann man das ändern?

Es geht darum einzelne Wörter die ein Character sagt länger stehen zu lassen so das der Spieler mehr Zeit hat diese zu lesen. Welchen Befehl gibt es dafür?

Wait zu benutzen funktioniert nicht da das gesprochene Wort dadurch nicht länger zu sehen ist, sondern erst nach dem Sprechen gewartet wird.

Danke für Hilfe.
Titel: Re: Fragen zu Starterpacks
Beitrag von: Bissiger Witzbold am 25. Januar 2013, 19:10:12
Um einen kurzen Kommentar wie "Ja." etwas länger anzuzeigen reicht es meist schon ein paar zusätzliche Leerzeichen einzufügen (vorn und hinten, damit der Text weiterhin zenstriert über der Person steht).
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 25. Januar 2013, 19:20:16
@ Bissiger Witzbold

Danke für den Tipp. Es handelt sich in meinem Fall zwar um ein sehr langes Wort aber ich versuche es trozdem mit deinem Tipp. Zum Schluß der Entwicklung geht das Spiel ja sowieso durch den Beta Test und was dort dann gesagt wird ist relevant, also ob das lang genug dort steht oder nicht.
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 25. Januar 2013, 19:38:44
Bin gerade noch an einer anderen Sache am verzweifeln.

Die Spielfigur bearbeitet im Spiel ein Objekt das im Fordergrund steht, also vor der Spielfigur. Dieses Objekt ist in AGS ein Hotspot. Nun soll nachdem das Objekt bzw. der Hotspot bearbeitet wurde etwas anderes dort stehen. Also nahm ich eine Bilddatei und habe diese wie sonst auch dort plaziert(in AGS als Object), doch das Objekt wird einfach nicht angezeigt obwohl ich den Hotspot .Enabled = false und das Objekt .Visible = true gesetzt habe. Der Hotspot verdeckt IMMER das Objekt. Sonst funktioniert das so immer, nur diesmal nicht und nur diesmal (soweit ich weiß) steht das Objekt im Fordergrund und im Walkeable Area Bereich.

Kann das was damit zu tun haben? Muss man jetzt anders vorgehen?

Danke.
Titel: Re: Fragen zu Starterpacks
Beitrag von: ZAK am 25. Januar 2013, 20:14:46
veränder mal die baseline des objekts....
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 25. Januar 2013, 21:27:42
veränder mal die baseline des objekts....

Welchen Wert soll ich den angeben? Was wird mit der Baseline festgelegt?

EDIT: Hab einfach mal ein paar Werte ausprobiert und jetzt klappt es. Danke für den Tipp.
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 25. Januar 2013, 23:35:38
Wer kann mir erklären wie es funktioniert wenn man einem anderen Character etwas aus seinem Inventar geben möchte. Habe dazu schon das Tutorial durchgelesen doch das hat so nicht geklappt und es steht dort das die Give-Funktion wohl im Starterpack nicht richtig implementiert sei. Man soll dann Zeile 1753 abändern. Ich benutze aber ein anderes Starterpack als im Tutorial und bei mir stehen da ganz andere Sachen. Will da nicht dran rum pfuschen, sonst läuft nacher nix mehr.

Mit dem anderen Character kann sich die Spielfigur auch schon unterhalten (mittels Rede mit) aber irgendwas geben geht nicht.

Wie immer DANKE für Hilfe.

EDIT: Ich habe eine Möglichkeit gefunden das Problem zu umgehen. Würde mich aber trozdem über einen Tipp für die Gib-Funktion freuen (AGS 3.2.1).
Titel: Re: Fragen zu Starterpacks
Beitrag von: 1mal_volltanken am 04. Februar 2013, 02:37:10
Irgendwas war da doch noch, dass der GIVE-Befehl nur funktionierte, wenn er zusammenhängend mit dem USE-Befehl gescriptet wurde. Meist hatte das so funktioniert. Ich weiss, ist sicher auch nicht das Optimale.


BG
der Volltanker
Titel: Re: Fragen zu Starterpacks
Beitrag von: KhrisMUC am 04. Februar 2013, 21:27:54
Kiwa: lies die verdammt AGS-Hilfedatei!
Das ist ja nicht zu glauben, was du hier abziehst.

Ich kann deine Frustrationen nachvollziehen und begrüße Deinen Eifer, aber RTFM bei solchen banalen Basis-dingern wie Sprachfarbe des Charakter ändern oder Baselines. Wozu gibt's ein Tutorial und eine ausführliche Skript-Referenz!?
Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 05. Februar 2013, 16:21:13
@KhrisMUC

Ist Ok, habs zur Kenntnis genommen.


@1mal_volltanken

Danke für den Hinweis, werds mal ausprobieren.
Titel: Re: Fragen zu Starterpacks
Beitrag von: 1mal_volltanken am 08. Februar 2013, 21:55:46
Oft kommst Du auch zum Ziel, wenn Du im Script einfach mal versuchst, intuitiv einen Befehl einzugeben (wovon Du glaubst, so könnte der Befehl gehen, für die Funktion, die Du umsetzen möchtest.
Meistens öffnet sich dann ein Kontextmenü, wo Du dann aus der Liste den richtigen Befehl raussuchen kannst.

Gibst Du bspw. in der Script-Zeile "Add" ein, blendet das Kontextmenü alle einprogrammierten Befehle bzw. Parameter ein, die "add" beinhalten. Gleiches gilt auch, wenn Du etwas mit "player." eingeben möchtest. Funktioniert schon fast wie ne Auto-Vervollständigung.

Auf diese Weise habe ich auch schon viel herausfinden können. ;)

Probier es einfach mal, Kiwa.


BG
der Volltanker

Titel: Re: Fragen zu Starterpacks
Beitrag von: Kiwa am 08. Februar 2013, 23:11:56
@1mal_volltanken

Ja, so mache ich das auch die ganze Zeit. Nur manchmal dreht man sich halt im Kreis.

Es ist auch schon vorgekommen das beim herumprobieren witzige/nützliche Effekte entstanden sind ohne das man die eignetlich haben wollte.

So lernt man dazu und wenn man jenen Effekt mal braucht weiß man wie es geht.

Bin mal gespannt wie meine erste Epi so beim Publikum ankommt.

Gruß Kiwa