Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Newbies => Thema gestartet von: Indy am 24. November 2007, 10:31:47

Titel: Hilfe für Indy
Beitrag von: Indy am 24. November 2007, 10:31:47
Da ich nicht weiß, wie viele Fragen ich noch haben werde und ich keinen Ärger von den Moderatoren wegen zu vielen eröffneten Themen bekommen möchte, habe ich dieses Thema eröffnet.


Hier meine erste Frage:
Gibt es eine Liste, auf der alle Sounds aufgeführt sind oder muss man alle Sounds durchprobieren?
Titel: Re: Hilfe für Indy
Beitrag von: fireorange am 24. November 2007, 11:19:04
Aus dem AT von BlueGryphon:

Sound 1 - Öffnen und Schließen von Schubladen oder Schränken
Sound 2 - Öffnen von Türen
Sound 3 - Schließen von Türen
Sound 4 - Nehmen von Gegenständen
Sound 5 - Schließen von Schubläden oder Schränken
Sound 8 - Klick auf Knopf (ding)
Sound 11 - Staubsauger
Sound 12 - Dusche
Sound 28 - Blubb
Sound 30 - Rülpsen
Sound 31 - Metallenes Quietschen (z.B. eines Schraubenziehers)
Sound 32 - Dumpfer Aufschlag auf eine Flasche
Sound 33 - Blasen
Sound 35 - Klosauger setzt auf
Sound 36 - Klosauger wird gezogen
Sound 37 - Reißverschluss
Sound 38 - Klospülung
Sound 39 - ?
Sound 40 - Elektrischer Strom
Sound 41 - Meißel schlägt auf Stein ein
Sound 42 - Flasche wird entkorkt
Sound 43 - Ablegen eines Gegenstandes
Sound 44 - Schnelles Schließen z.B. einer Dachluke
Sound 45 - Zerreißen von Stoff
Sound 46 - Karte wird ausgespielt
Sound 47 - Schließen von ?
Sound 48 - Schleifbohrer
Sound 50 - Schließen einer Autotür
Sound 51 - Klappern
Sound 58 - Zerbrechen einer Flasche
Sound 59 - Zerbrechen einer Vase
Sound 60 - Lichtschalter
Sounds 61 bis 63 - Drehen einer Schraubenziehers
Sound 64 - Schlag auf einen Nagel
Sound 65 - Säge
Sound 66 - Lichtschalter
Sound 67 - ?
Sound 68 - Einzelne Blase
Sound 69 - Glas zerbricht
Sound 85 - Knarren
Sound 86 - Telefon klingelt
Sound 87 - Ton vor "Kein Anschluss unter dieser Nummer"
Sound 88 - Einzelnes Besetzt-Zeichen
Sound 89 - Telefon wird aufgelegt
Sound 90 - Mikrowellen-Ding
Sound 93 - Lichtschalter
Sound 94 - Schnitt mit der Schere
Sound 95 - Wasser wird eingegossen
Sound 96 - Grillenzirpen
Sound 97 - Schritt auf festem Boden
Sound 98 - Explosion
Sound 99 - Türklingel
Titel: Re: Hilfe für Indy
Beitrag von: FrasierCrane am 24. November 2007, 12:40:23
Die Liste ist auch als Text-Datei beim Soundpaket dabei. Zufinden ist das unter den Ressourcen/Verschiedenes.
http://www.maniac-mansion-mania.com/index.php?option=com_content&task=view&id=419&Itemid=76
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 02. März 2008, 12:40:20
Kann man schon bestehende Episoden mit AGS öffnen?
Titel: Re: Hilfe für Indy
Beitrag von: Bòógieman am 02. März 2008, 12:52:37
meinst du damit ein fix und fertiges spiel?
nein, das geht nicht
zum öffnen braucht man die source dateien

es sei denn, es gäbe sowas wie einen AGS-decompiler, aber das bezweifle ich jetzt mal  ;)
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 02. März 2008, 12:55:47
zum öffnen braucht man die source dateien

