Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Thema gestartet von: Der Kompaniechef am 06. Oktober 2011, 17:01:42

Titel: Inventargegenstände an Personen geben und anderes problem
Beitrag von: Der Kompaniechef am 06. Oktober 2011, 17:01:42
Moin,
wollte wissen wie man es anstellen kann das ein Char der nicht der player ist inventargegenstände bekommt.
Ich meine damit nicht das der player ihn die sachen per gebe gibt sondern einfach bekommt.
Ich hoffe Ihr versteht was ich meine.

Das 2. Problem
So ich habe das problem das der Char den ich durch einen dialog anspreche seinen kopf nicht in die richtige Richtung geht.

MfG JPJF
Titel: Re: Inventargegenstände an Personen geben und anderes problem
Beitrag von: Endres am 06. Oktober 2011, 17:50:19
1. cChar.AddInventory(iItem);

2. vor dem dDialog.Start(); noch ein player.FaceCharacter(cChar);
Titel: Re: Inventargegenstände an Personen geben und anderes problem
Beitrag von: Der Kompaniechef am 07. Oktober 2011, 13:51:39
Hab jetzt das problem das ags sagt das der code falsch ist. Hab ihn so eingebaut:
cMein.AddInventory(iBürste);
Was ist daran falsch???
Titel: Re: Inventargegenstände an Personen geben und anderes problem
Beitrag von: Endres am 07. Oktober 2011, 13:59:36
Möglicherweise liegt es an den Umlauten im Namen. Bitte poste auch die Fehlermeldung falls es nicht so ist.
Titel: Re: Inventargegenstände an Personen geben und anderes problem
Beitrag von: Der Kompaniechef am 07. Oktober 2011, 17:52:35
cMein.AddInventory(iTaschenmesser);
geht auch net

hat ja kein üöä will trotzdem net

ps nutze 3.1
Titel: Re: Inventargegenstände an Personen geben und anderes problem
Beitrag von: Helli78 am 07. Oktober 2011, 18:36:24
Hallo zusammen,

ich habe letztens selber festgestellt:
wenn der Scriptname eines Inventory-Items einen Umlaut hat, gibts 'ne Fehlermeldung.

Es wäre aber hier gut zu wissen, wo hast du deinen Befehl reingeschrieben und vor allen Dingen, wie? Unter welchen Funktionen, Räumen, Bereichen?

Du müsstest es dann über diesen "Blitz" (rechte Seite) einrichten, nicht irgendwo wahllos hinschreiben. Dann registriert AGS nämlich nicht so recht, dass dort etwas neues geschrieben wurde.
Titel: Re: Inventargegenstände an Personen geben und anderes problem
Beitrag von: KhrisMUC am 07. Oktober 2011, 19:54:22
Bitte poste doch einfach den Wortlaut der Fehlermeldung, dann müssen wir nicht dumm rumraten ::)

Wenn Du "cMe" tippst, geht dann das auto-complete-Fenster auf? Dann nochmal bei "cMein."? Und dann bei "cMein.AddInventory("?
Titel: Re: Inventargegenstände an Personen geben und anderes problem
Beitrag von: Der Kompaniechef am 08. Oktober 2011, 12:21:00
Failed to save room room13.crm; details below
room13.asc(18): Error (line 18): undefined symbol 'iTaschenmesser'

code: cSyd.AddInventory(iSchraubendreher);
das ist der fehler

ps. Mein gibt es nicht soll ja nicht jeder wissen was in der nächsten story für personen gibt.
Titel: Re: Inventargegenstände an Personen geben und anderes problem
Beitrag von: KhrisMUC am 09. Oktober 2011, 23:01:56
In Zeile 18 steht also iSchraubendreher, aber AGS beschwert sich, dass es dort mit iTaschenmesser nix anfangen kann...?

Die Fehlermeldung bedeutet sonnenklar, dass Du iTaschenmesser im Code hast, obwohl es nicht existiert.
Titel: Re: Inventargegenstände an Personen geben und anderes problem
Beitrag von: Der Kompaniechef am 10. Oktober 2011, 14:25:28
ehm da ist mir kleiner fehlerunterlaufen
der code lautet
 cSyd.AddInventory(iTaschenmesser);

fehler:
Failed to save room room13.crm; details below
room13.asc(18): Error (line 18): undefined symbol 'iTaschenmesser'

Sorry aber nun zum Punkt. Was ist das problem ? Ich besitze ein Item was taschenmesser halt wy sagt er es gibt kens?
Titel: Re: Inventargegenstände an Personen geben und anderes problem
Beitrag von: KhrisMUC am 10. Oktober 2011, 16:03:54
Bei neuesten AGS-Versionen kann man allem beliebige Namen geben, es wird auch kein Kürzel mehr vorangestellt.

Wenn Dein Item also "Taschenmesser" heißt, ist auch der Scriptname "Taschenmesser" und nicht mehr automatisch "iTaschenmesser".
(Trotzdem ist es natürlich sinnvoll, Inventargegenständen weiterhin ein "i" voranzustellen.)

Deswegen auch mein Hinweis auf auto-complete: wenn "cSyd.AddInventory(" dasteht und Du "iTa" tippst, schlägt dir AGS existierende Objekte vor; passiert das nicht, tippst Du gerade einen Namen, mit dem AGS nichts anfangen kann.

(Und ehrlich gesagt check ich nicht, wie man das nicht selbst durchschauen kann... nach drei Buchstaben oder einem Punkt geht das kleine Fenster auf, immer, warum tippt man überhaupt weiter, wenn es plötzlich nicht mehr kommt...?)