entschuldigung, was bitte ist das? ???
Tut mir leid, ich bin nicht so gut informiert  :-[
Titel: Re: Hilfe für Indy
Beitrag von: Link2005 am 02. März 2008, 12:59:06
Das sind die Dateien, die AGS selbstständig erstellt wenn du ein Spiel scriptest. Da drin sind dann die Sounds, Hintergründe, Chars, et cetera.
Titel: Re: Hilfe für Indy
Beitrag von: Bòógieman am 02. März 2008, 13:01:42
nagut, bei AGS sind die source dateien alles was zum spiel gehört
also die scripte, die sounddateien, die musik, das projektfile, die räume, schriftarten, etc. etc.

dann gibt es da noch den compiler
dieser macht die arbeit wenn du in AGS "spiel erstellen" machst
er nimmt dabei die source dateien und übersetzt sie in das fertige ausführbare spiel (.exe)

ein decompiler macht genau das gegenteil, er nimmt das fertige ausführbare spiel und erstellt daraus wieder source dateien
ich glaube aber nicht, dass sich irgendjemand die arbeit angetan hat, einen AGS-decompiler zu machen  ;)
Titel: Re: Hilfe für Indy
Beitrag von: Link2005 am 02. März 2008, 13:56:36
Man könnte zwar irgendwie den Compiler-Script aus AGS herausfiltern und diesen umkehren, dies wäre aber bestimmt zu aufwendig.
Titel: Re: Hilfe für Indy
Beitrag von: Kaktus am 02. März 2008, 14:34:13
Ich glaube es gibt sogar ein ähnliches Programm, das ich mal irgendwo im AGS-Forum gesehen habe.
Es war kein vollständiger Decompiler, aber konnte Grafiken und Sound aus AGS-Projekten extrahieren.
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 30. Juni 2008, 13:49:14
Hat irgendwer die Charakter... (views oder wie das heißt, keine Ahnung) von Emilia?
Titel: Re: Hilfe für Indy
Beitrag von: Kaktus am 30. Juni 2008, 14:01:49
Die gibts doch auf der Hauptseite:
http://www.maniac-mansion-mania.com/index.php?option=com_content&task=view&id=340&Itemid=86
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 30. Juni 2008, 14:07:36
Oh. :-[  Danke.
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 28. August 2008, 19:48:58
Ich hätt da noch ne Frage:

Wie muss das script aussehen, wenn man genau sagen möchte, was bei verschiedenen GlobalInts passieren soll?
Also ein Beispiel:
if (GetGlobalInt 2,1)
{
if player.say ("Hallo.");
}

else
{
if player.say ("Tschüss.");
}

else unhandled ();
Damit sage ich ja (Ich weiß, die Befehle sind nicht ganz vollständig, und ich habe das hier auch nicht alles richtig gemacht, aber ich hoffe, ihr wisst trotzdem, was ich meine), dass der spieler wenn das GlobalInt 2  1 ist "Hallo." sagt. Ansonsten sagt er "Tschüss." .

Was aber, wenn ich möchte, dass der Spieler bei 2,1 "Hallo." ; bei 2,3 "Tschüss." und bei 2,4 "Bis gleich." sagt?
Es wäre schön, wenn ihr mir da helfen würdet.
Titel: Re: Hilfe für Indy
Beitrag von: Kaktus am 28. August 2008, 19:53:20
if ((GetGlobalInt (2)) == 1) player.Say ("Hallo!");
else if ((GetGlobalInt (2)) == 4) player.Say ("Bis gleich!");
else player.Say ("Tschüss!");
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 28. August 2008, 19:59:23
Danke! :D
Titel: Re: Hilfe für Indy
Beitrag von: NsMn am 28. August 2008, 20:19:48
Nein,die Klammern stimmen nicht.Es muss (GetGlobalInt(2)==1)) sein.
Titel: Re: Hilfe für Indy
Beitrag von: Kaktus am 28. August 2008, 20:22:44
Verdammt so hatte ich es am Anfang auch stehen gehabt, aber habs dann noch editiert. Obwohl meins auch gehen würde. Die Klammern sind halt nur überflüssig, aber nicht falsch.

edna_mausi bei dir ist am Ende eine Klammer zuviel :p
Titel: Re: Hilfe für Indy
Beitrag von: LilaQ am 28. August 2008, 20:53:54
Gibt doch bestimmt eine switch - case Anweisung in AGS oder?
Titel: Re: Hilfe für Indy
Beitrag von: Bòógieman am 28. August 2008, 23:14:28
scheint nicht der fall zu sein

aber ein normales

if() {}
else if() {}
else {}

bewirkt das selbe  ;)
Titel: Re: Hilfe für Indy
Beitrag von: LilaQ am 28. August 2008, 23:26:57
Ist mir durchaus bewusst, nur sind switch-case Anweisungen für solche Fälle ja gedacht und auch dementsprechend komfortabler / übersichtlicher ;)

Aber ich war auch in meinem Spiel komischerweise nie drauf angewiesen...

Mfg
LilaQ
Titel: Re: Hilfe für Indy
Beitrag von: Rocco am 29. August 2008, 01:09:00
switch - case gibt es nicht in AGS.
Muss man alles mit ifs regeln.
Was mich aber noch härter trifft, ist das fehlen meiner geliebten for-schleife.
In AGS gibts nur while, ausserdem gibts keine mehrdimensionalen arrays.  :'(
Titel: Re: Hilfe für Indy
Beitrag von: NsMn am 29. August 2008, 11:17:11
Was mich aber noch härter trifft, ist das fehlen meiner geliebten for-schleife.
keine for-Schleife?Also das hätte Chris Jones schon noch machen können.Fauler sack ;D
Titel: Re: Hilfe für Indy
Beitrag von: LilaQ am 29. August 2008, 19:26:26
switch - case gibt es nicht in AGS.
Muss man alles mit ifs regeln.
Was mich aber noch härter trifft, ist das fehlen meiner geliebten for-schleife.
In AGS gibts nur while, ausserdem gibts keine mehrdimensionalen arrays.  :'(

Mehrdimensionale Arrays lassen sich aber auch relativ einfach selber schachteln ;)

Aber wo würdest du soetwas in einem AGS Spiel brauchen? Für eine Karte mit Koordinaten?

Mfg
LilaQ
Titel: Re: Hilfe für Indy
Beitrag von: Rocco am 30. August 2008, 12:01:11
ja klar, machbar ist alles, aber es wäre halt komfortabler.

mehrdimensionale arrays hätte ich zB. hier gut gebrauchen können -> http://www.bigbluecup.com/games.php?action=detail&id=689
und auch bei Super-Pitstop-Racing hätten mehrdimensionale arrays einiges vereinfacht.

Klar bei normalen Adventures kommt es selten vor, dass man sowas braucht.
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 09. September 2008, 19:23:34
Funktionieren die Starterpacks für AGS 2.72 auch in AGS 3 ?

EDIT: Hat sich erledigt.
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 26. November 2008, 15:11:08
Ich habe bei einem Hotspot für alle if (UsedAction (...)) ein eigenes Ereignis geschrieben. Wenn ich im Spiel nun aber eine Aktion auf den Hotspot anwende, kommt nachdem das kam, was ich programmiert habe noch ein Standardkommentar.
Beispiel:
if (UsedAction (A_OPEN))
{
if (player.walk (120,124,eBlock,eWalkableAreas))
{
FaceDirection (player.ID,DIR_UP);
Wait(5);
playsound(4);
objectOn(1);
}
}

Zunächst ist alles in Ordnung, der SpielerCharakter geht zum Hotspot und die Tür geht auf. Allerdings sagt er gleich danach "Ich glaube nicht, dass ich das öffnen kann.
Muss ich das else Unhandled (); weglassen? Oder warum bringt der Typ noch einen Standardkommentar?
Titel: Re: Hilfe für Indy
Beitrag von: Rocco am 26. November 2008, 15:18:52
Sieht ganz danach aus, als ob da nachher noch ein Unhandeld zuviel aufgerufen wird.
Titel: Re: Hilfe für Indy
Beitrag von: NsMn am 26. November 2008, 16:23:42
Hast du auch ,außer bei der ersten Aktion im Script, "else if" verwendet?
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 26. November 2008, 18:53:16
Danke edna, daran hat es glegen. Ich hab es nur einmal vergessen...

Ich habe jetzt aber noch eine Frage:
Wie kann man es einstellen, dass der Rechtsklick bei einem Hotspot, etc. mit einer anderen Aktion belegt ist? Standardmäßig ist die ja schau, aber bei Türen und so ist es ja sinnvoller die rechte Maustaste mit Öffne bzw. Schließe zu belegen.
Titel: Re: Hilfe für Indy
Beitrag von: NsMn am 26. November 2008, 19:04:28
Einfach eine Endung an den namen des Hotspots/des objekts anhängen - die Liste der endungen weiß ich jetzt leider nicht auswendig.
Titel: Re: Hilfe für Indy
Beitrag von: Siel am 26. November 2008, 23:10:07
also die wichtigste dürfte seien:
(Description)>v == öffnen
Titel: Re: Hilfe für Indy
Beitrag von: Bòógieman am 27. November 2008, 07:50:15
also >v steht nicht für öffnen sondern für variabel  ;)
also zB eine tür die man je nach globalInt mal öffnen oder schliessen will
>o = open
>c = close
>u = use
>t = talk to
>l = look at
>g = give to
>p = pick up
>s = push
>y = pull
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 27. November 2008, 14:22:30
Und wo muss ich die Variable anhängen?
Titel: Re: Hilfe für Indy
Beitrag von: Bissiger Witzbold am 27. November 2008, 14:26:25
Wer lesen kann ist klar im Vorteil.

Einfach eine Endung an den namen des Hotspots/des objekts anhängen

Titel: Re: Hilfe für Indy
Beitrag von: Indy am 27. November 2008, 14:42:36
Oh. :-[
Danke an alle.
Titel: Re: Hilfe für Indy
Beitrag von: KhrisMUC am 01. Dezember 2008, 22:20:03
Damit die variable Endung (>v) funktioniert, muss sie mit der GlobalInt, die den Zustand (offen oder zu) speichert, verbunden werden. Das geschieht durch eine entsprechende Zeile in der Funktion VariableExtensions(), zu finden ca. bei Zeile 300 im global script.
Somit wird dann bei einem Rechtsklick automatisch geöffnet oder geschlossen, genau wie bei vorhandenen Türen.
Titel: Re: Hilfe für Indy
Beitrag von: NsMn am 02. Dezember 2008, 13:03:56
muss man dass dann auch anhängen,wenn man AddExtension benutzen will?
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 24. Dezember 2008, 09:52:39
Ich habe ein neues Problem:

Ich habe als Hotspot eine Tür und das Script für AnyClickOn Hotspot sieht folgendermaßen aus:

if (UsedAction (A_OPEN))
{
if (player.Walk (120,124,eBlock,eWalkableAreas))
{
FaceDirection (player.ID,DIR_UP);
Wait (5);
ObjectOn (0);
PlaySound(1);
}
}

else if (UsedAction (A_CLOSE))
{
  if (player.Walk (120, 124, eBlock, eWalkableAreas))
  {
    FaceDirection (player.ID, DIR_UP);
    Wait (5);
    player.Say ("Die ist schon zu.");
  }
}

else if (UsedAction(A_LOOK_AT))
{
  if (player.Walk(120, 124, eBlock, eWalkableAreas))
  {
    FaceDirection (player.ID, DIR_UP);
    Wait(5);
    player.Say("Da geht's zur Küche.");
  }
}

else if (UsedAction (A_PICK_UP))
{
  if (player.Walk (120, 124, eBlock, eWalkableAreas))
  {
    FaceDirection (player.ID, DIR_UP);
    Wait (5);
    player.Say ("Ich glaube nicht, dass ich das nehmen kann.");
  }
}

else if (UsedAction (A_USE))
{
  if (player.Walk (120, 124, eBlock, eWalkableAreas))
  {
    FaceDirection (player.ID, DIR_UP);
    Wait(5);
    player.Say ("Ich wüsste nicht wozu.");
  }
}

else if (UsedAction (A_PULL))
{
  if (player.Walk (120, 124, eBlock, eWalkableAreas))
  {
    FaceDirection (player.ID, DIR_UP);
    Wait(5);
    player.Say ("Wozu? Man könnte es doch einfach öffnen.");
  }
}

else if (UsedAction (A_PUSH))
{
  if (player.Walk (120, 124, eBlock, eWalkableAreas))
  {
    FaceDirection (player.ID, DIR_UP);
    Wait(5);
    player.Say ("Wozu? Man könnte es doch einfach öffnen.");
  }
}

else Unhandled ();

AGS meldet mir nun aber einen Fehler:
Zitat von: AGS 3
room24.asc(5): Error (line 5): undefined symbol 'A_OPEN'
Ich weiß nicht, was ich falsch gemacht habe, mit AGS 2.72 hat das noch funktioniert... ???
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 24. Dezember 2008, 12:01:55
Und wie schreibt man jetzt
FaceDirection (player.ID, DIR_UP);mit AGS 3?

EDIT: Hat sich erledigt, aber ich habe eine neue Frage: Womit wird "ObjectOn" ersetzt?

Hat sich auch erledigt.
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 26. Dezember 2008, 11:39:22
So, jetzt habe ich ein Problem mit den Dialogen:

Wie heißt bei AGS 3 der Befehl, mit dem ein Dialog gestartet wird? In der Hilfedatei steht was vonDialog.Start ()aber wenn man diesen Befehl nutzt kommt eine Fehlermeldung:
Zitat von: AGS 3
Error (line 2287): "[" expected
Titel: Re: Hilfe für Indy
Beitrag von: Rocco am 26. Dezember 2008, 15:07:32
vergib einfach Namen für deine Dialoge.
Danach kannst du den Dialog zB mit dMami.Start(); starten.
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 26. Dezember 2008, 15:42:23
Ja, wieder eine Frage zu dem neuen Starterpack:

wie werden die Befehle GUIOn (); und GUIOff (); ersetzt?
Titel: Re: Hilfe für Indy
Beitrag von: NsMn am 26. Dezember 2008, 15:45:12
oObjectname.Visible=true //ObjectOn();
oObjectname.Visible=false //ObjectOff();

Aber falls du dich mit dem alten (viel kürzerem ;) ) Code besser fühlst, aoclhe Standartfunktionen müssten auch noch gehen.  ;)  ;)

Edit: Oh, GUIOn meinst du.
da gilt aber das gleiche , nur statt oObjectname oGUIName nehmen , und GUIOff usw. geht auch noch.
Titel: Re: Hilfe für Indy
Beitrag von: Rocco am 26. Dezember 2008, 15:46:27
Bitte poste die Sachen die sich durch das neue Starterpack ergeben haben, im Starterpack Thread. Danke
Titel: Re: Hilfe für Indy
Beitrag von: KhrisMUC am 28. Dezember 2008, 20:13:28
Ich habe ein neues Problem:

Ich habe als Hotspot eine Tür und das Script für AnyClickOn Hotspot sieht folgendermaßen aus:

if (UsedAction (A_OPEN))
{
if (player.Walk (120,124,eBlock,eWalkableAreas))
{
FaceDirection (player.ID,DIR_UP);
Wait (5);
ObjectOn (0);
PlaySound(1);
}

etc.

Hat sich anscheinend immer noch nicht rumgesprochen, aber diese Schreibweise ist viel zu umständlich. Außerdem sollte MovePlayer benutzt werden, nicht .Walk.
So geht's:

  if (MovePlayer(120, 124)) {
    player.FaceDirection(eDirUp);
    Wait (5);

    if (UsedAction(eActOpen)) {
      ObjectOn (0);
      PlaySound(1);
      ...
    }

    if (UsedAction(eActClose)) {
      ...
    }

    ...

    else Unhandled();
  }

Bei Türen gibt es außerdem die Funktion any_click_on_door(), welche zumindest öffnen und schließen automatisch erledigt.
Wie die enums für die Verben und Richtungen heißen, steht in der Beschreibung des Starterpacks. Das ist aber eine Entscheidung des Autors und hat nichts mit AGS 3 zu tun.
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 28. Dezember 2008, 20:43:47
Ich muss sagen, durch meine Art blicke ich mehr durch. Ich versteh bei dir schon die erste Zeile nicht.
Titel: Re: Hilfe für Indy
Beitrag von: NsMn am 28. Dezember 2008, 20:51:07
Außerdem sollte MovePlayer benutzt werden, nicht .Walk.
So geht's:
Muss,nicht sollte.
Titel: Re: Hilfe für Indy
Beitrag von: KhrisMUC am 28. Dezember 2008, 21:16:12
Wer sagt das, Du?
Wenn man nicht MovePlayer benutzt, kann man das Hingehen nicht abbrechen, aber das wäre ein rein stilistischer "Fehler".
Titel: Re: Hilfe für Indy
Beitrag von: NsMn am 29. Dezember 2008, 10:53:15
Sicher,wenn man aber eNoBlock benutzt,wird das Script immer (oder nie?)ausgeführt, egal, ob der Charakter das Ziel erreicht hat.
Titel: Re: Hilfe für Indy
Beitrag von: KhrisMUC am 29. Dezember 2008, 11:02:56
Er hat aber eBlock benutzt.

Indy:
MovePlayer ist seit Angedenken der Befehl, mit dem man den player zu den Koordinaten schickt. Er bewirkt, dass man während des Hinlaufens woanders klicken und so die Aktion abbrechen kann, genau wie bei den Scumm-Spielen.
Ansonsten hab ich nur die neuen enums benutzt, aber viel wichtiger: die Reihenfolge umgedreht: erst schicke ich den player zu den Koordinaten, lasse ihn in die Richtung schauen und handle dann entsprechend des verwendeten Verbs, sonst muss ich doch, wie Du es gemacht hast, bei jedem Verb den ganzen Move-Face-Wait-Sums schreiben.
Der Rest ist gleich geblieben.
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 29. Dezember 2008, 13:25:39
Aber machst du nicht zur bedingung, dass man den Playercharakter zu bestimmten Koordinaten schickt? ???
Titel: Re: Hilfe für Indy
Beitrag von: KhrisMUC am 29. Dezember 2008, 13:47:00
So soll es ja sein:
MovePlayer schickt den player los; während er läuft, kann man jedoch was anderes anklicken.
Wenn man das tut, liefert MovePlayer 0 zurück, die Aktion wird abgebrochen.
Klickt man nichts anderes an, erreicht der player sein Ziel, MovePlayer liefert 1 zurück und erst dann wird das Verb abgefragt.

Dich irritiert wahrscheinlich, dass MovePlayer intern eine Schleife laufen hat und die if-Abfrage erst nach ein paar Sekunden entscheidet, ob sie wahr oder falsch ist.
Wenn sich in einer if-Bedingung mindestens eine Funktion befindet, wird mit der Verarbeitung solange pausiert, bis alle Funktionen ihre Werte zurückgeliefert haben und entschieden werden kann, ob wahr oder falsch herauskommt. Im Falle von MovePlayer dauert das halt ein bisschen.
Titel: Re: Hilfe für Indy
Beitrag von: Indy am 24. Januar 2009, 12:21:46
function hotspot2_a() {
  // script for hotspot2: Any click on hotspot
if (UsedAction (eActWalkTo))
{
 if (MovePlayer (65,127))
 {
  player.FaceDirection (eDirUp);
 }
}
else if (UsedAction (eActOpen))
{
 if (MovePlayer (65,127))
 {
  player.FaceDirection (eDirUp);
  player.Say ("Ichgehe doch nicht an fremde Kühlschränke.");
  Wait (5);
  player.Say (Zumindest nicht jetzt...");
 }
}
else if (UsedAction (eActLookAt))
{
 if (MovePlayer (65,127))
 {
  player.FaceDirection (eDirUp);
  DisplaySpeech(GetPlayerCharacter(),"Der Kühlschrank der Millers.");
 }
}
else if (UsedAction (eActUse))
{
 if (MovePlayer (65,127))
 {
  player.FaceDirection (eDirUp);
  player.Say ("Ja und wie?");
 }
}
else if (UsedAction (eActPush))
{
 if (MovePlayer (65,127))
 {
  player.FaceDirection (eDirUp);
  player.Say (""Nein Danke.");
 }
}
else if (UsedAction (eActPull))
{
 if (MovePlayer (65,127))
 {
  player.FaceDirection (eDirUp);
  player.Say ("Nein Danke.");
 }
}
else if (UsedAction (eActClose))
{
 if (MovePlayer (65,127))
 {
  player.FaceDirection (eDirUp);
  player.Say ("Der ist schon zu.");
 }
}
else if (UsedAction (eActPickUp))
{
 if (MovePlayer (65,127))
 {
  player.FaceDirection (eDirUp);
  player.Say ("Statt mich hier schuften zu lassen solltest du dich lieber beeilen.");
  player.Say ("Eigentlich wollte ich ja schon längst am Strand surfen...");
 }
}
else Unhandled ();       
}

in der Zeile "if (MovePlayer (...))" unter der Aktion Push soll ein Fehler sein.
Zitat von: AGS3
room26.asc(41): Error (line 41): buffer exceeded: you probably have a missing closing bracket on a previous line
Ich finde nirgends eine Zeile, an der ich eine Klammer vergessen haben soll.
Titel: Re: Hilfe für Indy
Beitrag von: Bòógieman am 24. Januar 2009, 13:55:23
da ist eine zeile

player.Say (Zumindest nicht jetzt...");
da fehlt das " am anfang  ;)
Titel: Re: Hilfe für Indy
Beitrag von: NsMn am 24. Januar 2009, 14:40:23
Joah, und bei Push sind dafür 2 Davon  :P
Titel: Re: Hilfe für Indy
Beitrag von: KhrisMUC am 24. Januar 2009, 20:44:08
Und hier die korrigierte Kurzfassung:
function hotspot2_a() {

  if (MovePlayer(65,127) != 1) return;  // nicht angekommen -> aussteigen
  player.FaceDirection(eDirUp);

  if (UsedAction(eActOpen))
  {
    player.Say("Ich gehe doch nicht an fremde Kühlschränke.");
    Wait(5);
    player.Say("Zumindest nicht jetzt...");
  }

  else if (UsedAction(eActLookAt))
    player.Say("Der Kühlschrank der Millers.");

  else if (UsedAction(eActUse))
    player.Say("Ja und wie?");

  else if (UsedAction(eActPush) || UsedAction(eActPull))
    player.Say("Nein Danke.");

  else if (UsedAction(eActClose))
    player.Say("Der ist schon zu.");

  else if (UsedAction(eActPickUp))
  {
    player.Say("Statt mich hier schuften zu lassen solltest du dich lieber beeilen.");
    player.Say("Eigentlich wollte ich ja schon längst am Strand surfen...");
  }

  else Unhandled();       
}